{"version":3,"file":"useCountdown2.mjs","sources":["../../../../../../../packages/components/count-down/src/useCountdown.ts"],"sourcesContent":["import { ref, unref } from 'vue'\nimport { tryOnUnmounted } from '@vueuse/core'\n\nexport function useCountdown(count: number) {\n  const currentCount = ref(count)\n\n  const isStart = ref(false)\n\n  let timerId: ReturnType<typeof setInterval> | null\n\n  function clear() {\n    timerId && window.clearInterval(timerId)\n  }\n\n  function stop() {\n    isStart.value = false\n    clear()\n    timerId = null\n  }\n\n  function start() {\n    if (unref(isStart) || !!timerId) {\n      return\n    }\n    isStart.value = true\n    timerId = setInterval(() => {\n      if (unref(currentCount) === 1) {\n        stop()\n        currentCount.value = count\n      } else {\n        currentCount.value -= 1\n      }\n    }, 1000)\n  }\n\n  function reset() {\n    currentCount.value = count\n    stop()\n  }\n\n  function restart() {\n    reset()\n    start()\n  }\n\n  tryOnUnmounted(() => {\n    reset()\n  })\n\n  return { start, reset, restart, clear, stop, currentCount, isStart }\n}\n"],"names":[],"mappings":";;;AAEO,SAAS,YAAY,CAAC,KAAK,EAAE;AACpC,EAAE,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAClC,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAC7B,EAAE,IAAI,OAAO,CAAC;AACd,EAAE,SAAS,KAAK,GAAG;AACnB,IAAI,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC7C,GAAG;AACH,EAAE,SAAS,IAAI,GAAG;AAClB,IAAI,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC1B,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,OAAO,GAAG,IAAI,CAAC;AACnB,GAAG;AACH,EAAE,SAAS,KAAK,GAAG;AACnB,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE;AACrC,MAAM,OAAO;AACb,KAAK;AACL,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;AACzB,IAAI,OAAO,GAAG,WAAW,CAAC,MAAM;AAChC,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AACrC,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;AACnC,OAAO,MAAM;AACb,QAAQ,YAAY,CAAC,KAAK,IAAI,CAAC,CAAC;AAChC,OAAO;AACP,KAAK,EAAE,GAAG,CAAC,CAAC;AACZ,GAAG;AACH,EAAE,SAAS,KAAK,GAAG;AACnB,IAAI,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;AAC/B,IAAI,IAAI,EAAE,CAAC;AACX,GAAG;AACH,EAAE,SAAS,OAAO,GAAG;AACrB,IAAI,KAAK,EAAE,CAAC;AACZ,IAAI,KAAK,EAAE,CAAC;AACZ,GAAG;AACH,EAAE,cAAc,CAAC,MAAM;AACvB,IAAI,KAAK,EAAE,CAAC;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;AACvE;;;;"}