virtua 0.37.3 → 0.37.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +1 -1
- package/lib/index.mjs.map +1 -1
- package/lib/react/VGrid.d.ts +1 -1
- package/lib/react/Virtualizer.d.ts +1 -1
- package/lib/react/WindowVirtualizer.d.ts +8 -2
- package/lib/solid/WindowVirtualizer.d.ts +7 -0
- package/lib/solid/index.js +1 -1
- package/lib/solid/index.js.map +1 -1
- package/lib/solid/index.mjs +1 -1
- package/lib/solid/index.mjs.map +1 -1
- package/lib/svelte/WindowVirtualizer.svelte +4 -0
- package/lib/svelte/WindowVirtualizer.svelte.d.ts +1 -0
- package/lib/svelte/WindowVirtualizer.type.d.ts +7 -0
- package/lib/svelte/core.d.ts +1 -0
- package/lib/svelte/core.js +1 -1
- package/lib/vue/WindowVirtualizer.d.ts +7 -0
- package/lib/vue/index.js +1 -1
- package/lib/vue/index.js.map +1 -1
- package/lib/vue/index.mjs +1 -1
- package/lib/vue/index.mjs.map +1 -1
- package/package.json +2 -2
package/lib/svelte/core.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=null,{min:t,max:r,abs:o,floor:n}=Math,s=setTimeout,c=(e,o,n)=>t(n,r(o,e)),i="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},l=e=>{let t,r;return()=>(t||(t=!0,r=e()),r)},
|
|
1
|
+
const e=null,{min:t,max:r,abs:o,floor:n}=Math,s=setTimeout,c=(e,o,n)=>t(n,r(o,e)),i="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},l=e=>{let t,r;return()=>(t||(t=!0,r=e()),r)},a=-1,f=(e,t,r)=>{const o=r?"unshift":"push";for(let r=0;r<t;r++)e[o](a);return e},u=(e,t)=>{const r=e.t[t];return r===a?e.o:r},d=(e,r,o)=>{const n=e.t[r]===a;return e.t[r]=o,e.i=t(r,e.i),n},_=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let r=e.i,o=e.u[r];for(;r<t;)o+=u(e,r),e.u[++r]=o;return e.i=t,o},h=(e,t,r=0,o=e.l-1)=>{for(;r<=o;){const s=n((r+o)/2),c=_(e,s);if(c<=t){if(c+u(e,s)>t)return s;r=s+1}else o=s-1}return c(r,0,e.l-1)},p=(e,r,o)=>{const n=r-e.l;return e.i=o?-1:t(r-1,e.i),e.l=r,n>0?(f(e.u,n),f(e.t,n,o),e.o*n):(e.u.splice(n),(o?e.t.splice(0,-n):e.t.splice(n)).reduce(((t,r)=>t-(r===a?e.o:r)),0))},m="undefined"!=typeof window,g=()=>document.documentElement,v=e=>e.ownerDocument,b=e=>e.defaultView,w=/*#__PURE__*/l((()=>!!m&&"rtl"===getComputedStyle(g()).direction)),S=/*#__PURE__*/l((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),y=/*#__PURE__*/l((()=>"scrollBehavior"in g().style)),I=e=>!!e._(),k=(n,s=40,c=4,i=0,l,m=!1)=>{let g=!!i,v=[],b=0,w=0,y=0,I=0,k=0,x=0,z=0,T=0,R=0,J=g?[0,r(i-1,0)]:e,M=[0,0],P=0;const C=((e,t)=>({o:t,t:f([],e),l:e,i:-1,u:f([],e)}))(n,s),L=new Set,O=()=>y-w,W=()=>O()+x+k,q=e=>((e,r,o,n)=>{if(n=t(n,e.l-1),_(e,n)<=r){const t=h(e,r+o,n);return[h(e,r,n,t),t]}{const t=h(e,r,void 0,n);return[t,h(e,r+o,t)]}})(C,e,b,M[0]),B=()=>(e=>e.l?_(e,e.l-1)+u(e,e.l-1):0)(C),U=e=>_(C,e)-x,V=e=>u(C,e),X=e=>{e&&(S()&&0!==T?x+=e:(k+=e,I++))};return{h:()=>v,p:()=>(e=>[e.t.slice(),e.o])(C),m:()=>{if(z)return M;let[e,o]=q(r(0,W()));return J&&(e=t(e,J[0]),o=r(o,J[1])),1!==T&&(e-=r(0,c)),2!==T&&(o+=r(0,c)),M=[r(e,0),t(o,C.l-1)]},v:()=>h(C,W()),S:()=>h(C,W()+b),I:e=>C.t[e]===a,k:()=>!!J&&C.t.slice(r(0,J[0]-1),t(C.l-1,J[1]+1)+1).includes(a),T:U,R:V,J:()=>C.l,M:()=>y,P:()=>0!==T,_:()=>b,C:()=>w,L:B,O:()=>I,W:()=>(z=k,k=0,[z,2===R||O()+b>=B()]),q:(e,t)=>{const r=[e,t];return L.add(r),()=>{L.delete(r)}},B:(t,n)=>{let s,c,i=0;switch(t){case 1:{const t=z;z=0;const r=n-y,s=o(r);t&&s<o(t)+1||0!==R||(T=r<0?2:1),g&&(J=e,g=!1),y=n,i=4;const l=O();l>=-b&&l<=B()&&(i+=1,c=s>b);break}case 2:i=8,0!==T&&(s=!0,i+=1),T=0,R=0,J=e;break;case 3:{const e=n.filter((([e,t])=>C.t[e]!==t));if(!e.length)break;X(e.reduce(((e,[t,r])=>((2===R||(J?t<J[0]:U(t)+(0===T&&0===R?V(t):0)<O()))&&(e+=r-V(t)),e)),0));for(const[t,r]of e){const e=V(t),o=d(C,t,r);m&&(P+=o?r:r-e)}m&&b&&P>b&&(X(((e,t)=>{let o=0;const n=e.t.filter(((e,r)=>{const n=e!==a;return n&&r<t&&o++,n})),s=e.o;return e.i=-1,((e.o=(e=>{const t=(e=>[...e].sort(((e,t)=>e-t)))(e),r=e.length/2|0;return t.length%2==0?(t[r-1]+t[r])/2:t[r]})(n))-s)*r(t-o,0)})(C,h(C,W()))),m=!1),i=3,c=!0;break}case 4:b!==n&&(b=n,i=3);break;case 5:n[1]?(X(p(C,n[0],!0)),R=2,i=1):p(C,n[0]);break;case 6:w=n;break;case 7:R=1;break;case 8:J=q(n),i=1}i&&(v=[],s&&x&&(k+=x,x=0,I++),L.forEach((([e,t])=>{i&e&&t(c)})))}}},x=e=>{let t;return{U(r){(t||(t=new(b(v(r)).ResizeObserver)(e))).observe(r)},V(e){t.unobserve(e)},X(){t&&t.disconnect()}}},z=(e,t)=>t&&w()?-e:e,T=(t,r,o,n,c,i)=>{const l=Date.now;let a=0,f=!1,u=!1,d=!1,_=!1;const h=(()=>{let r;const o=()=>{r!=e&&clearTimeout(r)},n=()=>{o(),r=s((()=>{r=e,(()=>{if(f||u)return f=!1,void h();d=!1,t.B(2)})()}),150)};return n.Y=o,n})(),p=()=>{a=l(),d&&(_=!0),i&&t.B(6,i()),t.B(1,n()),h()},m=e=>{if(f||!t.P()||e.ctrlKey)return;const r=l()-a;150>r&&50<r&&(o?e.deltaX:e.deltaY)&&(f=!0)},g=()=>{u=!0,d=_=!1},v=()=>{u=!1,S()&&(d=!0)};return r.addEventListener("scroll",p),r.addEventListener("wheel",m,{passive:!0}),r.addEventListener("touchstart",g,{passive:!0}),r.addEventListener("touchend",v,{passive:!0}),{X:()=>{r.removeEventListener("scroll",p),r.removeEventListener("wheel",m),r.removeEventListener("touchstart",g),r.removeEventListener("touchend",v),h.Y()},D:()=>{const[e,r]=t.W();e&&(c(z(e,o),r,_),_=!1,r&&t._()>t.L()&&t.B(1,n()))}}},R=0,J=1,M=2,P=3,C=4,L=5,O=6,W=7,q=8,B=9,U=10,V=11,X=12,Y=13,D=14,E=15,F=16,H=17,j=18,A=19,G=20,K=21,N=22,Q=(t,o,n,l,a,f,u)=>{const d=k(t,o,n,void 0,0,!o),_=((t,r)=>{let o;const n=r?"width":"height",s=new WeakMap,c=x((r=>{const c=[];for(const{target:i,contentRect:l}of r)if(i.offsetParent)if(i===o)t.B(4,l[n]);else{const t=s.get(i);t!=e&&c.push([t,l[n]])}c.length&&t.B(3,c)}));return{F(e){c.U(o=e)},H:(e,t)=>(s.set(e,t),c.U(e),()=>{s.delete(e),c.V(e)}),X:c.X}})(d,l),h=((e,t)=>{let r,o,n;const l=t?"scrollLeft":"scrollTop",a=t?"overflowX":"overflowY",f=async(o,c)=>{if(!r)return void i((()=>f(o,c)));n&&n();const a=()=>{let t;return[new Promise(((r,o)=>{t=r,n=o,I(e)&&s(o,150)})),e.q(2,(()=>{t&&t()}))]};if(c&&y()){for(;e.B(8,o()),e.k();){const[e,t]=a();try{await e}catch(e){return}finally{t()}}r.scrollTo({[t?"left":"top"]:z(o(),t),behavior:"smooth"})}else for(;;){const[n,s]=a();try{r[l]=z(o(),t),e.B(7),await n}catch(e){return}finally{s()}}};return{U(c){r=c,o=T(e,c,t,(()=>z(c[l],t)),((t,r,o)=>{if(o){const e=c.style,t=e[a];e[a]="hidden",s((()=>{e[a]=t}))}r?(c[l]=e.M()+t,n&&n()):c[l]+=t}))},X(){o&&o.X()},j(e){f((()=>e))},A(t){t+=e.M(),f((()=>t))},G(t,{align:r,smooth:o,offset:n=0}={}){if(t=c(t,0,e.J()-1),"nearest"===r){const o=e.T(t),n=e.M();if(o<n)r="start";else{if(!(o+e.R(t)>n+e._()))return;r="end"}}f((()=>n+e.C()+e.T(t)+("end"===r?e.R(t)-e._():"center"===r?(e.R(t)-e._())/2:0)),o)},D:()=>{o&&o.D()}}})(d,l),p=d.q(1,(()=>{a(d.h())})),m=d.q(4,(()=>{f(d.M())})),g=d.q(8,(()=>{u()}));return{[R]:e=>{_.F(e),h.U(e)},[J]:()=>{p(),m(),g(),_.X(),h.X()},[M]:d.m,[P]:d.L,[C]:d._,[L]:d.M,[O]:d.P,[W]:d.O,[q]:d.T,[B]:d.R,[U]:d.I,[V]:d.J,[X]:d.C,[Y]:_.H,[D]:h.D,[E]:(e,t)=>{d.B(5,[e,t])},[F]:e=>{d.B(6,e)},[H]:()=>(e=>r(e.L(),e._()))(d),[j]:h.j,[A]:h.A,[G]:h.G,[K]:d.v,[N]:d.S}},Z=(t,r,o,n,l,a,f)=>{const u=k(t,r,o,void 0,0,!r),d=((t,r)=>{const o=r?"width":"height",n=r?"innerWidth":"innerHeight",s=new WeakMap,c=x((r=>{const n=[];for(const{target:t,contentRect:c}of r){if(!t.offsetParent)continue;const r=s.get(t);r!=e&&n.push([r,c[o]])}n.length&&t.B(3,n)}));let i;return{F(e){const r=b(v(e)),o=()=>{t.B(4,r[n])};r.addEventListener("resize",o),o(),i=()=>{r.removeEventListener("resize",o)}},H:(e,t)=>(s.set(e,t),c.U(e),()=>{s.delete(e),c.V(e)}),X(){i&&i(),c.X()}}})(u,n),_=((e,t)=>{let r,o,n;const l=(e,t,r,o,n=0)=>{const s=o?"offsetLeft":"offsetTop",c=n+(o&&w()?r.innerWidth-e[s]-e.offsetWidth:e[s]),i=e.offsetParent;return e!==t&&i?l(i,t,r,o,c):c},a=async(o,c)=>{if(!r)return void i((()=>a(o,c)));n&&n();const l=()=>{let t;return[new Promise(((r,o)=>{t=r,n=o,I(e)&&s(o,150)})),e.q(2,(()=>{t&&t()}))]},f=b(v(r));if(c&&y()){for(;e.B(8,o()),e.k();){const[e,t]=l();try{await e}catch(e){return}finally{t()}}f.scroll({[t?"left":"top"]:z(o(),t),behavior:"smooth"})}else for(;;){const[r,n]=l();try{f.scroll({[t?"left":"top"]:z(o(),t)}),e.B(7),await r}catch(e){return}finally{n()}}};return{U(n){r=n;const s=t?"scrollX":"scrollY",c=v(n),i=b(c),a=c.body;o=T(e,i,t,(()=>z(i[s],t)),((r,o)=>{o?i.scroll({[t?"left":"top"]:e.M()+r}):i.scrollBy(t?r:0,t?0:r)}),(()=>l(n,a,i,t)))},X(){o&&o.X(),r=void 0},D:()=>{o&&o.D()},G(o,{align:n,smooth:s,offset:i=0}={}){if(!r)return;if(o=c(o,0,e.J()-1),"nearest"===n){const t=e.T(o),r=e.M();if(t<r)n="start";else{if(!(t+e.R(o)>r+e._()))return;n="end"}}const f=v(r),u=b(f);a((()=>{const s=l(r,f.body,u,t),c=u.innerHeight-f.documentElement.clientHeight,a=u.innerHeight-f.documentElement.clientWidth,d="end"===n||"center"===n?t?a:c:0;return i+s+e.T(o)+("end"===n?e.R(o)-(e._()-d):"center"===n?(e.R(o)-(e._()-d))/2:0)}),s)}}})(u,n),h=u.q(1,(()=>{l(u.h())})),p=u.q(4,(()=>{a(u.M())})),m=u.q(8,(()=>{f()}));return{[R]:e=>{d.F(e),_.U(e)},[J]:()=>{h(),p(),m(),d.X(),_.X()},[M]:u.m,[P]:u.L,[C]:u._,[L]:u.M,[O]:u.P,[W]:u.O,[q]:u.T,[U]:u.I,[V]:u.J,[Y]:d.H,[D]:_.D,[E]:(e,t)=>{u.B(5,[e,t])},[G]:_.G,[K]:u.v,[N]:u.S}};export{E as CHANGE_ITEM_LENGTH,F as CHANGE_START_MARGIN,N as FIND_END_INDEX,K as FIND_START_INDEX,D as FIX_SCROLL_JUMP,O as GET_IS_SCROLLING,V as GET_ITEMS_LENGTH,q as GET_ITEM_OFFSET,B as GET_ITEM_SIZE,W as GET_JUMP_COUNT,M as GET_RANGE,L as GET_SCROLL_OFFSET,H as GET_SCROLL_SIZE,X as GET_START_SPACER_SIZE,P as GET_TOTAL_SIZE,C as GET_VIEWPORT_SIZE,U as IS_ITEM_HIDDEN,Y as OBSERVE_ITEM_RESIZE,R as ON_MOUNT,J as ON_UN_MOUNT,A as SCROLL_BY,j as SCROLL_TO,G as SCROLL_TO_INDEX,Q as createVirtualizer,Z as createWindowVirtualizer,w as isRTLDocument};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** @jsxImportSource vue */
|
|
2
2
|
import { VNode, ComponentOptionsMixin, SlotsType, PropType, NativeElements } from "vue";
|
|
3
|
+
import { ScrollToIndexOpts } from "../core/types";
|
|
3
4
|
export interface WindowVirtualizerHandle {
|
|
4
5
|
/**
|
|
5
6
|
* Find the start index of visible range of items.
|
|
@@ -9,6 +10,12 @@ export interface WindowVirtualizerHandle {
|
|
|
9
10
|
* Find the end index of visible range of items.
|
|
10
11
|
*/
|
|
11
12
|
findEndIndex: () => number;
|
|
13
|
+
/**
|
|
14
|
+
* Scroll to the item specified by index.
|
|
15
|
+
* @param index index of item
|
|
16
|
+
* @param opts options
|
|
17
|
+
*/
|
|
18
|
+
scrollToIndex(index: number, opts?: ScrollToIndexOpts): void;
|
|
12
19
|
}
|
|
13
20
|
export declare const WindowVirtualizer: import("vue").DefineComponent<{
|
|
14
21
|
/**
|
package/lib/vue/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=require("vue");const t=null,{min:r,max:o,abs:n,floor:s}=Math,i=setTimeout,l=(e,t,n)=>r(n,o(t,e)),c="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},a=e=>{let t,r;return()=>(t||(t=!0,r=e()),r)},u=-1,d=(e,t,r)=>{const o=r?"unshift":"push";for(let r=0;r<t;r++)e[o](u);return e},f=(e,t)=>{const r=e.t[t];return r===u?e.o:r},_=(e,t,o)=>{const n=e.t[t]===u;return e.t[t]=o,e.i=r(t,e.i),n},p=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let r=e.i,o=e.u[r];for(;r<t;)o+=f(e,r),e.u[++r]=o;return e.i=t,o},h=(e,t,r=0,o=e.l-1)=>{for(;r<=o;){const n=s((r+o)/2),i=p(e,n);if(i<=t){if(i+f(e,n)>t)return n;r=n+1}else o=n-1}return l(r,0,e.l-1)},m=(e,t,o)=>{const n=t-e.l;return e.i=o?-1:r(t-1,e.i),e.l=t,n>0?(d(e.u,n),d(e.t,n,o),e.o*n):(e.u.splice(n),(o?e.t.splice(0,-n):e.t.splice(n)).reduce(((t,r)=>t-(r===u?e.o:r)),0))},b="undefined"!=typeof window,v=()=>document.documentElement,S=e=>e.ownerDocument,y=e=>e.defaultView,g=/*#__PURE__*/a((()=>!!b&&"rtl"===getComputedStyle(v()).direction)),x=/*#__PURE__*/a((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),z=/*#__PURE__*/a((()=>"scrollBehavior"in v().style)),w=(e,s=40,i=4,l=0,c,a=!1)=>{let b=!!l,v=[],S=0,y=0,g=0,z=0,w=0,I=0,O=0,j=0,k=0,E=b?[0,o(l-1,0)]:t,q=[0,0],B=0;const R=((e,t)=>({o:t,t:d([],e),l:e,i:-1,u:d([],e)}))(e,s),T=new Set,N=()=>g-y,C=()=>N()+I+w,H=e=>((e,t,o,n)=>{if(n=r(n,e.l-1),p(e,n)<=t){const r=h(e,t+o,n);return[h(e,t,n,r),r]}{const r=h(e,t,void 0,n);return[r,h(e,t+o,r)]}})(R,e,S,q[0]),M=()=>(e=>e.l?p(e,e.l-1)+f(e,e.l-1):0)(R),A=e=>p(R,e)-I,J=e=>f(R,e),L=e=>{e&&(x()&&0!==j?I+=e:(w+=e,z++))};return{p:()=>v,h:()=>(e=>[e.t.slice(),e.o])(R),m:()=>{if(O)return q;let[e,t]=H(o(0,C()));return E&&(e=r(e,E[0]),t=o(t,E[1])),1!==j&&(e-=o(0,i)),2!==j&&(t+=o(0,i)),q=[o(e,0),r(t,R.l-1)]},v:()=>h(R,C()),S:()=>h(R,C()+S),I:e=>R.t[e]===u,O:()=>!!E&&R.t.slice(o(0,E[0]-1),r(R.l-1,E[1]+1)+1).includes(u),j:A,k:J,q:()=>R.l,B:()=>g,R:()=>0!==j,T:()=>S,N:()=>y,C:M,H:()=>z,M:()=>(O=w,w=0,[O,2===k||N()+S>=M()]),A:(e,t)=>{const r=[e,t];return T.add(r),()=>{T.delete(r)}},J:(e,r)=>{let s,i,l=0;switch(e){case 1:{const e=O;O=0;const o=r-g,s=n(o);e&&s<n(e)+1||0!==k||(j=o<0?2:1),b&&(E=t,b=!1),g=r,l=4;const c=N();c>=-S&&c<=M()&&(l+=1,i=s>S);break}case 2:l=8,0!==j&&(s=!0,l+=1),j=0,k=0,E=t;break;case 3:{const e=r.filter((([e,t])=>R.t[e]!==t));if(!e.length)break;L(e.reduce(((e,[t,r])=>((2===k||(E?t<E[0]:A(t)+(0===j&&0===k?J(t):0)<N()))&&(e+=r-J(t)),e)),0));for(const[t,r]of e){const e=J(t),o=_(R,t,r);a&&(B+=o?r:r-e)}a&&S&&B>S&&(L(((e,t)=>{let r=0;const n=e.t.filter(((e,o)=>{const n=e!==u;return n&&o<t&&r++,n})),s=e.o;return e.i=-1,((e.o=(e=>{const t=(e=>[...e].sort(((e,t)=>e-t)))(e),r=e.length/2|0;return t.length%2==0?(t[r-1]+t[r])/2:t[r]})(n))-s)*o(t-r,0)})(R,h(R,C()))),a=!1),l=3,i=!0;break}case 4:S!==r&&(S=r,l=3);break;case 5:r[1]?(L(m(R,r[0],!0)),k=2,l=1):m(R,r[0]);break;case 6:y=r;break;case 7:k=1;break;case 8:E=H(r),l=1}l&&(v=[],s&&I&&(w+=I,I=0,z++),T.forEach((([e,t])=>{l&e&&t(i)})))}}},I=e=>{let t;return{L(r){(t||(t=new(y(S(r)).ResizeObserver)(e))).observe(r)},P(e){t.unobserve(e)},W(){t&&t.disconnect()}}},O=(e,t)=>t&&g()?-e:e,j=(e,r,o,n,s,l)=>{const c=Date.now;let a=0,u=!1,d=!1,f=!1,_=!1;const p=(()=>{let r;const o=()=>{r!=t&&clearTimeout(r)},n=()=>{o(),r=i((()=>{r=t,(()=>{if(u||d)return u=!1,void p();f=!1,e.J(2)})()}),150)};return n.X=o,n})(),h=()=>{a=c(),f&&(_=!0),l&&e.J(6,l()),e.J(1,n()),p()},m=t=>{if(u||!e.R()||t.ctrlKey)return;const r=c()-a;150>r&&50<r&&(o?t.deltaX:t.deltaY)&&(u=!0)},b=()=>{d=!0,f=_=!1},v=()=>{d=!1,x()&&(f=!0)};return r.addEventListener("scroll",h),r.addEventListener("wheel",m,{passive:!0}),r.addEventListener("touchstart",b,{passive:!0}),r.addEventListener("touchend",v,{passive:!0}),{W:()=>{r.removeEventListener("scroll",h),r.removeEventListener("wheel",m),r.removeEventListener("touchstart",b),r.removeEventListener("touchend",v),p.X()},Y:()=>{const[t,r]=e.M();t&&(s(O(t,o),r,_),_=!1,r&&e.T()>e.C()&&e.J(1,n()))}}},k=/*#__PURE__*/e.defineComponent({props:{F:{type:Object,required:!0},U:{type:Object,required:!0},V:{type:Object,required:!0},D:{type:Function,required:!0},G:{type:Number,required:!0},K:{type:Boolean},Z:{type:Boolean},ee:{type:String,required:!0}},setup(t){const r=e.ref(),o=e.computed((()=>t.F.value&&t.U.j(t.G))),n=e.computed((()=>t.F.value&&t.U.I(t.G)));return e.watch((()=>r.value&&t.G),((e,o,n)=>{n(t.D(r.value,t.G))}),{flush:"post"}),()=>{const{V:s,K:i,Z:l,ee:c}=t,a=n.value,u={position:a&&l?void 0:"absolute",[i?"height":"width"]:"100%",[i?"top":"left"]:"0px",[i?g()?"right":"left":"top"]:o.value+"px",visibility:!a||l?"visible":"hidden"};return i&&(u.display="flex"),e.createVNode(c,{ref:r,style:u},"function"==typeof(d=s)||"[object Object]"===Object.prototype.toString.call(d)&&!e.isVNode(d)?s:{default:()=>[s],_:2},8,["style"]);var d}}}),E=(e,r)=>{const o=e.key;return o!=t?o:"_"+r},q=(e,t)=>e[0]===t[0]&&e[1]===t[1],B={data:{type:Array,required:!0},overscan:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,startMargin:{type:Number,default:0},ssrCount:Number,scrollRef:Object,as:{type:String,default:"div"},item:{type:String,default:"div"}},R=/*#__PURE__*/e.defineComponent({props:B,emits:["scroll","scrollEnd"],setup(r,{emit:n,expose:s,slots:a}){let u=!!r.ssrCount;const d=r.horizontal,f=e.ref(),_=w(r.data.length,r.itemSize,r.overscan,r.ssrCount,0,!r.itemSize),p=((e,r)=>{let o;const n=r?"width":"height",s=new WeakMap,i=I((r=>{const i=[];for(const{target:l,contentRect:c}of r)if(l.offsetParent)if(l===o)e.J(4,c[n]);else{const e=s.get(l);e!=t&&i.push([e,c[n]])}i.length&&e.J(3,i)}));return{te(e){i.L(o=e)},re:(e,t)=>(s.set(e,t),i.L(e),()=>{s.delete(e),i.P(e)}),W:i.W}})(_,d),h=((e,t)=>{let r,o,n;const s=t?"scrollLeft":"scrollTop",a=t?"overflowX":"overflowY",u=async(o,l)=>{if(!r)return void c((()=>u(o,l)));n&&n();const a=()=>{let t;return[new Promise(((r,o)=>{t=r,n=o,(e=>!!e.T())(e)&&i(o,150)})),e.A(2,(()=>{t&&t()}))]};if(l&&z()){for(;e.J(8,o()),e.O();){const[e,t]=a();try{await e}catch(e){return}finally{t()}}r.scrollTo({[t?"left":"top"]:O(o(),t),behavior:"smooth"})}else for(;;){const[n,i]=a();try{r[s]=O(o(),t),e.J(7),await n}catch(e){return}finally{i()}}};return{L(l){r=l,o=j(e,l,t,(()=>O(l[s],t)),((t,r,o)=>{if(o){const e=l.style,t=e[a];e[a]="hidden",i((()=>{e[a]=t}))}r?(l[s]=e.B()+t,n&&n()):l[s]+=t}))},W(){o&&o.W()},oe(e){u((()=>e))},ne(t){t+=e.B(),u((()=>t))},se(t,{align:r,smooth:o,offset:n=0}={}){if(t=l(t,0,e.q()-1),"nearest"===r){const o=e.j(t),n=e.B();if(o<n)r="start";else{if(!(o+e.k(t)>n+e.T()))return;r="end"}}u((()=>n+e.N()+e.j(t)+("end"===r?e.k(t)-e.T():"center"===r?(e.k(t)-e.T())/2:0)),o)},Y:()=>{o&&o.Y()}}})(_,d),m=e.ref(_.p()),b=_.A(1,(()=>{m.value=_.p()})),v=_.A(4,(()=>{n("scroll",_.B())})),S=_.A(8,(()=>{n("scrollEnd")})),y=e.computed((e=>{m.value;const t=_.m();return e&&q(e,t)?e:t})),g=e.computed((()=>m.value&&_.R())),x=e.computed((()=>m.value&&_.C())),B=e.computed((()=>m.value&&_.H()));return e.onMounted((()=>{u=!1,c((()=>{const e=e=>{p.te(e),h.L(e)};r.scrollRef?e(r.scrollRef):e(f.value.parentElement)}))})),e.onUnmounted((()=>{b(),v(),S(),p.W(),h.W()})),e.watch((()=>r.data.length),(e=>{_.J(5,[e,r.shift])})),e.watch((()=>r.startMargin),(e=>{_.J(6,e)}),{immediate:!0}),e.watch([B],(()=>{h.Y()}),{flush:"post"}),s({get scrollOffset(){return _.B()},get scrollSize(){return(e=>o(e.C(),e.T()))(_)},get viewportSize(){return _.T()},findStartIndex:_.v,findEndIndex:_.S,getItemOffset:_.j,getItemSize:_.k,scrollToIndex:h.se,scrollTo:h.oe,scrollBy:h.ne}),()=>{const t=r.as,o=r.item,[n,s]=y.value,i=x.value,l=[];for(let t=n,i=s;t<=i;t++){const n=a.default({item:r.data[t],index:t})[0];l.push(e.createVNode(k,{key:E(n,t),F:m,U:_,D:p.re,G:t,V:n,K:d,Z:u,ee:o},null,8,["_rerender","_store","_resizer","_index","_children","_isHorizontal","_isSSR","_as"]))}return e.createVNode(t,{ref:f,style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:d?i+"px":"100%",height:d?"100%":i+"px",pointerEvents:g.value?"none":void 0}},"function"==typeof(c=l)||"[object Object]"===Object.prototype.toString.call(c)&&!e.isVNode(c)?l:{default:()=>[l],_:2},8,["style"]);var c}}}),T={data:{type:Array,required:!0},overscan:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number},N=/*#__PURE__*/e.defineComponent({props:T,emits:["scroll","scrollEnd"],setup(t,{emit:r,expose:o,slots:n}){const s=t.horizontal,i=e=>{r("scroll",e)},l=()=>{r("scrollEnd")},c=e.ref();return o({get scrollOffset(){return c.value.scrollOffset},get scrollSize(){return c.value.scrollSize},get viewportSize(){return c.value.viewportSize},findStartIndex:(...e)=>c.value.findStartIndex(...e),findEndIndex:(...e)=>c.value.findEndIndex(...e),getItemOffset:(...e)=>c.value.getItemOffset(...e),getItemSize:(...e)=>c.value.getItemSize(...e),scrollToIndex:(...e)=>c.value.scrollToIndex(...e),scrollTo:(...e)=>c.value.scrollTo(...e),scrollBy:(...e)=>c.value.scrollBy(...e)}),()=>{return e.createVNode("div",{style:{display:s?"inline-block":"block",[s?"overflowX":"overflowY"]:"auto",contain:"strict",width:"100%",height:"100%"}},[e.createVNode(R,{ref:c,data:t.data,overscan:t.overscan,itemSize:t.itemSize,shift:t.shift,ssrCount:t.ssrCount,horizontal:s,onScroll:i,onScrollEnd:l},(r=n,"function"==typeof r||"[object Object]"===Object.prototype.toString.call(r)&&!e.isVNode(r)?n:{default:()=>[n],_:2}),8,["data","overscan","itemSize","shift","ssrCount","horizontal","onScroll","onScrollEnd"])],4);var r}}}),C={data:{type:Array,required:!0},overscan:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,as:{type:String,default:"div"},item:{type:String,default:"div"}},H=/*#__PURE__*/e.defineComponent({props:C,emits:["scroll","scrollEnd"],setup(r,{emit:o,slots:n,expose:s}){const i=r.horizontal,l=e.ref(),c=w(r.data.length,r.itemSize,r.overscan,void 0,0,!r.itemSize),a=((e,r)=>{const o=r?"width":"height",n=r?"innerWidth":"innerHeight",s=new WeakMap,i=I((r=>{const n=[];for(const{target:e,contentRect:i}of r){if(!e.offsetParent)continue;const r=s.get(e);r!=t&&n.push([r,i[o]])}n.length&&e.J(3,n)}));let l;return{te(t){const r=y(S(t)),o=()=>{e.J(4,r[n])};r.addEventListener("resize",o),o(),l=()=>{r.removeEventListener("resize",o)}},re:(e,t)=>(s.set(e,t),i.L(e),()=>{s.delete(e),i.P(e)}),W(){l&&l(),i.W()}}})(c,i),u=((e,t)=>{let r;return{L(o){const n=t?"scrollX":"scrollY",s=S(o),i=y(s),l=s.body,c=(e,t,r,o=0)=>{const n=r?"offsetLeft":"offsetTop",s=o+(r&&g()?i.innerWidth-e[n]-e.offsetWidth:e[n]),l=e.offsetParent;return e!==t&&l?c(l,t,r,s):s};r=j(e,i,t,(()=>O(i[n],t)),((r,o)=>{o?i.scroll({[t?"left":"top"]:e.B()+r}):i.scrollBy(t?r:0,t?0:r)}),(()=>c(o,l,t)))},W(){r&&r.W()},Y:()=>{r&&r.Y()}}})(c,i),d=e.ref(c.p()),f=c.A(1,(()=>{d.value=c.p()})),_=c.A(4,(()=>{o("scroll",c.B())})),p=c.A(8,(()=>{o("scrollEnd")})),h=e.computed((e=>{d.value;const t=c.m();return e&&q(e,t)?e:t})),m=e.computed((()=>d.value&&c.R())),b=e.computed((()=>d.value&&c.C())),v=e.computed((()=>d.value&&c.H()));return e.onMounted((()=>{const e=l.value;e&&(a.te(e),u.L(e))})),e.onUnmounted((()=>{f(),_(),p(),a.W(),u.W()})),e.watch((()=>r.data.length),(e=>{c.J(5,[e,r.shift])})),e.watch([v],(()=>{u.Y()}),{flush:"post"}),s({findStartIndex:c.v,findEndIndex:c.S}),()=>{const t=r.as,o=r.item,[s,u]=h.value,f=b.value,_=[];for(let t=s,l=u;t<=l;t++){const s=n.default({item:r.data[t],index:t})[0];_.push(e.createVNode(k,{key:E(s,t),F:d,U:c,D:a.re,G:t,V:s,K:i,ee:o},null,8,["_rerender","_store","_resizer","_index","_children","_isHorizontal","_as"]))}return e.createVNode(t,{ref:l,style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:i?f+"px":"100%",height:i?"100%":f+"px",pointerEvents:m.value?"none":void 0}},"function"==typeof(p=_)||"[object Object]"===Object.prototype.toString.call(p)&&!e.isVNode(p)?_:{default:()=>[_],_:2},8,["style"]);var p}}});exports.VList=N,exports.Virtualizer=R,exports.WindowVirtualizer=H;
|
|
1
|
+
var e=require("vue");const t=null,{min:r,max:o,abs:n,floor:s}=Math,i=setTimeout,l=(e,t,n)=>r(n,o(t,e)),c="function"==typeof queueMicrotask?queueMicrotask:e=>{Promise.resolve().then(e)},a=e=>{let t,r;return()=>(t||(t=!0,r=e()),r)},u=-1,f=(e,t,r)=>{const o=r?"unshift":"push";for(let r=0;r<t;r++)e[o](u);return e},d=(e,t)=>{const r=e.t[t];return r===u?e.o:r},_=(e,t,o)=>{const n=e.t[t]===u;return e.t[t]=o,e.i=r(t,e.i),n},p=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let r=e.i,o=e.u[r];for(;r<t;)o+=d(e,r),e.u[++r]=o;return e.i=t,o},h=(e,t,r=0,o=e.l-1)=>{for(;r<=o;){const n=s((r+o)/2),i=p(e,n);if(i<=t){if(i+d(e,n)>t)return n;r=n+1}else o=n-1}return l(r,0,e.l-1)},m=(e,t,o)=>{const n=t-e.l;return e.i=o?-1:r(t-1,e.i),e.l=t,n>0?(f(e.u,n),f(e.t,n,o),e.o*n):(e.u.splice(n),(o?e.t.splice(0,-n):e.t.splice(n)).reduce(((t,r)=>t-(r===u?e.o:r)),0))},v="undefined"!=typeof window,b=()=>document.documentElement,y=e=>e.ownerDocument,S=e=>e.defaultView,g=/*#__PURE__*/a((()=>!!v&&"rtl"===getComputedStyle(b()).direction)),x=/*#__PURE__*/a((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),z=/*#__PURE__*/a((()=>"scrollBehavior"in b().style)),w=e=>!!e.p(),I=(e,s=40,i=4,l=0,c,a=!1)=>{let v=!!l,b=[],y=0,S=0,g=0,z=0,w=0,I=0,O=0,j=0,k=0,E=v?[0,o(l-1,0)]:t,T=[0,0],q=0;const B=((e,t)=>({o:t,t:f([],e),l:e,i:-1,u:f([],e)}))(e,s),R=new Set,N=()=>g-S,C=()=>N()+I+w,H=e=>((e,t,o,n)=>{if(n=r(n,e.l-1),p(e,n)<=t){const r=h(e,t+o,n);return[h(e,t,n,r),r]}{const r=h(e,t,void 0,n);return[r,h(e,t+o,r)]}})(B,e,y,T[0]),M=()=>(e=>e.l?p(e,e.l-1)+d(e,e.l-1):0)(B),A=e=>p(B,e)-I,J=e=>d(B,e),P=e=>{e&&(x()&&0!==j?I+=e:(w+=e,z++))};return{h:()=>b,m:()=>(e=>[e.t.slice(),e.o])(B),v:()=>{if(O)return T;let[e,t]=H(o(0,C()));return E&&(e=r(e,E[0]),t=o(t,E[1])),1!==j&&(e-=o(0,i)),2!==j&&(t+=o(0,i)),T=[o(e,0),r(t,B.l-1)]},S:()=>h(B,C()),I:()=>h(B,C()+y),O:e=>B.t[e]===u,j:()=>!!E&&B.t.slice(o(0,E[0]-1),r(B.l-1,E[1]+1)+1).includes(u),k:A,T:J,q:()=>B.l,B:()=>g,R:()=>0!==j,p:()=>y,N:()=>S,C:M,H:()=>z,M:()=>(O=w,w=0,[O,2===k||N()+y>=M()]),A:(e,t)=>{const r=[e,t];return R.add(r),()=>{R.delete(r)}},J:(e,r)=>{let s,i,l=0;switch(e){case 1:{const e=O;O=0;const o=r-g,s=n(o);e&&s<n(e)+1||0!==k||(j=o<0?2:1),v&&(E=t,v=!1),g=r,l=4;const c=N();c>=-y&&c<=M()&&(l+=1,i=s>y);break}case 2:l=8,0!==j&&(s=!0,l+=1),j=0,k=0,E=t;break;case 3:{const e=r.filter((([e,t])=>B.t[e]!==t));if(!e.length)break;P(e.reduce(((e,[t,r])=>((2===k||(E?t<E[0]:A(t)+(0===j&&0===k?J(t):0)<N()))&&(e+=r-J(t)),e)),0));for(const[t,r]of e){const e=J(t),o=_(B,t,r);a&&(q+=o?r:r-e)}a&&y&&q>y&&(P(((e,t)=>{let r=0;const n=e.t.filter(((e,o)=>{const n=e!==u;return n&&o<t&&r++,n})),s=e.o;return e.i=-1,((e.o=(e=>{const t=(e=>[...e].sort(((e,t)=>e-t)))(e),r=e.length/2|0;return t.length%2==0?(t[r-1]+t[r])/2:t[r]})(n))-s)*o(t-r,0)})(B,h(B,C()))),a=!1),l=3,i=!0;break}case 4:y!==r&&(y=r,l=3);break;case 5:r[1]?(P(m(B,r[0],!0)),k=2,l=1):m(B,r[0]);break;case 6:S=r;break;case 7:k=1;break;case 8:E=H(r),l=1}l&&(b=[],s&&I&&(w+=I,I=0,z++),R.forEach((([e,t])=>{l&e&&t(i)})))}}},O=e=>{let t;return{P(r){(t||(t=new(S(y(r)).ResizeObserver)(e))).observe(r)},L(e){t.unobserve(e)},W(){t&&t.disconnect()}}},j=(e,t)=>t&&g()?-e:e,k=(e,r,o,n,s,l)=>{const c=Date.now;let a=0,u=!1,f=!1,d=!1,_=!1;const p=(()=>{let r;const o=()=>{r!=t&&clearTimeout(r)},n=()=>{o(),r=i((()=>{r=t,(()=>{if(u||f)return u=!1,void p();d=!1,e.J(2)})()}),150)};return n.X=o,n})(),h=()=>{a=c(),d&&(_=!0),l&&e.J(6,l()),e.J(1,n()),p()},m=t=>{if(u||!e.R()||t.ctrlKey)return;const r=c()-a;150>r&&50<r&&(o?t.deltaX:t.deltaY)&&(u=!0)},v=()=>{f=!0,d=_=!1},b=()=>{f=!1,x()&&(d=!0)};return r.addEventListener("scroll",h),r.addEventListener("wheel",m,{passive:!0}),r.addEventListener("touchstart",v,{passive:!0}),r.addEventListener("touchend",b,{passive:!0}),{W:()=>{r.removeEventListener("scroll",h),r.removeEventListener("wheel",m),r.removeEventListener("touchstart",v),r.removeEventListener("touchend",b),p.X()},Y:()=>{const[t,r]=e.M();t&&(s(j(t,o),r,_),_=!1,r&&e.p()>e.C()&&e.J(1,n()))}}},E=/*#__PURE__*/e.defineComponent({props:{F:{type:Object,required:!0},U:{type:Object,required:!0},V:{type:Object,required:!0},D:{type:Function,required:!0},G:{type:Number,required:!0},K:{type:Boolean},Z:{type:Boolean},ee:{type:String,required:!0}},setup(t){const r=e.ref(),o=e.computed((()=>t.F.value&&t.U.k(t.G))),n=e.computed((()=>t.F.value&&t.U.O(t.G)));return e.watch((()=>r.value&&t.G),((e,o,n)=>{n(t.D(r.value,t.G))}),{flush:"post"}),()=>{const{V:s,K:i,Z:l,ee:c}=t,a=n.value,u={position:a&&l?void 0:"absolute",[i?"height":"width"]:"100%",[i?"top":"left"]:"0px",[i?g()?"right":"left":"top"]:o.value+"px",visibility:!a||l?"visible":"hidden"};return i&&(u.display="flex"),e.createVNode(c,{ref:r,style:u},"function"==typeof(f=s)||"[object Object]"===Object.prototype.toString.call(f)&&!e.isVNode(f)?s:{default:()=>[s],_:2},8,["style"]);var f}}}),T=(e,r)=>{const o=e.key;return o!=t?o:"_"+r},q=(e,t)=>e[0]===t[0]&&e[1]===t[1],B={data:{type:Array,required:!0},overscan:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,startMargin:{type:Number,default:0},ssrCount:Number,scrollRef:Object,as:{type:String,default:"div"},item:{type:String,default:"div"}},R=/*#__PURE__*/e.defineComponent({props:B,emits:["scroll","scrollEnd"],setup(r,{emit:n,expose:s,slots:a}){let u=!!r.ssrCount;const f=r.horizontal,d=e.ref(),_=I(r.data.length,r.itemSize,r.overscan,r.ssrCount,0,!r.itemSize),p=((e,r)=>{let o;const n=r?"width":"height",s=new WeakMap,i=O((r=>{const i=[];for(const{target:l,contentRect:c}of r)if(l.offsetParent)if(l===o)e.J(4,c[n]);else{const e=s.get(l);e!=t&&i.push([e,c[n]])}i.length&&e.J(3,i)}));return{te(e){i.P(o=e)},re:(e,t)=>(s.set(e,t),i.P(e),()=>{s.delete(e),i.L(e)}),W:i.W}})(_,f),h=((e,t)=>{let r,o,n;const s=t?"scrollLeft":"scrollTop",a=t?"overflowX":"overflowY",u=async(o,l)=>{if(!r)return void c((()=>u(o,l)));n&&n();const a=()=>{let t;return[new Promise(((r,o)=>{t=r,n=o,w(e)&&i(o,150)})),e.A(2,(()=>{t&&t()}))]};if(l&&z()){for(;e.J(8,o()),e.j();){const[e,t]=a();try{await e}catch(e){return}finally{t()}}r.scrollTo({[t?"left":"top"]:j(o(),t),behavior:"smooth"})}else for(;;){const[n,i]=a();try{r[s]=j(o(),t),e.J(7),await n}catch(e){return}finally{i()}}};return{P(l){r=l,o=k(e,l,t,(()=>j(l[s],t)),((t,r,o)=>{if(o){const e=l.style,t=e[a];e[a]="hidden",i((()=>{e[a]=t}))}r?(l[s]=e.B()+t,n&&n()):l[s]+=t}))},W(){o&&o.W()},oe(e){u((()=>e))},ne(t){t+=e.B(),u((()=>t))},se(t,{align:r,smooth:o,offset:n=0}={}){if(t=l(t,0,e.q()-1),"nearest"===r){const o=e.k(t),n=e.B();if(o<n)r="start";else{if(!(o+e.T(t)>n+e.p()))return;r="end"}}u((()=>n+e.N()+e.k(t)+("end"===r?e.T(t)-e.p():"center"===r?(e.T(t)-e.p())/2:0)),o)},Y:()=>{o&&o.Y()}}})(_,f),m=e.ref(_.h()),v=_.A(1,(()=>{m.value=_.h()})),b=_.A(4,(()=>{n("scroll",_.B())})),y=_.A(8,(()=>{n("scrollEnd")})),S=e.computed((e=>{m.value;const t=_.v();return e&&q(e,t)?e:t})),g=e.computed((()=>m.value&&_.R())),x=e.computed((()=>m.value&&_.C())),B=e.computed((()=>m.value&&_.H()));return e.onMounted((()=>{u=!1,c((()=>{const e=e=>{p.te(e),h.P(e)};r.scrollRef?e(r.scrollRef):e(d.value.parentElement)}))})),e.onUnmounted((()=>{v(),b(),y(),p.W(),h.W()})),e.watch((()=>r.data.length),(e=>{_.J(5,[e,r.shift])})),e.watch((()=>r.startMargin),(e=>{_.J(6,e)}),{immediate:!0}),e.watch([B],(()=>{h.Y()}),{flush:"post"}),s({get scrollOffset(){return _.B()},get scrollSize(){return(e=>o(e.C(),e.p()))(_)},get viewportSize(){return _.p()},findStartIndex:_.S,findEndIndex:_.I,getItemOffset:_.k,getItemSize:_.T,scrollToIndex:h.se,scrollTo:h.oe,scrollBy:h.ne}),()=>{const t=r.as,o=r.item,[n,s]=S.value,i=x.value,l=[];for(let t=n,i=s;t<=i;t++){const n=a.default({item:r.data[t],index:t})[0];l.push(e.createVNode(E,{key:T(n,t),F:m,U:_,D:p.re,G:t,V:n,K:f,Z:u,ee:o},null,8,["_rerender","_store","_resizer","_index","_children","_isHorizontal","_isSSR","_as"]))}return e.createVNode(t,{ref:d,style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:f?i+"px":"100%",height:f?"100%":i+"px",pointerEvents:g.value?"none":void 0}},"function"==typeof(c=l)||"[object Object]"===Object.prototype.toString.call(c)&&!e.isVNode(c)?l:{default:()=>[l],_:2},8,["style"]);var c}}}),N={data:{type:Array,required:!0},overscan:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number},C=/*#__PURE__*/e.defineComponent({props:N,emits:["scroll","scrollEnd"],setup(t,{emit:r,expose:o,slots:n}){const s=t.horizontal,i=e=>{r("scroll",e)},l=()=>{r("scrollEnd")},c=e.ref();return o({get scrollOffset(){return c.value.scrollOffset},get scrollSize(){return c.value.scrollSize},get viewportSize(){return c.value.viewportSize},findStartIndex:(...e)=>c.value.findStartIndex(...e),findEndIndex:(...e)=>c.value.findEndIndex(...e),getItemOffset:(...e)=>c.value.getItemOffset(...e),getItemSize:(...e)=>c.value.getItemSize(...e),scrollToIndex:(...e)=>c.value.scrollToIndex(...e),scrollTo:(...e)=>c.value.scrollTo(...e),scrollBy:(...e)=>c.value.scrollBy(...e)}),()=>{return e.createVNode("div",{style:{display:s?"inline-block":"block",[s?"overflowX":"overflowY"]:"auto",contain:"strict",width:"100%",height:"100%"}},[e.createVNode(R,{ref:c,data:t.data,overscan:t.overscan,itemSize:t.itemSize,shift:t.shift,ssrCount:t.ssrCount,horizontal:s,onScroll:i,onScrollEnd:l},(r=n,"function"==typeof r||"[object Object]"===Object.prototype.toString.call(r)&&!e.isVNode(r)?n:{default:()=>[n],_:2}),8,["data","overscan","itemSize","shift","ssrCount","horizontal","onScroll","onScrollEnd"])],4);var r}}}),H={data:{type:Array,required:!0},overscan:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,as:{type:String,default:"div"},item:{type:String,default:"div"}},M=/*#__PURE__*/e.defineComponent({props:H,emits:["scroll","scrollEnd"],setup(r,{emit:o,slots:n,expose:s}){const a=r.horizontal,u=e.ref(),f=I(r.data.length,r.itemSize,r.overscan,void 0,0,!r.itemSize),d=((e,r)=>{const o=r?"width":"height",n=r?"innerWidth":"innerHeight",s=new WeakMap,i=O((r=>{const n=[];for(const{target:e,contentRect:i}of r){if(!e.offsetParent)continue;const r=s.get(e);r!=t&&n.push([r,i[o]])}n.length&&e.J(3,n)}));let l;return{te(t){const r=S(y(t)),o=()=>{e.J(4,r[n])};r.addEventListener("resize",o),o(),l=()=>{r.removeEventListener("resize",o)}},re:(e,t)=>(s.set(e,t),i.P(e),()=>{s.delete(e),i.L(e)}),W(){l&&l(),i.W()}}})(f,a),_=((e,t)=>{let r,o,n;const s=(e,t,r,o,n=0)=>{const i=o?"offsetLeft":"offsetTop",l=n+(o&&g()?r.innerWidth-e[i]-e.offsetWidth:e[i]),c=e.offsetParent;return e!==t&&c?s(c,t,r,o,l):l},a=async(o,s)=>{if(!r)return void c((()=>a(o,s)));n&&n();const l=()=>{let t;return[new Promise(((r,o)=>{t=r,n=o,w(e)&&i(o,150)})),e.A(2,(()=>{t&&t()}))]},u=S(y(r));if(s&&z()){for(;e.J(8,o()),e.j();){const[e,t]=l();try{await e}catch(e){return}finally{t()}}u.scroll({[t?"left":"top"]:j(o(),t),behavior:"smooth"})}else for(;;){const[r,n]=l();try{u.scroll({[t?"left":"top"]:j(o(),t)}),e.J(7),await r}catch(e){return}finally{n()}}};return{P(n){r=n;const i=t?"scrollX":"scrollY",l=y(n),c=S(l),a=l.body;o=k(e,c,t,(()=>j(c[i],t)),((r,o)=>{o?c.scroll({[t?"left":"top"]:e.B()+r}):c.scrollBy(t?r:0,t?0:r)}),(()=>s(n,a,c,t)))},W(){o&&o.W(),r=void 0},Y:()=>{o&&o.Y()},se(o,{align:n,smooth:i,offset:c=0}={}){if(!r)return;if(o=l(o,0,e.q()-1),"nearest"===n){const t=e.k(o),r=e.B();if(t<r)n="start";else{if(!(t+e.T(o)>r+e.p()))return;n="end"}}const u=y(r),f=S(u);a((()=>{const i=s(r,u.body,f,t),l=f.innerHeight-u.documentElement.clientHeight,a=f.innerHeight-u.documentElement.clientWidth,d="end"===n||"center"===n?t?a:l:0;return c+i+e.k(o)+("end"===n?e.T(o)-(e.p()-d):"center"===n?(e.T(o)-(e.p()-d))/2:0)}),i)}}})(f,a),p=e.ref(f.h()),h=f.A(1,(()=>{p.value=f.h()})),m=f.A(4,(()=>{o("scroll",f.B())})),v=f.A(8,(()=>{o("scrollEnd")})),b=e.computed((e=>{p.value;const t=f.v();return e&&q(e,t)?e:t})),x=e.computed((()=>p.value&&f.R())),B=e.computed((()=>p.value&&f.C())),R=e.computed((()=>p.value&&f.H()));return e.onMounted((()=>{const e=u.value;e&&(d.te(e),_.P(e))})),e.onUnmounted((()=>{h(),m(),v(),d.W(),_.W()})),e.watch((()=>r.data.length),(e=>{f.J(5,[e,r.shift])})),e.watch([R],(()=>{_.Y()}),{flush:"post"}),s({findStartIndex:f.S,findEndIndex:f.I,scrollToIndex:_.se}),()=>{const t=r.as,o=r.item,[s,i]=b.value,l=B.value,c=[];for(let t=s,l=i;t<=l;t++){const s=n.default({item:r.data[t],index:t})[0];c.push(e.createVNode(E,{key:T(s,t),F:p,U:f,D:d.re,G:t,V:s,K:a,ee:o},null,8,["_rerender","_store","_resizer","_index","_children","_isHorizontal","_as"]))}return e.createVNode(t,{ref:u,style:{overflowAnchor:"none",flex:"none",position:"relative",visibility:"hidden",width:a?l+"px":"100%",height:a?"100%":l+"px",pointerEvents:x.value?"none":void 0}},"function"==typeof(_=c)||"[object Object]"===Object.prototype.toString.call(_)&&!e.isVNode(_)?c:{default:()=>[c],_:2},8,["style"]);var _}}});exports.VList=C,exports.Virtualizer=R,exports.WindowVirtualizer=M;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|