/**
 * Skipped minification because the original files appears to be already minified.
 * Original file: /npm/use-elapsed-time@3.0.4/lib/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
var v=Object.create;var p=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var w=e=>p(e,"__esModule",{value:!0});var J=(e,r)=>{w(e);for(var t in r)p(e,t,{get:r[t],enumerable:!0})},L=(e,r,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let u of D(r))!I.call(e,u)&&u!=="default"&&p(e,u,{get:()=>r[u],enumerable:!(t=C(r,u))||t.enumerable});return e},B=e=>L(w(p(e!=null?v(k(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);J(exports,{useElapsedTime:()=>M});var n=B(require("react"));var f=B(require("react")),x=typeof window=="undefined"?f.useEffect:f.useLayoutEffect;var M=({isPlaying:e,duration:r,startAt:t=0,updateInterval:u=0,onComplete:T,onUpdate:b})=>{let[i,A]=(0,n.useState)(t),d=(0,n.useRef)(0),y=(0,n.useRef)(t),S=(0,n.useRef)(t*-1e3),o=(0,n.useRef)(null),m=(0,n.useRef)(null),E=(0,n.useRef)(null),l=s=>{let c=s/1e3;if(m.current===null){m.current=c,o.current=requestAnimationFrame(l);return}let R=c-m.current,a=d.current+R;m.current=c,d.current=a;let O=y.current+(u===0?a:(a/u|0)*u),V=y.current+a,F=typeof r=="number"&&V>=r;A(F?r:O),F||(o.current=requestAnimationFrame(l))},h=()=>{o.current&&cancelAnimationFrame(o.current),E.current&&clearTimeout(E.current),m.current=null},q=(0,n.useCallback)(s=>{h(),d.current=0;let c=typeof s=="number"?s:t;y.current=c,A(c),e&&(o.current=requestAnimationFrame(l))},[e,t]);return x(()=>{if(b==null||b(i),r&&i>=r){S.current+=r*1e3;let{shouldRepeat:s=!1,delay:c=0,newStartAt:R}=(T==null?void 0:T(S.current/1e3))||{};s&&(E.current=setTimeout(()=>q(R),c*1e3))}},[i,r]),x(()=>(e&&(o.current=requestAnimationFrame(l)),h),[e,r,u]),{elapsedTime:i,reset:q}};
