{"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;;;;"}