{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-throttle-render/index.ts"],"sourcesContent":["import { onMounted, ref, watch } from 'vue'\n\nimport type { Ref } from 'vue'\n\nexport const useThrottleRender = (loading: Ref<boolean>, throttle = 0) => {\n  if (throttle === 0) return loading\n  const throttled = ref(false)\n  let timeoutHandle = 0\n\n  const dispatchThrottling = () => {\n    if (timeoutHandle) {\n      clearTimeout(timeoutHandle)\n    }\n    timeoutHandle = window.setTimeout(() => {\n      throttled.value = loading.value\n    }, throttle)\n  }\n  onMounted(dispatchThrottling)\n\n  watch(\n    () => loading.value,\n    (val) => {\n      if (val) {\n        dispatchThrottling()\n      } else {\n        throttled.value = val\n      }\n    }\n  )\n  return throttled\n}\n"],"names":[],"mappings":";;AAIO,MAAM,iBAAoB,GAAA,CAAC,OAAuB,EAAA,QAAA,GAAW,CAAM,KAAA;AACxE,EAAA,IAAI,QAAa,KAAA,CAAA;AAAG,IAAO,OAAA,OAAA,CAAA;AAC3B,EAAM,MAAA,SAAA,GAAY,IAAI,KAAK,CAAA,CAAA;AAC3B,EAAA,IAAI,aAAgB,GAAA,CAAA,CAAA;AAEpB,EAAA,MAAM,qBAAqB,MAAM;AAC/B,IAAA,IAAI,aAAe,EAAA;AACjB,MAAA,YAAA,CAAa,aAAa,CAAA,CAAA;AAAA,KAC5B;AACA,IAAgB,aAAA,GAAA,MAAA,CAAO,WAAW,MAAM;AACtC,MAAA,SAAA,CAAU,QAAQ,OAAQ,CAAA,KAAA,CAAA;AAAA,OACzB,QAAQ,CAAA,CAAA;AAAA,GACb,CAAA;AACA,EAAA,SAAA,CAAU,kBAAkB,CAAA,CAAA;AAE5B,EAAA,KAAA;AAAA,IACE,MAAM,OAAQ,CAAA,KAAA;AAAA,IACd,CAAC,GAAQ,KAAA;AACP,MAAA,IAAI,GAAK,EAAA;AACP,QAAmB,kBAAA,EAAA,CAAA;AAAA,OACd,MAAA;AACL,QAAA,SAAA,CAAU,KAAQ,GAAA,GAAA,CAAA;AAAA,OACpB;AAAA,KACF;AAAA,GACF,CAAA;AACA,EAAO,OAAA,SAAA,CAAA;AACT;;;;"}