{"version":3,"file":"index.mjs","sources":["../../../../../../packages/directives/lazy-load-img/index.ts"],"sourcesContent":["import { useIntersectionObserver } from '@vueuse/core'\n\n/**\n * Intersection Observer\n * https://developer.mozilla.org/zh-CN/docs/Web/API/IntersectionObserver\n * 异步观察目标元素与其祖先元素或顶级文档视窗 (viewport) 交叉状态的方法\n */\nexport default function lazyLoadImg(imgEl: HTMLImageElement, bindingVal: string) {\n  const { stop } = useIntersectionObserver(\n    imgEl,\n    ([{ isIntersecting }]) => {\n      // isIntersecting 是否在可视区域\n      if (isIntersecting) {\n        imgEl.src = bindingVal\n        // 加载完成后，停止监听\n        stop()\n      }\n    }\n  )\n}\n"],"names":[],"mappings":";;AACe,SAAS,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE;AACvD,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,uBAAuB;AAC1C,IAAI,KAAK;AACT,IAAI,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,KAAK;AAC9B,MAAM,IAAI,cAAc,EAAE;AAC1B,QAAQ,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC;AAC/B,QAAQ,IAAI,EAAE,CAAC;AACf,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}