UNPKG

vue-mercury-better-scroll

Version:

a scroll component for Mobile(H5) based on better-scroll(thanks to vue-slim-better-scroll<https://github.com/wannaxiao/vue-slim-better-scroll>

7 lines (6 loc) 24.4 kB
/** * vue-mercury-better-scroll v1.0.2 * Copyright (c) 2018-present, ShuXu * Released under the ISC License. */ "use strict";var t,e=(t=require("better-scroll"))&&"object"==typeof t&&"default"in t?t.default:t;var n=function(t,e){return t(e={exports:{}},e.exports),e.exports}(function(t){var e=function(t){var e,n=Object.prototype,r=n.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",l=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function a(t,e,n,r){var i=e&&e.prototype instanceof w?e:w,o=Object.create(i.prototype),l=new L(r||[]);return o._invoke=function(t,e,n){var r=c;return function(i,o){if(r===p)throw new Error("Generator is already running");if(r===d){if("throw"===i)throw o;return S()}for(n.method=i,n.arg=o;;){var l=n.delegate;if(l){var s=D(l,n);if(s){if(s===f)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===c)throw r=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=p;var a=u(t,e,n);if("normal"===a.type){if(r=n.done?d:h,a.arg===f)continue;return{value:a.arg,done:n.done}}"throw"===a.type&&(r=d,n.method="throw",n.arg=a.arg)}}}(t,n,l),o}function u(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=a;var c="suspendedStart",h="suspendedYield",p="executing",d="completed",f={};function w(){}function y(){}function A(){}var m={};m[o]=function(){return this};var v=Object.getPrototypeOf,g=v&&v(v(T([])));g&&g!==n&&r.call(g,o)&&(m=g);var b=A.prototype=w.prototype=Object.create(m);function x(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function C(t){var e;this._invoke=function(n,i){function o(){return new Promise(function(e,o){!function e(n,i,o,l){var s=u(t[n],t,i);if("throw"!==s.type){var a=s.arg,c=a.value;return c&&"object"==typeof c&&r.call(c,"__await")?Promise.resolve(c.__await).then(function(t){e("next",t,o,l)},function(t){e("throw",t,o,l)}):Promise.resolve(c).then(function(t){a.value=t,o(a)},function(t){return e("throw",t,o,l)})}l(s.arg)}(n,i,e,o)})}return e=e?e.then(o,o):o()}}function D(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=e,D(t,n),"throw"===n.method))return f;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var i=u(r,t.iterator,n.arg);if("throw"===i.type)return n.method="throw",n.arg=i.arg,n.delegate=null,f;var o=i.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,f):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function R(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function U(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(R,this),this.reset(!0)}function T(t){if(t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,l=function n(){for(;++i<t.length;)if(r.call(t,i))return n.value=t[i],n.done=!1,n;return n.value=e,n.done=!0,n};return l.next=l}}return{next:S}}function S(){return{value:e,done:!0}}return y.prototype=b.constructor=A,A.constructor=y,A[s]=y.displayName="GeneratorFunction",t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===y||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,A):(t.__proto__=A,s in t||(t[s]="GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},x(C.prototype),C.prototype[l]=function(){return this},t.AsyncIterator=C,t.async=function(e,n,r,i){var o=new C(a(e,n,r,i));return t.isGeneratorFunction(n)?o:o.next().then(function(t){return t.done?t.value:o.next()})},x(b),b[s]="Generator",b[o]=function(){return this},b.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=T,L.prototype={constructor:L,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(U),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function i(r,i){return s.type="throw",s.arg=t,n.next=r,i&&(n.method="next",n.arg=e),!!i}for(var o=this.tryEntries.length-1;o>=0;--o){var l=this.tryEntries[o],s=l.completion;if("root"===l.tryLoc)return i("end");if(l.tryLoc<=this.prev){var a=r.call(l,"catchLoc"),u=r.call(l,"finallyLoc");if(a&&u){if(this.prev<l.catchLoc)return i(l.catchLoc,!0);if(this.prev<l.finallyLoc)return i(l.finallyLoc)}else if(a){if(this.prev<l.catchLoc)return i(l.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<l.finallyLoc)return i(l.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var l=o?o.completion:{};return l.type=t,l.arg=e,o?(this.method="next",this.next=o.finallyLoc,f):this.complete(l)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),U(n),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;U(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:T(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),f}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function("r","regeneratorRuntime = r")(e)}});function r(t,e,n,r,i,o,l){try{var s=t[o](l),a=s.value}catch(t){return void n(t)}s.done?e(a):Promise.resolve(a).then(r,i)}var i=function(t){return function(){var e=this,n=arguments;return new Promise(function(i,o){var l=t.apply(e,n);function s(t){r(l,i,o,s,a,"next",t)}function a(t){r(l,i,o,s,a,"throw",t)}s(void 0)})}},o="mercury-better-scroll",l={methods:{c:function(t){return t?"".concat(o).concat(t):"".concat(o)}}},s={name:"Loading",mixins:[l]};var a=function(t,e,n,r,i,o,l,s,a,u){"boolean"!=typeof l&&(a=s,s=l,l=!1);var c,h="function"==typeof n?n.options:n;if(t&&t.render&&(h.render=t.render,h.staticRenderFns=t.staticRenderFns,h._compiled=!0,i&&(h.functional=!0)),r&&(h._scopeId=r),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__),e&&e.call(this,a(t)),t&&t._registeredComponents&&t._registeredComponents.add(o)},h._ssrRegister=c):e&&(c=l?function(){e.call(this,u(this.$root.$options.shadowRoot))}:function(t){e.call(this,s(t))}),c)if(h.functional){var p=h.render;h.render=function(t,e){return c.call(e),p(t,e)}}else{var d=h.beforeCreate;h.beforeCreate=d?[].concat(d,c):[c]}return n},u="undefined"!=typeof navigator&&/msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());var c=document.head||document.getElementsByTagName("head")[0],h={};var p=function(t){return function(t,e){return function(t,e){var n=u?e.media||"default":t,r=h[n]||(h[n]={ids:new Set,styles:[]});if(!r.ids.has(t)){r.ids.add(t);var i=e.source;if(e.map&&(i+="\n/*# sourceURL="+e.map.sources[0]+" */",i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e.map))))+" */"),r.element||(r.element=document.createElement("style"),r.element.type="text/css",e.media&&r.element.setAttribute("media",e.media),c.appendChild(r.element)),"styleSheet"in r.element)r.styles.push(i),r.element.styleSheet.cssText=r.styles.filter(Boolean).join("\n");else{var o=r.ids.size-1,l=document.createTextNode(i),s=r.element.childNodes;s[o]&&r.element.removeChild(s[o]),s.length?r.element.insertBefore(l,s[o]):r.element.appendChild(l)}}}(t,e)}};var d=a({render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",{class:this.c("-loading-container")},[e("img",{attrs:{src:"data:image/gif;base64,R0lGODlhZABkAKIEAN7e3rq6uv///5mZmQAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpBRjA4RUZDMDI3MjA2ODExODA4M0Y1OTQyMzVDRDM3MyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpCMzE0Rjk3NDdDRTgxMUUzOUJCRjk0NjAxMUE1NzRBMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpCMzE0Rjk3MzdDRTgxMUUzOUJCRjk0NjAxMUE1NzRBMCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RDVBMTZDQjczOTIwNjgxMTgwODNGNTk0MjM1Q0QzNzMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QUYwOEVGQzAyNzIwNjgxMTgwODNGNTk0MjM1Q0QzNzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+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"}})])},staticRenderFns:[]},function(t){t&&t("data-v-12f8b2bc_0",{source:".mercury-better-scroll-loading-container>img{width:20px;height:20px;display:block}",map:void 0,media:void 0})},s,void 0,!1,void 0,p,void 0);var f=a({render:function(){var t=this.$createElement;return(this._self._c||t)("canvas",{ref:"bubble",style:this.style,attrs:{width:this.width,height:this.height}})},staticRenderFns:[]},void 0,{props:{y:{type:Number,default:0}},data:function(){return{width:50,height:80}},computed:{distance:function(){return Math.max(0,Math.min(this.y*this.ratio,this.maxDistance))},style:function(){return"width:".concat(this.width/this.ratio,"px;height:").concat(this.height/this.ratio,"px")}},watch:{y:function(){this._draw()}},created:function(){this.ratio=window.devicePixelRatio,this.width*=this.ratio,this.height*=this.ratio,this.initRadius=18*this.ratio,this.minHeadRadius=12*this.ratio,this.minTailRadius=5*this.ratio,this.initArrowRadius=10*this.ratio,this.minArrowRadius=6*this.ratio,this.arrowWidth=3*this.ratio,this.maxDistance=40*this.ratio,this.initCenterX=25*this.ratio,this.initCenterY=25*this.ratio,this.headCenter={x:this.initCenterX,y:this.initCenterY}},mounted:function(){this._draw()},methods:{_draw:function(){var t=this.$refs.bubble,e=t.getContext("2d");e.clearRect(0,0,t.width,t.height),this._drawBubble(e),this._drawArrow(e)},_drawBubble:function(t){t.save(),t.beginPath();var e=this.distance/this.maxDistance,n=this.initRadius-(this.initRadius-this.minHeadRadius)*e;this.headCenter.y=this.initCenterY-(this.initRadius-this.minHeadRadius)*e,t.arc(this.headCenter.x,this.headCenter.y,n,0,Math.PI,!0);var r=this.initRadius-(this.initRadius-this.minTailRadius)*e,i={x:this.headCenter.x,y:this.headCenter.y+this.distance},o={x:i.x-r,y:i.y},l={x:o.x,y:o.y-this.distance/2};t.quadraticCurveTo(l.x,l.y,o.x,o.y),t.arc(i.x,i.y,r,Math.PI,0,!0);var s={x:this.headCenter.x+n,y:this.headCenter.y},a={x:i.x+r,y:s.y+this.distance/2};t.quadraticCurveTo(a.x,a.y,s.x,s.y),t.fillStyle="rgb(33,202,138)",t.fill(),t.strokeStyle="rgb(33,202,138)",t.stroke(),t.restore()},_drawArrow:function(t){t.save(),t.beginPath();var e=this.distance/this.maxDistance,n=this.initArrowRadius-(this.initArrowRadius-this.minArrowRadius)*e;t.arc(this.headCenter.x,this.headCenter.y,n-(this.arrowWidth-e),-Math.PI/2,0,!0),t.arc(this.headCenter.x,this.headCenter.y,n,0,3*Math.PI/2,!1),t.lineTo(this.headCenter.x,this.headCenter.y-n-this.arrowWidth/2+e),t.lineTo(this.headCenter.x+2*this.arrowWidth-2*e,this.headCenter.y-n+this.arrowWidth/2),t.lineTo(this.headCenter.x,this.headCenter.y-n+3*this.arrowWidth/2-e),t.fillStyle="rgb(255,255,255)",t.fill(),t.strokeStyle="rgb(33,202,138)",t.stroke(),t.restore()}}},void 0,!1,void 0,void 0,void 0);function w(t){return new Promise(function(e){setTimeout(e,t)})}var y=a({render:function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"scroll",class:t.c()},[n("div",{class:t.c("__wrapper")},[n("div",{ref:"scrollContent"},[t._t("default")],2),t._v(" "),t._t("pullup",[t.pullUp?n("div",{class:t.c("__pullup")},[t.pullUpNow?n("div",[t._t("pullupLoading",[n("Loading")])],2):n("div",[n("span",[t._v(t._s(t.pullUpTxt))])])]):t._e()],{pullUp:t.pullUp,pullUpNow:t.pullUpNow})],2),t._v(" "),t._t("pulldown",[t.pullDown?n("div",{ref:"pulldown",class:t.c("__pulldown"),style:t.pullDownStyle},[t.pullDownBefore?n("div",{class:t.c("__pulldown__after")},[t._t("pulldownLoading",[n("Loading")])],2):n("div",{class:t.c("__pulldown__after")},[t.pullDownNow?n("div",[t._t("pulldownLoading",[n("Loading")])],2):n("div",[n("span",[t._v(t._s(t.pullDownTxt))])])])]):t._e()],{pullDown:t.pullDown,pullDownStyle:t.pullDownStyle,pullDownBefore:t.pullDownBefore,pullDownNow:t.pullDownNow,bubbleY:t.bubbleY})],2)},staticRenderFns:[]},function(t){t&&t("data-v-0be632d0_0",{source:".mercury-better-scroll{width:100%;height:100%;overflow:hidden;box-sizing:border-box;position:relative}.mercury-better-scroll__wrapper{position:relative;z-index:1}.mercury-better-scroll__pullup{width:100%;height:50px;display:flex;justify-content:center;align-items:center;font-size:14px;color:#999}.mercury-better-scroll__pulldown{position:absolute;left:0;top:-50px;width:100%;display:flex;justify-content:center;align-items:center;transition:all;font-size:14px;color:#999}.mercury-better-scroll__pulldown__before{display:flex}.mercury-better-scroll__pulldown__after{width:100%;height:40px;display:flex;justify-content:center;align-items:center}",map:void 0,media:void 0})},{name:"Scroll",components:{Loading:d,Bubble:f},mixins:[l],props:{probeType:{type:Number,default:1},click:{type:Boolean,default:!0},listenScroll:{type:Boolean,default:!1},listenBeforeScrollStart:{type:Boolean,default:!1},scrollX:{type:Boolean,default:!1},scrollY:{type:Boolean,default:!0},scrollbar:{type:null,default:!1},pullDown:{type:Boolean,default:!0},pullDownConfig:{type:Object,default:function(){return{threshold:90,stop:40,txt:"\u5237\u65b0\u6210\u529f"}}},pullUp:{type:Boolean,default:!0},pullUpConfig:{type:Object,default:function(){return{threshold:100,txt:{more:"\u4e0a\u62c9\u52a0\u8f7d",noMore:"\u2014 \u6211\u662f\u6709\u5e95\u7ebf\u7684 \u2014"}}}},startY:{type:Number,default:0},bounce:{type:Boolean,default:!0},bounceTime:{type:Number,default:600},preventDefaultException:{type:Object,default:function(){return{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/}}},autoUpdate:{type:Boolean,default:!1},updateData:{type:Array,default:null},refreshData:{type:Array,default:null}},data:function(){return{pullDownBefore:!0,pullDownNow:!1,pullDownStyle:"",pullUpNow:!1,pullUpFinally:!1,isRebounding:!1,bubbleY:0}},computed:{pullDownTxt:function(){return this.pullDownConfig&&this.pullDownConfig.txt},pullUpTxt:function(){var t=this.pullUpConfig&&this.pullUpConfig.txt&&this.pullUpConfig.txt.more,e=this.pullUpConfig&&this.pullUpConfig.txt&&this.pullUpConfig.txt.noMore;return this.pullUpFinally?e:t}},watch:{updateData:function(){this.update()},refreshData:function(){var t=i(n.mark(function t(){return n.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.updateState){t.next=2;break}return t.abrupt("return");case 2:return t.next=4,this.$nextTick();case 4:this.refresh();case 5:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}()},activated:function(){this.refresh()},mounted:function(){var t=i(n.mark(function t(){var e=this;return n.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.pullDownInitTop=parseInt(this.$refs.pulldown&&getComputedStyle(this.$refs.pulldown).top)||-50,t.next=3,this.$nextTick();case 3:this.initScroll(),this.autoUpdate&&this.$parent&&this.$parent.$data&&this.$watch(function(){return e.$parent.$data},function(t){e.update()},{deep:!0});case 5:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}(),methods:{initScroll:function(){var t=this;if(this.$refs.scroll){this.$refs.scrollContent&&(this.$refs.scrollContent.style.minHeight="".concat(this.$refs.scroll.getBoundingClientRect().height+1,"px"));var n={probeType:this.probeType,click:this.click,scrollX:this.scrollX,scrollY:this.scrollY,scrollbar:this.scrollbar,pullDownRefresh:this.pullDown&&this.pullDownConfig,pullUpLoad:this.pullUp&&this.pullUpConfig,startY:this.startY,bounce:this.bounce,bounceTime:this.bounceTime,preventDefaultException:this.preventDefaultException};this.scroll=new e(this.$refs.scroll,n),this.listenScroll&&this.scroll.on("scroll",function(e){t.$emit("scroll",e)}),this.listenBeforeScrollStart&&this.scroll.on("beforeScrollStart",function(){t.$emit("beforeScrollStart")}),this.pullDown&&this._initPullDown(),this.pullUp&&this._initPullUp()}},_initPullDown:function(){var t=this;this.scroll.on("pullingDown",function(){t.pullDownBefore=!1,t.pullDownNow=!0,t.$emit("pullingDown"),t.scroll.closePullDown()}),this.scroll.on("scroll",function(e){if(t.pullDown&&!(e.y<0)){var n=Math.floor(e.y);t.pullDownBefore?(t.bubbleY=Math.max(0,n+t.pullDownInitTop),t.pullDownStyle="transform: translateY(".concat(Math.min(n,-t.pullDownInitTop),"px)")):t.bubbleY=0,t.isRebounding&&(t.pullDownStyle="transform: translateY(".concat(Math.min(n,t.pullDownConfig.stop),"px)"))}})},_initPullUp:function(){var t=this;this.scroll.on("pullingUp",function(){t.pullUpFinally?t.scroll.finishPullUp():(t.pullUpNow=!0,t.$emit("pullingUp"))})},disable:function(){this.scroll&&this.scroll.disable()},enable:function(){this.scroll&&this.scroll.enable()},destroy:function(){this.scroll&&this.scroll.destroy()},refresh:function(){this.scroll&&this.scroll.refresh()},update:function(){var t=i(n.mark(function t(e){return n.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!this.pullDown||!this.pullDownNow){t.next=17;break}if(!this.pullDownUpdateState){t.next=3;break}return t.abrupt("return");case 3:return this.pullDownUpdateState=!0,this.pullDownNow=!1,t.next=7,w(this.bounceTime/2);case 7:return this.isRebounding=!0,this.scroll.finishPullDown(),t.next=11,w(this.bounceTime);case 11:this.pullDownBefore=!0,this.isRebounding=!1,this.scroll.openPullDown(this.pullDownConfig),this.pullUpFinally=!1,t.next=23;break;case 17:if(!this.pullUp||!this.pullUpNow){t.next=23;break}if(!this.pullUpUpdateState){t.next=20;break}return t.abrupt("return");case 20:this.pullUpUpdateState=!0,this.pullUpNow=!1,this.scroll.finishPullUp();case 23:return void 0!==e&&(this.pullUpFinally=!!e),t.next=26,this.$nextTick();case 26:this.refresh(),this.pullDownUpdateState=!1,this.pullUpUpdateState=!1;case 29:case"end":return t.stop()}},t,this)}));return function(e){return t.apply(this,arguments)}}(),scrollTo:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.bounceTime;this.scroll&&this.scroll.scrollTo(t,e,n)},scrollToElement:function(){this.scroll&&this.scroll.scrollToElement.apply(this.scroll,arguments)},scrollToTop:function(){this.scroll&&this.scrollTo(0,0)},scrollToBottom:function(){this.scroll&&this.scrollTo(0,this.scroll.maxScrollY)},autoPullDownRefresh:function(){this.scroll&&this.scroll.autoPullDownRefresh()}}},void 0,!1,void 0,p,void 0);y.install=function(t){t.component(y.name,y)},module.exports=y;