{"version":3,"file":"useElementLazyRender.mjs","sources":["../../../components/hooks/useElementLazyRender.ts"],"sourcesContent":["import { onBeforeUnmount, onMounted, Ref, ref, watch } from 'vue';\nimport observe from '@tdesign/common-js/utils/observe';\n\nexport function useElementLazyRender(labelRef: Ref<HTMLElement>, lazyLoad: Ref<boolean>) {\n  const ioObserver = ref<IntersectionObserver>();\n  const showElement = ref(true);\n\n  const handleLazyLoad = () => {\n    if (!lazyLoad.value || !labelRef.value || ioObserver.value) return;\n    showElement.value = false;\n    const io = observe(\n      labelRef.value,\n      null,\n      () => {\n        showElement.value = true;\n      },\n      10,\n    );\n    ioObserver.value = io;\n  };\n\n  onMounted(handleLazyLoad);\n\n  lazyLoad.value && watch([lazyLoad, labelRef], handleLazyLoad);\n\n  onBeforeUnmount(() => {\n    if (!lazyLoad.value) return;\n    ioObserver.value?.unobserve?.(labelRef.value);\n  });\n\n  return {\n    showElement,\n  };\n}\n\nexport default useElementLazyRender;\n"],"names":["useElementLazyRender","labelRef","lazyLoad","ioObserver","ref","showElement","handleLazyLoad","value","io","observe","onMounted","watch","onBeforeUnmount","_ioObserver$value","_ioObserver$value$uno","unobserve","call"],"mappings":";;;;;;;;;AAGgB,SAAAA,oBAAAA,CAAqBC,UAA4BC,QAAwB,EAAA;AACvF,EAAA,IAAMC,aAAaC,GAA0B,EAAA,CAAA;AACvC,EAAA,IAAAC,WAAA,GAAcD,IAAI,IAAI,CAAA,CAAA;AAE5B,EAAA,IAAME,iBAAiB,SAAjBA,iBAAuB;AAC3B,IAAA,IAAI,CAACJ,QAAS,CAAAK,KAAA,IAAS,CAACN,QAAA,CAASM,SAASJ,UAAW,CAAAI,KAAA,EAAO,OAAA;IAC5DF,WAAA,CAAYE,KAAQ,GAAA,KAAA,CAAA;IACpB,IAAMC,EAAK,GAAAC,OAAA,CACTR,QAAS,CAAAM,KAAA,EACT,IAAA,EACA,YAAM;MACJF,WAAA,CAAYE,KAAQ,GAAA,IAAA,CAAA;KACtB,EACA,EACF,CAAA,CAAA;IACAJ,UAAA,CAAWI,KAAQ,GAAAC,EAAA,CAAA;GACrB,CAAA;EAEAE,SAAA,CAAUJ,cAAc,CAAA,CAAA;AAExBJ,EAAAA,QAAA,CAASK,SAASI,KAAM,CAAA,CAACT,QAAU,EAAAD,QAAQ,GAAGK,cAAc,CAAA,CAAA;AAE5DM,EAAAA,eAAA,CAAgB,YAAM;IAAA,IAAAC,iBAAA,EAAAC,qBAAA,CAAA;AACpB,IAAA,IAAI,CAACZ,QAAS,CAAAK,KAAA,EAAO,OAAA;IACV,CAAAM,iBAAA,GAAAV,UAAA,CAAAI,KAAA,cAAAM,iBAAA,KAAA,KAAA,CAAA,IAAA,CAAAC,qBAAA,GAAAD,iBAAA,CAAOE,SAAY,MAAAD,IAAAA,IAAAA,qBAAA,KAAnBA,KAAAA,CAAAA,IAAAA,qBAAA,CAAAE,IAAA,CAAAH,iBAAA,EAAmBZ,QAAA,CAASM,KAAK,CAAA,CAAA;AAC9C,GAAC,CAAA,CAAA;EAEM,OAAA;AACLF,IAAAA,WAAA,EAAAA,WAAAA;GACF,CAAA;AACF;;;;"}