UNPKG

@hopeio/utils

Version:
5 lines (4 loc) 3.92 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("./propTypes-D6ssVrlI.js"),T=require("@pureadmin/utils"),b={startVal:r.propTypes.number.def(0),endVal:r.propTypes.number.def(2020),duration:r.propTypes.number.def(1300),autoplay:r.propTypes.bool.def(!0),decimals:{type:Number,required:!1,default:0,validator(a){return a>=0}},color:r.propTypes.string.def(),fontSize:r.propTypes.string.def(),decimal:r.propTypes.string.def("."),separator:r.propTypes.string.def(","),prefix:r.propTypes.string.def(""),suffix:r.propTypes.string.def(""),useEasing:r.propTypes.bool.def(!0),easingFn:{type:Function,default(a,u,t,i){return t*(-Math.pow(2,-10*a/i)+1)*1024/1023+u}}},x=e.defineComponent({name:"ReNormalCountTo",props:b,emits:["mounted","callback"],setup(a,{emit:u}){const t=e.reactive({localStartVal:a.startVal,displayValue:f(a.startVal),printVal:null,paused:!1,localDuration:a.duration,startTime:null,timestamp:null,remaining:null,rAF:null,color:null,fontSize:"16px"}),i=e.computed(()=>a.startVal>a.endVal);e.watch([()=>a.startVal,()=>a.endVal],()=>{a.autoplay&&c()});function c(){const{startVal:o,duration:d,color:s,fontSize:l}=a;t.localStartVal=o,t.startTime=null,t.localDuration=d,t.paused=!1,t.color=s,t.fontSize=l,t.rAF=requestAnimationFrame(p)}function p(o){const{useEasing:d,easingFn:s,endVal:l}=a;t.startTime||(t.startTime=o),t.timestamp=o;const n=o-t.startTime;t.remaining=t.localDuration-n,d?e.unref(i)?t.printVal=t.localStartVal-s(n,0,t.localStartVal-l,t.localDuration):t.printVal=s(n,t.localStartVal,l-t.localStartVal,t.localDuration):e.unref(i)?t.printVal=t.localStartVal-(t.localStartVal-l)*(n/t.localDuration):t.printVal=t.localStartVal+(l-t.localStartVal)*(n/t.localDuration),e.unref(i)?t.printVal=t.printVal<l?l:t.printVal:t.printVal=t.printVal>l?l:t.printVal,t.displayValue=f(t.printVal),n<t.localDuration?t.rAF=requestAnimationFrame(p):u("callback")}function f(o){const{decimals:d,decimal:s,separator:l,suffix:n,prefix:y}=a;o=Number(o).toFixed(d),o+="";const m=o.split(".");let V=m[0];const g=m.length>1?s+m[1]:"",N=/(\d+)(\d{3})/;if(l&&!T.isNumber(l))for(;N.test(V);)V=V.replace(N,"$1"+l+"$2");return y+V+g+n}return e.onMounted(()=>{a.autoplay&&c(),u("mounted")}),()=>e.createVNode(e.Fragment,null,[e.createVNode("span",{style:{color:a.color,fontSize:a.fontSize}},[t.displayValue])])}}),S={delay:r.propTypes.number.def(1),blur:r.propTypes.number.def(2),i:{type:Number,required:!1,default:0,validator(a){return a<10&&a>=0&&Number.isInteger(a)}}},C=e.defineComponent({name:"ReboundCountTo",props:S,setup(a){const u=e.ref(),t=e.ref(null);return e.onBeforeMount(()=>{const i=navigator.userAgent.toLowerCase(),c=f=>f.test(i);c(/safari/g)&&!c(/chrome/g)&&(t.value=setTimeout(()=>{u.value.setAttribute("style",` animation: none; transform: translateY(calc(var(--i) * -9.09%)) `)},a.delay*1e3))}),e.onBeforeUnmount(()=>{clearTimeout(e.unref(t))}),()=>e.createVNode(e.Fragment,null,[e.createVNode("div",{class:"scroll-num",style:{"--i":a.i,"--delay":a.delay}},[e.createVNode("ul",{ref:"ulRef",style:{fontSize:"32px"}},[e.createVNode("li",null,[e.createTextVNode("0")]),e.createVNode("li",null,[e.createTextVNode("1")]),e.createVNode("li",null,[e.createTextVNode("2")]),e.createVNode("li",null,[e.createTextVNode("3")]),e.createVNode("li",null,[e.createTextVNode("4")]),e.createVNode("li",null,[e.createTextVNode("5")]),e.createVNode("li",null,[e.createTextVNode("6")]),e.createVNode("li",null,[e.createTextVNode("7")]),e.createVNode("li",null,[e.createTextVNode("8")]),e.createVNode("li",null,[e.createTextVNode("9")]),e.createVNode("li",null,[e.createTextVNode("0")])]),e.createVNode("svg",{width:"0",height:"0"},[e.createVNode("filter",{id:"blur"},[e.createVNode("feGaussianBlur",{in:"SourceGraphic",stdDeviation:`0 ${a.blur}`},null)])])])])}}),h=T.withInstall(x),F=T.withInstall(C);exports.ReNormalCountTo=h;exports.ReboundCountTo=F;