UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 1.42 kB
{"version":3,"file":"useCheckboxLazyLoad.mjs","sources":["../../../src/checkbox/hooks/useCheckboxLazyLoad.ts"],"sourcesContent":["import { onBeforeUnmount, onMounted, Ref, ref, watch } from 'vue';\nimport observe from '../../_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":["onBeforeUnmount","showCheckbox"],"mappings":";;;;;;;;;AAGO,SAAA,mBAAA,CAAA,QAAA,EAAA,QAAA,EAAA;AACL,EAAA,IAAA,UAAA,GAAA,GAAA,EAAA,CAAA;AACM,EAAA,IAAA,YAAA,GAAA,GAAA,CAAA,IAAA,CAAA,CAAA;AACN,EAAA,IAAA,cAAA,GAAA,SAAA,cAAA,GAAA;AACE,IAAA,IAAA,CAAA,QAAA,CAAA,KAAA,EAAA,OAAA;;;;;;;;;AAiBFA,EAAAA,eAAAA,CAAAA,YAAAA;AACE,IAAA,IAAA,CAAA,QAAA,CAAA,KAAA,EAAA,OAAA;;AAEF,GAAA,CAAA,CAAA;;AAGEC,IAAAA,YAAAA,EAAAA,YAAAA;;AAEJ;;;;"}