{"version":3,"file":"rafTrottle.mjs","names":["rafTrottle","callback","ticking","lastArgs","update","context","apply","throttled","args","requestAnimationFrame","cancel","cancelAnimationFrame"],"sources":["../../src/utils/rafTrottle.tsx"],"sourcesContent":["function rafTrottle<T extends (...args: any[]) => any>(callback: T) {\n  let ticking: number | null = null;\n\n  let lastArgs: any;\n\n  const update = (context: any) => () => {\n    ticking = null;\n    callback.apply(context, lastArgs);\n  };\n\n  const throttled = function (this: any, ...args: any[]) {\n    lastArgs = args;\n    if (ticking === null) {\n      ticking = requestAnimationFrame(update(this));\n    }\n  };\n\n  throttled.cancel = () => {\n    if (typeof ticking === 'number') cancelAnimationFrame(ticking);\n    ticking = null;\n  };\n\n  return throttled as any as T;\n}\n\nexport default rafTrottle;\n"],"mappings":"AAAA,SAASA,UAAUA,CAAoCC,QAAW,EAAE;EAClE,IAAIC,OAAsB,GAAG,IAAI;EAEjC,IAAIC,QAAa;EAEjB,MAAMC,MAAM,GAAIC,OAAY,IAAK,MAAM;IACrCH,OAAO,GAAG,IAAI;IACdD,QAAQ,CAACK,KAAK,CAACD,OAAO,EAAEF,QAAQ,CAAC;EACnC,CAAC;EAED,MAAMI,SAAS,GAAG,SAAAA,CAAqB,GAAGC,IAAW,EAAE;IACrDL,QAAQ,GAAGK,IAAI;IACf,IAAIN,OAAO,KAAK,IAAI,EAAE;MACpBA,OAAO,GAAGO,qBAAqB,CAACL,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C;EACF,CAAC;EAEDG,SAAS,CAACG,MAAM,GAAG,MAAM;IACvB,IAAI,OAAOR,OAAO,KAAK,QAAQ,EAAES,oBAAoB,CAACT,OAAO,CAAC;IAC9DA,OAAO,GAAG,IAAI;EAChB,CAAC;EAED,OAAOK,SAAS;AAClB;AAEA,eAAeP,UAAU","ignoreList":[]}