virtua 0.18.0 → 0.19.0
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/README.md +1 -1
- package/lib/index.d.ts +3 -0
- 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/VList.d.ts +4 -4
- package/lib/react/WVList.d.ts +4 -4
- package/lib/vue/VList.d.ts +2 -1
- package/lib/vue/index.d.ts +3 -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 +17 -17
package/lib/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{jsx as e}from"react/jsx-runtime";import{useLayoutEffect as t,useEffect as n,useRef as o,forwardRef as r,useMemo as i,memo as s,useReducer as l,useImperativeHandle as c}from"react";import{flushSync as a}from"react-dom";const h=Math.min,u=Math.max,f=Math.abs,d=Date.now,_=Object.values,w=Array.isArray,g=setTimeout,p=(e,t,n)=>h(n,u(t,e)),m=e=>null!=e,v=(e,t)=>{let n;const o=()=>{m(n)&&clearTimeout(n)},r=()=>{o(),n=g((()=>{n=null,e()}),t)};return r.t=o,r},b=e=>{let t,n;return(...o)=>(t||(t=!0,n=e(...o)),n)},S=e=>getComputedStyle(e),z=e=>e?parseFloat(e):0,y=-1,I=(e,t)=>{const n=e.o[t];return n===y?e.i:n},x=(e,t)=>{if(!e.l)return 0;if(e.h>=t)return e.u[t];let n=e.h,o=e.u[n];for(;n<t;)o+=I(e,n),e.u[++n]=o;return e.h=t,o},R=(e,t,n)=>{let o=x(e,n);for(;n>=0&&n<e.l;)if(o<=t){const r=I(e,n);if(o+r>t)break;o+=r,n++}else o-=I(e,--n);return p(n,0,e.l-1)},k=(e,t,n,o)=>{const r=R(e,t,h(n,e.l-1));return[r,R(e,t+o,r)]},O=(e,t,n)=>{const o=n?"unshift":"push";for(let n=e.l;n<t;n++)e.o[o](y),e.u.push(0===n?0:y);e.l=t},C=(e,t,n)=>{const o=t-e.l,r=o<0;let i;return r?(i=(n?e.o.splice(0,-o):e.o.splice(o)).reduce(((t,n)=>t+(n===y?e.i:n)),0),e.u.splice(o)):(i=e.i*o,O(e,e.l+o,n)),e.h=n?0:p(t-1,0,e.h),e.l=t,[i,r]},T="undefined"!=typeof window,M=()=>document.documentElement,H=/*#__PURE__*/b((e=>{const t="scrollLeft",n=e[t];e[t]=1;const o=e[t]<1;return e[t]=n,o})),J=/*#__PURE__*/b((()=>!!T&&"rtl"===S(M()).direction)),W=/*#__PURE__*/b((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),B=/*#__PURE__*/b((()=>"scrollBehavior"in M().style)),L=(e,t,n)=>u(e-(n===V?1:u(1,t)),0),$=(e,t,n,o)=>h(e+(n===X?1:u(1,t)),o-1),A=(e,t,n)=>t.reduce(((t,[o,r])=>{const i=r-I(e,o);return(!n||i>0)&&(t+=i),t}),0),V=1,X=2,Y=(e,t=40,n=0,o=((e,t)=>{const n={i:t,l:0,h:0,o:[],u:[]};return O(n,e),n})(e,t),r)=>{let i=[],s=t*u(n-1,0),l=0,c=0,a=0,d=0,_=0,w=0,g=0,m=0,v=!1,b=!1,S=null,z=[0,n];const R=new Set,T=()=>(e=>e.l?x(e,e.l-1)+I(e,e.l-1):0)(o),M=()=>s-l-c,H=()=>T()-M(),J=e=>{W()&&0!==m?w+=e:(_+=e,d++)};return{_:()=>i,g:()=>JSON.parse(JSON.stringify(o)),p:()=>S?[h(z[0],S[0]),u(z[1],S[1])]:g?z:z=k(o,a+w+_,z[0],s),m:e=>o.o[e]===y,v:()=>!!S&&o.o.slice(u(0,S[0]-1),h(o.l-1,S[1]+1)+1).includes(y),S:e=>x(o,e)-w,I:e=>I(o,e),R:()=>o.l,k:()=>a,O:H,C:()=>m,T:()=>s,M:()=>l,H:()=>u(T(),M()),J:T,W:()=>d,B:()=>M()>T()?_=0:(g=_,_=0,g),L(e,t){const n=[e,t];return R.add(n),()=>{R.delete(n)}},$(e,t){let n,u,I=0;switch(e){case 1:{const e=t.filter((([e,t])=>o.o[e]!==t)),n=v;if(v=!1,!e.length)break;let i=0;if(0===a);else if(a>H()-1.5)i=A(o,e,!0);else if(n)i=A(o,e);else{const[t]=z;i=A(o,e.filter((([e])=>e<t)))}i&&J(i);let s=!1;e.forEach((([e,t])=>{((e,t,n)=>{const o=e.o[t]===y;return e.o[t]=n,e.h=h(t,e.h),o})(o,e,t)&&(s=!0)})),r&&s&&!a&&(e=>{const t=e.o.filter((e=>e!==y)),n=t[0];e.i=t.every((e=>e===n))?n:(e=>{const t=[...e].sort(((e,t)=>e-t)),n=e.length/2|0;return t.length%2==0?(t[n-1]+t[n])/2:t[n]})(t)})(o),I=2,u=!0;break}case 2:{const e=t[0]+t[1]+t[2];s!==e&&(s=e,l=t[1],c=t[2],I=2);break}case 3:if(t[1]){const e=H()-a,[n,r]=C(o,t[0],!0);J(r?-h(n,e):n),v=!r,I=1}else C(o,t[0]);break;case 4:{const e=p(t,0,H()),n=g;if(g=0,e===a)break;const o=e-a,r=f(o);n&&r<f(n)+1||b||(m=o<0?X:V),u=r>s,a=e,I=5;break}case 5:I=8,0!==m&&(n=!0,I+=1),m=0,b=!1,S=null;break;case 6:b=!0;break;case 7:S=k(o,t,z[0],s),I=1}I&&(i=[],n&&w&&(_+=w,w=0,d++),R.forEach((([e,t])=>{I&e&&t(u)})))}}},j=T?t:n,D=(e,t,n)=>(()=>{let o=d()-50;return(...r)=>{const i=d();o+50<i&&(o=i,(o=>{if(0!==e.C()&&!o.ctrlKey&&(t?o.deltaX:o.deltaY)){const t=e.k();t>0&&t<e.O()&&n()}})(...r))}})(),N=(e,t,n,o)=>H(e)||o?-n:t.O()-n,P=(e,t)=>{let n,o,r=!1;const i=t?"scrollLeft":"scrollTop",s=t?"overflowX":"overflowY",l=(o,r)=>t&&J()?N(n,e,o,r):o,c=async(r,s)=>{if(!n)return;o&&o();const c=()=>p(r(),0,e.O()),a=()=>{let t;return[new Promise(((e,n)=>{t=e,g(o=n,150)})),e.L(2,(()=>{t&&t()}))]};if(s&&B()){for(;e.$(7,c()),e.v();){const[e,t]=a();try{await e}catch(e){return}finally{t()}}n.scrollTo({[t?"left":"top"]:l(c()),behavior:"smooth"})}else for(;;){const[t,o]=a();try{n[i]=l(c()),e.$(6),await t}catch(e){return}finally{o()}}};return{A(o){n=o;let s=!1,c=!1;const a=v((()=>{s?a():(c=!1,e.$(5))}),150),h=()=>{c&&(r=!0),e.$(4,l(o[i])),a()},u=D(e,t,a),f=()=>{s=!0,c=r=!1},d=()=>{s=!1,W()&&(c=!0)};return o.addEventListener("scroll",h),o.addEventListener("wheel",u,{passive:!0}),o.addEventListener("touchstart",f,{passive:!0}),o.addEventListener("touchend",d,{passive:!0}),()=>{o.removeEventListener("scroll",h),o.removeEventListener("wheel",u),o.removeEventListener("touchstart",f),o.removeEventListener("touchend",d),a.t()}},V(e){c((()=>e))},X(t){t+=e.k(),c((()=>t))},Y(t,{align:n,smooth:o}={}){if(t=p(t,0,e.R()-1),"nearest"===n){const o=e.S(t),r=e.k();if(o<r)n="start";else{if(!(o+e.I(t)>r+e.T()))return;n="end"}}c((()=>e.M()+("end"===n?e.S(t)+e.I(t)-e.T():"center"===n?e.S(t)+(e.I(t)-e.T())/2:e.S(t))),o)},j:e=>{if(n){if(r){r=!1;const e=n.style,t=e[s];e[s]="hidden",g((()=>{e[s]=t}))}n[i]+=l(e,!0)}}}},U=(e,t)=>{let n;const o=t?"scrollX":"scrollY",r=t?"offsetLeft":"offsetTop",i=(o,r)=>t&&J()?N(n,e,o,r):o;return{A(s){n=s;const l=(e,n)=>{const o=n+(t&&J()?window.innerWidth-e[r]-e.offsetWidth:e[r]),i=e.offsetParent;return e!==document.body&&i?l(i,o):o},c=v((()=>{e.$(5)}),150),a=()=>{e.$(4,i(window[o])-l(s,0)),c()},h=D(e,t,c);return window.addEventListener("scroll",a),window.addEventListener("wheel",h,{passive:!0}),()=>{window.removeEventListener("scroll",a),window.removeEventListener("wheel",h),c.t()}},j:e=>{window.scrollBy(t?i(e,!0):0,t?0:e)}}},E="current",F={},G=(e,t)=>{if(w(e))for(const n of e)G(n,t);else m(e)&&"boolean"!=typeof e&&t.push(e)},q=e=>{const t=o();return t[E]||(t[E]=e())},K=e=>{const t=o(e);return j((()=>{t[E]=e}),[e]),t},Q={box:"border-box"},Z=(e,t)=>{let n;const o=t?"width":"height",r=new WeakMap,i=b((()=>new ResizeObserver((i=>{const s=[];for(const{target:l,contentRect:c}of i)if(l.offsetParent)if(l===n)e.$(2,[c[o],c[t?"left":"top"],z(S(n)[t?"paddingRight":"paddingBottom"])]);else{const e=r.get(l);m(e)&&s.push([e,c[o]])}s.length&&e.$(1,s)}))));return{D(e){n=e;const t=i();return t.observe(e,Q),()=>{t.disconnect()}},N(e,t){const n=i();return r.set(e,t),n.observe(e),()=>{r.delete(e),n.unobserve(e)}}}},ee=(e,t)=>{const n=t?"width":"height",o=t?"innerWidth":"innerHeight",r=new WeakMap,i=b((()=>new ResizeObserver((t=>{const o=[];for(const{target:e,contentRect:i}of t){if(!e.offsetParent)continue;const t=r.get(e);m(t)&&o.push([t,i[n]])}o.length&&e.$(1,o)}))));return{D(){const t=()=>{e.$(2,[window[o],0,0])};return window.addEventListener("resize",t),t(),()=>{window.removeEventListener("resize",t),i().disconnect()}},N(e,t){const n=i();return r.set(e,t),n.observe(e),()=>{r.delete(e),n.unobserve(e)}}}},te=(e,t)=>{let n;const o="height",r="width",i=new WeakMap,s=new Set,l=new Set,c=new Map,a=(e,t)=>`${e}-${t}`,h=b((()=>new ResizeObserver((h=>{const f=new Set,d=new Set;for(const{target:s,contentRect:l}of h)if(s.offsetParent)if(s===n){const i=S(n);e.$(2,[l[o],l.top,z(i.paddingBottom)]),t.$(2,[l[r],l.left,z(i.paddingRight)])}else{const e=i.get(s);if(e){const[t,n]=e,i=a(t,n),s=c.get(i),h=[l[o],l[r]];let u,_;s?(s[0]!==h[0]&&(u=!0),s[1]!==h[1]&&(_=!0)):u=_=!0,u&&f.add(t),_&&d.add(n),(u||_)&&c.set(i,h)}}if(f.size){const t=[];f.forEach((e=>{let n=0;l.forEach((t=>{const o=c.get(a(e,t));o&&(n=u(n,o[0]))})),n&&t.push([e,n])})),e.$(1,t)}if(d.size){const e=[];d.forEach((t=>{let n=0;s.forEach((e=>{const o=c.get(a(e,t));o&&(n=u(n,o[1]))})),n&&e.push([t,n])})),t.$(1,e)}}))));return{D(e){n=e;const t=h();return t.observe(e,Q),()=>{t.disconnect()}},N(e,t,n){const o=h();return i.set(e,[t,n]),s.add(t),l.add(n),o.observe(e),()=>{i.delete(e),o.unobserve(e)}}}},ne=/*#__PURE__*/r((({children:t,attrs:n,width:o,height:r,scrolling:s},l)=>e("div",{ref:l,...n,children:e("div",{style:i((()=>({position:"relative",visibility:"hidden",width:null!=o?o:"100%",height:null!=r?r:"100%",pointerEvents:s?"none":"auto"})),[o,r,s]),children:t})}))),oe=/*#__PURE__*/s((({P:t,U:n,F:r,G:s,q:l,K:c,Z:a})=>{const h=o(null);j((()=>n.N(h[E],r)),[r]);const u=i((()=>{const e={margin:0,padding:0,position:"absolute",[a?"height":"width"]:"100%",[a?"top":"left"]:0,[a?J()?"right":"left":"top"]:s,visibility:l?"hidden":"visible"};return a&&(e.display="flex"),e}),[s,l]);return e(c,"string"==typeof c?{ref:h,style:u,children:t}:{ref:h,style:u,index:r,children:t})})),re=e=>l(e._,void 0,e._)[1],ie=(e,t)=>i((()=>{if("function"==typeof e)return[e,t||0];const n=(e=>{const t=[];return G(e,t),t})(e);return[e=>n[e],n.length]}),[e,t]),se=/*#__PURE__*/r((({children:t,count:r,overscan:s=4,initialItemSize:l,initialItemCount:h,shift:f,horizontal:d,reverse:w,cache:g,components:{Root:p=ne,Item:v="div"}=F,onScroll:b,onScrollStop:S,onRangeChange:z,...y},I)=>{const[x,R]=ie(t,r),k=K(b),O=K(S),[C,T,M,H]=q((()=>{const e=!!d,t=Y(R,l,h,g,!l);return[t,Z(t,e),P(t,e),e]}));R!==C.R()&&C.$(3,[R,f]);const J=re(C),[W,B]=C.p(),A=C.C(),V=C.W(),X=C.H(),D=o(null);j((()=>{const e=D[E],t=C.L(3,(e=>{e?a(J):J()})),n=C.L(4,(()=>{k[E]&&k[E](C.k())})),o=C.L(8,(()=>{O[E]&&O[E]()})),r=T.D(e),i=M.A(e);return()=>{t(),n(),o(),r(),i()}}),[]),j((()=>{const e=C.B();e&&M.j(e)}),[V]),n((()=>{z&&z(W,B)}),[W,B]),c(I,(()=>({get cache(){return C.g()},get scrollOffset(){return C.k()},get scrollSize(){return C.H()},get viewportSize(){return C.T()},scrollToIndex:M.Y,scrollTo:M.V,scrollBy:M.X})),[]);const N=L(W,s,A),U=$(B,s,A,R),G=[];for(let t=N;t<=U;t++){const n=x(t),o=n.key;let r=C.S(t);w&&(r+=u(0,C.T()-C.J())),G.push(e(oe,{U:T,F:t,G:r,q:C.m(t),K:v,P:n,Z:H},m(o)?o:"_"+t))}return e(p,{ref:D,width:H?X:void 0,height:H?void 0:X,scrolling:0!==A,attrs:i((()=>({...y,style:{display:H?"inline-block":"block",[H?"overflowX":"overflowY"]:"auto",overflowAnchor:"none",contain:"strict",width:"100%",height:"100%",...y.style}})),_(y)),children:G})})),le=/*#__PURE__*/r((({children:t,count:r,overscan:s=4,initialItemSize:l,initialItemCount:h,shift:u,horizontal:f,cache:d,components:{Root:w=ne,Item:g="div"}=F,onScrollStop:p,onRangeChange:v,...b},S)=>{const[z,y]=ie(t,r),I=K(p),[x,R,k,O]=q((()=>{const e=!!f,t=Y(y,l,h,d,!l);return[t,ee(t,e),U(t,e),e]}));y!==x.R()&&x.$(3,[y,u]);const C=re(x),[T,M]=x.p(),H=x.C(),J=x.W(),W=x.J(),B=o(null);j((()=>{const e=B[E],t=x.L(3,(e=>{e?a(C):C()})),n=x.L(8,(()=>{I[E]&&I[E]()})),o=R.D(e),r=k.A(e);return()=>{t(),n(),o(),r()}}),[]),j((()=>{const e=x.B();e&&k.j(e)}),[J]),n((()=>{v&&v(T,M)}),[T,M]),c(S,(()=>({get cache(){return x.g()}})),[]);const A=L(T,s,H),V=$(M,s,H,y),X=[];for(let t=A;t<=V;t++){const n=z(t),o=n.key;X.push(e(oe,{U:R,F:t,G:x.S(t),q:x.m(t),K:g,P:n,Z:O},m(o)?o:"_"+t))}return e(w,{ref:B,width:O?W:void 0,height:O?void 0:W,scrolling:0!==H,attrs:i((()=>({...b,style:{display:O?"inline-block":"block",width:O?"auto":"100%",height:O?"100%":"auto",...b.style}})),_(b)),children:X})})),ce=(e,t)=>`${e}-${t}`,ae=/*#__PURE__*/s((({P:t,U:n,ee:r,te:s,ne:l,oe:c,re:a,ie:h,q:u,K:f})=>{const d=o(null);return j((()=>n.N(d[E],r,s)),[s,r]),e(f,{ref:d,style:i((()=>({display:"grid",margin:0,padding:0,position:"absolute",top:l,[J()?"right":"left"]:c,visibility:u?"hidden":"visible",minHeight:a,minWidth:h})),[l,c,h,a,u]),children:t})})),he=/*#__PURE__*/r((({children:t,row:n,col:r,cellHeight:s=40,cellWidth:l=100,overscan:h=2,initialRowCount:u,initialColCount:f,components:{Root:d=ne,Cell:w="div"}=F,...g},p)=>{const[m,v,b,S,z]=q((()=>{const e=Y(n,s,u),t=Y(r,l,f);return[e,t,te(e,t),P(e,!1),P(t,!0)]}));n!==m.R()&&m.$(3,[n]),r!==v.R()&&v.$(3,[r]);const y=re(m),I=re(v),[x,R]=m.p(),[k,O]=v.p(),C=m.C(),T=v.C(),M=m.W(),H=v.W(),J=m.H(),W=v.H(),B=o(null);j((()=>{const e=B[E],t=m.L(3,(e=>{e?a(y):y()})),n=v.L(3,(e=>{e?a(I):I()})),o=b.D(e),r=S.A(e),i=z.A(e);return()=>{t(),n(),o(),r(),i()}}),[]),j((()=>{const e=m.B();e&&S.j(e)}),[M]),j((()=>{const e=v.B();e&&z.j(e)}),[H]),c(p,(()=>({get scrollOffset(){return[v.k(),m.k()]},get scrollSize(){return[v.H(),m.H()]},get viewportSize(){return[v.T(),m.T()]},scrollToIndex(e,t){z.Y(e),S.Y(t)},scrollTo(e,t){z.V(e),S.V(t)},scrollBy(e,t){z.X(e),S.X(t)}})),[]);const A=i((()=>{const e=new Map;return(n,o)=>{let r=e.get(ce(n,o));return r||e.set(ce(n,o),r=t({rowIndex:n,colIndex:o})),r}}),[t]),V=L(x,h,C),X=$(R,h,C,n),D=L(k,h,T),N=$(O,h,T,r),U=[];for(let t=V;t<=X;t++)for(let n=D;n<=N;n++)U.push(e(ae,{U:b,ee:t,te:n,ne:m.S(t),oe:v.S(n),re:m.I(t),ie:v.I(n),q:m.m(t)||v.m(n),K:w,P:A(t,n)},ce(t,n)));return e(d,{ref:B,width:W,height:J,scrolling:0!==C||0!==T,attrs:i((()=>({...g,style:{overflow:"auto",overflowAnchor:"none",contain:"strict",width:"100%",height:"100%",...g.style}})),_(g)),children:U})}));export{se as VList,le as WVList,he as experimental_VGrid};
|
|
2
|
+
import{jsx as e}from"react/jsx-runtime";import{useLayoutEffect as t,useEffect as n,useRef as o,forwardRef as r,useMemo as i,memo as s,useReducer as l,useImperativeHandle as c}from"react";import{flushSync as a}from"react-dom";const u=Math.min,h=Math.max,f=Math.abs,d=Date.now,_=Object.values,w=Array.isArray,g=setTimeout,p=(e,t,n)=>u(n,h(t,e)),m=e=>null!=e,v=(e,t)=>{let n;const o=()=>{m(n)&&clearTimeout(n)},r=()=>{o(),n=g((()=>{n=null,e()}),t)};return r.t=o,r},S=e=>{let t,n;return(...o)=>(t||(t=!0,n=e(...o)),n)},b=e=>getComputedStyle(e),z=e=>e?parseFloat(e):0,y=-1,I=(e,t,n)=>{const o=n?"unshift":"push";for(let n=0;n<t;n++)e[o](y);return e},x=(e,t)=>{const n=e.o[t];return n===y?e.i:n},R=(e,t)=>{if(!e.l)return 0;if(e.u>=t)return e.h[t];e.u<0&&(e.h[0]=0,e.u=0);let n=e.u,o=e.h[n];for(;n<t;)o+=x(e,n),e.h[++n]=o;return e.u=t,o},k=(e,t,n)=>{let o=R(e,n);for(;n>=0&&n<e.l;)if(o<=t){const r=x(e,n);if(o+r>t)break;o+=r,n++}else o-=x(e,--n);return p(n,0,e.l-1)},O=(e,t,n,o)=>{const r=k(e,t,u(n,e.l-1));return[r,k(e,t+o,r)]},C=(e,t,n)=>{const o=t-e.l,r=o>0;let i;return r?(i=e.i*o,I(e.o,o,n),I(e.h,o)):(i=(n?e.o.splice(0,-o):e.o.splice(o)).reduce(((t,n)=>t+(n===y?e.i:n)),0),e.h.splice(o)),e.u=n?-1:u(t-1,e.u),e.l=t,[i,r]},T="undefined"!=typeof window,M=()=>document.documentElement,H=/*#__PURE__*/S((e=>{const t="scrollLeft",n=e[t];e[t]=1;const o=e[t]<1;return e[t]=n,o})),J=/*#__PURE__*/S((()=>!!T&&"rtl"===b(M()).direction)),W=/*#__PURE__*/S((()=>/iP(hone|od|ad)/.test(navigator.userAgent))),B=/*#__PURE__*/S((()=>"scrollBehavior"in M().style)),L=(e,t,n)=>h(e-(n===V?1:h(1,t)),0),$=(e,t,n,o)=>u(e+(n===X?1:h(1,t)),o-1),A=(e,t,n)=>t.reduce(((t,[o,r])=>{const i=r-x(e,o);return(!n||i>0)&&(t+=i),t}),0),V=1,X=2,Y=(e,t=40,n=0,o=((e,t)=>({i:t,l:e,u:-1,o:I([],e),h:I([],e)}))(e,t),r)=>{let i=!!n,s=[],l=0,c=0,a=0,d=0,_=0,w=0,g=0,m=0,v=0,S=!1,b=!1,z=i?[0,h(n-1,0)]:null,k=[0,0];const T=new Set,M=()=>(e=>e.l?R(e,e.l-1)+x(e,e.l-1):0)(o),H=()=>l-c-a,J=()=>M()-H(),B=e=>{W()&&0!==v?g+=e:(w+=e,_++)};return{_:()=>s,g:()=>JSON.parse(JSON.stringify(o)),p:()=>z?[u(k[0],z[0]),h(k[1],z[1])]:m?k:k=O(o,d+g+w,k[0],l),m:e=>o.o[e]===y,v:()=>!!z&&o.o.slice(h(0,z[0]-1),u(o.l-1,z[1]+1)+1).includes(y),S:e=>R(o,e)-g,I:e=>x(o,e),R:()=>o.l,k:()=>d,O:J,C:()=>v,T:()=>l,M:()=>c,H:()=>h(M(),H()),J:M,W:()=>_,B:()=>H()>M()?w=0:(m=w,w=0,m),L(e,t){const n=[e,t];return T.add(n),()=>{T.delete(n)}},$(e,t){let n,h,I=0;switch(e){case 1:{const e=t.filter((([e,t])=>o.o[e]!==t)),n=S;if(S=!1,!e.length)break;let i=0;if(0===d);else if(d>J()-1.5)i=A(o,e,!0);else if(n)i=A(o,e);else{const[t]=k;i=A(o,e.filter((([e])=>e<t)))}i&&B(i);let s=!1;e.forEach((([e,t])=>{((e,t,n)=>{const o=e.o[t]===y;return e.o[t]=n,e.u=u(t,e.u),o})(o,e,t)&&(s=!0)})),r&&s&&!d&&(e=>{const t=e.o.filter((e=>e!==y)),n=t[0];e.i=t.every((e=>e===n))?n:(e=>{const t=[...e].sort(((e,t)=>e-t)),n=e.length/2|0;return t.length%2==0?(t[n-1]+t[n])/2:t[n]})(t)})(o),I=2,h=!0;break}case 2:{const e=t[0]+t[1]+t[2];l!==e&&(l=e,c=t[1],a=t[2],I=2);break}case 3:if(t[1]){const e=J()-d,[n,r]=C(o,t[0],!0);B(r?n:-u(n,e)),S=r,I=1}else C(o,t[0]);break;case 4:{const e=p(t,0,J()),n=m;if(m=0,e===d)break;const o=e-d,r=f(o);n&&r<f(n)+1||b||(v=o<0?X:V),i&&(z=null,i=!1),h=r>l,d=e,I=5;break}case 5:I=8,0!==v&&(n=!0,I+=1),v=0,b=!1,z=null;break;case 6:b=!0;break;case 7:z=O(o,t,k[0],l),I=1}I&&(s=[],n&&g&&(w+=g,g=0,_++),T.forEach((([e,t])=>{I&e&&t(h)})))}}},j=T?t:n,D=(e,t,n)=>(()=>{let o=d()-50;return(...r)=>{const i=d();o+50<i&&(o=i,(o=>{if(0!==e.C()&&!o.ctrlKey&&(t?o.deltaX:o.deltaY)){const t=e.k();t>0&&t<e.O()&&n()}})(...r))}})(),F=(e,t,n,o)=>H(e)||o?-n:t.O()-n,N=(e,t)=>{let n,o,r=!1;const i=t?"scrollLeft":"scrollTop",s=t?"overflowX":"overflowY",l=(o,r)=>t&&J()?F(n,e,o,r):o,c=async(r,s)=>{if(!n)return;o&&o();const c=()=>p(r(),0,e.O()),a=()=>{let t;return[new Promise(((e,n)=>{t=e,g(o=n,150)})),e.L(2,(()=>{t&&t()}))]};if(s&&B()){for(;e.$(7,c()),e.v();){const[e,t]=a();try{await e}catch(e){return}finally{t()}}n.scrollTo({[t?"left":"top"]:l(c()),behavior:"smooth"})}else for(;;){const[t,o]=a();try{n[i]=l(c()),e.$(6),await t}catch(e){return}finally{o()}}};return{A(o){n=o;let s=!1,c=!1;const a=v((()=>{s?a():(c=!1,e.$(5))}),150),u=()=>{c&&(r=!0),e.$(4,l(o[i])),a()},h=D(e,t,a),f=()=>{s=!0,c=r=!1},d=()=>{s=!1,W()&&(c=!0)};return o.addEventListener("scroll",u),o.addEventListener("wheel",h,{passive:!0}),o.addEventListener("touchstart",f,{passive:!0}),o.addEventListener("touchend",d,{passive:!0}),()=>{o.removeEventListener("scroll",u),o.removeEventListener("wheel",h),o.removeEventListener("touchstart",f),o.removeEventListener("touchend",d),a.t()}},V(e){c((()=>e))},X(t){t+=e.k(),c((()=>t))},Y(t,{align:n,smooth:o}={}){if(t=p(t,0,e.R()-1),"nearest"===n){const o=e.S(t),r=e.k();if(o<r)n="start";else{if(!(o+e.I(t)>r+e.T()))return;n="end"}}c((()=>e.M()+("end"===n?e.S(t)+e.I(t)-e.T():"center"===n?e.S(t)+(e.I(t)-e.T())/2:e.S(t))),o)},j:e=>{if(n){if(r){r=!1;const e=n.style,t=e[s];e[s]="hidden",g((()=>{e[s]=t}))}n[i]+=l(e,!0)}}}},P=(e,t)=>{let n;const o=t?"scrollX":"scrollY",r=t?"offsetLeft":"offsetTop",i=(o,r)=>t&&J()?F(n,e,o,r):o;return{A(s){n=s;const l=(e,n)=>{const o=n+(t&&J()?window.innerWidth-e[r]-e.offsetWidth:e[r]),i=e.offsetParent;return e!==document.body&&i?l(i,o):o},c=v((()=>{e.$(5)}),150),a=()=>{e.$(4,i(window[o])-l(s,0)),c()},u=D(e,t,c);return window.addEventListener("scroll",a),window.addEventListener("wheel",u,{passive:!0}),()=>{window.removeEventListener("scroll",a),window.removeEventListener("wheel",u),c.t()}},j:e=>{window.scrollBy(t?i(e,!0):0,t?0:e)}}},U="current",E={},G=(e,t)=>{if(w(e))for(const n of e)G(n,t);else m(e)&&"boolean"!=typeof e&&t.push(e)},q=(e,t)=>{const n=e.key;return m(n)?n:"_"+t},K=e=>{const t=o();return t[U]||(t[U]=e())},Q=e=>{const t=o(e);return j((()=>{t[U]=e}),[e]),t},Z={box:"border-box"},ee=(e,t)=>{let n;const o=t?"width":"height",r=new WeakMap,i=S((()=>new ResizeObserver((i=>{const s=[];for(const{target:l,contentRect:c}of i)if(l.offsetParent)if(l===n)e.$(2,[c[o],c[t?"left":"top"],z(b(n)[t?"paddingRight":"paddingBottom"])]);else{const e=r.get(l);m(e)&&s.push([e,c[o]])}s.length&&e.$(1,s)}))));return{D(e){n=e;const t=i();return t.observe(e,Z),()=>{t.disconnect()}},F:(e,t)=>{const n=i();return r.set(e,t),n.observe(e),()=>{r.delete(e),n.unobserve(e)}}}},te=(e,t)=>{const n=t?"width":"height",o=t?"innerWidth":"innerHeight",r=new WeakMap,i=S((()=>new ResizeObserver((t=>{const o=[];for(const{target:e,contentRect:i}of t){if(!e.offsetParent)continue;const t=r.get(e);m(t)&&o.push([t,i[n]])}o.length&&e.$(1,o)}))));return{D(){const t=()=>{e.$(2,[window[o],0,0])};return window.addEventListener("resize",t),t(),()=>{window.removeEventListener("resize",t),i().disconnect()}},F:(e,t)=>{const n=i();return r.set(e,t),n.observe(e),()=>{r.delete(e),n.unobserve(e)}}}},ne=(e,t)=>{let n;const o="height",r="width",i=new WeakMap,s=new Set,l=new Set,c=new Map,a=(e,t)=>`${e}-${t}`,u=S((()=>new ResizeObserver((u=>{const f=new Set,d=new Set;for(const{target:s,contentRect:l}of u)if(s.offsetParent)if(s===n){const i=b(n);e.$(2,[l[o],l.top,z(i.paddingBottom)]),t.$(2,[l[r],l.left,z(i.paddingRight)])}else{const e=i.get(s);if(e){const[t,n]=e,i=a(t,n),s=c.get(i),u=[l[o],l[r]];let h,_;s?(s[0]!==u[0]&&(h=!0),s[1]!==u[1]&&(_=!0)):h=_=!0,h&&f.add(t),_&&d.add(n),(h||_)&&c.set(i,u)}}if(f.size){const t=[];f.forEach((e=>{let n=0;l.forEach((t=>{const o=c.get(a(e,t));o&&(n=h(n,o[0]))})),n&&t.push([e,n])})),e.$(1,t)}if(d.size){const e=[];d.forEach((t=>{let n=0;s.forEach((e=>{const o=c.get(a(e,t));o&&(n=h(n,o[1]))})),n&&e.push([t,n])})),t.$(1,e)}}))));return{D(e){n=e;const t=u();return t.observe(e,Z),()=>{t.disconnect()}},F(e,t,n){const o=u();return i.set(e,[t,n]),s.add(t),l.add(n),o.observe(e),()=>{i.delete(e),o.unobserve(e)}}}},oe=/*#__PURE__*/r((({children:t,attrs:n,width:o,height:r,scrolling:s},l)=>e("div",{ref:l,...n,children:e("div",{style:i((()=>({contain:"content",position:"relative",visibility:"hidden",width:null!=o?o:"100%",height:null!=r?r:"100%",pointerEvents:s?"none":"auto"})),[o,r,s]),children:t})}))),re=/*#__PURE__*/s((({N:t,P:n,U:r,G:s,q:l,K:c,Z:a,ee:u})=>{const h=o(null);j((()=>n(h[U],r)),[r]);const f=i((()=>{const e={margin:0,padding:0,position:l&&u?void 0:"absolute",[a?"height":"width"]:"100%",[a?"top":"left"]:0,[a?J()?"right":"left":"top"]:s,visibility:!l||u?"visible":"hidden"};return a&&(e.display="flex"),e}),[s,l,u]);return e(c,"string"==typeof c?{ref:h,style:f,children:t}:{ref:h,style:f,index:r,children:t})})),ie=e=>l(e._,void 0,e._)[1],se=(e,t)=>i((()=>{if("function"==typeof e)return[e,t||0];const n=(e=>{const t=[];return G(e,t),t})(e);return[e=>n[e],n.length]}),[e,t]),le=/*#__PURE__*/r((({children:t,count:r,overscan:s=4,initialItemSize:l,shift:u,horizontal:f,reverse:d,cache:w,ssrCount:g,components:{Root:p=oe,Item:m="div"}=E,onScroll:v,onScrollStop:S,onRangeChange:b,...z},y)=>{const[I,x]=se(t,r),R=Q(v),k=Q(S),O=o(!!g),[C,T,M,H]=K((()=>{const e=!!f,t=Y(x,l,g,w,!l);return[t,ee(t,e),N(t,e),e]}));x!==C.R()&&C.$(3,[x,u]);const J=ie(C),[W,B]=C.p(),A=C.C(),V=C.W(),X=C.H(),D=o(null);j((()=>{O[U]=!1;const e=D[U],t=C.L(3,(e=>{e?a(J):J()})),n=C.L(4,(()=>{R[U]&&R[U](C.k())})),o=C.L(8,(()=>{k[U]&&k[U]()})),r=T.D(e),i=M.A(e);return()=>{t(),n(),o(),r(),i()}}),[]),j((()=>{const e=C.B();e&&M.j(e)}),[V]),n((()=>{b&&b(W,B)}),[W,B]),c(y,(()=>({get cache(){return C.g()},get scrollOffset(){return C.k()},get scrollSize(){return C.H()},get viewportSize(){return C.T()},scrollToIndex:M.Y,scrollTo:M.V,scrollBy:M.X})),[]);const F=L(W,s,A),P=$(B,s,A,x),G=[];for(let t=F;t<=P;t++){const n=I(t);let o=C.S(t);d&&(o+=h(0,C.T()-C.J())),G.push(e(re,{P:T.F,U:t,G:o,q:C.m(t),K:m,N:n,Z:H,ee:O[U]},q(n,t)))}return e(p,{ref:D,width:H?X:void 0,height:H?void 0:X,scrolling:0!==A,attrs:i((()=>({...z,style:{display:H?"inline-block":"block",[H?"overflowX":"overflowY"]:"auto",overflowAnchor:"none",contain:"strict",width:"100%",height:"100%",...z.style}})),_(z)),children:G})})),ce=/*#__PURE__*/r((({children:t,count:r,overscan:s=4,initialItemSize:l,shift:u,horizontal:h,cache:f,ssrCount:d,components:{Root:w=oe,Item:g="div"}=E,onScrollStop:p,onRangeChange:m,...v},S)=>{const[b,z]=se(t,r),y=Q(p),I=o(!!d),[x,R,k,O]=K((()=>{const e=!!h,t=Y(z,l,d,f,!l);return[t,te(t,e),P(t,e),e]}));z!==x.R()&&x.$(3,[z,u]);const C=ie(x),[T,M]=x.p(),H=x.C(),J=x.W(),W=x.J(),B=o(null);j((()=>{I[U]=!1;const e=B[U],t=x.L(3,(e=>{e?a(C):C()})),n=x.L(8,(()=>{y[U]&&y[U]()})),o=R.D(),r=k.A(e);return()=>{t(),n(),o(),r()}}),[]),j((()=>{const e=x.B();e&&k.j(e)}),[J]),n((()=>{m&&m(T,M)}),[T,M]),c(S,(()=>({get cache(){return x.g()}})),[]);const A=L(T,s,H),V=$(M,s,H,z),X=[];for(let t=A;t<=V;t++){const n=b(t);X.push(e(re,{P:R.F,U:t,G:x.S(t),q:x.m(t),K:g,N:n,Z:O,ee:I[U]},q(n,t)))}return e(w,{ref:B,width:O?W:void 0,height:O?void 0:W,scrolling:0!==H,attrs:i((()=>({...v,style:{display:O?"inline-block":"block",width:O?"auto":"100%",height:O?"100%":"auto",...v.style}})),_(v)),children:X})})),ae=(e,t)=>`${e}-${t}`,ue=/*#__PURE__*/s((({N:t,P:n,te:r,ne:s,oe:l,re:c,ie:a,se:u,q:h,K:f})=>{const d=o(null);return j((()=>n.F(d[U],r,s)),[s,r]),e(f,{ref:d,style:i((()=>({display:"grid",margin:0,padding:0,position:"absolute",top:l,[J()?"right":"left"]:c,visibility:h?"hidden":"visible",minHeight:a,minWidth:u})),[l,c,u,a,h]),children:t})})),he=/*#__PURE__*/r((({children:t,row:n,col:r,cellHeight:s=40,cellWidth:l=100,overscan:u=2,initialRowCount:h,initialColCount:f,components:{Root:d=oe,Cell:w="div"}=E,...g},p)=>{const[m,v,S,b,z]=K((()=>{const e=Y(n,s,h),t=Y(r,l,f);return[e,t,ne(e,t),N(e,!1),N(t,!0)]}));n!==m.R()&&m.$(3,[n]),r!==v.R()&&v.$(3,[r]);const y=ie(m),I=ie(v),[x,R]=m.p(),[k,O]=v.p(),C=m.C(),T=v.C(),M=m.W(),H=v.W(),J=m.H(),W=v.H(),B=o(null);j((()=>{const e=B[U],t=m.L(3,(e=>{e?a(y):y()})),n=v.L(3,(e=>{e?a(I):I()})),o=S.D(e),r=b.A(e),i=z.A(e);return()=>{t(),n(),o(),r(),i()}}),[]),j((()=>{const e=m.B();e&&b.j(e)}),[M]),j((()=>{const e=v.B();e&&z.j(e)}),[H]),c(p,(()=>({get scrollOffset(){return[v.k(),m.k()]},get scrollSize(){return[v.H(),m.H()]},get viewportSize(){return[v.T(),m.T()]},scrollToIndex(e,t){z.Y(e),b.Y(t)},scrollTo(e,t){z.V(e),b.V(t)},scrollBy(e,t){z.X(e),b.X(t)}})),[]);const A=i((()=>{const e=new Map;return(n,o)=>{let r=e.get(ae(n,o));return r||e.set(ae(n,o),r=t({rowIndex:n,colIndex:o})),r}}),[t]),V=L(x,u,C),X=$(R,u,C,n),D=L(k,u,T),F=$(O,u,T,r),P=[];for(let t=V;t<=X;t++)for(let n=D;n<=F;n++)P.push(e(ue,{P:S,te:t,ne:n,oe:m.S(t),re:v.S(n),ie:m.I(t),se:v.I(n),q:m.m(t)||v.m(n),K:w,N:A(t,n)},ae(t,n)));return e(d,{ref:B,width:W,height:J,scrolling:0!==C||0!==T,attrs:i((()=>({...g,style:{overflow:"auto",overflowAnchor:"none",contain:"strict",width:"100%",height:"100%",...g.style}})),_(g)),children:P})}));export{le as VList,ce as WVList,he as experimental_VGrid};
|
|
3
3
|
//# sourceMappingURL=index.mjs.map
|