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