You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
5.9 KiB
23 lines
5.9 KiB
import{d as z,s as A,c as p,v as P,E as O,G as u,t as j,B as D,A as k,p as L,o as W,f as q,w as S,J as C,K as N,q as G,n as U}from"./index-bVOhw2NF.js";import{u as H}from"./use-locale-CFjRjALw.js";import{x as J}from"./_initCloneObject-K-Y0ueWp.js";import{t as T}from"./toNumber-C7_OyJEx.js";import{t as $}from"./toString-eibgRg41.js";import{c as h,a as b,u as K,f as B,h as X}from"./light-Cua7cqmF.js";import{a as Y}from"./light-DiBdiU84.js";import{u as Q}from"./use-rtl-CRyak7TN.js";import{r as _}from"./resolve-slot-Dzko3qih.js";import"./context-KbjOeZY_.js";import"./index-Dn5RNViO.js";import"./_baseFor-mOzdmxoL.js";var w=1/0,Z=17976931348623157e292;function tt(t){if(!t)return t===0?t:0;if(t=T(t),t===w||t===-w){var e=t<0?-1:1;return e*Z}return t===t?t:0}function et(t){var e=tt(t),n=e%1;return e===e?n?e-n:e:0}var nt=J.isFinite,at=Math.min;function ot(t){var e=Math[t];return function(n,a){if(n=T(n),a=a==null?0:at(et(a),292),a&&nt(n)){var s=($(n)+"e").split("e"),l=e(s[0]+"e"+(+s[1]+a));return s=($(l)+"e").split("e"),+(s[0]+"e"+(+s[1]-a))}return e(n)}}var st=ot("round");const it=t=>1-Math.pow(1-t,5);function rt(t){const{from:e,to:n,duration:a,onUpdate:s,onFinish:l}=t,o=performance.now(),r=()=>{const c=performance.now(),f=Math.min(c-o,a),m=e+(n-e)*it(f/a);if(f===a){l();return}s(m),requestAnimationFrame(r)};r()}const lt={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},ut=z({name:"NumberAnimation",props:lt,setup(t){const{localeRef:e}=H("name"),{duration:n}=t,a=A(t.from),s=p(()=>{const{locale:i}=t;return i!==void 0?i:e.value});let l=!1;const o=i=>{a.value=i},r=()=>{var i;a.value=t.to,l=!1,(i=t.onFinish)===null||i===void 0||i.call(t)},c=(i=t.from,d=t.to)=>{l=!0,a.value=t.from,i!==d&&rt({from:i,to:d,duration:n,onUpdate:o,onFinish:r})},f=p(()=>{var i;const v=st(a.value,t.precision).toFixed(t.precision).split("."),x=new Intl.NumberFormat(s.value),g=(i=x.formatToParts(.5).find(M=>M.type==="decimal"))===null||i===void 0?void 0:i.value,E=t.showSeparator?x.format(Number(v[0])):v[0],I=v[1];return{integer:E,decimal:I,decimalSeparator:g}});function m(){l||c()}return P(()=>{O(()=>{t.active&&c()})}),Object.assign({formattedValue:f},{play:m})},render(){const{formattedValue:{integer:t,decimal:e,decimalSeparator:n}}=this;return[t,e?n:null,e]}}),ct=h("statistic",[b("label",`
|
|
font-weight: var(--n-label-font-weight);
|
|
transition: .3s color var(--n-bezier);
|
|
font-size: var(--n-label-font-size);
|
|
color: var(--n-label-text-color);
|
|
`),h("statistic-value",`
|
|
margin-top: 4px;
|
|
font-weight: var(--n-value-font-weight);
|
|
`,[b("prefix",`
|
|
margin: 0 4px 0 0;
|
|
font-size: var(--n-value-font-size);
|
|
transition: .3s color var(--n-bezier);
|
|
color: var(--n-value-prefix-text-color);
|
|
`,[h("icon",{verticalAlign:"-0.125em"})]),b("content",`
|
|
font-size: var(--n-value-font-size);
|
|
transition: .3s color var(--n-bezier);
|
|
color: var(--n-value-text-color);
|
|
`),b("suffix",`
|
|
margin: 0 0 0 4px;
|
|
font-size: var(--n-value-font-size);
|
|
transition: .3s color var(--n-bezier);
|
|
color: var(--n-value-suffix-text-color);
|
|
`,[h("icon",{verticalAlign:"-0.125em"})])])]),ft=Object.assign(Object.assign({},B.props),{tabularNums:Boolean,label:String,value:[String,Number]}),mt=z({name:"Statistic",props:ft,setup(t){const{mergedClsPrefixRef:e,inlineThemeDisabled:n,mergedRtlRef:a}=K(t),s=B("Statistic","-statistic",ct,Y,t,e),l=Q("Statistic",a,e),o=p(()=>{const{self:{labelFontWeight:c,valueFontSize:f,valueFontWeight:m,valuePrefixTextColor:F,labelTextColor:i,valueSuffixTextColor:d,valueTextColor:v,labelFontSize:x},common:{cubicBezierEaseInOut:g}}=s.value;return{"--n-bezier":g,"--n-label-font-size":x,"--n-label-font-weight":c,"--n-label-text-color":i,"--n-value-font-weight":m,"--n-value-font-size":f,"--n-value-prefix-text-color":F,"--n-value-suffix-text-color":d,"--n-value-text-color":v}}),r=n?X("statistic",void 0,o,t):void 0;return{rtlEnabled:l,mergedClsPrefix:e,cssVars:n?void 0:o,themeClass:r==null?void 0:r.themeClass,onRender:r==null?void 0:r.onRender}},render(){var t;const{mergedClsPrefix:e,$slots:{default:n,label:a,prefix:s,suffix:l}}=this;return(t=this.onRender)===null||t===void 0||t.call(this),u("div",{class:[`${e}-statistic`,this.themeClass,this.rtlEnabled&&`${e}-statistic--rtl`],style:this.cssVars},_(a,o=>u("div",{class:`${e}-statistic__label`},this.label||o)),u("div",{class:`${e}-statistic-value`,style:{fontVariantNumeric:this.tabularNums?"tabular-nums":""}},_(s,o=>o&&u("span",{class:`${e}-statistic-value__prefix`},o)),this.value!==void 0?u("span",{class:`${e}-statistic-value__content`},this.value):_(n,o=>o&&u("span",{class:`${e}-statistic-value__content`},o)),_(l,o=>o&&u("span",{class:`${e}-statistic-value__suffix`},o))))}}),y=z({name:"EsStatistic",components:{},props:{options:{type:Object,default:()=>({})},datasets:{type:[String,Boolean,Number],default:""},eventData:{type:[String,Boolean,Number],default:""}},emits:["updateValue","update:eventData"],setup(t,{emit:e}){j(()=>t.datasets,s=>{s&&(e("update:eventData",s),e("updateValue",s))},{immediate:!0});const n=p(()=>({"--n-label-font-size":`${t.options.fontSize}px`,"--n-value-font-size":`${t.options.fontSize}px`,"--n-value-prefix-text-color":`${t.options.prefixColor}`,"--n-value-suffix-text-color":`${t.options.suffixColor}`,"--n-value-text-color":`${t.options.valueColor}`})),a=p(()=>`${t.options.valueFontSize}px`);return{...D(t.options),getStyle:n,valFontSize:a}}}),R=()=>{k(t=>({e77690ee:t.valFontSize,b7e5d58a:t.fontFamily}))},V=y.setup;y.setup=V?(t,e)=>(R(),V(t,e)):R;const dt=y;function vt(t,e,n,a,s,l){const o=ut,r=mt;return W(),q(r,{style:U(t.getStyle),class:"my-statistic"},{prefix:S(()=>[C(N(t.prefix),1)]),suffix:S(()=>[C(N(t.suffix),1)]),default:S(()=>[G(o,{from:0,to:t.to,precision:t.precision,"show-separator":t.showSeparator,duration:t.duration},null,8,["to","precision","show-separator","duration"])]),_:1},8,["style"])}const $t=L(dt,[["render",vt],["__scopeId","data-v-70c263e2"]]);export{$t as default};
|