react-virtuoso 2.12.0 → 2.12.1

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