w-ui
Version:
A Vue.js 2.0 UI Toolkit for mobile
1 lines • 12.7 kB
JavaScript
module.exports=function(t){function e(i){if(n[i])return n[i].exports;var r=n[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,e),r.l=!0,r.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=354)}({1:function(t,e,n){"use strict";function i(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"==typeof btoa){var s=r(i);return[n].concat(i.sources.map(function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"})).concat([s]).join("\n")}return[n].join("\n")}function r(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var n=i(e,t);return e[2]?"@media "+e[2]+"{"+n+"}":n}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var i={},r=0;r<this.length;r++){var s=this[r][0];"number"==typeof s&&(i[s]=!0)}for(r=0;r<t.length;r++){var a=t[r];"number"==typeof a[0]&&i[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="("+a[2]+") and ("+n+")"),e.push(a))}},e}},2:function(t,e,n){function i(t){for(var e=0;e<t.length;e++){var n=t[e],i=l[n.id];if(i){i.refs++;for(var r=0;r<i.parts.length;r++)i.parts[r](n.parts[r]);for(;r<n.parts.length;r++)i.parts.push(s(n.parts[r]));i.parts.length>n.parts.length&&(i.parts.length=n.parts.length)}else{for(var a=[],r=0;r<n.parts.length;r++)a.push(s(n.parts[r]));l[n.id]={id:n.id,refs:1,parts:a}}}}function r(){var t=document.createElement("style");return t.type="text/css",f.appendChild(t),t}function s(t){var e,n,i=document.querySelector("style["+g+'~="'+t.id+'"]');if(i){if(p)return v;i.parentNode.removeChild(i)}if(w){var s=d++;i=c||(c=r()),e=a.bind(null,i,s,!1),n=a.bind(null,i,s,!0)}else i=r(),e=o.bind(null,i),n=function(){i.parentNode.removeChild(i)};return e(t),function(i){if(i){if(i.css===t.css&&i.media===t.media&&i.sourceMap===t.sourceMap)return;e(t=i)}else n()}}function a(t,e,n,i){var r=n?"":i.css;if(t.styleSheet)t.styleSheet.cssText=x(e,r);else{var s=document.createTextNode(r),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(s,a[e]):t.appendChild(s)}}function o(t,e){var n=e.css,i=e.media,r=e.sourceMap;if(i&&t.setAttribute("media",i),m.ssrId&&t.setAttribute(g,e.id),r&&(n+="\n/*# sourceURL="+r.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */"),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var u="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!u)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var h=n(3),l={},f=u&&(document.head||document.getElementsByTagName("head")[0]),c=null,d=0,p=!1,v=function(){},m=null,g="data-vue-ssr-id",w="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());t.exports=function(t,e,n,r){p=n,m=r||{};var s=h(t,e);return i(s),function(e){for(var n=[],r=0;r<s.length;r++){var a=s[r],o=l[a.id];o.refs--,n.push(o)}e?(s=h(t,e),i(s)):s=[];for(var r=0;r<n.length;r++){var o=n[r];if(0===o.refs){for(var u=0;u<o.parts.length;u++)o.parts[u]();delete l[o.id]}}}};var x=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join("\n")}}()},3:function(t,e,n){"use strict";t.exports=function(t,e){for(var n=[],i={},r=0;r<e.length;r++){var s=e[r],a=s[0],o=s[1],u=s[2],h=s[3],l={id:t+":"+r,css:o,media:u,sourceMap:h};i[a]?i[a].parts.push(l):n.push(i[a]={id:a,parts:[l]})}return n}},354:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InfiniteScroll=void 0;var i=n(355),r=function(t){return t&&t.__esModule?t:{default:t}}(i);e.InfiniteScroll=r.default},355:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n(356),e.default={name:"w-infinite-scroll",data:function(){return{drag:!1,startX:0,startY:0,startTime:0,currentX:0,currentY:0,offsetW:0,offsetH:0,currentPage:0,pageInfo:[],lastCount:0,toBottom:!1,ww:0,hh:0}},props:{direction:{type:String,default:"h"},containsIframe:{type:Boolean,default:!1},pageCount:{type:Number,default:1/0,required:!0},canScroll:{type:Function}},methods:{touchstart:function(t){this.drag=!0;var e=t.touches||[t];e=e[0],this.startX=e.pageX,this.startY=e.pageY,this.startTime=Date.now(),this.offsetW=0,this.offsetH=0,this.currentX=this.getCurrentX(),this.currentY=this.getCurrentY()},touchmove:function(t){if(this.drag){var e=t.changedTouches||[t];if(e=e[0],"h"===this.direction){var n=e.pageX-this.startX,i=e.pageY-this.startY;if(Math.abs(n)>Math.abs(i)){this.offsetW=n;var r=this.currentX+n;r>0||r<this.minsw||(this.translateTo(r,0,0,!0),t.preventDefault(),t.stopPropagation())}}else{if(this.canScroll&&!this.canScroll())return;var s=e.pageX-this.startX,a=e.pageY-this.startY;if(Math.abs(a)>Math.abs(s)){this.offsetH=a;var o=this.currentY+a;o>0||o<this.minsh||(this.translateTo(0,o,0,!0),t.preventDefault(),t.stopPropagation())}}}},touchend:function(t){if(this.drag)if(this.drag=!1,"h"===this.direction){var e=this.getCurrentX();e>this.maxsw?this.bounceBack(this.maxsw,0,600):e<this.minsw?this.bounceBack(this.minsw,0,600):this.momentumMove(t)}else{var n=this.getCurrentY();n>this.maxsh?this.bounceBack(0,this.maxsh):n<this.minsh?this.bounceBack(0,this.minsh):this.momentumMove(t)}},bounceBack:function(t,e,n){var i=n||300;this.translateTo(t,e,i)},getDamping:function(t){var e=this.minsw;return"v"===this.direction&&(e=this.minsh),t>0?Math.round(t/4):t<e?Math.round(e-(e-t)/4):t},getCurrentX:function(){var t="0",e=this.$refs.box.style.transform;if(e){var n=e.replace(/\s/g,"").match(/translate3d\(([^,]+),(?:.*?)\)/);n&&n.length>1&&(t=n[1].replace("px",""))}return Number.isNaN(t)?0:parseInt(t)},getCurrentY:function(){var t="0",e=this.$refs.box.style.transform;if(e){var n=e.replace(/\s/g,"").match(/translate3d\((?:.*?),(.*?),(?:.*?)\)/);n&&n.length>1&&(t=n[1].replace("px",""))}return Number.isNaN(t)?0:parseInt(t)},momentumMove:function(t){Date.now(),this.startTime;if("h"===this.direction){var e=this.getCurrentX();this.stepOneItem(e,0,300)}else{var n=this.getCurrentY();this.stepOneItem(0,n,300)}},stepOneItem:function(t,e,n){var i=this.currentPage;if("h"===this.direction)if(Math.abs(this.offsetW)>=this.ww/6){var r=void 0;if(this.offsetW<0)if(this.updatePageIndex("forward"))r=-this.currentPage*this.ww;else{var s=-i*this.ww;this.translateTo(s,0,n)}else if(this.updatePageIndex("backward"))r=-this.currentPage*this.ww;else{var a=-i*this.ww;this.translateTo(a,0,n)}this.translateTo(r,0,n),this.$emit("change",this.currentPage,i)}else{var o=-i*this.ww;this.translateTo(o,0,n)}else if(Math.abs(this.offsetH)>=this.hh/6){var u=void 0;if(this.offsetH<0)if(this.updatePageIndex("forward"))u=-this.currentPage*this.hh;else{var h=-i*this.hh;this.translateTo(0,h,n)}else if(this.updatePageIndex("backward"))u=-this.currentPage*this.hh,this.scrollToBottom();else{var l=-i*this.hh;this.translateTo(0,l,n)}this.translateTo(0,u,n),this.$emit("change",this.currentPage,i)}else{var f=-i*this.hh;this.translateTo(0,f,n)}},updatePageIndex:function(t){if("forward"===t){var e=this.currentPage+1;if(e>=this.pageCount)return!1;this.currentPage=e}else if("backward"===t){var n=this.currentPage-1;if(n<0)return!1;this.currentPage=n}return!0},setCurrent:function(t){var e=this;this.$nextTick(function(){if(t>=0&&t<e.pageCount)if(e.currentPage=t,"h"===e.direction){var n=-t*e.ww;e.translateTo(n,0,300)}else{var i=-t*e.hh;e.translateTo(0,i,300)}})},translateTo:function(t,e,n,i){var r=n||300;r<300&&(r=300),r>600&&(r=600),i?(this.$refs.box.style.webkitTransition="none",this.$refs.box.style.transition="none"):(this.$refs.box.style.webkitTransition=r+"ms all linear",this.$refs.box.style.transition=r+"ms all linear"),this.$refs.box.style.webkitTransform="translate("+t+"px, "+e+"px)",this.$refs.box.style.transform="translate3d("+t+"px, "+e+"px, 0)"},scrollToBottom:function(){this.toBottom=!0},checkScroll:function(){if(this.offsetH>0){if(0===this.currentPage)return!1;if(this.currentPage<this.pageCount)return!0}else{if(this.currentPage>=this.pageCount)return!1;if(this.currentPage>0)return!0}return!1}},render:function(t){var e=this;this.pageInfo[this.currentPage]||(this.pageInfo[this.currentPage]={startIndex:this.currentPage-1<0?0:this.currentPage-1,endIndex:this.currentPage+1>=this.pageCount?this.pageCount-1:this.currentPage+1});var n=void 0,i=void 0,r=void 0;return"h"===this.direction?(n=this.ww,i="wui-infinite-scroll-h",r={width:this.ww+"px"}):"v"===this.direction&&(n=this.hh,i="wui-infinite-scroll-v",r={height:this.hh+"px"}),n?t("div",{class:i},[t("div",{class:"wui-infinite-list",ref:"list"},[t("div",{class:"wui-infinite-container",ref:"box"},[this.$slots.default.map(function(n,i){var s=e.pageInfo[e.currentPage];return s&&n.tag&&i>=s.startIndex&&i<=s.endIndex?t("div",{class:"wui-infinite-item",style:r},[n,e.containsIframe?t("div",{class:"wui-infinite-item-mask"}):""]):t("div",{class:"wui-infinite-item",style:r})})])])]):t("div",{class:i},[t("div",{class:"wui-infinite-list",ref:"list"},[t("div",{class:"wui-infinite-container",ref:"box"})])])},updated:function(){if(this.toBottom){this.$slots.default[this.currentPage].children.forEach(function(t){var e=t.componentInstance;if(e&&"w-scroll-tab"===e.$options.name)return e.scrollToBottom(),!1}),this.toBottom=!1}},mounted:function(){var t=this;this.$nextTick(function(){t.ww=t.$el.offsetWidth,t.hh=t.$el.offsetHeight,t.maxsw=0,t.maxsh=0,t.minsw=(1-t.pageCount)*t.ww,t.minsh=(1-t.pageCount)*t.hh,t.$el.addEventListener("touchstart",t.touchstart,{passive:!0}),t.$el.addEventListener("mousedown",t.touchstart,{passive:!0}),t.$el.addEventListener("touchmove",t.touchmove,!1),t.$el.addEventListener("mousemove",t.touchmove,!1),t.$el.addEventListener("touchend",t.touchend,{passive:!0}),t.$el.addEventListener("mouseup",t.touchend,{passive:!0})})},destroyed:function(){}}},356:function(t,e,n){var i=n(357);"string"==typeof i&&(i=[[t.i,i,""]]),i.locals&&(t.exports=i.locals);n(2)("2362a7fc",i,!1,{})},357:function(t,e,n){e=t.exports=n(1)(!1),e.push([t.i,".wui-infinite-scroll-h {\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n.wui-infinite-scroll-h .wui-infinite-list {\n width: 10000%;\n height: 100%;\n}\n.wui-infinite-scroll-h .wui-infinite-container {\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-align-content: center;\n -ms-flex-line-pack: center;\n align-content: center;\n -webkit-box-pack: start;\n -webkit-justify-content: flex-start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n -webkit-flex-wrap: nowrap;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n.wui-infinite-scroll-h .wui-infinite-item {\n position: relative;\n -webkit-box-flex: 0;\n -webkit-flex-grow: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -webkit-flex-shrink: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n}\n.wui-infinite-scroll-h .wui-infinite-item-mask {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n z-index: 9999;\n}\n.wui-infinite-scroll-v {\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n.wui-infinite-scroll-v .wui-infinite-list {\n width: 100%;\n height: 10000%;\n}\n.wui-infinite-scroll-v .wui-infinite-container {\n display: -webkit-box;\n display: -webkit-flex;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -webkit-flex-direction: column;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: center;\n -webkit-align-items: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: start;\n -webkit-justify-content: flex-start;\n -ms-flex-pack: start;\n justify-content: flex-start;\n -webkit-flex-wrap: wrap;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n.wui-infinite-scroll-v .wui-infinite-item {\n position: relative;\n -webkit-box-flex: 0;\n -webkit-flex-grow: 0;\n -ms-flex-positive: 0;\n flex-grow: 0;\n -webkit-flex-shrink: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n width: 100%;\n overflow: auto;\n}\n.wui-infinite-scroll-v .wui-infinite-item-mask {\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n z-index: 9999;\n}\n",""])}});