1 |
- import{b0 as E,q as w,t as B,U as C,V as L,d as R,l as h,ai as _,w as m,bi as N,o as U,z as y,D as A,f as o,n as K,E as T,ak as V,R as j,K as q}from"./index-4fdf58de.js";const z=Symbol(),D=()=>E(z,null),[F,r,H]=w("list"),I={error:Boolean,offset:B(300),loading:Boolean,disabled:Boolean,finished:Boolean,errorText:String,direction:C("down"),loadingText:String,finishedText:String,immediateCheck:L};var M=R({name:F,props:I,emits:["load","update:error","update:loading"],setup(e,{emit:c,slots:a}){const d=h(e.loading),u=h(),g=h(),s=D(),v=_(u),n=()=>{K(()=>{if(d.value||e.finished||e.disabled||e.error||(s==null?void 0:s.value)===!1)return;const{direction:t}=e,l=+e.offset,i=T(v);if(!i.height||V(u))return;let f=!1;const x=T(g);t==="up"?f=i.top-x.top<=l:f=x.bottom-i.bottom<=l,f&&(d.value=!0,c("update:loading",!0),c("load"))})},b=()=>{if(e.finished){const t=a.finished?a.finished():e.finishedText;if(t)return o("div",{class:r("finished-text")},[t])}},S=()=>{c("update:error",!1),n()},k=()=>{if(e.error){const t=a.error?a.error():e.errorText;if(t)return o("div",{role:"button",class:r("error-text"),tabindex:0,onClick:S},[t])}},P=()=>{if(d.value&&!e.finished&&!e.disabled)return o("div",{class:r("loading")},[a.loading?a.loading():o(j,{class:r("loading-icon")},{default:()=>[e.loadingText||H("loading")]})])};return m(()=>[e.loading,e.finished,e.error],n),s&&m(s,t=>{t&&n()}),N(()=>{d.value=e.loading}),U(()=>{e.immediateCheck&&n()}),y({check:n}),A("scroll",n,{target:v,passive:!0}),()=>{var t;const l=(t=a.default)==null?void 0:t.call(a),i=o("div",{ref:g,class:r("placeholder")},null);return o("div",{ref:u,role:"feed",class:r(),"aria-busy":d.value},[e.direction==="down"?l:i,P(),b(),k(),e.direction==="up"?l:i])}}});const G=q(M);export{G as L,z as T};
|