/**
 * Skipped minification because the original files appears to be already minified.
 * Original file: /npm/vue-countup-v3@1.4.2/dist/vue-countup-v3.umd.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("vue")):"function"==typeof define&&define.amd?define(["vue"],n):(t="undefined"!=typeof globalThis?globalThis:t||self).VueCountUp=n(t.Vue)}(this,(function(t){"use strict";var n=function(){return n=Object.assign||function(t){for(var n,e=1,i=arguments.length;e<i;e++)for(var a in n=arguments[e])Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a]);return t},n.apply(this,arguments)},e=function(){function t(t,e,i){var a=this;this.endVal=e,this.options=i,this.version="2.8.0",this.defaults={startVal:0,decimalPlaces:0,duration:2,useEasing:!0,useGrouping:!0,useIndianSeparators:!1,smartEasingThreshold:999,smartEasingAmount:333,separator:",",decimal:".",prefix:"",suffix:"",enableScrollSpy:!1,scrollSpyDelay:200,scrollSpyOnce:!1},this.finalEndVal=null,this.useEasing=!0,this.countDown=!1,this.error="",this.startVal=0,this.paused=!0,this.once=!1,this.count=function(t){a.startTime||(a.startTime=t);var n=t-a.startTime;a.remaining=a.duration-n,a.useEasing?a.countDown?a.frameVal=a.startVal-a.easingFn(n,0,a.startVal-a.endVal,a.duration):a.frameVal=a.easingFn(n,a.startVal,a.endVal-a.startVal,a.duration):a.frameVal=a.startVal+(a.endVal-a.startVal)*(n/a.duration);var e=a.countDown?a.frameVal<a.endVal:a.frameVal>a.endVal;a.frameVal=e?a.endVal:a.frameVal,a.frameVal=Number(a.frameVal.toFixed(a.options.decimalPlaces)),a.printValue(a.frameVal),n<a.duration?a.rAF=requestAnimationFrame(a.count):null!==a.finalEndVal?a.update(a.finalEndVal):a.options.onCompleteCallback&&a.options.onCompleteCallback()},this.formatNumber=function(t){var n,e,i,s,o=t<0?"-":"";n=Math.abs(t).toFixed(a.options.decimalPlaces);var r=(n+="").split(".");if(e=r[0],i=r.length>1?a.options.decimal+r[1]:"",a.options.useGrouping){s="";for(var l=3,u=0,h=0,p=e.length;h<p;++h)a.options.useIndianSeparators&&4===h&&(l=2,u=1),0!==h&&u%l==0&&(s=a.options.separator+s),u++,s=e[p-h-1]+s;e=s}return a.options.numerals&&a.options.numerals.length&&(e=e.replace(/[0-9]/g,(function(t){return a.options.numerals[+t]})),i=i.replace(/[0-9]/g,(function(t){return a.options.numerals[+t]}))),o+a.options.prefix+e+i+a.options.suffix},this.easeOutExpo=function(t,n,e,i){return e*(1-Math.pow(2,-10*t/i))*1024/1023+n},this.options=n(n({},this.defaults),i),this.formattingFn=this.options.formattingFn?this.options.formattingFn:this.formatNumber,this.easingFn=this.options.easingFn?this.options.easingFn:this.easeOutExpo,this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.endVal=this.validateValue(e),this.options.decimalPlaces=Math.max(this.options.decimalPlaces),this.resetDuration(),this.options.separator=String(this.options.separator),this.useEasing=this.options.useEasing,""===this.options.separator&&(this.options.useGrouping=!1),this.el="string"==typeof t?document.getElementById(t):t,this.el?this.printValue(this.startVal):this.error="[CountUp] target is null or undefined",typeof window<"u"&&this.options.enableScrollSpy&&(this.error?console.error(this.error,t):(window.onScrollFns=window.onScrollFns||[],window.onScrollFns.push((function(){return a.handleScroll(a)})),window.onscroll=function(){window.onScrollFns.forEach((function(t){return t()}))},this.handleScroll(this)))}return t.prototype.handleScroll=function(t){if(t&&window&&!t.once){var n=window.innerHeight+window.scrollY,e=t.el.getBoundingClientRect(),i=e.top+window.pageYOffset,a=e.top+e.height+window.pageYOffset;a<n&&a>window.scrollY&&t.paused?(t.paused=!1,setTimeout((function(){return t.start()}),t.options.scrollSpyDelay),t.options.scrollSpyOnce&&(t.once=!0)):(window.scrollY>a||i>n)&&!t.paused&&t.reset()}},t.prototype.determineDirectionAndSmartEasing=function(){var t=this.finalEndVal?this.finalEndVal:this.endVal;this.countDown=this.startVal>t;var n=t-this.startVal;if(Math.abs(n)>this.options.smartEasingThreshold&&this.options.useEasing){this.finalEndVal=t;var e=this.countDown?1:-1;this.endVal=t+e*this.options.smartEasingAmount,this.duration=this.duration/2}else this.endVal=t,this.finalEndVal=null;null!==this.finalEndVal?this.useEasing=!1:this.useEasing=this.options.useEasing},t.prototype.start=function(t){this.error||(this.options.onStartCallback&&this.options.onStartCallback(),t&&(this.options.onCompleteCallback=t),this.duration>0?(this.determineDirectionAndSmartEasing(),this.paused=!1,this.rAF=requestAnimationFrame(this.count)):this.printValue(this.endVal))},t.prototype.pauseResume=function(){this.paused?(this.startTime=null,this.duration=this.remaining,this.startVal=this.frameVal,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count)):cancelAnimationFrame(this.rAF),this.paused=!this.paused},t.prototype.reset=function(){cancelAnimationFrame(this.rAF),this.paused=!0,this.resetDuration(),this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.printValue(this.startVal)},t.prototype.update=function(t){cancelAnimationFrame(this.rAF),this.startTime=null,this.endVal=this.validateValue(t),this.endVal!==this.frameVal&&(this.startVal=this.frameVal,null==this.finalEndVal&&this.resetDuration(),this.finalEndVal=null,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count))},t.prototype.printValue=function(t){var n;if(this.el){var e=this.formattingFn(t);null!==(n=this.options.plugin)&&void 0!==n&&n.render?this.options.plugin.render(this.el,e):"INPUT"===this.el.tagName?this.el.value=e:"text"===this.el.tagName||"tspan"===this.el.tagName?this.el.textContent=e:this.el.innerHTML=e}},t.prototype.ensureNumber=function(t){return"number"==typeof t&&!isNaN(t)},t.prototype.validateValue=function(t){var n=Number(t);return this.ensureNumber(n)?n:(this.error="[CountUp] invalid start or end value: ".concat(t),null)},t.prototype.resetDuration=function(){this.startTime=null,this.duration=1e3*Number(this.options.duration),this.remaining=this.duration},t}();const i={class:"countup-wrap"};return t.defineComponent({name:"CountUp",props:{endVal:{},startVal:{default:0},duration:{default:2.5},decimalPlaces:{default:0},autoplay:{type:Boolean,default:!0},loop:{type:[Boolean,Number],default:!1},delay:{default:0},options:{default:void 0}},emits:["init","finished"],setup(n,{expose:a,emit:s}){const o=n,r=s;let l=t.ref(),u=t.ref(),h=0;const p=t.ref(!1);let d;function c(){if(!l.value)return void console.warn("[vue-countup-v3]","elRef can't found");h=0,p.value=!1;const t=Number(o.startVal),n=Number(o.endVal),i=Number(o.duration);u.value=new e(l.value,n,{startVal:t,duration:i,decimalPlaces:o.decimalPlaces,...o.options}),u.value.error?console.error("[vue-countup-v3]",u.value.error):r("init",u.value)}function f(){var n;u.value||c(),null==(n=u.value)||n.start((function(){"boolean"==typeof o.loop&&o.loop||o.loop>h?d=function(n,e=1){const i=t.ref(-1);let a;return i.value=requestAnimationFrame((function t(s){a||(a=s),s-a<1e3*e?i.value=requestAnimationFrame(t):n()})),{cancel:function(){window.cancelAnimationFrame(i.value)}}}((()=>{var t;null==(t=u.value)||t.reset(),f()}),o.delay):p.value=!0})),h++}function m(){null==d||d.cancel(),c(),f()}return t.watch([()=>o.startVal,()=>o.endVal],(()=>{o.autoplay&&m()})),t.watch(p,(t=>{var n;t&&(null!=(n=o.options)&&n.onCompleteCallback&&o.options.onCompleteCallback(),r("finished"))})),t.onMounted((()=>{c(),o.autoplay&&f()})),t.onUnmounted((()=>{var t;null==d||d.cancel(),null==(t=u.value)||t.reset()})),a({init:c,restart:m}),(n,e)=>(t.openBlock(),t.createElementBlock("div",i,[t.renderSlot(n.$slots,"prefix"),t.createElementVNode("span",{ref_key:"elRef",ref:l},null,512),t.renderSlot(n.$slots,"suffix")]))}})}));
