Module 133296

1,075 characters · in a2f68b305df8d89d.js, 882b0b01457c2e17.js, 2f9baa53e1c5e105.js
Dependencies
Required by (3)
Lazily required by (0)none
Requires (3)
Lazily requires (0)none
Source Raw
function(e,t,n){n.d(t,{A:()=>s});var i=n(627968),a=n(64700),l=n(451988);class r extends a.Component{timer=new l.IX;state={hovered:!1};static defaultProps={disable:!1,pauseOnHover:!1};static getDerivedStateFromProps(e){return e.disable?{hovered:!1}:null}componentDidMount(){let{pauseOnHover:e,disable:t}=this.props,n=this.state.hovered&&e;t||n||this.startTimer()}componentWillUnmount(){this.stopTimer()}componentDidUpdate(e,t){let{props:n}=this,i=(e,t)=>!e.disable&&!(t.hovered&&e.pauseOnHover),a=i(n,this.state),l=i(e,t);a&&!l||e.interval!==n.interval?this.startTimer():!a&&l&&this.stopTimer()}startTimer(){let{interval:e,onInterval:t,disable:n}=this.props;n||this.timer.start(e,()=>{t()})}stopTimer(){this.timer.stop()}handlePause=()=>{this.state.hovered||this.setState({hovered:!0})};handleResume=()=>{this.setState({hovered:!1})};render(){let{children:e,className:t,disable:n}=this.props,a=n?null:{onMouseEnter:this.handlePause,onFocus:this.handlePause,onMouseLeave:this.handleResume,onBlur:this.handleResume};return(0,i.jsx)("div",{...a,className:t,children:e})}}let s=r}