1import{d as m,b8 as p,r as g,q as b,Q as v,s as B,o as r,c as n,X as u,x as d,e as k,F as y}from"./vendor-lxhXACKn.js";/* empty css */import{_}from"./formkit.theme-DVbh0M_W.js";import"./globalBasic-DCViCoV8.js";const h=["alt"],I=["aria-label"],L=m({__name:"ImageLazyLoader",props:{alt:{default:""},asBackground:{type:Boolean,default:!1},load:{type:Boolean,default:!0},forceLoad:{type:Boolean,default:!1},animatedBg:{type:Boolean,default:!1}},setup(i){const f=p(),s=i,a=g(null),l=e=>{s.asBackground?e.style.backgroundImage=`url('${e.getAttribute("data-src")}')`:e.src=e.getAttribute("data-src"),e.classList.remove("invisible")},c=new IntersectionObserver((e,t)=>{e.forEach(o=>{o.isIntersecting&&(s.load&&l(o.target),t.unobserve(o.target))})});return b(()=>{v(()=>s.load,async e=>{if(!e)return;const t=a.value;l(t)},{debounce:500,deep:!0}),c.observe(a.value)}),B(()=>{try{c.unobserve(a.value)}catch{}}),(e,t)=>(r(),n(y,null,[e.asBackground?d("",!0):(r(),n("img",u({key:0,ref_key:"element",ref:a,alt:e.alt,class:"invisible",src:""},e.$attrs),null,16,h)),e.asBackground?(r(),n("div",u({key:1,ref_key:"element",ref:a,class:[{"animated-bg":e.animatedBg},"h-full bg-cover bg-center"],"aria-label":e.alt},k(f)),null,16,I)):d("",!0)],64))}}),E=_(L,[["__scopeId","data-v-2374e7e0"]]);export{E as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.