import{_ as f}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{c as n,o as r,b as t,k as _,q as p,p as v,f as m,a as b,F as h}from"./app-B4kV47qU.js";const y={},w={class:"hollow-dots-spinner"};function x(o,e){return r(),n("div",w,e[0]||(e[0]=[t("div",{class:"dot"},null,-1),t("div",{class:"dot"},null,-1),t("div",{class:"dot"},null,-1)]))}const C=f(y,[["render",x]]),I={key:0,class:"mt-5 flex justify-center"},B={__name:"IntersectionObserver",props:{observerCondition:{type:Boolean,default:!0},loader:{type:Boolean,default:!1},afterIntersection:{type:Function,default:()=>{}},intersectionStart:{type:Number,default:0}},setup(o){const e=o,s=_(null);let i=null,a=0;const u=l=>{l.forEach(d=>{d.isIntersecting&&e.observerCondition&&(a++,a>e.intersectionStart&&e.afterIntersection())})};p(()=>e.observerCondition,()=>{e.observerCondition&&c()}),v(()=>{c()});const c=()=>{i=new IntersectionObserver(u,{root:null,rootMargin:"40px",threshold:.1}),i.observe(s.value)};return(l,d)=>(r(),n(h,null,[t("div",{ref_key:"intersectionTargetView",ref:s,class:"h-2"},null,512),o.loader?(r(),n("div",I,[b(C)])):m("",!0)],64))}};export{C as H,B as _};
