1 |
- "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _classCallCheck(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,i){for(var e=0;e<i.length;e++){var s=i[e];s.enumerable=s.enumerable||!1,s.configurable=!0,"value"in s&&(s.writable=!0),Object.defineProperty(t,_toPropertyKey(s.key),s)}}function _createClass(t,i,e){return i&&_defineProperties(t.prototype,i),e&&_defineProperties(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function _toPropertyKey(t){t=_toPrimitive(t,"string");return"symbol"==_typeof(t)?t:String(t)}function _toPrimitive(t,i){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0===e)return("string"===i?String:Number)(t);e=e.call(t,i||"default");if("object"!=_typeof(e))return e;throw new TypeError("@@toPrimitive must return a primitive value.")}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var CountUp=function(){function r(t,i,e,s){var a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:{},n=5<arguments.length&&void 0!==arguments[5]?arguments[5]:getCurrentPages()[getCurrentPages().length-1];_classCallCheck(this,r),Object.assign(this,{page:n,startVal:t,endVal:i,decimals:e,duration:s,options:a}),this.__init()}return _createClass(r,[{key:"__init",value:function(){this.setData=this.page.setData.bind(this.page),this.lastTime=0,this.mergeOptions(this.options),this.startVal=Number(this.startVal),this.cacheVal=this.startVal,this.endVal=Number(this.endVal),this.countDown=this.startVal>this.endVal,this.frameVal=this.startVal,this.decimals=Math.max(0,this.decimals||0),this.dec=Math.pow(10,this.decimals),this.duration=1e3*Number(this.duration)||2e3,this.printValue(this.formattingFn(this.startVal))}},{key:"setDefaultOptions",value:function(){return{useEasing:!0,useGrouping:!0,separator:",",decimal:".",easingFn:null,formattingFn:null,printValue:function(t){}}}},{key:"mergeOptions",value:function(t){var i,e=this.setDefaultOptions();for(i in e)e.hasOwnProperty(i)&&(this.options[i]=(void 0!==t[i]?t:e)[i],"function"==typeof this.options[i])&&(this.options[i]=this.options[i].bind(this));""===this.options.separator&&(this.options.useGrouping=!1),this.options.prefix||(this.options.prefix=""),this.options.suffix||(this.options.suffix=""),this.easingFn=this.options.easingFn||this.easeOutExpo,this.formattingFn=this.options.formattingFn||this.formatNumber,this.printValue=this.options.printValue||function(){}}},{key:"requestAnimationFrame",value:function(t){var i=this,e=(new Date).getTime(),s=Math.max(0,16-(e-this.lastTime)),a=setTimeout(function(){t.bind(i)(e+s)},s);return this.lastTime=e+s,a}},{key:"cancelAnimationFrame",value:function(t){clearTimeout(t)}},{key:"formatNumber",value:function(t){var i,e;if(t=t.toFixed(this.decimals),i=(t=(t+="").split("."))[0],t=1<t.length?this.options.decimal+t[1]:"",e=/(\d+)(\d{3})/,this.options.useGrouping)for(;e.test(i);)i=i.replace(e,"$1"+this.options.separator+"$2");return this.options.prefix+i+t+this.options.suffix}},{key:"easeOutExpo",value:function(t,i,e,s){return e*(1-Math.pow(2,-10*t/s))*1024/1023+i}},{key:"count",value:function(t){this.startTime||(this.startTime=t);t=(this.timestamp=t)-this.startTime;this.remaining=this.duration-t,this.options.useEasing?this.countDown?this.frameVal=this.startVal-this.easingFn(t,0,this.startVal-this.endVal,this.duration):this.frameVal=this.easingFn(t,this.startVal,this.endVal-this.startVal,this.duration):this.countDown?this.frameVal=this.startVal-(this.startVal-this.endVal)*(t/this.duration):this.frameVal=this.startVal+(this.endVal-this.startVal)*(t/this.duration),this.countDown?this.frameVal=this.frameVal<this.endVal?this.endVal:this.frameVal:this.frameVal=this.frameVal>this.endVal?this.endVal:this.frameVal,this.frameVal=Math.round(this.frameVal*this.dec)/this.dec,this.printValue(this.formattingFn(this.frameVal)),t<this.duration?this.rAF=this.requestAnimationFrame(this.count):this.callback&&this.callback()}},{key:"start",value:function(t){return this.callback=t,this.rAF=this.requestAnimationFrame(this.count),!1}},{key:"pauseResume",value:function(){this.paused?(this.paused=!1,delete this.startTime,this.duration=this.remaining,this.startVal=this.frameVal,this.requestAnimationFrame(this.count)):(this.paused=!0,this.cancelAnimationFrame(this.rAF))}},{key:"reset",value:function(){this.paused=!1,delete this.startTime,this.startVal=this.cacheVal,this.cancelAnimationFrame(this.rAF),this.printValue(this.formattingFn(this.startVal))}},{key:"update",value:function(t){this.cancelAnimationFrame(this.rAF),this.paused=!1,delete this.startTime,this.startVal=this.frameVal,this.endVal=Number(t),this.countDown=this.startVal>this.endVal,this.rAF=this.requestAnimationFrame(this.count)}}]),r}(),_default=exports.default=CountUp;
|