Module 114166

2,682 characters · in f0082a0273c58b12.js
Dependencies
Lazily required by (0)none
Lazily requires (0)none
Source Raw
function(e,t,n){n.d(t,{A:()=>h,x:()=>m});var i,l=n(477900),a=n(582128),r=n(435558),o=n.n(r),s=n(615300),u=n(531685),c=((i=c||{})[i.ABOVE=0]="ABOVE",i[i.VISIBLE=1]="VISIBLE",i[i.BELOW=2]="BELOW",i);function d(e,t){return{toValue:e,duration:t??300,easing:s.A.Easing.inOut(s.A.Easing.back())}}function m(e,t,n){if(null!=t){let i=Math.ceil(Math.log10(e+1));return null!=n&&n>0?Math.min(i,n)*t:i*t}}class h extends a.PureComponent{static Positions=c;prevAnimate;currAnimate;constructor(e){super(e),this.state={prevValue:null,currValue:e.value,nextValue:null},this.prevAnimate=new s.A.Value(0),this.currAnimate=new s.A.Value(1)}static getDerivedStateFromProps(e,t){let{prevValue:n,currValue:i,nextValue:l}=t;return null==n&&i!==e.value?{prevValue:u.A.isFocused()?i:null,currValue:e.value}:null!=l&&l!==e.value?{nextValue:e.value}:null}componentDidUpdate(e,t){let{prevValue:n,currValue:i}=this.state;n!==t.prevValue&&null!=n&&this.animateBetween(n,i)}animateBetween(e,t){let n,{forcePosition:i,animationSpeed:l}=this.props;this.prevAnimate.setValue(1),null!=i?0===i?(this.currAnimate.setValue(0),n=2):2===i&&(this.currAnimate.setValue(2),n=0):e>t?(this.currAnimate.setValue(0),n=2):(this.currAnimate.setValue(2),n=0),s.A.parallel([s.A.timing(this.prevAnimate,d(n,l)),s.A.timing(this.currAnimate,d(1,l))]).start(this.animateNext)}animateNext=()=>{let{currValue:e,nextValue:t}=this.state;null!=t?this.setState({prevValue:u.A.isFocused()?e:null,currValue:t,nextValue:null}):this.setState({prevValue:null})};getAnimatedStyle(e){let{animationColor:t}=this.props;return{transform:[{translateY:e.interpolate({inputRange:[0,1,2],outputRange:["-100%","0%","100%"]})}],position:"absolute",top:0,left:0,right:0,bottom:0,...null!=t&&{color:t}}}getMinWidth(e){let{digitWidth:t,padStartLength:n}=this.props;return m(e,t,n)}padValue(e){let{padStartLength:t}=this.props;return null!=t?String(e).padStart(t,"0"):e}render(){let{prevValue:e,currValue:t}=this.state,{color:n,formatString:i}=this.props,a=o().omit(this.props,["value","digitWidth","padStartLength","forcePosition"]);if(null==e)return(0,l.jsx)("div",{...a,style:{color:n,minWidth:this.getMinWidth(t)},children:null!=i?i(this.padValue(t)):this.padValue(t)});let r=Math.max(e,t);return(0,l.jsxs)("div",{...a,style:{color:n,position:"relative",overflow:"hidden"},children:[(0,l.jsx)("div",{style:{visibility:"hidden",minWidth:this.getMinWidth(r)},children:this.padValue(r)}),(0,l.jsx)(s.A.div,{style:{color:n,...this.getAnimatedStyle(this.prevAnimate)},children:null!=i?i(this.padValue(e)):this.padValue(e)}),(0,l.jsx)(s.A.div,{style:{color:n,...this.getAnimatedStyle(this.currAnimate)},children:null!=i?i(this.padValue(t)):this.padValue(t)})]})}}}