import{bx as b,by as I,a0 as v,d as R,bc as S,r as V,X as N,p as x,aj as A}from"./index-b5d795c3-1711617551545.js";var F=1/0,T=17976931348623157e292;function p(t){if(!t)return t===0?t:0;if(t=b(t),t===F||t===-F){var e=t<0?-1:1;return e*T}return t===t?t:0}function E(t){var e=p(t),a=e%1;return e===e?a?e-a:e:0}var _=I.isFinite,j=Math.min;function B(t){var e=Math[t];return function(a,n){if(a=b(a),n=n==null?0:j(E(n),292),n&&_(a)){var r=(v(a)+"e").split("e"),i=e(r[0]+"e"+(+r[1]+n));return r=(v(i)+"e").split("e"),+(r[0]+"e"+(+r[1]-n))}return e(a)}}var L=B("round");const O=L,P=t=>1-Math.pow(1-t,5);function U(t){const{from:e,to:a,duration:n,onUpdate:r,onFinish:i}=t,u=()=>{const c=performance.now(),s=Math.min(c-d,n),f=e+(a-e)*P(s/n);if(s===n){i();return}r(f),requestAnimationFrame(u)},d=performance.now();u()}const X={to:{type:Number,default:0},precision:{type:Number,default:0},showSeparator:Boolean,locale:String,from:{type:Number,default:0},active:{type:Boolean,default:!0},duration:{type:Number,default:2e3},onFinish:Function},C=R({name:"NumberAnimation",props:X,setup(t){const{localeRef:e}=S("name"),{duration:a}=t,n=V(t.from),r=N(()=>{const{locale:o}=t;return o!==void 0?o:e.value});let i=!1;const u=o=>{n.value=o},d=()=>{var o;n.value=t.to,i=!1,(o=t.onFinish)===null||o===void 0||o.call(t)},c=(o=t.from,m=t.to)=>{i=!0,n.value=t.from,o!==m&&U({from:o,to:m,duration:a,onUpdate:u,onFinish:d})},s=N(()=>{var o;const l=O(n.value,t.precision).toFixed(t.precision).split("."),h=new Intl.NumberFormat(r.value),y=(o=h.formatToParts(.5).find(w=>w.type==="decimal"))===null||o===void 0?void 0:o.value,M=t.showSeparator?h.format(Number(l[0])):l[0],g=l[1];return{integer:M,decimal:g,decimalSeparator:y}});function f(){i||c()}return x(()=>{A(()=>{t.active&&c()})}),Object.assign({formattedValue:s},{play:f})},render(){const{formattedValue:{integer:t,decimal:e,decimalSeparator:a}}=this;return[t,e?a:null,e]}});export{C as N};