+export default function(e){var r=(e=e||{}).lazyClass||"lazy",o=e.lazyBackgroundClass||"lazy-bg",t="idleLoadTimeout"in e?e.idleLoadTimeout:200,a=e.observeChanges||!1,n=e.events||{},i=window,s="requestIdleCallback",d="IntersectionObserver",l=["srcset","src","poster"],c=[],v=(e,t)=>c.slice.call((t||document).querySelectorAll(e||"img."+r+",video."+r+",iframe."+r+",."+o)),u=r=>{var t,a,n=r.parentNode;for(var i in"PICTURE"==n.nodeName&&(a=n),"VIDEO"==r.nodeName&&(a=r),t=v("source",a))g(t[i]);g(r),r.autoplay&&r.load();var s=r.classList;s.contains(o)&&(s.remove(o),s.add(e.lazyBackgroundLoaded||"lazy-bg-loaded"))},b=e=>{for(var r in n)e.addEventListener(r,n[r].listener||n[r],n[r].options||void 0);y.observe(e)},g=e=>{l.forEach(r=>{r in e.dataset&&i.requestAnimationFrame(()=>{e[r]=e.dataset[r]})})},f=v();if(/baidu|(?:google|bing|yandex|duckduck)bot/i.test(navigator.userAgent))for(var m in f)u(f[m]);else if(d in i&&d+"Entry"in i&&"isIntersecting"in i[d+"Entry"].prototype){var y=new i[d]((e,o)=>{e.forEach(e=>{if(e.isIntersecting){var n=e.target;s in i&&t?i[s](()=>{u(n)},{timeout:t}):u(n),n.classList.remove(r),o.unobserve(n),(f=f.filter(e=>e!=n)).length||a||y.disconnect()}})},{rootMargin:("threshold"in e?e.threshold:200)+"px 0%"});for(var h in f)b(f[h]);a&&new MutationObserver(()=>{v().forEach(e=>{f.indexOf(e)<0&&(f.push(e),b(e))})}).observe(v(e.observeRootSelector||"body")[0],e.mutationObserverOptions||{childList:!0,subtree:!0})}}
0 commit comments