{"version":3,"file":"useTimeout.mjs","sources":["../../../../../../../../../node_modules/@mui/utils/esm/useTimeout/useTimeout.js"],"sourcesContent":["'use client';\n\nimport useLazyRef from \"../useLazyRef/useLazyRef.js\";\nimport useOnMount from \"../useOnMount/useOnMount.js\";\nexport class Timeout {\n  static create() {\n    return new Timeout();\n  }\n  currentId = null;\n\n  /**\n   * Executes `fn` after `delay`, clearing any previously scheduled call.\n   */\n  start(delay, fn) {\n    this.clear();\n    this.currentId = setTimeout(() => {\n      this.currentId = null;\n      fn();\n    }, delay);\n  }\n  clear = () => {\n    if (this.currentId !== null) {\n      clearTimeout(this.currentId);\n      this.currentId = null;\n    }\n  };\n  disposeEffect = () => {\n    return this.clear;\n  };\n}\nexport default function useTimeout() {\n  const timeout = useLazyRef(Timeout.create).current;\n  useOnMount(timeout.disposeEffect);\n  return timeout;\n}"],"names":[],"mappings":";;;AAIO,MAAM,OAAO,CAAC;AACrB,EAAE,OAAO,MAAM,GAAG;AAClB,IAAI,OAAO,IAAI,OAAO,EAAE;AACxB,EAAE;AACF,EAAE,SAAS,GAAG,IAAI;;AAElB;AACA;AACA;AACA,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE;AACnB,IAAI,IAAI,CAAC,KAAK,EAAE;AAChB,IAAI,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,MAAM;AACtC,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI;AAC3B,MAAM,EAAE,EAAE;AACV,IAAI,CAAC,EAAE,KAAK,CAAC;AACb,EAAE;AACF,EAAE,KAAK,GAAG,MAAM;AAChB,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AACjC,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AAClC,MAAM,IAAI,CAAC,SAAS,GAAG,IAAI;AAC3B,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,aAAa,GAAG,MAAM;AACxB,IAAI,OAAO,IAAI,CAAC,KAAK;AACrB,EAAE,CAAC;AACH;AACe,SAAS,UAAU,GAAG;AACrC,EAAE,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO;AACpD,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC;AACnC,EAAE,OAAO,OAAO;AAChB;;;;","x_google_ignoreList":[0]}