{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-timeout/index.ts"],"sourcesContent":["import { onBeforeUnmount } from 'vue'\n\nimport type { TimeoutHandle } from '@element-plus/utils/types'\n\nexport default function () {\n  let timeoutHandle: TimeoutHandle\n\n  onBeforeUnmount(() => {\n    clearTimeout(timeoutHandle)\n  })\n\n  return {\n    registerTimeout: (fn: (...args: any[]) => unknown, delay: number) => {\n      clearTimeout(timeoutHandle)\n      timeoutHandle = setTimeout(fn, delay) as any as TimeoutHandle\n    },\n\n    cancelTimeout: () => {\n      clearTimeout(timeoutHandle)\n    },\n  }\n}\n"],"names":[],"mappings":";;sBAI2B;AACzB,MAAI;AAEJ,kBAAgB,MAAM;AACpB,iBAAa;AAAA;AAGf,SAAO;AAAA,IACL,iBAAiB,CAAC,IAAiC,UAAkB;AACnE,mBAAa;AACb,sBAAgB,WAAW,IAAI;AAAA;AAAA,IAGjC,eAAe,MAAM;AACnB,mBAAa;AAAA;AAAA;AAAA;;;;"}