UNPKG

tdesign-vue-next

Version:
1 lines 1.96 kB
{"version":3,"file":"useCheckboxLazyLoad.mjs","sources":["../../../../components/checkbox/hooks/useCheckboxLazyLoad.ts"],"sourcesContent":["import { onBeforeUnmount, onMounted, Ref, ref, watch } from 'vue';\nimport observe from '@tdesign/common-js/utils/observe';\n\nexport function useCheckboxLazyLoad(labelRef: Ref<HTMLElement>, lazyLoad: Ref<boolean>) {\n const ioObserver = ref<IntersectionObserver>();\n const showCheckbox = ref(true);\n const handleLazyLoad = () => {\n if (!lazyLoad.value) return;\n showCheckbox.value = false;\n const io = observe(\n labelRef.value,\n null,\n () => {\n showCheckbox.value = true;\n },\n 0,\n );\n ioObserver.value = io;\n };\n\n onMounted(handleLazyLoad);\n\n watch([lazyLoad, labelRef], handleLazyLoad);\n\n onBeforeUnmount(() => {\n if (!lazyLoad.value) return;\n ioObserver.value.unobserve(labelRef.value);\n });\n\n return {\n showCheckbox,\n };\n}\n\nexport default useCheckboxLazyLoad;\n"],"names":["useCheckboxLazyLoad","labelRef","lazyLoad","ioObserver","ref","showCheckbox","handleLazyLoad","value","io","observe","onMounted","watch","onBeforeUnmount","unobserve"],"mappings":";;;;;;;;;AAGgB,SAAAA,mBAAAA,CAAoBC,UAA4BC,QAAwB,EAAA;AACtF,EAAA,IAAMC,aAAaC,GAA0B,EAAA,CAAA;AACvC,EAAA,IAAAC,YAAA,GAAeD,IAAI,IAAI,CAAA,CAAA;AAC7B,EAAA,IAAME,iBAAiB,SAAjBA,iBAAuB;AAC3B,IAAA,IAAI,CAACJ,QAAS,CAAAK,KAAA,EAAO,OAAA;IACrBF,YAAA,CAAaE,KAAQ,GAAA,KAAA,CAAA;IACrB,IAAMC,EAAK,GAAAC,OAAA,CACTR,QAAS,CAAAM,KAAA,EACT,IAAA,EACA,YAAM;MACJF,YAAA,CAAaE,KAAQ,GAAA,IAAA,CAAA;KACvB,EACA,CACF,CAAA,CAAA;IACAJ,UAAA,CAAWI,KAAQ,GAAAC,EAAA,CAAA;GACrB,CAAA;EAEAE,SAAA,CAAUJ,cAAc,CAAA,CAAA;EAExBK,KAAA,CAAM,CAACT,QAAA,EAAUD,QAAQ,CAAA,EAAGK,cAAc,CAAA,CAAA;AAE1CM,EAAAA,eAAA,CAAgB,YAAM;AACpB,IAAA,IAAI,CAACV,QAAS,CAAAK,KAAA,EAAO,OAAA;IACVJ,UAAA,CAAAI,KAAA,CAAMM,SAAU,CAAAZ,QAAA,CAASM,KAAK,CAAA,CAAA;AAC3C,GAAC,CAAA,CAAA;EAEM,OAAA;AACLF,IAAAA,YAAA,EAAAA,YAAAA;GACF,CAAA;AACF;;;;"}