mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-06-08 01:17:23 +08:00
6 lines
3.7 KiB
JavaScript
6 lines
3.7 KiB
JavaScript
import{p as n}from"./propTypes-3b04af70.js";import{d as S,ag as D,y as w,A,ar as z,o as k,f as a,F as h,u as m,r as x,am as B,a as R,g as r,Y as v,b as q,c as E,w as T,e as F,h as g,j as $,k as M}from"./index-17f10454.js";const Y={startVal:n.number.def(0),endVal:n.number.def(2020),duration:n.number.def(1300),autoplay:n.bool.def(!0),decimals:{type:Number,required:!1,default:0,validator(t){return t>=0}},color:n.string.def(),fontSize:n.string.def(),decimal:n.string.def("."),separator:n.string.def(","),prefix:n.string.def(""),suffix:n.string.def(""),useEasing:n.bool.def(!0),easingFn:{type:Function,default(t,u,e,i){return e*(-Math.pow(2,-10*t/i)+1)*1024/1023+u}}},G=S({name:"ReNormalCountTo",props:Y,emits:["mounted","callback"],setup(t,{emit:u}){const e=D({localStartVal:t.startVal,displayValue:p(t.startVal),printVal:null,paused:!1,localDuration:t.duration,startTime:null,timestamp:null,remaining:null,rAF:null,color:null,fontSize:"16px"}),i=w(()=>t.startVal>t.endVal);A([()=>t.startVal,()=>t.endVal],()=>{t.autoplay&&c()});function c(){const{startVal:o,duration:V,color:f,fontSize:l}=t;e.localStartVal=o,e.startTime=null,e.localDuration=V,e.paused=!1,e.color=f,e.fontSize=l,e.rAF=requestAnimationFrame(d)}function d(o){const{useEasing:V,easingFn:f,endVal:l}=t;e.startTime||(e.startTime=o),e.timestamp=o;const s=o-e.startTime;e.remaining=e.localDuration-s,V?m(i)?e.printVal=e.localStartVal-f(s,0,e.localStartVal-l,e.localDuration):e.printVal=f(s,e.localStartVal,l-e.localStartVal,e.localDuration):m(i)?e.printVal=e.localStartVal-(e.localStartVal-l)*(s/e.localDuration):e.printVal=e.localStartVal+(l-e.localStartVal)*(s/e.localDuration),m(i)?e.printVal=e.printVal<l?l:e.printVal:e.printVal=e.printVal>l?l:e.printVal,e.displayValue=p(e.printVal),s<e.localDuration?e.rAF=requestAnimationFrame(d):u("callback")}function p(o){const{decimals:V,decimal:f,separator:l,suffix:s,prefix:C}=t;o=Number(o).toFixed(V),o+="";const y=o.split(".");let b=y[0];const N=y.length>1?f+y[1]:"",_=/(\d+)(\d{3})/;if(l&&!z(l))for(;_.test(b);)b=b.replace(_,"$1"+l+"$2");return C+b+N+s}return k(()=>{t.autoplay&&c(),u("mounted")}),()=>a(h,null,[a("span",{style:{color:t.color,fontSize:t.fontSize}},[e.displayValue])])}});const L={delay:n.number.def(1),blur:n.number.def(2),i:{type:Number,required:!1,default:0,validator(t){return t<10&&t>=0&&Number.isInteger(t)}}},P=S({name:"ReboundCountTo",props:L,setup(t){const u=x(),e=x(null);return B(()=>{const i=navigator.userAgent.toLowerCase(),c=p=>p.test(i);c(/safari/g)&&!c(/chrome/g)&&(e.value=setTimeout(()=>{u.value.setAttribute("style",`
|
|
animation: none;
|
|
transform: translateY(calc(var(--i) * -9.09%))
|
|
`)},t.delay*1e3))}),R(()=>{clearTimeout(m(e))}),()=>a(h,null,[a("div",{class:"scroll-num",style:{"--i":t.i,"--delay":t.delay}},[a("ul",{ref:"ulRef",style:{fontSize:"32px"}},[a("li",null,[r("0")]),a("li",null,[r("1")]),a("li",null,[r("2")]),a("li",null,[r("3")]),a("li",null,[r("4")]),a("li",null,[r("5")]),a("li",null,[r("6")]),a("li",null,[r("7")]),a("li",null,[r("8")]),a("li",null,[r("9")]),a("li",null,[r("0")])]),a("svg",{width:"0",height:"0"},[a("filter",{id:"blur"},[a("feGaussianBlur",{in:"SourceGraphic",stdDeviation:`0 ${t.blur}`},null)])])])])}}),U=v(G),j=v(P),I=g("div",{class:"card-header"},[g("span",{class:"font-medium"},"数字动画组件")],-1),H={class:"flex items-center"},J={class:"flex ml-8"},Q=S({name:"CountTo",__name:"index",setup(t){return(u,e)=>{const i=q("el-card");return F(),E(i,{shadow:"never"},{header:T(()=>[I]),default:T(()=>[g("div",H,[a(m(U),{prefix:"$",duration:1e3,color:"#409EFF",fontSize:"2em",startVal:1,endVal:1e3}),g("ul",J,[(F(),$(h,null,M([1,6,6,6],(c,d)=>a(m(j),{key:d,i:c,blur:d,delay:d+1},null,8,["i","blur","delay"])),64))])])]),_:1})}}});export{Q as default};
|
|
//# sourceMappingURL=index-ea3f31ca.js.map
|