react-virtuoso 2.7.1 → 2.8.0-alpha.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/dist/index.m.js DELETED
@@ -1,2 +0,0 @@
1
- import{systemToComponent as e}from"@virtuoso.dev/react-urx";import{system as t,stream as n,statefulStream as o,connect as r,pipe as i,map as l,getValue as a,streamFromEmitter as u,filter as s,distinctUntilChanged as c,subscribe as d,tup as f,merge as m,duc as h,skip as p,mapTo as g,debounceTime as v,statefulStreamFromEmitter as I,combineLatest as C,scan as S,publish as x,throttleTime as T,withLatestFrom as w,handleNext as y,noop as b,prop as H,tap as R,compose as z}from"@virtuoso.dev/urx";import{useRef as k,useCallback as B,useEffect as E,useLayoutEffect as L,memo as P,createElement as O}from"react";function M(){return(M=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function A(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)t.indexOf(n=i[o])>=0||(r[n]=e[n]);return r}function V(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function W(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return V(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?V(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function D(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}function F(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}var G,N,U=t(function(){var e=n(),t=n(),a=o(0),u=n(),s=o(0),c=n(),d=n(),f=o(0),m=o(0),h=n(),p=n(),g=o(!1);return r(i(e,l(function(e){return e[0]})),t),r(i(e,l(function(e){return e[1]})),d),r(t,s),{scrollContainerState:e,scrollTop:t,viewportHeight:c,headerHeight:f,footerHeight:m,scrollHeight:d,smoothScrollTargetReached:u,scrollTo:h,scrollBy:p,statefulScrollTop:s,deviation:a,scrollingInProgress:g}},[],{singleton:!0});!function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR"}(N||(N={}));var _=((G={})[N.DEBUG]="debug",G[N.INFO]="log",G[N.WARN]="warn",G[N.ERROR]="error",G),j=t(function(){var e=o(N.ERROR);return{log:o(function(t,n,o){var r;void 0===o&&(o=N.INFO),o>=(null!=(r=("undefined"==typeof globalThis?window:globalThis).VIRTUOSO_LOG_LEVEL)?r:a(e))&&console[_[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,n)}),logLevel:e}},[],{singleton:!0}),K=t(function(e){var t=e[0].log,n=o(!1),r=u(i(n,s(function(e){return e}),c()));return d(n,function(e){e&&a(t)("props updated",{},N.DEBUG)}),{propsReady:n,didMount:r}},f(j),{singleton:!0}),Y="up",Z={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},q=t(function(e){var t=e[0],f=t.scrollContainerState,y=t.scrollTop,b=t.viewportHeight,H=t.headerHeight,R=t.footerHeight,z=t.scrollBy,k=o(!1),B=o(!0),E=n(),L=n(),P=o(4),O=u(i(m(i(h(y),p(1),g(!0)),i(h(y),p(1),g(!1),v(100))),c())),M=I(i(m(i(z,g(!0)),i(z,g(!1),v(200))),c()),!1);r(i(h(y),l(function(e){return 0===e}),c()),B),r(B,L);var A=u(i(C(f,h(b),h(H),h(R),h(P)),S(function(e,t){var n,o,r=t[0],i=r[0],l=r[1],a=t[1],u={viewportHeight:a,scrollTop:i,scrollHeight:l};return i+a-l>-t[4]?(i>e.state.scrollTop?(n="SCROLLED_DOWN",o=e.state.scrollTop-i):(n="SIZE_DECREASED",o=e.state.scrollTop-i||e.scrollTopDelta),{atBottom:!0,state:u,atBottomBecause:n,scrollTopDelta:o}):{atBottom:!1,notAtBottomBecause:u.scrollHeight>e.state.scrollHeight?"SIZE_INCREASED":a<e.state.viewportHeight?"VIEWPORT_HEIGHT_DECREASING":i<e.state.scrollTop?"SCROLLING_UPWARDS":"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",state:u}},Z),c(function(e,t){return e&&e.atBottom===t.atBottom}))),V=I(i(f,S(function(e,t){var n=t[0],o=t[1];return e.scrollHeight!==o?e.scrollTop!==n?{scrollHeight:o,scrollTop:n,jump:e.scrollTop-n,changed:!0}:{scrollHeight:o,scrollTop:n,jump:0,changed:!0}:{scrollTop:n,scrollHeight:o,jump:0,changed:!1}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),s(function(e){return e.changed}),l(function(e){return e.jump})),0);r(i(A,l(function(e){return e.atBottom})),k),d(k,function(e){setTimeout(function(){return x(E,e)})});var W=o("down");d(k,function(e){setTimeout(function(){x(E,e)})}),r(i(f,l(function(e){return e[0]}),c(),S(function(e,t){return a(M)?{direction:e.direction,prevScrollTop:t}:{direction:t<e.prevScrollTop?Y:"down",prevScrollTop:t}},{direction:"down",prevScrollTop:0}),l(function(e){return e.direction})),W),r(i(f,T(50),g("none")),W),r(k,E);var D=o(0);return r(i(O,s(function(e){return!e}),g(0)),D),r(i(y,T(100),w(O),s(function(e){return!!e[1]}),S(function(e,t){return[e[1],t[0]]},[0,0]),l(function(e){return e[1]-e[0]})),D),{isScrolling:O,isAtTop:B,isAtBottom:k,atBottomState:A,atTopStateChange:L,atBottomStateChange:E,scrollDirection:W,atBottomThreshold:P,scrollVelocity:D,lastJumpDueToItemResize:V}},f(U)),J=t(function(e){var t=e[0].scrollVelocity,a=o(!1),u=n(),f=o(!1);return r(i(t,w(f,a,u),s(function(e){return!!e[1]}),l(function(e){var t=e[0],n=e[1],o=e[2],r=e[3],i=n.enter;if(o){if((0,n.exit)(t,r))return!1}else if(i(t,r))return!0;return o}),c()),a),d(i(C(a,t,u),w(f)),function(e){var t=e[0],n=e[1];return t[0]&&n&&n.change&&n.change(t[1],t[2])}),{isSeeking:a,scrollSeekConfiguration:f,scrollVelocity:t,scrollSeekRangeChanged:u}},f(q),{singleton:!0}),$={lvl:0};function Q(e,t,n,o,r){return void 0===o&&(o=$),void 0===r&&(r=$),{k:e,v:t,lvl:n,l:o,r:r}}function X(e){return e===$}function ee(){return $}function te(e,t){if(X(e))return $;var n=e.k,o=e.l,r=e.r;if(t===n){if(X(o))return r;if(X(r))return o;var i=le(o);return ce(ue(e,{k:i[0],v:i[1],l:ae(o)}))}return ce(ue(e,t<n?{l:te(o,t)}:{r:te(r,t)}))}function ne(e,t,n){if(void 0===n&&(n="k"),X(e))return[-Infinity,void 0];if(e[n]===t)return[e.k,e.v];if(e[n]<t){var o=ne(e.r,t,n);return-Infinity===o[0]?[e.k,e.v]:o}return ne(e.l,t,n)}function oe(e,t,n){return X(e)?Q(t,n,1):t===e.k?ue(e,{k:t,v:n}):function(e){return me(he(e))}(ue(e,t<e.k?{l:oe(e.l,t,n)}:{r:oe(e.r,t,n)}))}function re(e,t,n){if(X(e))return[];var o=e.k,r=e.v,i=e.r,l=[];return o>t&&(l=l.concat(re(e.l,t,n))),o>=t&&o<=n&&l.push({k:o,v:r}),o<=n&&(l=l.concat(re(i,t,n))),l}function ie(e){return X(e)?[]:[].concat(ie(e.l),[{k:e.k,v:e.v}],ie(e.r))}function le(e){return X(e.r)?[e.k,e.v]:le(e.r)}function ae(e){return X(e.r)?e.l:ce(ue(e,{r:ae(e.r)}))}function ue(e,t){return Q(void 0!==t.k?t.k:e.k,void 0!==t.v?t.v:e.v,void 0!==t.lvl?t.lvl:e.lvl,void 0!==t.l?t.l:e.l,void 0!==t.r?t.r:e.r)}function se(e){return X(e)||e.lvl>e.r.lvl}function ce(e){var t=e.l,n=e.r,o=e.lvl;if(n.lvl>=o-1&&t.lvl>=o-1)return e;if(o>n.lvl+1){if(se(t))return he(ue(e,{lvl:o-1}));if(X(t)||X(t.r))throw new Error("Unexpected empty nodes");return ue(t.r,{l:ue(t,{r:t.r.l}),r:ue(e,{l:t.r.r,lvl:o-1}),lvl:o})}if(se(e))return me(ue(e,{lvl:o-1}));if(X(n)||X(n.l))throw new Error("Unexpected empty nodes");var r=n.l,i=se(r)?n.lvl-1:n.lvl;return ue(r,{l:ue(e,{r:r.l,lvl:o-1}),r:me(ue(n,{l:r.r,lvl:i})),lvl:r.lvl+1})}function de(e,t,n){return X(e)?[]:fe(re(e,ne(e,t)[0],n),function(e){return{index:e.k,value:e.v}})}function fe(e,t){var n=e.length;if(0===n)return[];for(var o=t(e[0]),r=o.index,i=o.value,l=[],a=1;a<n;a++){var u=t(e[a]),s=u.index,c=u.value;l.push({start:r,end:s-1,value:i}),r=s,i=c}return l.push({start:r,end:Infinity,value:i}),l}function me(e){var t=e.r,n=e.lvl;return X(t)||X(t.r)||t.lvl!==n||t.r.lvl!==n?e:ue(t,{l:ue(e,{r:t.l}),lvl:n+1})}function he(e){var t=e.l;return X(t)||t.lvl!==e.lvl?e:ue(t,{r:ue(e,{l:t.r})})}function pe(e,t,n,o){void 0===o&&(o=0);for(var r=e.length-1;o<=r;){var i=Math.floor((o+r)/2),l=n(e[i],t);if(0===l)return i;if(-1===l){if(r-o<2)return i-1;r=i-1}else{if(r===o)return i;o=i+1}}throw new Error("Failed binary finding record in array - "+e.join(",")+", searched for "+t)}function ge(e,t,n){return e[pe(e,t,n)]}function ve(e,t){return Math.round(e.getBoundingClientRect()[t])}function Ie(e){var t=e.size,n=e.startIndex,o=e.endIndex;return function(e){return e.start===n&&(e.end===o||Infinity===e.end)&&e.value===t}}function Ce(e,t){var n=e.index;return t===n?0:t<n?-1:1}function Se(e,t){var n=e.offset;return t===n?0:t<n?-1:1}function xe(e){return{index:e.index,value:e}}function Te(e,t){var n=t[0],o=t[1];n.length>0&&(0,t[2])("received item sizes",n,N.DEBUG);var r=e.sizeTree,i=e.offsetTree,l=r,a=0;if(o.length>0&&X(r)&&2===n.length){var u=n[0].size,s=n[1].size;l=o.reduce(function(e,t){return oe(oe(e,t,u),t+1,s)},l)}else{var c=function(e,t){for(var n,o=X(e)?0:Infinity,r=W(t);!(n=r()).done;){var i=n.value,l=i.size,a=i.startIndex,u=i.endIndex;if(o=Math.min(o,a),X(e))e=oe(e,0,l);else{var s=de(e,a-1,u+1);if(!s.some(Ie(i))){for(var c,d=!1,f=!1,m=W(s);!(c=m()).done;){var h=c.value,p=h.start,g=h.end,v=h.value;d?(u>=p||l===v)&&(e=te(e,p)):(f=v!==l,d=!0),g>u&&u>=p&&v!==l&&(e=oe(e,u+1,v))}f&&(e=oe(e,a,l))}}}return[e,o]}(l,n);l=c[0],a=c[1]}if(l===r)return e;var d=0,f=0,m=0,h=0;if(0!==a){h=pe(i,a-1,Ce),m=i[h].offset;var p=ne(l,a-1);d=p[0],f=p[1],i.length&&i[h].size===ne(l,a)[1]&&(h-=1),i=i.slice(0,h+1)}else i=[];for(var g,v=W(de(l,a,Infinity));!(g=v()).done;){var I=g.value,C=I.start,S=I.value,x=(C-d)*f+m;i.push({offset:x,size:S,index:C}),d=C,m=x,f=S}return{sizeTree:l,offsetTree:i,groupOffsetTree:o.reduce(function(e,t){return oe(e,t,we(t,i))},ee()),lastIndex:d,lastOffset:m,lastSize:f,groupIndices:o}}function we(e,t){if(0===t.length)return 0;var n=ge(t,e,Ce);return n.size*(e-n.index)+n.offset}function ye(e,t){if(!be(t))return e;for(var n=0;t.groupIndices[n]<=e+n;)n++;return e+n}function be(e){return!X(e.groupOffsetTree)}var He={offsetHeight:"height",offsetWidth:"width"},Re=t(function(e){var t=e[0].log,f=n(),m=n(),h=I(m,0),p=n(),g=o(0),v=o([]),C=o(void 0),x=o(void 0),T=o(function(e,t){return ve(e,He[t])}),y=o(void 0),b={offsetTree:[],sizeTree:ee(),groupOffsetTree:ee(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]},H=I(i(f,w(v,t),S(Te,b),c()),b);r(i(v,s(function(e){return e.length>0}),w(H),l(function(e){var t=e[0],n=e[1],o=t.reduce(function(e,t,o){return oe(e,t,we(t,n.offsetTree)||o)},ee());return M({},n,{groupIndices:t,groupOffsetTree:o})})),H),r(i(m,w(H),s(function(e){return e[0]<e[1].lastIndex}),l(function(e){var t=e[1];return[{startIndex:e[0],endIndex:t.lastIndex,size:t.lastSize}]})),f),r(C,x);var R=I(i(C,l(function(e){return void 0===e})),!0);r(i(x,s(function(e){return void 0!==e&&X(a(H).sizeTree)}),l(function(e){return[{startIndex:0,endIndex:0,size:e}]})),f);var z=u(i(f,w(H),S(function(e,t){var n=t[1];return{changed:n!==e.sizes,sizes:n}},{changed:!1,sizes:b}),l(function(e){return e.changed})));r(i(g,S(function(e,t){return{diff:e.prev-t,prev:t}},{diff:0,prev:0}),l(function(e){return e.diff}),s(function(e){return e>0})),p),d(i(g,w(t)),function(e){e[0]<0&&(0,e[1])("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:g},N.ERROR)});var k=u(p);return r(i(p,w(H),l(function(e){var t=e[0],n=e[1];if(n.groupIndices.length>0)throw new Error("Virtuoso: prepending items does not work with groups");return ie(n.sizeTree).reduce(function(e,n){var o=n.k,r=n.v;return{ranges:[].concat(e.ranges,[{startIndex:e.prevIndex,endIndex:o+t-1,size:e.prevSize}]),prevIndex:o+t,prevSize:r}},{ranges:[],prevIndex:0,prevSize:n.lastSize}).ranges})),f),{data:y,totalCount:m,sizeRanges:f,groupIndices:v,defaultItemSize:x,fixedItemSize:C,unshiftWith:p,beforeUnshiftWith:k,firstItemIndex:g,sizes:H,listRefresh:z,statefulTotalCount:h,trackItemSizes:R,itemSize:T}},f(j),{singleton:!0}),ze="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function ke(e){var t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&ze||(t.behavior="auto"),t.offset||(t.offset=0),t}var Be=t(function(e){var t=e[0],a=t.sizes,u=t.totalCount,s=t.listRefresh,c=e[1],f=c.scrollingInProgress,m=c.viewportHeight,h=c.scrollTo,p=c.smoothScrollTargetReached,g=c.headerHeight,v=c.footerHeight,I=e[2].log,C=n(),S=o(0),T=null,b=null,H=null;function R(){T&&(T(),T=null),H&&(H(),H=null),b&&(clearTimeout(b),b=null),x(f,!1)}return r(i(C,w(a,m,u,S,g,v,I),l(function(e){var t=e[0],n=e[1],o=e[2],r=e[3],l=e[4],a=e[5],u=e[6],c=e[7],m=ke(t),h=m.align,g=m.behavior,v=m.offset,I=r-1,S=m.index;"LAST"===S&&(S=I),S=ye(S,n);var w=we(S=Math.max(0,S,Math.min(I,S)),n.offsetTree)+a;"end"===h?(w=w-o+ne(n.sizeTree,S)[1],S===I&&(w+=u)):"center"===h?w=w-o/2+ne(n.sizeTree,S)[1]/2:w-=l,v&&(w+=v);var z=function(e){R(),e?(c("retrying to scroll to",{location:t},N.DEBUG),x(C,t)):c("list did not change, scroll successful",{},N.DEBUG)};if(R(),"smooth"===g){var k=!1;H=d(s,function(e){k=k||e}),T=y(p,function(){z(k)})}else T=y(i(s,function(e){var t=setTimeout(function(){e(!1)},50);return function(n){n&&(e(!0),clearTimeout(t))}}),z);return b=setTimeout(function(){R()},1200),x(f,!0),c("scrolling from index to",{index:S,top:w,behavior:g},N.DEBUG),{top:w,behavior:g}})),h),{scrollToIndex:C,topListHeight:S}},f(Re,U,j),{singleton:!0});function Ee(e,t,n){return"number"==typeof e?n===Y&&"top"===t||"down"===n&&"bottom"===t?e:0:n===Y?"top"===t?e.main:e.reverse:"bottom"===t?e.main:e.reverse}function Le(e,t){return"number"==typeof e?e:e[t]||0}var Pe=t(function(e){var t=e[0],r=t.scrollTop,a=t.viewportHeight,u=t.deviation,d=t.headerHeight,f=n(),m=o(0),p=o(0),g=o(0),v=o(0);return{listBoundary:f,overscan:v,topListHeight:m,fixedHeaderHeight:p,increaseViewportBy:g,visibleRange:I(i(C(h(r),h(a),h(d),h(f,D),h(v),h(m),h(p),h(u),h(g)),l(function(e){var t=e[0],n=e[1],o=e[2],r=e[3],i=r[0],l=r[1],a=e[4],u=e[6],s=e[7],c=e[8],d=t-s,f=e[5]+u,m=Math.max(o-d,0),h="none",p=Le(c,"top"),g=Le(c,"bottom");return i-=s,l+=o,(i+=o)>t+f-p&&(h=Y),(l-=s)<t-m+n+g&&(h="down"),"none"!==h?[Math.max(d-o-Ee(a,"top",h)-p,0),d-m-u+n+Ee(a,"bottom",h)+g]:null}),s(function(e){return null!=e}),c(D)),[0,0])}},f(U),{singleton:!0}),Oe=t(function(e){var t=e[0],a=t.scrollTo,u=t.scrollContainerState,s=n(),c=n(),d=n(),f=o(!1),m=o(void 0);return r(i(C(s,c),l(function(e){var t=e[0],n=t[1];return[Math.max(0,t[0]-e[1].offsetTop),n]})),u),r(i(a,w(c),l(function(e){var t=e[0];return M({},t,{top:t.top+e[1].offsetTop})})),d),{useWindowScroll:f,customScrollParent:m,windowScrollContainerState:s,windowViewportRect:c,windowScrollTo:d}},f(U)),Me={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},Ae={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},Ve=Math.ceil,We=Math.floor,De=Math.min,Fe=Math.max;function Ge(e,t){return Array.from({length:t-e+1}).map(function(t,n){return{index:n+e}})}var Ne=t(function(e){var t=e[0],a=t.overscan,d=t.visibleRange,f=t.listBoundary,m=e[1],p=m.scrollTop,v=m.viewportHeight,S=m.scrollBy,x=m.scrollTo,T=m.smoothScrollTargetReached,y=m.scrollContainerState,b=e[2],H=e[3],R=e[4],z=R.propsReady,k=R.didMount,B=e[5],E=B.windowViewportRect,L=B.windowScrollTo,P=B.useWindowScroll,O=B.customScrollParent,A=B.windowScrollContainerState,V=o(0),W=o(0),G=o(Me),N=o({height:0,width:0}),U=o({height:0,width:0}),_=n(),j=n(),K=o(0);r(i(k,w(W),s(function(e){return 0!==e[1]}),l(function(e){return{items:Ge(0,e[1]-1),top:0,bottom:0,offsetBottom:0,offsetTop:0,itemHeight:0,itemWidth:0}})),G),r(i(C(h(V),d,h(U,function(e,t){return e&&e.width===t.width&&e.height===t.height})),w(N),l(function(e){var t=e[0],n=t[0],o=t[1],r=o[0],i=o[1],l=t[2],a=e[1],u=l.height,s=l.width,c=a.width;if(0===n||0===c)return Me;if(0===s)return Ae;var d=Math.floor(c/s),f=d*We(r/u),m=d*Ve(i/u)-1;m=De(n-1,m);var h=Ge(f=De(m,Fe(0,f)),m),p=Ue(a,l,h),g=p.top,v=p.bottom;return{items:h,offsetTop:g,offsetBottom:Ve(n/d)*u-v,top:g,bottom:v,itemHeight:u,itemWidth:s}})),G),r(i(N,l(function(e){return e.height})),v),r(i(C(N,U,G),l(function(e){var t=Ue(e[0],e[1],e[2].items);return[t.top,t.bottom]}),c(D)),f);var Y=u(i(h(G),s(function(e){return e.items.length>0}),w(V),s(function(e){var t=e[0].items;return t[t.length-1].index===e[1]-1}),l(function(e){return e[1]-1}),c())),Z=u(i(h(G),s(function(e){var t=e.items;return t.length>0&&0===t[0].index}),g(0),c())),q=u(i(h(G),s(function(e){return e.items.length>0}),l(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),c(F)));r(q,H.scrollSeekRangeChanged),r(i(_,w(N,U,V),l(function(e){var t=e[1],n=e[2],o=e[3],r=ke(e[0]),i=r.align,l=r.behavior,a=r.offset,u=r.index;"LAST"===u&&(u=o-1);var s=_e(t,n,u=Math.max(0,u,Math.min(o-1,u)));return"end"===i?s=Math.round(s-t.height+n.height):"center"===i&&(s=Math.round(s-t.height/2+n.height/2)),a&&(s+=a),{top:s,behavior:l}})),x);var J=I(i(G,l(function(e){return e.offsetBottom+e.bottom})),0);return r(i(E,l(function(e){return{width:e.visibleWidth,height:e.visibleHeight}})),N),M({totalCount:V,viewportDimensions:N,itemDimensions:U,scrollTop:p,scrollHeight:j,overscan:a,scrollBy:S,scrollTo:x,scrollToIndex:_,smoothScrollTargetReached:T,windowViewportRect:E,windowScrollTo:L,useWindowScroll:P,customScrollParent:O,windowScrollContainerState:A,deviation:K,scrollContainerState:y,initialItemCount:W},H,{gridState:G,totalListHeight:J},b,{startReached:Z,endReached:Y,rangeChanged:q,propsReady:z})},f(Pe,U,q,J,K,Oe));function Ue(e,t,n){var o=t.height;return void 0===o||0===n.length?{top:0,bottom:0}:{top:_e(e,t,n[0].index),bottom:_e(e,t,n[n.length-1].index)+o}}function _e(e,t,n){var o=Math.floor(e.width/t.width);return We(n/o)*t.height}function je(e,t){void 0===t&&(t=!0);var n=k(null),o=function(e){};if("undefined"!=typeof ResizeObserver){var r=new ResizeObserver(function(t){var n=t[0].target;null!==n.offsetParent&&e(n)});o=function(e){e&&t?(r.observe(e),n.current=e):(n.current&&r.unobserve(n.current),n.current=null)}}return{ref:n,callbackRef:o}}function Ke(e,t){return void 0===t&&(t=!0),je(e,t).callbackRef}function Ye(e,t){var n=k(null),o=B(function(o){if(null!==o){var r,i,l=o.getBoundingClientRect(),a=l.width;if(t){var u=t.getBoundingClientRect(),s=l.top-u.top;r=u.height-Math.max(0,s),i=s+t.scrollTop}else r=window.innerHeight-Math.max(0,l.top),i=l.top+window.pageYOffset;n.current={offsetTop:i,visibleHeight:r,visibleWidth:a},e(n.current)}},[e,t]),r=je(o),i=r.callbackRef,l=r.ref,a=B(function(){o(l.current)},[o,l]);return E(function(){if(t){t.addEventListener("scroll",a);var e=new ResizeObserver(a);return e.observe(t),function(){t.removeEventListener("scroll",a),e.unobserve(t)}}return window.addEventListener("scroll",a),window.addEventListener("resize",a),function(){window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}},[a,t]),i}var Ze="undefined"!=typeof document?L:E;function qe(e,t,n,o,r,i){return Ke(function(n){for(var l=function(e,t,n,o){var r=e.length;if(0===r)return null;for(var i=[],l=0;l<r;l++){var a=e.item(l);if(a&&void 0!==a.dataset.index){var u=parseInt(a.dataset.index),s=parseFloat(a.dataset.knownSize),c=t(a,"offsetHeight");if(0===c&&o("Zero-sized element, this should not happen",{child:a},N.ERROR),c!==s){var d=i[i.length-1];0===i.length||d.size!==c||d.endIndex!==u-1?i.push({startIndex:u,endIndex:u,size:c}):i[i.length-1].endIndex++}}}return i}(n.children,t,0,r),a=n.parentElement;!a.dataset.virtuosoScroller;)a=a.parentElement;var u=i?i.scrollTop:"window"===a.firstElementChild.dataset.viewportType?window.pageYOffset||document.documentElement.scrollTop:a.scrollTop;o(i?[Math.max(u,0),i.scrollHeight]:[Math.max(u,0),a.scrollHeight]),null!==l&&e(l)},n)}function Je(e,t,n,o,r){void 0===o&&(o=b);var i=k(null),l=k(null),a=k(null),u=B(function(n){var o=n.target,r=o===window||o===document?window.pageYOffset||document.documentElement.scrollTop:o.scrollTop,i=o===window?document.documentElement.scrollHeight:o.scrollHeight;e([Math.max(r,0),i]),null!==l.current&&(r===l.current||r<=0||r===o.scrollHeight-ve(o,"height"))&&(l.current=null,t(!0),a.current&&(clearTimeout(a.current),a.current=null))},[e,t]);return E(function(){var e=r||i.current;return o(r||i.current),u({target:e}),e.addEventListener("scroll",u,{passive:!0}),function(){o(null),e.removeEventListener("scroll",u)}},[i,u,n,o,r]),{scrollerRef:i,scrollByCallback:function(e){null===l.current&&i.current.scrollBy(e)},scrollToCallback:function(n){var o=i.current;if(o&&(!("offsetHeight"in o)||0!==o.offsetHeight)){var r,u,s,c="smooth"===n.behavior;if(o===window?(u=Math.max(ve(document.documentElement,"height"),document.documentElement.scrollHeight),r=window.innerHeight,s=document.documentElement.scrollTop):(u=o.scrollHeight,r=ve(o,"height"),s=o.scrollTop),n.top=Math.ceil(Math.max(Math.min(u-r,n.top),0)),Math.abs(r-u)<1.01||n.top===s)return e([s,u]),void(c&&t(!0));c?(l.current=n.top,a.current&&clearTimeout(a.current),a.current=setTimeout(function(){a.current=null,l.current=null,t(!0)},1e3)):l.current=null,o.scrollTo(n)}}}}var $e=t(function(e){var t=e[0],n=t.sizes,l=t.listRefresh,a=t.defaultItemSize,u=e[1].scrollTop,c=e[2].scrollToIndex,f=e[3].didMount,m=o(!0),h=o(0);return r(i(f,w(h),s(function(e){return 0!==e[1]}),g(!1)),m),d(i(C(l,f),w(m,n,a),s(function(e){var t=e[1],n=e[3];return e[0][1]&&(!X(e[2].sizeTree)||void 0!==n)&&!t}),w(h)),function(e){var t=e[1];setTimeout(function(){y(u,function(){x(m,!0)}),x(c,t)})}),{scrolledToInitialItem:m,initialTopMostItemIndex:h}},f(Re,U,Be,K),{singleton:!0});function Qe(e){return!!e&&("smooth"===e?"smooth":"auto")}var Xe=t(function(e){var t=e[0],n=t.totalCount,r=t.listRefresh,u=e[1],c=u.isAtBottom,f=u.atBottomState,m=e[2].scrollToIndex,g=e[3].scrolledToInitialItem,v=e[4],I=v.propsReady,T=v.didMount,b=e[5].log,H=e[6].scrollingInProgress,R=o(!1),z=null;function k(e){x(m,{index:"LAST",align:"end",behavior:e})}return d(i(C(i(h(n),p(1)),T),w(h(R),c,g,H),l(function(e){var t=e[0],n=t[0],o=t[1]&&e[3],r="auto";return o&&(r=function(e,t){return"function"==typeof e?Qe(e(t)):t&&Qe(e)}(e[1],e[2]||e[4]),o=o&&!!r),{totalCount:n,shouldFollow:o,followOutputBehavior:r}}),s(function(e){return e.shouldFollow})),function(e){var t=e.totalCount,n=e.followOutputBehavior;z&&(z(),z=null),z=y(r,function(){a(b)("following output to ",{totalCount:t},N.DEBUG),k(n),z=null})}),d(i(C(h(R),n,I),s(function(e){return e[0]&&e[2]}),S(function(e,t){var n=t[1];return{refreshed:e.value===n,value:n}},{refreshed:!1,value:0}),s(function(e){return e.refreshed}),w(R,n)),function(e){var t=e[1],n=y(f,function(e){!t||e.atBottom||"SIZE_INCREASED"!==e.notAtBottomBecause||z||(a(b)("scrolling to bottom due to increased size",{},N.DEBUG),k("auto"))});setTimeout(n,100)}),d(C(h(R),f),function(e){var t=e[1];e[0]&&!t.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===t.notAtBottomBecause&&k("auto")}),{followOutput:R}},f(Re,q,Be,$e,K,j,U));function et(e){return e.reduce(function(e,t){return e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e},{totalCount:0,groupIndices:[]})}var tt=t(function(e){var t=e[0],o=t.totalCount,a=t.groupIndices,d=t.sizes,f=e[1],m=f.scrollTop,h=f.headerHeight,p=n(),g=n(),v=u(i(p,l(et)));return r(i(v,l(H("totalCount"))),o),r(i(v,l(H("groupIndices"))),a),r(i(C(m,d,h),s(function(e){return be(e[1])}),l(function(e){return ne(e[1].groupOffsetTree,Math.max(e[0]-e[2],0),"v")[0]}),c(),l(function(e){return[e]})),g),{groupCounts:p,topItemsIndexes:g}},f(Re,U)),nt={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0};function ot(e,t,n){if(0===e.length)return[];if(!be(t))return e.map(function(e){return M({},e,{index:e.index+n,originalIndex:e.index})});for(var o,r=[],i=de(t.groupOffsetTree,e[0].index,e[e.length-1].index),l=void 0,a=0,u=W(e);!(o=u()).done;){var s=o.value;(!l||l.end<s.index)&&(l=i.shift(),a=t.groupIndices.indexOf(l.start)),r.push(M({},s.index===l.start?{type:"group",index:a}:{index:s.index-(a+1)+n,groupIndex:a},{size:s.size,offset:s.offset,originalIndex:s.index,data:s.data}))}return r}function rt(e,t,n,o,r){var i=0,l=0;if(e.length>0){i=e[0].offset;var a=e[e.length-1];l=a.offset+a.size}var u=i,s=o.lastOffset+(n-o.lastIndex)*o.lastSize-l;return{items:ot(e,o,r),topItems:ot(t,o,r),topListHeight:t.reduce(function(e,t){return t.size+e},0),offsetTop:i,offsetBottom:s,top:u,bottom:l,totalCount:n}}var it,lt,at,ut=t(function(e){var t=e[0],a=t.sizes,d=t.totalCount,f=t.data,m=t.firstItemIndex,p=e[1],g=e[2],v=g.visibleRange,S=g.listBoundary,x=g.topListHeight,y=e[3],b=y.scrolledToInitialItem,z=y.initialTopMostItemIndex,k=e[4].topListHeight,B=e[5],E=e[6].didMount,L=o([]),P=n();r(p.topItemsIndexes,L);var O=I(i(C(E,h(v),h(d),h(a),h(z),b,h(L),h(m),f),s(function(e){return e[0]}),l(function(e){var t=e[1],n=t[0],o=t[1],r=e[2],i=e[4],l=e[5],a=e[6],u=e[7],s=e[8],c=e[3],d=c.sizeTree,f=c.offsetTree;if(0===r||0===n&&0===o)return nt;if(X(d))return rt(function(e,t,n){if(be(t)){var o=ye(e,t);return[{index:ne(t.groupOffsetTree,o)[0],size:0,offset:0},{index:o,size:0,offset:0,data:n&&n[0]}]}return[{index:e,size:0,offset:0,data:n&&n[0]}]}(i,c,s),[],r,c,u);var m=[];if(a.length>0)for(var h,p=a[0],g=a[a.length-1],v=0,I=W(de(d,p,g));!(h=I()).done;)for(var C=h.value,S=C.value,x=Math.max(C.start,p),T=Math.min(C.end,g),w=x;w<=T;w++)m.push({index:w,size:S,offset:v,data:s&&s[w]}),v+=S;if(!l)return rt([],m,r,c,u);var y=a.length>0?a[a.length-1]+1:0,b=function(e,t,n,o){return void 0===o&&(o=0),o>0&&(t=Math.max(t,ge(e,o,Ce).offset)),fe((i=n,a=pe(r=e,t,l=Se),u=pe(r,i,l,a),r.slice(a,u+1)),xe);var r,i,l,a,u}(f,n,o,y);if(0===b.length)return null;var H=r-1;return rt(R([],function(e){for(var t,r=W(b);!(t=r()).done;){var i=t.value,l=i.value,a=l.offset,u=i.start,c=l.size;l.offset<n&&(a+=((u+=Math.floor((n-l.offset)/c))-i.start)*c),u<y&&(a+=(y-u)*c,u=y);for(var d=Math.min(i.end,H),f=u;f<=d&&!(a>=o);f++)e.push({index:f,size:c,offset:a,data:s&&s[f]}),a+=c}}),m,r,c,u)}),s(function(e){return null!==e}),c()),nt);return r(i(f,s(function(e){return void 0!==e}),l(function(e){return e.length})),d),r(i(O,l(H("topListHeight"))),k),r(k,x),r(i(O,l(function(e){return[e.top,e.bottom]})),S),r(i(O,l(function(e){return e.items})),P),M({listState:O,topItemsIndexes:L,endReached:u(i(O,s(function(e){return e.items.length>0}),w(d,f),s(function(e){var t=e[0].items;return t[t.length-1].originalIndex===e[1]-1}),l(function(e){return[e[1]-1,e[2]]}),c(D),l(function(e){return e[0]}))),startReached:u(i(O,T(200),s(function(e){var t=e.items;return t.length>0&&t[0].originalIndex===e.topItems.length}),l(function(e){return e.items[0].index}),c())),rangeChanged:u(i(O,s(function(e){return e.items.length>0}),l(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),c(F))),itemsRendered:P},B)},f(Re,tt,Pe,$e,Be,q,K),{singleton:!0}),st=t(function(e){var t=e[0],n=t.sizes,a=t.firstItemIndex,u=t.data,c=e[1].listState,d=e[2].didMount,f=o(0);return r(i(d,w(f),s(function(e){return 0!==e[1]}),w(n,a,u),l(function(e){var t=e[0][1],n=e[1],o=e[2],r=e[3],i=void 0===r?[]:r,l=0;if(n.groupIndices.length>0)for(var a,u=W(n.groupIndices);!((a=u()).done||a.value-l>=t);)l++;var s=t+l;return rt(Array.from({length:s}).map(function(e,t){return{index:t,size:0,offset:0,data:i[t]}}),[],s,n,o)})),c),{initialItemCount:f}},f(Re,ut,K),{singleton:!0}),ct=t(function(e){var t=e[0].topItemsIndexes,n=o(0);return r(i(n,s(function(e){return e>0}),l(function(e){return Array.from({length:e}).map(function(e,t){return t})})),t),{topItemCount:n}},f(ut)),dt=t(function(e){var t=e[0],o=t.footerHeight,a=t.headerHeight,u=e[1].listState,s=n(),c=I(i(C(o,a,u),l(function(e){var t=e[2];return e[0]+e[1]+t.offsetBottom+t.bottom})),0);return r(h(c),s),{totalListHeight:c,totalListHeightChanged:s}},f(U,ut),{singleton:!0}),ft=t(function(e){var t=e[0],n=t.scrollBy,o=t.scrollTop,a=t.deviation,c=t.scrollingInProgress,f=e[1],m=f.isScrolling,h=f.isAtBottom,p=f.atBottomState,g=f.scrollDirection,v=e[3],y=v.beforeUnshiftWith,b=v.sizes,H=e[4].log,R=u(i(e[2].listState,w(f.lastJumpDueToItemResize),S(function(e,t){var n=e[1],o=t[0],r=o.items,i=o.totalCount,l=t[1],a=0;if(e[2]===i){if(n.length>0&&r.length>0){var u=1===r.length;if(0!==r[0].originalIndex||0!==n[0].originalIndex)for(var s=function(e){var t=r[e],o=n.find(function(e){return e.originalIndex===t.originalIndex});return o?t.offset!==o.offset||u?(a=t.offset-o.offset+t.size-o.size,"break"):void 0:"continue"},c=r.length-1;c>=0;c--){var d=s(c);if("continue"!==d&&"break"===d)break}}0!==a&&(a+=l)}return[a,r,i]},[0,[],0]),s(function(e){return 0!==e[0]}),w(o,g,c,H,h,p),s(function(e){return!e[3]&&0!==e[1]&&e[2]===Y}),l(function(e){var t=e[0][0];return(0,e[4])("Upward scrolling compensation",{amount:t},N.DEBUG),t})));return r(i(R,w(a),l(function(e){return e[1]-e[0]})),a),d(i(C(I(m,!1),a),s(function(e){return!e[0]&&0!==e[1]}),l(function(e){return e[1]}),T(1)),function(e){e>0?(x(n,{top:-e,behavior:"auto"}),x(a,0)):(x(a,0),x(n,{top:-e,behavior:"auto"}))}),r(i(y,w(b),l(function(e){return e[0]*e[1].lastSize})),R),{deviation:a}},f(U,q,ut,Re,j)),mt=t(function(e){var t=e[0].totalListHeight,n=e[1].didMount,r=e[2].scrollTo,a=o(0);return d(i(n,w(a),s(function(e){return 0!==e[1]}),l(function(e){return{top:e[1]}})),function(e){y(i(t,s(function(e){return 0!==e})),function(){setTimeout(function(){x(r,e)})})}),{initialScrollTop:a}},f(dt,K,U),{singleton:!0}),ht=t(function(e){var t=e[0].viewportHeight,n=e[1].totalListHeight,r=o(!1);return{alignToBottom:r,paddingTopAddition:I(i(C(r,t,n),s(function(e){return e[0]}),l(function(e){return Math.max(0,e[1]-e[2])}),c()),0)}},f(U,dt),{singleton:!0}),pt=t(function(e){var t=e[0],o=t.sizes,a=t.totalCount,u=e[1],c=u.scrollTop,d=u.viewportHeight,f=u.headerHeight,m=u.scrollingInProgress,h=e[2].scrollToIndex,g=n();return r(i(g,w(o,d,a,f,c),l(function(e){var t=e[0],n=t.index,o=t.behavior,r=void 0===o?"auto":o,l=t.done,a=e[1],u=e[2],c=e[4],d=e[5],f=e[3]-1,h=null;n=ye(n,a);var g=we(n=Math.max(0,n,Math.min(f,n)),a.offsetTree)+c;return g<d?h={index:n,behavior:r,align:"start"}:g+ne(a.sizeTree,n)[1]>d+u&&(h={index:n,behavior:r,align:"end"}),h?l&&y(i(m,p(1),s(function(e){return!1===e})),l):l&&l(),h}),s(function(e){return null!==e})),h),{scrollIntoView:g}},f(Re,U,Be,ut,j),{singleton:!0}),gt=t(function(e){return M({},e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},f(Pe,st,K,J,dt,mt,ht,Oe,pt)),vt=t(function(e){var t=e[0],n=t.totalCount,o=t.sizeRanges,a=t.fixedItemSize,u=t.defaultItemSize,s=t.trackItemSizes,c=t.itemSize,d=t.data,f=t.firstItemIndex,m=t.groupIndices,h=t.statefulTotalCount,p=e[1],g=p.initialTopMostItemIndex,v=p.scrolledToInitialItem,I=e[2],C=e[3],S=e[4],x=S.listState,T=S.topItemsIndexes,w=A(S,["listState","topItemsIndexes"]),y=e[5].scrollToIndex,b=e[7].topItemCount,R=e[8].groupCounts,z=e[9],k=e[10];return r(w.rangeChanged,z.scrollSeekRangeChanged),r(i(z.windowViewportRect,l(H("visibleHeight"))),I.viewportHeight),M({totalCount:n,data:d,firstItemIndex:f,sizeRanges:o,initialTopMostItemIndex:g,scrolledToInitialItem:v,topItemsIndexes:T,topItemCount:b,groupCounts:R,fixedItemHeight:a,defaultItemHeight:u},C,{statefulTotalCount:h,listState:x,scrollToIndex:y,trackItemSizes:s,itemSize:c,groupIndices:m},w,z,I,k)},f(Re,$e,U,Xe,ut,Be,ft,ct,tt,gt,j)),It=(it=function(){if("undefined"==typeof document)return"sticky";var e=document.createElement("div");return e.style.position="-webkit-sticky","-webkit-sticky"===e.style.position?"-webkit-sticky":"sticky"},at=!1,function(){return at||(at=!0,lt=it()),lt});function Ct(e){return e}var St=t(function(){var e=o(function(e){return"Item "+e}),t=o(null),n=o(function(e){return"Group "+e}),r=o({}),a=o(Ct),u=o("div"),s=o(b),d=function(e,t){return void 0===t&&(t=null),I(i(r,l(function(t){return t[e]}),c()),t)};return{context:t,itemContent:e,groupContent:n,components:r,computeItemKey:a,headerFooterTag:u,scrollerRef:s,FooterComponent:d("Footer"),HeaderComponent:d("Header"),TopItemListComponent:d("TopItemList"),ListComponent:d("List","div"),ItemComponent:d("Item","div"),GroupComponent:d("Group","div"),ScrollerComponent:d("Scroller","div"),EmptyPlaceholder:d("EmptyPlaceholder"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder")}});function xt(e,t){var o=n();return d(o,function(){return console.warn("react-virtuoso: You are using a deprecated property. "+t,"color: red;","color: inherit;","color: blue;")}),r(o,e),o}var Tt=t(function(e){var t=e[0],o=e[1],u={item:xt(o.itemContent,"Rename the %citem%c prop to %citemContent."),group:xt(o.groupContent,"Rename the %cgroup%c prop to %cgroupContent."),topItems:xt(t.topItemCount,"Rename the %ctopItems%c prop to %ctopItemCount."),itemHeight:xt(t.fixedItemHeight,"Rename the %citemHeight%c prop to %cfixedItemHeight."),scrollingStateChange:xt(t.isScrolling,"Rename the %cscrollingStateChange%c prop to %cisScrolling."),adjustForPrependedItems:n(),maxHeightCacheSize:n(),footer:n(),header:n(),HeaderContainer:n(),FooterContainer:n(),ItemContainer:n(),ScrollContainer:n(),GroupContainer:n(),ListContainer:n(),emptyComponent:n(),scrollSeek:n()};function s(e,t,n){r(i(e,w(o.components),l(function(e){var o,r=e[0],i=e[1];return console.warn("react-virtuoso: "+n+" property is deprecated. Pass components."+t+" instead."),M({},i,((o={})[t]=r,o))})),o.components)}return d(u.adjustForPrependedItems,function(){console.warn("react-virtuoso: adjustForPrependedItems is no longer supported. Use the firstItemIndex property instead - https://virtuoso.dev/prepend-items.","color: red;","color: inherit;","color: blue;")}),d(u.maxHeightCacheSize,function(){console.warn("react-virtuoso: maxHeightCacheSize is no longer necessary. Setting it has no effect - remove it from your code.")}),d(u.HeaderContainer,function(){console.warn("react-virtuoso: HeaderContainer is deprecated. Use headerFooterTag if you want to change the wrapper of the header component and pass components.Header to change its contents.")}),d(u.FooterContainer,function(){console.warn("react-virtuoso: FooterContainer is deprecated. Use headerFooterTag if you want to change the wrapper of the footer component and pass components.Footer to change its contents.")}),d(u.scrollSeek,function(e){var n=e.placeholder,r=A(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),x(o.components,M({},a(o.components),{ScrollSeekPlaceholder:n})),x(t.scrollSeekConfiguration,r)}),s(u.footer,"Footer","footer"),s(u.header,"Header","header"),s(u.ItemContainer,"Item","ItemContainer"),s(u.ListContainer,"List","ListContainer"),s(u.ScrollContainer,"Scroller","ScrollContainer"),s(u.emptyComponent,"EmptyPlaceholder","emptyComponent"),s(u.GroupContainer,"Group","GroupContainer"),M({},t,o,u)},f(vt,St)),wt=function(e){return O("div",{style:{height:e.height}})},yt={position:It(),zIndex:1,overflowAnchor:"none"},bt=P(function(e){var t=e.showTopList,n=void 0!==t&&t,o=Ft("listState"),r=Ft("deviation"),i=Dt("sizeRanges"),l=Ft("useWindowScroll"),a=Ft("customScrollParent"),u=Dt("windowScrollContainerState"),s=Dt("scrollContainerState"),c=a||l?u:s,d=Ft("itemContent"),f=Ft("context"),m=Ft("groupContent"),h=Ft("trackItemSizes"),p=Ft("itemSize"),g=Ft("log"),v=qe(i,p,h,n?b:c,g,a),I=Ft("EmptyPlaceholder"),C=Ft("ScrollSeekPlaceholder")||wt,S=Ft("ListComponent"),x=Ft("ItemComponent"),T=Ft("GroupComponent"),w=Ft("computeItemKey"),y=Ft("isSeeking"),H=Ft("groupIndices").length>0,R=Ft("paddingTopAddition"),z=Ft("firstItemIndex"),k=Ft("statefulTotalCount"),B=n?{}:{boxSizing:"border-box",paddingTop:o.offsetTop+R,paddingBottom:o.offsetBottom,marginTop:r};return!n&&0===k&&I?O(I,kt(I,f)):O(S,M({},kt(S,f),{ref:v,style:B,"data-test-id":n?"virtuoso-top-item-list":"virtuoso-item-list"}),(n?o.topItems:o.items).map(function(e){var t=e.originalIndex,n=w(t+z,e.data,f);return y?O(C,M({},kt(C,f),{key:n,index:e.index,height:e.size,type:e.type||"item"},"group"===e.type?{}:{groupIndex:e.groupIndex})):"group"===e.type?O(T,M({},kt(T,f),{key:n,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:yt}),m(e.index)):O(x,M({},kt(x,f),{key:n,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,"data-item-group-index":e.groupIndex,style:{overflowAnchor:"none"}}),H?d(e.index,e.groupIndex,e.data,f):d(e.index,e.data,f))}))}),Ht={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},Rt={width:"100%",height:"100%",position:"absolute",top:0},zt={width:"100%",position:It(),top:0};function kt(e,t){if("string"!=typeof e)return{context:t}}var Bt=P(function(){var e=Ft("HeaderComponent"),t=Dt("headerHeight"),n=Ft("headerFooterTag"),o=Ke(function(e){return t(ve(e,"height"))}),r=Ft("context");return e?O(n,{ref:o},O(e,kt(e,r))):null}),Et=P(function(){var e=Ft("FooterComponent"),t=Dt("footerHeight"),n=Ft("headerFooterTag"),o=Ke(function(e){return t(ve(e,"height"))}),r=Ft("context");return e?O(n,{ref:o},O(e,kt(e,r))):null});function Lt(e){var t=e.usePublisher,n=e.useEmitter,o=e.useEmitterValue;return P(function(e){var r=e.style,i=e.children,l=A(e,["style","children"]),a=t("scrollContainerState"),u=o("ScrollerComponent"),s=t("smoothScrollTargetReached"),c=o("scrollerRef"),d=o("context"),f=Je(a,s,u,c),m=f.scrollerRef,h=f.scrollByCallback;return n("scrollTo",f.scrollToCallback),n("scrollBy",h),O(u,M({ref:m,style:M({},Ht,r),"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0},l,kt(u,d)),i)})}function Pt(e){var t=e.usePublisher,n=e.useEmitter,o=e.useEmitterValue;return P(function(e){var r=e.style,i=e.children,l=A(e,["style","children"]),a=t("windowScrollContainerState"),u=o("ScrollerComponent"),s=t("smoothScrollTargetReached"),c=o("totalListHeight"),d=o("deviation"),f=o("customScrollParent"),m=o("context"),h=Je(a,s,u,b,f),p=h.scrollerRef,g=h.scrollByCallback,v=h.scrollToCallback;return Ze(function(){return p.current=f||window,function(){p.current=null}},[p,f]),n("windowScrollTo",v),n("scrollBy",g),O(u,M({style:M({position:"relative"},r,0!==c?{height:c+d}:{}),"data-virtuoso-scroller":!0},l,kt(u,m)),i)})}var Ot=function(e){var t=e.children,n=Dt("viewportHeight"),o=Ke(z(n,function(e){return ve(e,"height")}));return O("div",{style:Rt,ref:o,"data-viewport-type":"element"},t)},Mt=function(e){var t=e.children,n=Ye(Dt("windowViewportRect"),Ft("customScrollParent"));return O("div",{ref:n,style:Rt,"data-viewport-type":"window"},t)},At=function(e){var t=e.children,n=Ft("TopItemListComponent"),o=Ft("headerHeight"),r=M({},zt,{marginTop:o+"px"}),i=Ft("context");return O(n||"div",{style:r,context:i},t)},Vt=e(Tt,{required:{},optional:{context:"context",followOutput:"followOutput",firstItemIndex:"firstItemIndex",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",topItemCount:"topItemCount",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",groupCounts:"groupCounts",atBottomThreshold:"atBottomThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",item:"item",group:"group",topItems:"topItems",itemHeight:"itemHeight",scrollingStateChange:"scrollingStateChange",maxHeightCacheSize:"maxHeightCacheSize",footer:"footer",header:"header",ItemContainer:"ItemContainer",ScrollContainer:"ScrollContainer",ListContainer:"ListContainer",GroupContainer:"GroupContainer",emptyComponent:"emptyComponent",HeaderContainer:"HeaderContainer",FooterContainer:"FooterContainer",scrollSeek:"scrollSeek"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",adjustForPrependedItems:"adjustForPrependedItems"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},P(function(e){var t=Ft("useWindowScroll"),n=Ft("topItemsIndexes").length>0,o=Ft("customScrollParent"),r=o||t?Mt:Ot;return O(o||t?Ut:Nt,M({},e),O(r,null,O(Bt,null),O(bt,null),O(Et,null)),n&&O(At,null,O(bt,{showTopList:!0})))})),Wt=Vt.Component,Dt=Vt.usePublisher,Ft=Vt.useEmitterValue,Gt=Vt.useEmitter,Nt=Lt({usePublisher:Dt,useEmitterValue:Ft,useEmitter:Gt}),Ut=Pt({usePublisher:Dt,useEmitterValue:Ft,useEmitter:Gt}),_t=t(function(){var e=o(function(e){return"Item "+e}),t=o({}),n=o(null),r=o("virtuoso-grid-item"),a=o("virtuoso-grid-list"),u=o(Ct),s=o(b),d=function(e,n){return void 0===n&&(n=null),I(i(t,l(function(t){return t[e]}),c()),n)};return{context:n,itemContent:e,components:t,computeItemKey:u,itemClassName:r,listClassName:a,scrollerRef:s,ListComponent:d("List","div"),ItemComponent:d("Item","div"),ScrollerComponent:d("Scroller","div"),ScrollSeekPlaceholder:d("ScrollSeekPlaceholder","div")}}),jt=t(function(e){var t=e[0],o=e[1],u={item:xt(o.itemContent,"Rename the %citem%c prop to %citemContent."),ItemContainer:n(),ScrollContainer:n(),ListContainer:n(),emptyComponent:n(),scrollSeek:n()};function s(e,t,n){r(i(e,w(o.components),l(function(e){var o,r=e[0],i=e[1];return console.warn("react-virtuoso: "+n+" property is deprecated. Pass components."+t+" instead."),M({},i,((o={})[t]=r,o))})),o.components)}return d(u.scrollSeek,function(e){var n=e.placeholder,r=A(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),x(o.components,M({},a(o.components),{ScrollSeekPlaceholder:n})),x(t.scrollSeekConfiguration,r)}),s(u.ItemContainer,"Item","ItemContainer"),s(u.ListContainer,"List","ListContainer"),s(u.ScrollContainer,"Scroller","ScrollContainer"),M({},t,o,u)},f(Ne,_t)),Kt=P(function(){var e=Qt("gridState"),t=Qt("listClassName"),n=Qt("itemClassName"),o=Qt("itemContent"),r=Qt("computeItemKey"),i=Qt("isSeeking"),l=$t("scrollHeight"),a=Qt("ItemComponent"),u=Qt("ListComponent"),s=Qt("ScrollSeekPlaceholder"),c=Qt("context"),d=$t("itemDimensions"),f=Ke(function(e){l(e.parentElement.parentElement.scrollHeight);var t=e.firstChild;t&&d(t.getBoundingClientRect())});return O(u,M({ref:f,className:t},kt(u,c),{style:{paddingTop:e.offsetTop,paddingBottom:e.offsetBottom}}),e.items.map(function(t){var l=r(t.index);return i?O(s,M({key:l},kt(s,c),{index:t.index,height:e.itemHeight,width:e.itemWidth})):O(a,M({},kt(a,c),{className:n,"data-index":t.index,key:l}),o(t.index,c))}))}),Yt=function(e){var t=e.children,n=$t("viewportDimensions"),o=Ke(function(e){n(e.getBoundingClientRect())});return O("div",{style:Rt,ref:o},t)},Zt=function(e){var t=e.children,n=Ye($t("windowViewportRect"),Qt("customScrollParent"));return O("div",{ref:n,style:Rt},t)},qt=e(jt,{optional:{totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",item:"item",ItemContainer:"ItemContainer",ScrollContainer:"ScrollContainer",ListContainer:"ListContainer",scrollSeek:"scrollSeek"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange"}},P(function(e){var t=M({},e),n=Qt("useWindowScroll"),o=Qt("customScrollParent"),r=o||n?Zt:Yt;return O(o||n?tn:en,M({},t),O(r,null,O(Kt,null)))})),Jt=qt.Component,$t=qt.usePublisher,Qt=qt.useEmitterValue,Xt=qt.useEmitter,en=Lt({usePublisher:$t,useEmitterValue:Qt,useEmitter:Xt}),tn=Pt({usePublisher:$t,useEmitterValue:Qt,useEmitter:Xt}),nn=t(function(){var e=o(function(e){return O("td",null,"Item $",e)}),t=o(null),n=o(null),r=o({}),a=o(Ct),u=o(b),s=function(e,t){return void 0===t&&(t=null),I(i(r,l(function(t){return t[e]}),c()),t)};return{context:t,itemContent:e,fixedHeaderContent:n,components:r,computeItemKey:a,scrollerRef:u,TableComponent:s("Table","table"),TableHeadComponent:s("TableHead","thead"),TableBodyComponent:s("TableBody","tbody"),TableRowComponent:s("TableRow","tr"),ScrollerComponent:s("Scroller","div"),EmptyPlaceholder:s("EmptyPlaceholder"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder")}}),on=t(function(e){return M({},e[0],e[1])},f(vt,nn)),rn=function(e){return O("tr",null,O("td",{style:{height:e.height}}))},ln=function(e){return O("tr",null,O("td",{style:{height:e.height,padding:0,border:0}}))},an=P(function(){var e=mn("listState"),t=mn("deviation"),n=fn("sizeRanges"),o=mn("useWindowScroll"),r=mn("customScrollParent"),i=fn("windowScrollContainerState"),l=fn("scrollContainerState"),a=r||o?i:l,u=mn("itemContent"),s=mn("trackItemSizes"),c=qe(n,mn("itemSize"),s,a,mn("log"),r),d=mn("EmptyPlaceholder"),f=mn("ScrollSeekPlaceholder")||rn,m=mn("TableBodyComponent"),h=mn("TableRowComponent"),p=mn("computeItemKey"),g=mn("isSeeking"),v=mn("paddingTopAddition"),I=mn("firstItemIndex"),C=mn("statefulTotalCount"),S=mn("context");if(0===C&&d)return O(d,kt(d,S));var x=e.offsetTop+v+t,T=e.offsetBottom,w=x>0?O(ln,{height:x,key:"padding-top"}):null,y=T>0?O(ln,{height:T,key:"padding-bottom"}):null,b=e.items.map(function(e){var t=e.originalIndex,n=p(t+I,e.data,S);return g?O(f,M({},kt(f,S),{key:n,index:e.index,height:e.size,type:e.type||"item"})):O(h,M({},kt(h,S),{key:n,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:{overflowAnchor:"none"}}),u(e.index,e.data,S))});return O(m,M({ref:c,"data-test-id":"virtuoso-item-list"},kt(m,S)),[w].concat(b,[y]))}),un=function(e){var t=e.children,n=fn("viewportHeight"),o=Ke(z(n,function(e){return ve(e,"height")}));return O("div",{style:Rt,ref:o,"data-viewport-type":"element"},t)},sn=function(e){var t=e.children,n=Ye(fn("windowViewportRect"),mn("customScrollParent"));return O("div",{ref:n,style:Rt,"data-viewport-type":"window"},t)},cn=e(on,{required:{},optional:{context:"context",followOutput:"followOutput",firstItemIndex:"firstItemIndex",itemContent:"itemContent",fixedHeaderContent:"fixedHeaderContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",topItemCount:"topItemCount",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",groupCounts:"groupCounts",atBottomThreshold:"atBottomThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},P(function(e){var t=mn("useWindowScroll"),n=mn("customScrollParent"),o=fn("fixedHeaderHeight"),r=mn("fixedHeaderContent"),i=mn("context"),l=Ke(z(o,function(e){return ve(e,"height")})),a=n||t?gn:pn,u=n||t?sn:un,s=mn("TableComponent"),c=mn("TableHeadComponent"),d=r?O(c,M({key:"TableHead",style:{zIndex:1,position:"sticky",top:0},ref:l},kt(c,i)),r()):null;return O(a,M({},e),O(u,null,O(s,M({style:{borderSpacing:0}},kt(s,i)),[d,O(an,{key:"TableBody"})])))})),dn=cn.Component,fn=cn.usePublisher,mn=cn.useEmitterValue,hn=cn.useEmitter,pn=Lt({usePublisher:fn,useEmitterValue:mn,useEmitter:hn}),gn=Pt({usePublisher:fn,useEmitterValue:mn,useEmitter:hn}),vn=Wt,In=Wt,Cn=dn,Sn=Jt;export{In as GroupedVirtuoso,N as LogLevel,Cn as TableVirtuoso,vn as Virtuoso,Sn as VirtuosoGrid};
2
- //# sourceMappingURL=index.m.js.map