react-virtuoso 2.9.0 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +19 -5
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.m.js +1 -1
- package/dist/index.m.js.map +1 -1
- package/package.json +7 -6
package/dist/index.d.ts
CHANGED
|
@@ -80,7 +80,7 @@ export declare interface FillerRowProps {
|
|
|
80
80
|
height: number;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
export declare type FixedHeaderContent = (() => React.
|
|
83
|
+
export declare type FixedHeaderContent = (() => React.ReactNode[]) | null;
|
|
84
84
|
|
|
85
85
|
export declare type FollowOutput = FollowOutputCallback | FollowOutputScalarType;
|
|
86
86
|
|
|
@@ -185,11 +185,11 @@ export declare interface GroupItemContent<D, C> {
|
|
|
185
185
|
(index: number, groupIndex: number, data: D, context: C): ReactNode;
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
-
export declare
|
|
188
|
+
export declare type GroupProps = Pick<ComponentPropsWithRef<'div'>, 'style' | 'children'> & {
|
|
189
189
|
'data-index': number;
|
|
190
190
|
'data-item-index': number;
|
|
191
191
|
'data-known-size': number;
|
|
192
|
-
}
|
|
192
|
+
};
|
|
193
193
|
|
|
194
194
|
export declare interface IndexLocationWithAlign {
|
|
195
195
|
/**
|
|
@@ -221,12 +221,12 @@ export declare interface ItemContent<D, C> {
|
|
|
221
221
|
(index: number, data: D, context: C): ReactNode;
|
|
222
222
|
}
|
|
223
223
|
|
|
224
|
-
export declare
|
|
224
|
+
export declare type ItemProps = Pick<ComponentPropsWithRef<'div'>, 'style' | 'children'> & {
|
|
225
225
|
'data-index': number;
|
|
226
226
|
'data-item-index': number;
|
|
227
227
|
'data-item-group-index'?: number;
|
|
228
228
|
'data-known-size': number;
|
|
229
|
-
}
|
|
229
|
+
};
|
|
230
230
|
|
|
231
231
|
export declare type ListItem<D> = RecordItem<D> | GroupItem<D>;
|
|
232
232
|
|
|
@@ -258,6 +258,12 @@ export declare interface RecordItem<D> extends Item<D> {
|
|
|
258
258
|
data?: D;
|
|
259
259
|
}
|
|
260
260
|
|
|
261
|
+
export declare interface ScrollContainerState {
|
|
262
|
+
scrollHeight: number;
|
|
263
|
+
scrollTop: number;
|
|
264
|
+
viewportHeight: number;
|
|
265
|
+
}
|
|
266
|
+
|
|
261
267
|
/**
|
|
262
268
|
* Passed to the Components.Scroller custom component
|
|
263
269
|
*/
|
|
@@ -547,6 +553,10 @@ export declare interface TableVirtuosoProps<D, C> extends Omit<VirtuosoProps<D,
|
|
|
547
553
|
* By default `4`. Redefine to change how much away from the bottom the scroller can be before the list is not considered not at bottom.
|
|
548
554
|
*/
|
|
549
555
|
atBottomThreshold?: number;
|
|
556
|
+
/**
|
|
557
|
+
* Reduces an edge case blinking visible in React18 by enabling flushSync in certain changes.
|
|
558
|
+
*/
|
|
559
|
+
react18ConcurrentRendering?: boolean;
|
|
550
560
|
}
|
|
551
561
|
|
|
552
562
|
export declare type TopItemListProps = Pick<ComponentPropsWithRef<'div'>, 'style' | 'children'>;
|
|
@@ -849,6 +859,10 @@ export declare interface VirtuosoProps<D, C> extends ListRootProps {
|
|
|
849
859
|
* By default `4`. Redefine to change how much away from the bottom the scroller can be before the list is not considered not at bottom.
|
|
850
860
|
*/
|
|
851
861
|
atBottomThreshold?: number;
|
|
862
|
+
/**
|
|
863
|
+
* Reduces an edge case blinking visible in React18 by enabling flushSync in certain changes.
|
|
864
|
+
*/
|
|
865
|
+
react18ConcurrentRendering?: boolean;
|
|
852
866
|
}
|
|
853
867
|
|
|
854
868
|
export declare interface WindowViewportInfo {
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@virtuoso.dev/react-urx"),t=require("@virtuoso.dev/urx"),n=require("react");function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,t}var o=r(t),i=r(n);function a(){return a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a.apply(this,arguments)}function l(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||(o[n]=e[n]);return o}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function u(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 s(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)?s(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}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 c,m,d="undefined"!=typeof document?n.useLayoutEffect:n.useEffect;exports.LogLevel=void 0,(m=exports.LogLevel||(exports.LogLevel={}))[m.DEBUG=0]="DEBUG",m[m.INFO=1]="INFO",m[m.WARN=2]="WARN",m[m.ERROR=3]="ERROR";var f=((c={})[exports.LogLevel.DEBUG]="debug",c[exports.LogLevel.INFO]="log",c[exports.LogLevel.WARN]="warn",c[exports.LogLevel.ERROR]="error",c),p=o.system(function(){var e=o.statefulStream(exports.LogLevel.ERROR);return{log:o.statefulStream(function(t,n,r){var i;void 0===r&&(r=exports.LogLevel.INFO),r>=(null!=(i=("undefined"==typeof globalThis?window:globalThis).VIRTUOSO_LOG_LEVEL)?i:o.getValue(e))&&console[f[r]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,n)}),logLevel:e}},[],{singleton:!0});function h(e,t){void 0===t&&(t=!0);var r=n.useRef(null),o=function(e){};if("undefined"!=typeof ResizeObserver){var i=new ResizeObserver(function(t){var n=t[0].target;null!==n.offsetParent&&e(n)});o=function(e){e&&t?(i.observe(e),r.current=e):(r.current&&i.unobserve(r.current),r.current=null)}}return{ref:r,callbackRef:o}}function g(e,t){return void 0===t&&(t=!0),h(e,t).callbackRef}function v(e,t,n,r,o,i){return g(function(n){for(var a=function(e,t,n,r){var o=e.length;if(0===o)return null;for(var i=[],a=0;a<o;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&&r("Zero-sized element, this should not happen",{child:l},exports.LogLevel.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,o),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;r(i?[Math.max(s,0),i.scrollHeight]:[Math.max(s,0),l.scrollHeight]),null!==a&&e(a)},n)}function S(e,t){return Math.round(e.getBoundingClientRect()[t])}function C(e,t,r,i,a){void 0===i&&(i=o.noop);var l=n.useRef(null),s=n.useRef(null),u=n.useRef(null),c=n.useCallback(function(n){var r=n.target,o=r===window||r===document?window.pageYOffset||document.documentElement.scrollTop:r.scrollTop,i=r===window?document.documentElement.scrollHeight:r.scrollHeight;e([Math.max(o,0),i]),null!==s.current&&(o===s.current||o<=0||o===r.scrollHeight-S(r,"height"))&&(s.current=null,t(!0),u.current&&(clearTimeout(u.current),u.current=null))},[e,t]);return n.useEffect(function(){var e=a||l.current;return i(a||l.current),c({target:e}),e.addEventListener("scroll",c,{passive:!0}),function(){i(null),e.removeEventListener("scroll",c)}},[l,c,r,i,a]),{scrollerRef:l,scrollByCallback:function(e){null===s.current&&l.current.scrollBy(e)},scrollToCallback:function(n){var r=l.current;if(r&&(!("offsetHeight"in r)||0!==r.offsetHeight)){var o,i,a,c="smooth"===n.behavior;if(r===window?(i=Math.max(S(document.documentElement,"height"),document.documentElement.scrollHeight),o=window.innerHeight,a=document.documentElement.scrollTop):(i=r.scrollHeight,o=S(r,"height"),a=r.scrollTop),n.top=Math.ceil(Math.max(Math.min(i-o,n.top),0)),Math.abs(o-i)<1.01||n.top===a)return e([a,i]),void(c&&t(!0));c?(s.current=n.top,u.current&&clearTimeout(u.current),u.current=setTimeout(function(){u.current=null,s.current=null,t(!0)},1e3)):s.current=null,r.scrollTo(n)}}}}var I=o.system(function(){var e=o.stream(),t=o.stream(),n=o.statefulStream(0),r=o.stream(),i=o.statefulStream(0),a=o.stream(),l=o.stream(),s=o.statefulStream(0),u=o.statefulStream(0),c=o.stream(),m=o.stream(),d=o.statefulStream(!1);return o.connect(o.pipe(e,o.map(function(e){return e[0]})),t),o.connect(o.pipe(e,o.map(function(e){return e[1]})),l),o.connect(t,i),{scrollContainerState:e,scrollTop:t,viewportHeight:a,headerHeight:s,footerHeight:u,scrollHeight:l,smoothScrollTargetReached:r,scrollTo:c,scrollBy:m,statefulScrollTop:i,deviation:n,scrollingInProgress:d}},[],{singleton:!0}),x={lvl:0};function T(e,t,n,r,o){return void 0===r&&(r=x),void 0===o&&(o=x),{k:e,v:t,lvl:n,l:r,r:o}}function w(e){return e===x}function y(){return x}function b(e,t){if(w(e))return x;var n=e.k,r=e.l,o=e.r;if(t===n){if(w(r))return o;if(w(o))return r;var i=k(r);return P(B(e,{k:i[0],v:i[1],l:z(r)}))}return P(B(e,t<n?{l:b(r,t)}:{r:b(o,t)}))}function E(e,t,n){if(void 0===n&&(n="k"),w(e))return[-Infinity,void 0];if(e[n]===t)return[e.k,e.v];if(e[n]<t){var r=E(e.r,t,n);return-Infinity===r[0]?[e.k,e.v]:r}return E(e.l,t,n)}function L(e,t,n){return w(e)?T(t,n,1):t===e.k?B(e,{k:t,v:n}):function(e){return V(U(e))}(B(e,t<e.k?{l:L(e.l,t,n)}:{r:L(e.r,t,n)}))}function R(e,t,n){if(w(e))return[];var r=e.k,o=e.v,i=e.r,a=[];return r>t&&(a=a.concat(R(e.l,t,n))),r>=t&&r<=n&&a.push({k:r,v:o}),r<=n&&(a=a.concat(R(i,t,n))),a}function H(e){return w(e)?[]:[].concat(H(e.l),[{k:e.k,v:e.v}],H(e.r))}function k(e){return w(e.r)?[e.k,e.v]:k(e.r)}function z(e){return w(e.r)?e.l:P(B(e,{r:z(e.r)}))}function B(e,t){return T(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 F(e){return w(e)||e.lvl>e.r.lvl}function P(e){var t=e.l,n=e.r,r=e.lvl;if(n.lvl>=r-1&&t.lvl>=r-1)return e;if(r>n.lvl+1){if(F(t))return U(B(e,{lvl:r-1}));if(w(t)||w(t.r))throw new Error("Unexpected empty nodes");return B(t.r,{l:B(t,{r:t.r.l}),r:B(e,{l:t.r.r,lvl:r-1}),lvl:r})}if(F(e))return V(B(e,{lvl:r-1}));if(w(n)||w(n.l))throw new Error("Unexpected empty nodes");var o=n.l,i=F(o)?n.lvl-1:n.lvl;return B(o,{l:B(e,{r:o.l,lvl:r-1}),r:V(B(n,{l:o.r,lvl:i})),lvl:o.lvl+1})}function O(e,t,n){return w(e)?[]:M(R(e,E(e,t)[0],n),function(e){return{index:e.k,value:e.v}})}function M(e,t){var n=e.length;if(0===n)return[];for(var r=t(e[0]),o=r.index,i=r.value,a=[],l=1;l<n;l++){var s=t(e[l]),u=s.index,c=s.value;a.push({start:o,end:u-1,value:i}),o=u,i=c}return a.push({start:o,end:Infinity,value:i}),a}function V(e){var t=e.r,n=e.lvl;return w(t)||w(t.r)||t.lvl!==n||t.r.lvl!==n?e:B(t,{l:B(e,{r:t.l}),lvl:n+1})}function U(e){var t=e.l;return w(t)||t.lvl!==e.lvl?e:B(t,{r:B(e,{l:t.r})})}function A(e,t,n,r){void 0===r&&(r=0);for(var o=e.length-1;r<=o;){var i=Math.floor((r+o)/2),a=n(e[i],t);if(0===a)return i;if(-1===a){if(o-r<2)return i-1;o=i-1}else{if(o===r)return i;r=i+1}}throw new Error("Failed binary finding record in array - "+e.join(",")+", searched for "+t)}function W(e,t,n){return e[A(e,t,n)]}function N(e){var t=e.size,n=e.startIndex,r=e.endIndex;return function(e){return e.start===n&&(e.end===r||Infinity===e.end)&&e.value===t}}function D(e,t){var n=e.index;return t===n?0:t<n?-1:1}function G(e,t){var n=e.offset;return t===n?0:t<n?-1:1}function j(e){return{index:e.index,value:e}}function _(e,t,n){var r=e,o=0,i=0,a=0,l=0;if(0!==t){a=r[l=A(r,t-1,D)].offset;var s=E(n,t-1);o=s[0],i=s[1],r.length&&r[l].size===E(n,t)[1]&&(l-=1),r=r.slice(0,l+1)}else r=[];for(var c,m=u(O(n,t,Infinity));!(c=m()).done;){var d=c.value,f=d.start,p=d.value,h=(f-o)*i+a;r.push({offset:h,size:p,index:f}),o=f,a=h,i=p}return{offsetTree:r,lastIndex:o,lastOffset:a,lastSize:i}}function K(e,t){var n=t[0],r=t[1];n.length>0&&(0,t[2])("received item sizes",n,exports.LogLevel.DEBUG);var o=e.sizeTree,i=o,a=0;if(r.length>0&&w(o)&&2===n.length){var l=n[0].size,s=n[1].size;i=r.reduce(function(e,t){return L(L(e,t,l),t+1,s)},i)}else{var c=function(e,t){for(var n,r=w(e)?0:Infinity,o=u(t);!(n=o()).done;){var i=n.value,a=i.size,l=i.startIndex,s=i.endIndex;if(r=Math.min(r,l),w(e))e=L(e,0,a);else{var c=O(e,l-1,s+1);if(!c.some(N(i))){for(var m,d=!1,f=!1,p=u(c);!(m=p()).done;){var h=m.value,g=h.start,v=h.end,S=h.value;d?(s>=g||a===S)&&(e=b(e,g)):(f=S!==a,d=!0),v>s&&s>=g&&S!==a&&(e=L(e,s+1,S))}f&&(e=L(e,l,a))}}}return[e,r]}(i,n);i=c[0],a=c[1]}if(i===o)return e;var m=_(e.offsetTree,a,i),d=m.offsetTree;return{sizeTree:i,offsetTree:d,lastIndex:m.lastIndex,lastOffset:m.lastOffset,lastSize:m.lastSize,groupOffsetTree:r.reduce(function(e,t){return L(e,t,Y(t,d))},y()),groupIndices:r}}function Y(e,t){if(0===t.length)return 0;var n=W(t,e,D);return n.size*(e-n.index)+n.offset}function q(e,t){if(!Z(t))return e;for(var n=0;t.groupIndices[n]<=e+n;)n++;return e+n}function Z(e){return!w(e.groupOffsetTree)}var J={offsetHeight:"height",offsetWidth:"width"},$=o.system(function(e){var t=e[0].log,n=o.stream(),r=o.stream(),i=o.statefulStreamFromEmitter(r,0),l=o.stream(),s=o.stream(),u=o.statefulStream(0),c=o.statefulStream([]),m=o.statefulStream(void 0),d=o.statefulStream(void 0),f=o.statefulStream(function(e,t){return S(e,J[t])}),p=o.statefulStream(void 0),h={offsetTree:[],sizeTree:y(),groupOffsetTree:y(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]},g=o.statefulStreamFromEmitter(o.pipe(n,o.withLatestFrom(c,t),o.scan(K,h),o.distinctUntilChanged()),h);o.connect(o.pipe(c,o.filter(function(e){return e.length>0}),o.withLatestFrom(g),o.map(function(e){var t=e[0],n=e[1],r=t.reduce(function(e,t,r){return L(e,t,Y(t,n.offsetTree)||r)},y());return a({},n,{groupIndices:t,groupOffsetTree:r})})),g),o.connect(o.pipe(r,o.withLatestFrom(g),o.filter(function(e){return e[0]<e[1].lastIndex}),o.map(function(e){var t=e[1];return[{startIndex:e[0],endIndex:t.lastIndex,size:t.lastSize}]})),n),o.connect(m,d);var v=o.statefulStreamFromEmitter(o.pipe(m,o.map(function(e){return void 0===e})),!0);o.connect(o.pipe(d,o.filter(function(e){return void 0!==e&&w(o.getValue(g).sizeTree)}),o.map(function(e){return[{startIndex:0,endIndex:0,size:e}]})),n);var C=o.streamFromEmitter(o.pipe(n,o.withLatestFrom(g),o.scan(function(e,t){var n=t[1];return{changed:n!==e.sizes,sizes:n}},{changed:!1,sizes:h}),o.map(function(e){return e.changed})));o.subscribe(o.pipe(u,o.scan(function(e,t){return{diff:e.prev-t,prev:t}},{diff:0,prev:0}),o.map(function(e){return e.diff})),function(e){e>0?o.publish(l,e):e<0&&o.publish(s,e)}),o.subscribe(o.pipe(u,o.withLatestFrom(t)),function(e){e[0]<0&&(0,e[1])("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:u},exports.LogLevel.ERROR)});var I=o.streamFromEmitter(l);o.connect(o.pipe(l,o.withLatestFrom(g),o.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 H(n.sizeTree).reduce(function(e,n){var r=n.k,o=n.v;return{ranges:[].concat(e.ranges,[{startIndex:e.prevIndex,endIndex:r+t-1,size:e.prevSize}]),prevIndex:r+t,prevSize:o}},{ranges:[],prevIndex:0,prevSize:n.lastSize}).ranges})),n);var x=o.streamFromEmitter(o.pipe(s,o.withLatestFrom(g),o.map(function(e){return Y(-e[0],e[1].offsetTree)})));return o.connect(o.pipe(s,o.withLatestFrom(g),o.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 r=H(n.sizeTree).reduce(function(e,n){var r=n.v;return L(e,Math.max(0,n.k+t),r)},y());return a({},n,{sizeTree:r},_(n.offsetTree,0,r))})),g),{data:p,totalCount:r,sizeRanges:n,groupIndices:c,defaultItemSize:d,fixedItemSize:m,unshiftWith:l,shiftWith:s,shiftWithOffset:x,beforeUnshiftWith:I,firstItemIndex:u,sizes:g,listRefresh:C,statefulTotalCount:i,trackItemSizes:v,itemSize:f}},o.tup(p),{singleton:!0}),Q="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function X(e){var t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&Q||(t.behavior="auto"),t.offset||(t.offset=0),t}var ee=o.system(function(e){var t=e[0],n=t.sizes,r=t.totalCount,i=t.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=o.stream(),h=o.statefulStream(0),g=null,v=null,S=null;function C(){g&&(g(),g=null),S&&(S(),S=null),v&&(clearTimeout(v),v=null),o.publish(l,!1)}return o.connect(o.pipe(p,o.withLatestFrom(n,s,r,h,m,d,f),o.map(function(e){var t=e[0],n=e[1],r=e[2],a=e[3],s=e[4],u=e[5],m=e[6],d=e[7],f=X(t),h=f.align,I=f.behavior,x=f.offset,T=a-1,w=f.index;"LAST"===w&&(w=T),w=q(w,n);var y=Y(w=Math.max(0,w,Math.min(T,w)),n.offsetTree)+u;"end"===h?(y=y-r+E(n.sizeTree,w)[1],w===T&&(y+=m)):"center"===h?y=y-r/2+E(n.sizeTree,w)[1]/2:y-=s,x&&(y+=x);var b=function(e){C(),e?(d("retrying to scroll to",{location:t},exports.LogLevel.DEBUG),o.publish(p,t)):d("list did not change, scroll successful",{},exports.LogLevel.DEBUG)};if(C(),"smooth"===I){var L=!1;S=o.subscribe(i,function(e){L=L||e}),g=o.handleNext(c,function(){b(L)})}else g=o.handleNext(o.pipe(i,function(e){var t=setTimeout(function(){e(!1)},50);return function(n){n&&(e(!0),clearTimeout(t))}}),b);return v=setTimeout(function(){C()},1200),o.publish(l,!0),d("scrolling from index to",{index:w,top:y,behavior:I},exports.LogLevel.DEBUG),{top:y,behavior:I}})),u),{scrollToIndex:p,topListHeight:h}},o.tup($,I,p),{singleton:!0}),te="up",ne={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},re=o.system(function(e){var t=e[0],n=t.scrollContainerState,r=t.scrollTop,i=t.viewportHeight,a=t.headerHeight,l=t.footerHeight,s=t.scrollBy,u=o.statefulStream(!1),c=o.statefulStream(!0),m=o.stream(),d=o.stream(),f=o.statefulStream(4),p=o.streamFromEmitter(o.pipe(o.merge(o.pipe(o.duc(r),o.skip(1),o.mapTo(!0)),o.pipe(o.duc(r),o.skip(1),o.mapTo(!1),o.debounceTime(100))),o.distinctUntilChanged())),h=o.statefulStreamFromEmitter(o.pipe(o.merge(o.pipe(s,o.mapTo(!0)),o.pipe(s,o.mapTo(!1),o.debounceTime(200))),o.distinctUntilChanged()),!1);o.connect(o.pipe(o.duc(r),o.map(function(e){return 0===e}),o.distinctUntilChanged()),c),o.connect(c,d);var g=o.streamFromEmitter(o.pipe(o.combineLatest(n,o.duc(i),o.duc(a),o.duc(l),o.duc(f)),o.scan(function(e,t){var n,r,o=t[0],i=o[0],a=o[1],l=t[1],s={viewportHeight:l,scrollTop:i,scrollHeight:a};return i+l-a>-t[4]?(i>e.state.scrollTop?(n="SCROLLED_DOWN",r=e.state.scrollTop-i):(n="SIZE_DECREASED",r=e.state.scrollTop-i||e.scrollTopDelta),{atBottom:!0,state:s,atBottomBecause:n,scrollTopDelta:r}):{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}},ne),o.distinctUntilChanged(function(e,t){return e&&e.atBottom===t.atBottom}))),v=o.statefulStreamFromEmitter(o.pipe(n,o.scan(function(e,t){var n=t[0],r=t[1];return e.scrollHeight!==r?e.scrollTop!==n?{scrollHeight:r,scrollTop:n,jump:e.scrollTop-n,changed:!0}:{scrollHeight:r,scrollTop:n,jump:0,changed:!0}:{scrollTop:n,scrollHeight:r,jump:0,changed:!1}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),o.filter(function(e){return e.changed}),o.map(function(e){return e.jump})),0);o.connect(o.pipe(g,o.map(function(e){return e.atBottom})),u),o.connect(o.pipe(u,o.throttleTime(50)),m);var S=o.statefulStream("down");o.connect(o.pipe(n,o.map(function(e){return e[0]}),o.distinctUntilChanged(),o.scan(function(e,t){return o.getValue(h)?{direction:e.direction,prevScrollTop:t}:{direction:t<e.prevScrollTop?te:"down",prevScrollTop:t}},{direction:"down",prevScrollTop:0}),o.map(function(e){return e.direction})),S),o.connect(o.pipe(n,o.throttleTime(50),o.mapTo("none")),S);var C=o.statefulStream(0);return o.connect(o.pipe(p,o.filter(function(e){return!e}),o.mapTo(0)),C),o.connect(o.pipe(r,o.throttleTime(100),o.withLatestFrom(p),o.filter(function(e){return!!e[1]}),o.scan(function(e,t){return[e[1],t[0]]},[0,0]),o.map(function(e){return e[1]-e[0]})),C),{isScrolling:p,isAtTop:c,isAtBottom:u,atBottomState:g,atTopStateChange:d,atBottomStateChange:m,scrollDirection:S,atBottomThreshold:f,scrollVelocity:C,lastJumpDueToItemResize:v}},o.tup(I)),oe=o.system(function(e){var n=e[0].log,r=o.statefulStream(!1),i=o.streamFromEmitter(o.pipe(r,o.filter(function(e){return e}),o.distinctUntilChanged()));return o.subscribe(r,function(e){e&&t.getValue(n)("props updated",{},exports.LogLevel.DEBUG)}),{propsReady:r,didMount:i}},t.tup(p),{singleton:!0}),ie=o.system(function(e){var t=e[0],n=t.sizes,r=t.listRefresh,i=t.defaultItemSize,a=e[1].scrollTop,l=e[2].scrollToIndex,s=e[3].didMount,u=o.statefulStream(!0),c=o.statefulStream(0);return o.connect(o.pipe(s,o.withLatestFrom(c),o.filter(function(e){return!!e[1]}),o.mapTo(!1)),u),o.subscribe(o.pipe(o.combineLatest(r,s),o.withLatestFrom(u,n,i),o.filter(function(e){var t=e[1],n=e[3];return e[0][1]&&(!w(e[2].sizeTree)||void 0!==n)&&!t}),o.withLatestFrom(c)),function(e){var t=e[1];setTimeout(function(){o.handleNext(a,function(){o.publish(u,!0)}),o.publish(l,t)})}),{scrolledToInitialItem:u,initialTopMostItemIndex:c}},o.tup($,I,ee,oe),{singleton:!0});function ae(e){return!!e&&("smooth"===e?"smooth":"auto")}var le=o.system(function(e){var t=e[0],n=t.totalCount,r=t.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=o.statefulStream(!1),g=null;function v(e){o.publish(s,{index:"LAST",align:"end",behavior:e})}return o.subscribe(o.pipe(o.combineLatest(o.pipe(o.duc(n),o.skip(1)),d),o.withLatestFrom(o.duc(h),a,u,p),o.map(function(e){var t=e[0],n=t[0],r=t[1]&&e[3],o="auto";return r&&(o=function(e,t){return"function"==typeof e?ae(e(t)):t&&ae(e)}(e[1],e[2]||e[4]),r=r&&!!o),{totalCount:n,shouldFollow:r,followOutputBehavior:o}}),o.filter(function(e){return e.shouldFollow})),function(e){var t=e.totalCount,n=e.followOutputBehavior;g&&(g(),g=null),g=o.handleNext(r,function(){o.getValue(f)("following output to ",{totalCount:t},exports.LogLevel.DEBUG),v(n),g=null})}),o.subscribe(o.pipe(o.combineLatest(o.duc(h),n,m),o.filter(function(e){return e[0]&&e[2]}),o.scan(function(e,t){var n=t[1];return{refreshed:e.value===n,value:n}},{refreshed:!1,value:0}),o.filter(function(e){return e.refreshed}),o.withLatestFrom(h,n)),function(e){var t=e[1],n=o.handleNext(l,function(e){!t||e.atBottom||"SIZE_INCREASED"!==e.notAtBottomBecause||g||(o.getValue(f)("scrolling to bottom due to increased size",{},exports.LogLevel.DEBUG),v("auto"))});setTimeout(n,100)}),o.subscribe(o.combineLatest(o.duc(h),l),function(e){var t=e[1];e[0]&&!t.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===t.notAtBottomBecause&&v("auto")}),{followOutput:h}},o.tup($,re,ee,ie,oe,p,I));function se(e){return e.reduce(function(e,t){return e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e},{totalCount:0,groupIndices:[]})}var ue=t.system(function(e){var n=e[0],r=n.totalCount,o=n.groupIndices,i=n.sizes,a=e[1],l=a.scrollTop,s=a.headerHeight,u=t.stream(),c=t.stream(),m=t.streamFromEmitter(t.pipe(u,t.map(se)));return t.connect(t.pipe(m,t.map(t.prop("totalCount"))),r),t.connect(t.pipe(m,t.map(t.prop("groupIndices"))),o),t.connect(t.pipe(t.combineLatest(l,i,s),t.filter(function(e){return Z(e[1])}),t.map(function(e){return E(e[1].groupOffsetTree,Math.max(e[0]-e[2],0),"v")[0]}),t.distinctUntilChanged(),t.map(function(e){return[e]})),c),{groupCounts:u,topItemsIndexes:c}},t.tup($,I));function ce(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}function me(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}function de(e,t,n){return"number"==typeof e?n===te&&"top"===t||"down"===n&&"bottom"===t?e:0:n===te?"top"===t?e.main:e.reverse:"bottom"===t?e.main:e.reverse}function fe(e,t){return"number"==typeof e?e:e[t]||0}var pe=o.system(function(e){var t=e[0],n=t.scrollTop,r=t.viewportHeight,i=t.deviation,a=t.headerHeight,l=o.stream(),s=o.statefulStream(0),u=o.statefulStream(0),c=o.statefulStream(0),m=o.statefulStream(0),d=o.statefulStreamFromEmitter(o.pipe(o.combineLatest(o.duc(n),o.duc(r),o.duc(a),o.duc(l,ce),o.duc(m),o.duc(s),o.duc(u),o.duc(i),o.duc(c)),o.map(function(e){var t=e[0],n=e[1],r=e[2],o=e[3],i=o[0],a=o[1],l=e[4],s=e[6],u=e[7],c=e[8],m=t-u,d=e[5]+s,f=Math.max(r-m,0),p="none",h=fe(c,"top"),g=fe(c,"bottom");return i-=u,a+=r+s,(i+=r+s)>t+d-h&&(p=te),(a-=u)<t-f+n+g&&(p="down"),"none"!==p?[Math.max(m-r-de(l,"top",p)-h,0),m-f-s+n+de(l,"bottom",p)+g]:null}),o.filter(function(e){return null!=e}),o.distinctUntilChanged(ce)),[0,0]);return{listBoundary:l,overscan:m,topListHeight:s,fixedHeaderHeight:u,increaseViewportBy:c,visibleRange:d}},o.tup(I),{singleton:!0}),he={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0};function ge(e,t,n){if(0===e.length)return[];if(!Z(t))return e.map(function(e){return a({},e,{index:e.index+n,originalIndex:e.index})});for(var r,o=[],i=O(t.groupOffsetTree,e[0].index,e[e.length-1].index),l=void 0,s=0,c=u(e);!(r=c()).done;){var m=r.value;(!l||l.end<m.index)&&(l=i.shift(),s=t.groupIndices.indexOf(l.start)),o.push(a({},m.index===l.start?{type:"group",index:s}:{index:m.index-(s+1)+n,groupIndex:s},{size:m.size,offset:m.offset,originalIndex:m.index,data:m.data}))}return o}function ve(e,t,n,r,o){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=r.lastOffset+(n-r.lastIndex)*r.lastSize-a;return{items:ge(e,r,o),topItems:ge(t,r,o),topListHeight:t.reduce(function(e,t){return t.size+e},0),offsetTop:i,offsetBottom:u,top:s,bottom:a,totalCount:n}}var Se,Ce,Ie,xe=o.system(function(e){var t=e[0],n=t.sizes,r=t.totalCount,i=t.data,l=t.firstItemIndex,s=e[1],c=e[2],m=c.visibleRange,d=c.listBoundary,f=c.topListHeight,p=e[3],h=p.scrolledToInitialItem,g=p.initialTopMostItemIndex,v=e[4].topListHeight,S=e[5],C=e[6].didMount,I=o.statefulStream([]),x=o.stream();o.connect(s.topItemsIndexes,I);var T=o.statefulStreamFromEmitter(o.pipe(o.combineLatest(C,o.duc(m),o.duc(r),o.duc(n),o.duc(g),h,o.duc(I),o.duc(l),i),o.filter(function(e){return e[0]}),o.map(function(e){var t=e[1],n=t[0],r=t[1],i=e[2],a=e[4],l=e[5],s=e[6],c=e[7],m=e[8],d=e[3],f=d.sizeTree,p=d.offsetTree;if(0===i||0===n&&0===r)return he;if(w(f))return ve(function(e,t,n){if(Z(t)){var r=q(e,t);return[{index:E(t.groupOffsetTree,r)[0],size:0,offset:0},{index:r,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),d,m),[],i,d,c);var h=[];if(s.length>0)for(var g,v=s[0],S=s[s.length-1],C=0,I=u(O(f,v,S));!(g=I()).done;)for(var x=g.value,T=x.value,y=Math.max(x.start,v),b=Math.min(x.end,S),L=y;L<=b;L++)h.push({index:L,size:T,offset:C,data:m&&m[L]}),C+=T;if(!l)return ve([],h,i,d,c);var R=s.length>0?s[s.length-1]+1:0,H=function(e,t,n,r){return void 0===r&&(r=0),r>0&&(t=Math.max(t,W(e,r,D).offset)),M((i=n,l=A(o=e,t,a=G),s=A(o,i,a,l),o.slice(l,s+1)),j);var o,i,a,l,s}(p,n,r,R);if(0===H.length)return null;var k=i-1;return ve(o.tap([],function(e){for(var t,o=u(H);!(t=o()).done;){var i=t.value,a=i.value,l=a.offset,s=i.start,c=a.size;a.offset<n&&(l+=((s+=Math.floor((n-a.offset)/c))-i.start)*c),s<R&&(l+=(R-s)*c,s=R);for(var d=Math.min(i.end,k),f=s;f<=d&&!(l>=r);f++)e.push({index:f,size:c,offset:l,data:m&&m[f]}),l+=c}}),h,i,d,c)}),o.filter(function(e){return null!==e}),o.distinctUntilChanged()),he);return o.connect(o.pipe(i,o.filter(function(e){return void 0!==e}),o.map(function(e){return e.length})),r),o.connect(o.pipe(T,o.map(o.prop("topListHeight"))),v),o.connect(v,f),o.connect(o.pipe(T,o.map(function(e){return[e.top,e.bottom]})),d),o.connect(o.pipe(T,o.map(function(e){return e.items})),x),a({listState:T,topItemsIndexes:I,endReached:o.streamFromEmitter(o.pipe(T,o.filter(function(e){return e.items.length>0}),o.withLatestFrom(r,i),o.filter(function(e){var t=e[0].items;return t[t.length-1].originalIndex===e[1]-1}),o.map(function(e){return[e[1]-1,e[2]]}),o.distinctUntilChanged(ce),o.map(function(e){return e[0]}))),startReached:o.streamFromEmitter(o.pipe(T,o.throttleTime(200),o.filter(function(e){var t=e.items;return t.length>0&&t[0].originalIndex===e.topItems.length}),o.map(function(e){return e.items[0].index}),o.distinctUntilChanged())),rangeChanged:o.streamFromEmitter(o.pipe(T,o.filter(function(e){return e.items.length>0}),o.map(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),o.distinctUntilChanged(me))),itemsRendered:x},S)},o.tup($,ue,pe,ie,ee,re,oe),{singleton:!0}),Te=o.system(function(e){var t=e[0],n=t.sizes,r=t.firstItemIndex,i=t.data,a=e[1].listState,l=e[2].didMount,s=o.statefulStream(0);return o.connect(o.pipe(l,o.withLatestFrom(s),o.filter(function(e){return 0!==e[1]}),o.withLatestFrom(n,r,i),o.map(function(e){var t=e[0][1],n=e[1],r=e[2],o=e[3],i=void 0===o?[]:o,a=0;if(n.groupIndices.length>0)for(var l,s=u(n.groupIndices);!((l=s()).done||l.value-a>=t);)a++;var c=t+a;return ve(Array.from({length:c}).map(function(e,t){return{index:t,size:0,offset:0,data:i[t]}}),[],c,n,r)})),a),{initialItemCount:s}},o.tup($,xe,oe),{singleton:!0}),we=o.system(function(e){var t=e[0].scrollVelocity,n=o.statefulStream(!1),r=o.stream(),i=o.statefulStream(!1);return o.connect(o.pipe(t,o.withLatestFrom(i,n,r),o.filter(function(e){return!!e[1]}),o.map(function(e){var t=e[0],n=e[1],r=e[2],o=e[3],i=n.enter;if(r){if((0,n.exit)(t,o))return!1}else if(i(t,o))return!0;return r}),o.distinctUntilChanged()),n),o.subscribe(o.pipe(o.combineLatest(n,t,r),o.withLatestFrom(i)),function(e){var t=e[0],n=e[1];return t[0]&&n&&n.change&&n.change(t[1],t[2])}),{isSeeking:n,scrollSeekConfiguration:i,scrollVelocity:t,scrollSeekRangeChanged:r}},o.tup(re),{singleton:!0}),ye=t.system(function(e){var n=e[0].topItemsIndexes,r=t.statefulStream(0);return t.connect(t.pipe(r,t.filter(function(e){return e>0}),t.map(function(e){return Array.from({length:e}).map(function(e,t){return t})})),n),{topItemCount:r}},t.tup(xe)),be=o.system(function(e){var t=e[0],n=t.footerHeight,r=t.headerHeight,i=e[1].listState,a=o.stream(),l=o.statefulStreamFromEmitter(o.pipe(o.combineLatest(n,r,i),o.map(function(e){var t=e[2];return e[0]+e[1]+t.offsetBottom+t.bottom})),0);return o.connect(o.duc(l),a),{totalListHeight:l,totalListHeightChanged:a}},o.tup(I,xe),{singleton:!0}),Ee=o.system(function(e){var t=e[0],n=t.scrollBy,r=t.scrollTop,i=t.deviation,a=t.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=o.streamFromEmitter(o.pipe(e[2].listState,o.withLatestFrom(l.lastJumpDueToItemResize),o.scan(function(e,t){var n=e[1],r=t[0],o=r.items,i=r.totalCount,a=t[1],l=0;if(e[2]===i){if(n.length>0&&o.length>0){var s=1===o.length;if(0!==o[0].originalIndex||0!==n[0].originalIndex)for(var u=function(e){var t=o[e],r=n.find(function(e){return e.originalIndex===t.originalIndex});return r?t.offset!==r.offset||s?(l=t.offset-r.offset+t.size-r.size,"break"):void 0:"continue"},c=o.length-1;c>=0;c--){var m=u(c);if("continue"!==m&&"break"===m)break}}0!==l&&(l+=a)}return[l,o,i]},[0,[],0]),o.filter(function(e){return 0!==e[0]}),o.withLatestFrom(r,m,a,g,u,c),o.filter(function(e){return!e[3]&&0!==e[1]&&e[2]===te}),o.map(function(e){var t=e[0][0];return(0,e[4])("Upward scrolling compensation",{amount:t},exports.LogLevel.DEBUG),t})));return o.connect(o.pipe(v,o.withLatestFrom(i),o.map(function(e){return e[1]-e[0]})),i),o.subscribe(o.pipe(o.combineLatest(o.statefulStreamFromEmitter(s,!1),i),o.filter(function(e){return!e[0]&&0!==e[1]}),o.map(function(e){return e[1]}),o.throttleTime(1)),function(e){e>0?(o.publish(n,{top:-e,behavior:"auto"}),o.publish(i,0)):(o.publish(i,0),o.publish(n,{top:-e,behavior:"auto"}))}),o.connect(o.pipe(p,o.map(function(e){return{top:-e}})),n),o.connect(o.pipe(f,o.withLatestFrom(h),o.map(function(e){return e[0]*e[1].lastSize})),v),{deviation:i}},o.tup(I,re,xe,$,p)),Le=o.system(function(e){var t=e[0].totalListHeight,n=e[1].didMount,r=e[2].scrollTo,i=o.statefulStream(0);return o.subscribe(o.pipe(n,o.withLatestFrom(i),o.filter(function(e){return 0!==e[1]}),o.map(function(e){return{top:e[1]}})),function(e){o.handleNext(o.pipe(t,o.filter(function(e){return 0!==e})),function(){setTimeout(function(){o.publish(r,e)})})}),{initialScrollTop:i}},o.tup(be,oe,I),{singleton:!0}),Re=o.system(function(e){var t=e[0].viewportHeight,n=e[1].totalListHeight,r=o.statefulStream(!1);return{alignToBottom:r,paddingTopAddition:o.statefulStreamFromEmitter(o.pipe(o.combineLatest(r,t,n),o.filter(function(e){return e[0]}),o.map(function(e){return Math.max(0,e[1]-e[2])}),o.distinctUntilChanged()),0)}},o.tup(I,be),{singleton:!0}),He=o.system(function(e){var t=e[0],n=t.scrollTo,r=t.scrollContainerState,i=o.stream(),l=o.stream(),s=o.stream(),u=o.statefulStream(!1),c=o.statefulStream(void 0);return o.connect(o.pipe(o.combineLatest(i,l),o.map(function(e){var t=e[0],n=t[1];return[Math.max(0,t[0]-e[1].offsetTop),n]})),r),o.connect(o.pipe(n,o.withLatestFrom(l),o.map(function(e){var t=e[0];return a({},t,{top:t.top+e[1].offsetTop})})),s),{useWindowScroll:u,customScrollParent:c,windowScrollContainerState:i,windowViewportRect:l,windowScrollTo:s}},o.tup(I)),ke=o.system(function(e){var t=e[0],n=t.sizes,r=t.totalCount,i=e[1],a=i.scrollTop,l=i.viewportHeight,s=i.headerHeight,u=i.scrollingInProgress,c=e[2].scrollToIndex,m=o.stream();return o.connect(o.pipe(m,o.withLatestFrom(n,l,r,s,a),o.map(function(e){var t=e[0],n=t.index,r=t.behavior,i=void 0===r?"auto":r,a=t.done,l=e[1],s=e[2],c=e[4],m=e[5],d=e[3]-1,f=null;n=q(n,l);var p=Y(n=Math.max(0,n,Math.min(d,n)),l.offsetTree)+c;return p<m?f={index:n,behavior:i,align:"start"}:p+E(l.sizeTree,n)[1]>m+s&&(f={index:n,behavior:i,align:"end"}),f?a&&o.handleNext(o.pipe(u,o.skip(1),o.filter(function(e){return!1===e})),a):a&&a(),f}),o.filter(function(e){return null!==e})),c),{scrollIntoView:m}},o.tup($,I,ee,xe,p),{singleton:!0}),ze=["listState","topItemsIndexes"],Be=o.system(function(e){return a({},e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},o.tup(pe,Te,oe,we,be,Le,Re,He,ke)),Fe=o.system(function(e){var t=e[0],n=t.totalCount,r=t.sizeRanges,i=t.fixedItemSize,s=t.defaultItemSize,u=t.trackItemSizes,c=t.itemSize,m=t.data,d=t.firstItemIndex,f=t.groupIndices,p=t.statefulTotalCount,h=e[1],g=h.initialTopMostItemIndex,v=h.scrolledToInitialItem,S=e[2],C=e[3],I=e[4],x=I.listState,T=I.topItemsIndexes,w=l(I,ze),y=e[5].scrollToIndex,b=e[7].topItemCount,E=e[8].groupCounts,L=e[9],R=e[10];return o.connect(w.rangeChanged,L.scrollSeekRangeChanged),o.connect(o.pipe(L.windowViewportRect,o.map(o.prop("visibleHeight"))),S.viewportHeight),a({totalCount:n,data:m,firstItemIndex:d,sizeRanges:r,initialTopMostItemIndex:g,scrolledToInitialItem:v,topItemsIndexes:T,topItemCount:b,groupCounts:E,fixedItemHeight:i,defaultItemHeight:s},C,{statefulTotalCount:p,listState:x,scrollToIndex:y,trackItemSizes:u,itemSize:c,groupIndices:f},w,L,S,R)},o.tup($,ie,I,le,xe,ee,Ee,ye,ue,Be,p)),Pe=(Se=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"},Ie=!1,function(){return Ie||(Ie=!0,Ce=Se()),Ce});function Oe(e,t){var r=n.useRef(null),o=n.useCallback(function(n){if(null!==n){var o,i,a=n.getBoundingClientRect(),l=a.width;if(t){var s=t.getBoundingClientRect(),u=a.top-s.top;o=s.height-Math.max(0,u),i=u+t.scrollTop}else o=window.innerHeight-Math.max(0,a.top),i=a.top+window.pageYOffset;r.current={offsetTop:i,visibleHeight:o,visibleWidth:l},e(r.current)}},[e,t]),i=h(o),a=i.callbackRef,l=i.ref,s=n.useCallback(function(){o(l.current)},[o,l]);return n.useEffect(function(){if(t){t.addEventListener("scroll",s);var e=new ResizeObserver(s);return e.observe(t),function(){t.removeEventListener("scroll",s),e.unobserve(t)}}return window.addEventListener("scroll",s),window.addEventListener("resize",s),function(){window.removeEventListener("scroll",s),window.removeEventListener("resize",s)}},[s,t]),a}var Me=["placeholder"],Ve=["style","children"],Ue=["style","children"];function Ae(e){return e}var We=t.system(function(){var e=t.statefulStream(function(e){return"Item "+e}),n=t.statefulStream(null),r=t.statefulStream(function(e){return"Group "+e}),o=t.statefulStream({}),i=t.statefulStream(Ae),a=t.statefulStream("div"),l=t.statefulStream(t.noop),s=function(e,n){return void 0===n&&(n=null),t.statefulStreamFromEmitter(t.pipe(o,t.map(function(t){return t[e]}),t.distinctUntilChanged()),n)};return{context:n,itemContent:e,groupContent:r,components:o,computeItemKey:i,headerFooterTag:a,scrollerRef:l,FooterComponent:s("Footer"),HeaderComponent:s("Header"),TopItemListComponent:s("TopItemList"),ListComponent:s("List","div"),ItemComponent:s("Item","div"),GroupComponent:s("Group","div"),ScrollerComponent:s("Scroller","div"),EmptyPlaceholder:s("EmptyPlaceholder"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder")}});function Ne(e,n){var r=t.stream();return t.subscribe(r,function(){return console.warn("react-virtuoso: You are using a deprecated property. "+n,"color: red;","color: inherit;","color: blue;")}),t.connect(r,e),r}var De=t.system(function(e){var n=e[0],r=e[1],o={item:Ne(r.itemContent,"Rename the %citem%c prop to %citemContent."),group:Ne(r.groupContent,"Rename the %cgroup%c prop to %cgroupContent."),topItems:Ne(n.topItemCount,"Rename the %ctopItems%c prop to %ctopItemCount."),itemHeight:Ne(n.fixedItemHeight,"Rename the %citemHeight%c prop to %cfixedItemHeight."),scrollingStateChange:Ne(n.isScrolling,"Rename the %cscrollingStateChange%c prop to %cisScrolling."),adjustForPrependedItems:t.stream(),maxHeightCacheSize:t.stream(),footer:t.stream(),header:t.stream(),HeaderContainer:t.stream(),FooterContainer:t.stream(),ItemContainer:t.stream(),ScrollContainer:t.stream(),GroupContainer:t.stream(),ListContainer:t.stream(),emptyComponent:t.stream(),scrollSeek:t.stream()};function i(e,n,o){t.connect(t.pipe(e,t.withLatestFrom(r.components),t.map(function(e){var t,r=e[0],i=e[1];return console.warn("react-virtuoso: "+o+" property is deprecated. Pass components."+n+" instead."),a({},i,((t={})[n]=r,t))})),r.components)}return t.subscribe(o.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;")}),t.subscribe(o.maxHeightCacheSize,function(){console.warn("react-virtuoso: maxHeightCacheSize is no longer necessary. Setting it has no effect - remove it from your code.")}),t.subscribe(o.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.")}),t.subscribe(o.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.")}),t.subscribe(o.scrollSeek,function(e){var o=e.placeholder,i=l(e,Me);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),t.publish(r.components,a({},t.getValue(r.components),{ScrollSeekPlaceholder:o})),t.publish(n.scrollSeekConfiguration,i)}),i(o.footer,"Footer","footer"),i(o.header,"Header","header"),i(o.ItemContainer,"Item","ItemContainer"),i(o.ListContainer,"List","ListContainer"),i(o.ScrollContainer,"Scroller","ScrollContainer"),i(o.emptyComponent,"EmptyPlaceholder","emptyComponent"),i(o.GroupContainer,"Group","GroupContainer"),a({},n,r,o)},t.tup(Fe,We)),Ge=function(e){return i.createElement("div",{style:{height:e.height}})},je={position:Pe(),zIndex:1,overflowAnchor:"none"},_e=i.memo(function(e){var r=e.showTopList,o=void 0!==r&&r,i=lt("listState"),l=lt("deviation"),s=at("sizeRanges"),u=lt("useWindowScroll"),c=lt("customScrollParent"),m=at("windowScrollContainerState"),d=at("scrollContainerState"),f=c||u?m:d,p=lt("itemContent"),h=lt("context"),g=lt("groupContent"),S=lt("trackItemSizes"),C=lt("itemSize"),I=lt("log"),x=v(s,C,S,o?t.noop:f,I,c),T=lt("EmptyPlaceholder"),w=lt("ScrollSeekPlaceholder")||Ge,y=lt("ListComponent"),b=lt("ItemComponent"),E=lt("GroupComponent"),L=lt("computeItemKey"),R=lt("isSeeking"),H=lt("groupIndices").length>0,k=lt("paddingTopAddition"),z=lt("firstItemIndex"),B=lt("statefulTotalCount"),F=o?{}:{boxSizing:"border-box",paddingTop:i.offsetTop+k,paddingBottom:i.offsetBottom,marginTop:l};return!o&&0===B&&T?n.createElement(T,Ze(T,h)):n.createElement(y,a({},Ze(y,h),{ref:x,style:F,"data-test-id":o?"virtuoso-top-item-list":"virtuoso-item-list"}),(o?i.topItems:i.items).map(function(e){var t=e.originalIndex,r=L(t+z,e.data,h);return R?n.createElement(w,a({},Ze(w,h),{key:r,index:e.index,height:e.size,type:e.type||"item"},"group"===e.type?{}:{groupIndex:e.groupIndex})):"group"===e.type?n.createElement(E,a({},Ze(E,h),{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:je}),g(e.index)):n.createElement(b,a({},Ze(b,h),{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,"data-item-group-index":e.groupIndex,style:{overflowAnchor:"none"}}),H?p(e.index,e.groupIndex,e.data,h):p(e.index,e.data,h))}))}),Ke={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},Ye={width:"100%",height:"100%",position:"absolute",top:0},qe={width:"100%",position:Pe(),top:0};function Ze(e,t){if("string"!=typeof e)return{context:t}}var Je=i.memo(function(){var e=lt("HeaderComponent"),t=at("headerHeight"),r=lt("headerFooterTag"),o=g(function(e){return t(S(e,"height"))}),i=lt("context");return e?n.createElement(r,{ref:o},n.createElement(e,Ze(e,i))):null}),$e=i.memo(function(){var e=lt("FooterComponent"),t=at("footerHeight"),r=lt("headerFooterTag"),o=g(function(e){return t(S(e,"height"))}),i=lt("context");return e?n.createElement(r,{ref:o},n.createElement(e,Ze(e,i))):null});function Qe(e){var t=e.usePublisher,r=e.useEmitter,o=e.useEmitterValue;return i.memo(function(e){var i=e.style,s=e.children,u=l(e,Ve),c=t("scrollContainerState"),m=o("ScrollerComponent"),d=t("smoothScrollTargetReached"),f=o("scrollerRef"),p=o("context"),h=C(c,d,m,f),g=h.scrollerRef,v=h.scrollByCallback;return r("scrollTo",h.scrollToCallback),r("scrollBy",v),n.createElement(m,a({ref:g,style:a({},Ke,i),"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0},u,Ze(m,p)),s)})}function Xe(e){var r=e.usePublisher,o=e.useEmitter,s=e.useEmitterValue;return i.memo(function(e){var i=e.style,u=e.children,c=l(e,Ue),m=r("windowScrollContainerState"),f=s("ScrollerComponent"),p=r("smoothScrollTargetReached"),h=s("totalListHeight"),g=s("deviation"),v=s("customScrollParent"),S=s("context"),I=C(m,p,f,t.noop,v),x=I.scrollerRef,T=I.scrollByCallback,w=I.scrollToCallback;return d(function(){return x.current=v||window,function(){x.current=null}},[x,v]),o("windowScrollTo",w),o("scrollBy",T),n.createElement(f,a({style:a({position:"relative"},i,0!==h?{height:h+g}:{}),"data-virtuoso-scroller":!0},c,Ze(f,S)),u)})}var et=function(e){var n=e.children,r=at("viewportHeight"),o=g(t.compose(r,function(e){return S(e,"height")}));return i.createElement("div",{style:Ye,ref:o,"data-viewport-type":"element"},n)},tt=function(e){var t=e.children,n=Oe(at("windowViewportRect"),lt("customScrollParent"));return i.createElement("div",{ref:n,style:Ye,"data-viewport-type":"window"},t)},nt=function(e){var t=e.children,r=lt("TopItemListComponent"),o=lt("headerHeight"),i=a({},qe,{marginTop:o+"px"}),l=lt("context");return n.createElement(r||"div",{style:i,context:l},t)},rt=i.memo(function(e){var t=lt("useWindowScroll"),n=lt("topItemsIndexes").length>0,r=lt("customScrollParent"),o=r||t?tt:et;return i.createElement(r||t?ct:ut,a({},e),i.createElement(o,null,i.createElement(Je,null),i.createElement(_e,null),i.createElement($e,null)),n&&i.createElement(nt,null,i.createElement(_e,{showTopList:!0})))}),ot=e.systemToComponent(De,{required:{},optional:{context:"context",followOutput:"followOutput",firstItemIndex:"firstItemIndex",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",topItemCount:"topItemCount",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",groupCounts:"groupCounts",atBottomThreshold:"atBottomThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",item:"item",group:"group",topItems:"topItems",itemHeight:"itemHeight",scrollingStateChange:"scrollingStateChange",maxHeightCacheSize:"maxHeightCacheSize",footer:"footer",header:"header",ItemContainer:"ItemContainer",ScrollContainer:"ScrollContainer",ListContainer:"ListContainer",GroupContainer:"GroupContainer",emptyComponent:"emptyComponent",HeaderContainer:"HeaderContainer",FooterContainer:"FooterContainer",scrollSeek:"scrollSeek"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",adjustForPrependedItems:"adjustForPrependedItems"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},rt),it=ot.Component,at=ot.usePublisher,lt=ot.useEmitterValue,st=ot.useEmitter,ut=Qe({usePublisher:at,useEmitterValue:lt,useEmitter:st}),ct=Xe({usePublisher:at,useEmitterValue:lt,useEmitter:st}),mt={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},dt={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},ft=Math.round,pt=Math.ceil,ht=Math.floor,gt=Math.min,vt=Math.max;function St(e,t){return Array.from({length:t-e+1}).map(function(t,n){return{index:n+e}})}var Ct=o.system(function(e){var t=e[0],n=t.overscan,r=t.visibleRange,i=t.listBoundary,l=e[1],s=l.scrollTop,u=l.viewportHeight,c=l.scrollBy,m=l.scrollTo,d=l.smoothScrollTargetReached,f=l.scrollContainerState,p=e[2],h=e[3],g=e[4],v=g.propsReady,S=g.didMount,C=e[5],I=C.windowViewportRect,x=C.windowScrollTo,T=C.useWindowScroll,w=C.customScrollParent,y=C.windowScrollContainerState,b=o.statefulStream(0),E=o.statefulStream(0),L=o.statefulStream(mt),R=o.statefulStream({height:0,width:0}),H=o.statefulStream({height:0,width:0}),k=o.stream(),z=o.stream(),B=o.statefulStream(0);o.connect(o.pipe(S,o.withLatestFrom(E),o.filter(function(e){return 0!==e[1]}),o.map(function(e){return{items:St(0,e[1]-1),top:0,bottom:0,offsetBottom:0,offsetTop:0,itemHeight:0,itemWidth:0}})),L),o.connect(o.pipe(o.combineLatest(o.duc(b),r,o.duc(H,function(e,t){return e&&e.width===t.width&&e.height===t.height})),o.withLatestFrom(R),o.map(function(e){var t=e[0],n=t[0],r=t[1],o=r[0],i=r[1],a=t[2],l=e[1],s=a.height,u=a.width,c=l.width;if(0===n||0===c)return mt;if(0===u)return dt;var m=Tt(c,u),d=m*ht(o/s),f=m*pt(i/s)-1;f=gt(n-1,f);var p=St(d=gt(f,vt(0,d)),f),h=It(l,a,p),g=h.top,v=h.bottom;return{items:p,offsetTop:g,offsetBottom:pt(n/m)*s-v,top:g,bottom:v,itemHeight:s,itemWidth:u}})),L),o.connect(o.pipe(R,o.map(function(e){return e.height})),u),o.connect(o.pipe(o.combineLatest(R,H,L),o.map(function(e){var t=It(e[0],e[1],e[2].items);return[t.top,t.bottom]}),o.distinctUntilChanged(ce)),i);var F=o.streamFromEmitter(o.pipe(o.duc(L),o.filter(function(e){return e.items.length>0}),o.withLatestFrom(b),o.filter(function(e){var t=e[0].items;return t[t.length-1].index===e[1]-1}),o.map(function(e){return e[1]-1}),o.distinctUntilChanged())),P=o.streamFromEmitter(o.pipe(o.duc(L),o.filter(function(e){var t=e.items;return t.length>0&&0===t[0].index}),o.mapTo(0),o.distinctUntilChanged())),O=o.streamFromEmitter(o.pipe(o.duc(L),o.filter(function(e){return e.items.length>0}),o.map(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),o.distinctUntilChanged(me)));o.connect(O,h.scrollSeekRangeChanged),o.connect(o.pipe(k,o.withLatestFrom(R,H,b),o.map(function(e){var t=e[1],n=e[2],r=e[3],o=X(e[0]),i=o.align,a=o.behavior,l=o.offset,s=o.index;"LAST"===s&&(s=r-1);var u=xt(t,n,s=vt(0,s,gt(r-1,s)));return"end"===i?u=ft(u-t.height+n.height):"center"===i&&(u=ft(u-t.height/2+n.height/2)),l&&(u+=l),{top:u,behavior:a}})),m);var M=o.statefulStreamFromEmitter(o.pipe(L,o.map(function(e){return e.offsetBottom+e.bottom})),0);return o.connect(o.pipe(I,o.map(function(e){return{width:e.visibleWidth,height:e.visibleHeight}})),R),a({totalCount:b,viewportDimensions:R,itemDimensions:H,scrollTop:s,scrollHeight:z,overscan:n,scrollBy:c,scrollTo:m,scrollToIndex:k,smoothScrollTargetReached:d,windowViewportRect:I,windowScrollTo:x,useWindowScroll:T,customScrollParent:w,windowScrollContainerState:y,deviation:B,scrollContainerState:f,initialItemCount:E},h,{gridState:L,totalListHeight:M},p,{startReached:P,endReached:F,rangeChanged:O,propsReady:v})},o.tup(pe,I,re,we,oe,He));function It(e,t,n){var r=t.height;return void 0===r||0===n.length?{top:0,bottom:0}:{top:xt(e,t,n[0].index),bottom:xt(e,t,n[n.length-1].index)+r}}function xt(e,t,n){var r=Tt(e.width,t.width);return ht(n/r)*t.height}function Tt(e,t){return vt(1,ht(e/t))}var wt=["placeholder"],yt=o.system(function(){var e=o.statefulStream(function(e){return"Item "+e}),t=o.statefulStream({}),n=o.statefulStream(null),r=o.statefulStream("virtuoso-grid-item"),i=o.statefulStream("virtuoso-grid-list"),a=o.statefulStream(Ae),l=o.statefulStream(o.noop),s=function(e,n){return void 0===n&&(n=null),o.statefulStreamFromEmitter(o.pipe(t,o.map(function(t){return t[e]}),o.distinctUntilChanged()),n)};return{context:n,itemContent:e,components:t,computeItemKey:a,itemClassName:r,listClassName:i,scrollerRef:l,ListComponent:s("List","div"),ItemComponent:s("Item","div"),ScrollerComponent:s("Scroller","div"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder","div")}}),bt=o.system(function(e){var t=e[0],n=e[1],r={item:Ne(n.itemContent,"Rename the %citem%c prop to %citemContent."),ItemContainer:o.stream(),ScrollContainer:o.stream(),ListContainer:o.stream(),emptyComponent:o.stream(),scrollSeek:o.stream()};function i(e,t,r){o.connect(o.pipe(e,o.withLatestFrom(n.components),o.map(function(e){var n,o=e[0],i=e[1];return console.warn("react-virtuoso: "+r+" property is deprecated. Pass components."+t+" instead."),a({},i,((n={})[t]=o,n))})),n.components)}return o.subscribe(r.scrollSeek,function(e){var r=e.placeholder,i=l(e,wt);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),o.publish(n.components,a({},o.getValue(n.components),{ScrollSeekPlaceholder:r})),o.publish(t.scrollSeekConfiguration,i)}),i(r.ItemContainer,"Item","ItemContainer"),i(r.ListContainer,"List","ListContainer"),i(r.ScrollContainer,"Scroller","ScrollContainer"),a({},t,n,r)},o.tup(Ct,yt)),Et=i.memo(function(){var e=Ft("gridState"),t=Ft("listClassName"),r=Ft("itemClassName"),o=Ft("itemContent"),i=Ft("computeItemKey"),l=Ft("isSeeking"),s=Bt("scrollHeight"),u=Ft("ItemComponent"),c=Ft("ListComponent"),m=Ft("ScrollSeekPlaceholder"),d=Ft("context"),f=Bt("itemDimensions"),p=g(function(e){s(e.parentElement.parentElement.scrollHeight);var t=e.firstChild;t&&f(t.getBoundingClientRect())});return n.createElement(c,a({ref:p,className:t},Ze(c,d),{style:{paddingTop:e.offsetTop,paddingBottom:e.offsetBottom}}),e.items.map(function(t){var s=i(t.index);return l?n.createElement(m,a({key:s},Ze(m,d),{index:t.index,height:e.itemHeight,width:e.itemWidth})):n.createElement(u,a({},Ze(u,d),{className:r,"data-index":t.index,key:s}),o(t.index,d))}))}),Lt=function(e){var t=e.children,n=Bt("viewportDimensions"),r=g(function(e){n(e.getBoundingClientRect())});return i.createElement("div",{style:Ye,ref:r},t)},Rt=function(e){var t=e.children,n=Oe(Bt("windowViewportRect"),Ft("customScrollParent"));return i.createElement("div",{ref:n,style:Ye},t)},Ht=i.memo(function(e){var t=a({},e),n=Ft("useWindowScroll"),r=Ft("customScrollParent"),o=r||n?Rt:Lt;return i.createElement(r||n?Mt:Ot,a({},t),i.createElement(o,null,i.createElement(Et,null)))}),kt=e.systemToComponent(bt,{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"}},Ht),zt=kt.Component,Bt=kt.usePublisher,Ft=kt.useEmitterValue,Pt=kt.useEmitter,Ot=Qe({usePublisher:Bt,useEmitterValue:Ft,useEmitter:Pt}),Mt=Xe({usePublisher:Bt,useEmitterValue:Ft,useEmitter:Pt}),Vt=t.system(function(){var e=t.statefulStream(function(e){return i.createElement("td",null,"Item $",e)}),n=t.statefulStream(null),r=t.statefulStream(null),o=t.statefulStream({}),a=t.statefulStream(Ae),l=t.statefulStream(t.noop),s=function(e,n){return void 0===n&&(n=null),t.statefulStreamFromEmitter(t.pipe(o,t.map(function(t){return t[e]}),t.distinctUntilChanged()),n)};return{context:n,itemContent:e,fixedHeaderContent:r,components:o,computeItemKey:a,scrollerRef:l,TableComponent:s("Table","table"),TableHeadComponent:s("TableHead","thead"),TableBodyComponent:s("TableBody","tbody"),TableRowComponent:s("TableRow","tr"),ScrollerComponent:s("Scroller","div"),EmptyPlaceholder:s("EmptyPlaceholder"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder"),FillerRow:s("FillerRow")}}),Ut=t.system(function(e){return a({},e[0],e[1])},t.tup(Fe,Vt)),At=function(e){return i.createElement("tr",null,i.createElement("td",{style:{height:e.height}}))},Wt=function(e){return i.createElement("tr",null,i.createElement("td",{style:{height:e.height,padding:0,border:0}}))},Nt=i.memo(function(){var e=qt("listState"),t=qt("deviation"),r=Yt("sizeRanges"),o=qt("useWindowScroll"),l=qt("customScrollParent"),s=Yt("windowScrollContainerState"),u=Yt("scrollContainerState"),c=l||o?s:u,m=qt("itemContent"),d=qt("trackItemSizes"),f=v(r,qt("itemSize"),d,c,qt("log"),l),p=qt("EmptyPlaceholder"),h=qt("ScrollSeekPlaceholder")||At,g=qt("FillerRow")||Wt,S=qt("TableBodyComponent"),C=qt("TableRowComponent"),I=qt("computeItemKey"),x=qt("isSeeking"),T=qt("paddingTopAddition"),w=qt("firstItemIndex"),y=qt("statefulTotalCount"),b=qt("context");if(0===y&&p)return n.createElement(p,Ze(p,b));var E=e.offsetTop+T+t,L=e.offsetBottom,R=E>0?i.createElement(g,{height:E,key:"padding-top"}):null,H=L>0?i.createElement(g,{height:L,key:"padding-bottom"}):null,k=e.items.map(function(e){var t=e.originalIndex,r=I(t+w,e.data,b);return x?n.createElement(h,a({},Ze(h,b),{key:r,index:e.index,height:e.size,type:e.type||"item"})):n.createElement(C,a({},Ze(C,b),{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:{overflowAnchor:"none"}}),m(e.index,e.data,b))});return n.createElement(S,a({ref:f,"data-test-id":"virtuoso-item-list"},Ze(S,b)),[R].concat(k,[H]))}),Dt=function(e){var n=e.children,r=Yt("viewportHeight"),o=g(t.compose(r,function(e){return S(e,"height")}));return i.createElement("div",{style:Ye,ref:o,"data-viewport-type":"element"},n)},Gt=function(e){var t=e.children,n=Oe(Yt("windowViewportRect"),qt("customScrollParent"));return i.createElement("div",{ref:n,style:Ye,"data-viewport-type":"window"},t)},jt=i.memo(function(e){var n=qt("useWindowScroll"),r=qt("customScrollParent"),o=Yt("fixedHeaderHeight"),l=qt("fixedHeaderContent"),s=qt("context"),u=g(t.compose(o,function(e){return S(e,"height")})),c=r||n?$t:Jt,m=r||n?Gt:Dt,d=qt("TableComponent"),f=qt("TableHeadComponent"),p=l?i.createElement(f,a({key:"TableHead",style:{zIndex:1,position:"sticky",top:0},ref:u},Ze(f,s)),l()):null;return i.createElement(c,a({},e),i.createElement(m,null,i.createElement(d,a({style:{borderSpacing:0}},Ze(d,s)),[p,i.createElement(Nt,{key:"TableBody"})])))}),_t=e.systemToComponent(Ut,{required:{},optional:{context:"context",followOutput:"followOutput",firstItemIndex:"firstItemIndex",itemContent:"itemContent",fixedHeaderContent:"fixedHeaderContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",topItemCount:"topItemCount",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",groupCounts:"groupCounts",atBottomThreshold:"atBottomThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},jt),Kt=_t.Component,Yt=_t.usePublisher,qt=_t.useEmitterValue,Zt=_t.useEmitter,Jt=Qe({usePublisher:Yt,useEmitterValue:qt,useEmitter:Zt}),$t=Xe({usePublisher:Yt,useEmitterValue:qt,useEmitter:Zt}),Qt=it,Xt=Kt,en=zt;exports.GroupedVirtuoso=it,exports.TableVirtuoso=Xt,exports.Virtuoso=Qt,exports.VirtuosoGrid=en;
|
|
1
|
+
"use strict";var e=require("@virtuoso.dev/react-urx"),t=require("@virtuoso.dev/urx"),n=require("react"),r=require("react-dom");function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,t}var i=o(t),a=o(n);function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(this,arguments)}function s(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||(o[n]=e[n]);return o}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function c(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 u(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)?u(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}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 m,d,f="undefined"!=typeof document?n.useLayoutEffect:n.useEffect;exports.LogLevel=void 0,(d=exports.LogLevel||(exports.LogLevel={}))[d.DEBUG=0]="DEBUG",d[d.INFO=1]="INFO",d[d.WARN=2]="WARN",d[d.ERROR=3]="ERROR";var p=((m={})[exports.LogLevel.DEBUG]="debug",m[exports.LogLevel.INFO]="log",m[exports.LogLevel.WARN]="warn",m[exports.LogLevel.ERROR]="error",m),h=i.system(function(){var e=i.statefulStream(exports.LogLevel.ERROR);return{log:i.statefulStream(function(t,n,r){var o;void 0===r&&(r=exports.LogLevel.INFO),r>=(null!=(o=("undefined"==typeof globalThis?window:globalThis).VIRTUOSO_LOG_LEVEL)?o:i.getValue(e))&&console[p[r]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,n)}),logLevel:e}},[],{singleton:!0});function g(e,t){void 0===t&&(t=!0);var r=n.useRef(null),o=function(e){};if("undefined"!=typeof ResizeObserver){var i=new ResizeObserver(function(t){var n=t[0].target;null!==n.offsetParent&&e(n)});o=function(e){e&&t?(i.observe(e),r.current=e):(r.current&&i.unobserve(r.current),r.current=null)}}return{ref:r,callbackRef:o}}function v(e,t){return void 0===t&&(t=!0),g(e,t).callbackRef}function S(e,t,n,r,o,i){return v(function(n){for(var a=function(e,t,n,r){var o=e.length;if(0===o)return null;for(var i=[],a=0;a<o;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&&r("Zero-sized element, this should not happen",{child:l},exports.LogLevel.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,o),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;r({scrollTop:Math.max(s,0),scrollHeight:(null!=i?i:l).scrollHeight,viewportHeight:(null!=i?i:l).offsetHeight}),null!==a&&e(a)},n)}function C(e,t){return Math.round(e.getBoundingClientRect()[t])}function I(e,t,r,o,a){void 0===o&&(o=i.noop);var l=n.useRef(null),s=n.useRef(null),u=n.useRef(null),c=n.useCallback(function(n){var r=n.target,o=r===window||r===document?window.pageYOffset||document.documentElement.scrollTop:r.scrollTop,i=r===window?document.documentElement.scrollHeight:r.scrollHeight,a=r===window?window.innerHeight:r.offsetHeight;e({scrollTop:Math.max(o,0),scrollHeight:i,viewportHeight:a}),null!==s.current&&(o===s.current||o<=0||o===r.scrollHeight-C(r,"height"))&&(s.current=null,t(!0),u.current&&(clearTimeout(u.current),u.current=null))},[e,t]);return n.useEffect(function(){var e=a||l.current;return o(a||l.current),c({target:e}),e.addEventListener("scroll",c,{passive:!0}),function(){o(null),e.removeEventListener("scroll",c)}},[l,c,r,o,a]),{scrollerRef:l,scrollByCallback:function(e){l.current.scrollBy(e)},scrollToCallback:function(n){var r=l.current;if(r&&(!("offsetHeight"in r)||0!==r.offsetHeight)){var o,i,a,c="smooth"===n.behavior;if(r===window?(i=Math.max(C(document.documentElement,"height"),document.documentElement.scrollHeight),o=window.innerHeight,a=document.documentElement.scrollTop):(i=r.scrollHeight,o=C(r,"height"),a=r.scrollTop),n.top=Math.ceil(Math.max(Math.min(i-o,n.top),0)),Math.abs(o-i)<1.01||n.top===a)return e({scrollTop:a,scrollHeight:i,viewportHeight:o}),void(c&&t(!0));c?(s.current=n.top,u.current&&clearTimeout(u.current),u.current=setTimeout(function(){u.current=null,s.current=null,t(!0)},1e3)):s.current=null,r.scrollTo(n)}}}}var x=i.system(function(){var e=i.stream(),t=i.stream(),n=i.statefulStream(0),r=i.stream(),o=i.statefulStream(0),a=i.stream(),l=i.stream(),s=i.statefulStream(0),u=i.statefulStream(0),c=i.stream(),m=i.stream(),d=i.statefulStream(!1),f=i.statefulStream(!1);return i.connect(i.pipe(e,i.map(function(e){return e.scrollTop})),t),i.connect(i.pipe(e,i.map(function(e){return e.scrollHeight})),l),i.connect(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:a,headerHeight:s,footerHeight:u,scrollHeight:l,smoothScrollTargetReached:r,react18ConcurrentRendering:f,scrollTo:c,scrollBy:m,statefulScrollTop:o,deviation:n,scrollingInProgress:d}},[],{singleton:!0}),T={lvl:0};function w(e,t,n,r,o){return void 0===r&&(r=T),void 0===o&&(o=T),{k:e,v:t,lvl:n,l:r,r:o}}function y(e){return e===T}function b(){return T}function E(e,t){if(y(e))return T;var n=e.k,r=e.l,o=e.r;if(t===n){if(y(r))return o;if(y(o))return r;var i=z(r);return O(F(e,{k:i[0],v:i[1],l:B(r)}))}return O(F(e,t<n?{l:E(r,t)}:{r:E(o,t)}))}function L(e,t,n){if(void 0===n&&(n="k"),y(e))return[-Infinity,void 0];if(e[n]===t)return[e.k,e.v];if(e[n]<t){var r=L(e.r,t,n);return-Infinity===r[0]?[e.k,e.v]:r}return L(e.l,t,n)}function H(e,t,n){return y(e)?w(t,n,1):t===e.k?F(e,{k:t,v:n}):function(e){return U(A(e))}(F(e,t<e.k?{l:H(e.l,t,n)}:{r:H(e.r,t,n)}))}function R(e,t,n){if(y(e))return[];var r=e.k,o=e.v,i=e.r,a=[];return r>t&&(a=a.concat(R(e.l,t,n))),r>=t&&r<=n&&a.push({k:r,v:o}),r<=n&&(a=a.concat(R(i,t,n))),a}function k(e){return y(e)?[]:[].concat(k(e.l),[{k:e.k,v:e.v}],k(e.r))}function z(e){return y(e.r)?[e.k,e.v]:z(e.r)}function B(e){return y(e.r)?e.l:O(F(e,{r:B(e.r)}))}function F(e,t){return w(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 P(e){return y(e)||e.lvl>e.r.lvl}function O(e){var t=e.l,n=e.r,r=e.lvl;if(n.lvl>=r-1&&t.lvl>=r-1)return e;if(r>n.lvl+1){if(P(t))return A(F(e,{lvl:r-1}));if(y(t)||y(t.r))throw new Error("Unexpected empty nodes");return F(t.r,{l:F(t,{r:t.r.l}),r:F(e,{l:t.r.r,lvl:r-1}),lvl:r})}if(P(e))return U(F(e,{lvl:r-1}));if(y(n)||y(n.l))throw new Error("Unexpected empty nodes");var o=n.l,i=P(o)?n.lvl-1:n.lvl;return F(o,{l:F(e,{r:o.l,lvl:r-1}),r:U(F(n,{l:o.r,lvl:i})),lvl:o.lvl+1})}function M(e,t,n){return y(e)?[]:V(R(e,L(e,t)[0],n),function(e){return{index:e.k,value:e.v}})}function V(e,t){var n=e.length;if(0===n)return[];for(var r=t(e[0]),o=r.index,i=r.value,a=[],l=1;l<n;l++){var s=t(e[l]),u=s.index,c=s.value;a.push({start:o,end:u-1,value:i}),o=u,i=c}return a.push({start:o,end:Infinity,value:i}),a}function U(e){var t=e.r,n=e.lvl;return y(t)||y(t.r)||t.lvl!==n||t.r.lvl!==n?e:F(t,{l:F(e,{r:t.l}),lvl:n+1})}function A(e){var t=e.l;return y(t)||t.lvl!==e.lvl?e:F(t,{r:F(e,{l:t.r})})}function W(e,t,n,r){void 0===r&&(r=0);for(var o=e.length-1;r<=o;){var i=Math.floor((r+o)/2),a=n(e[i],t);if(0===a)return i;if(-1===a){if(o-r<2)return i-1;o=i-1}else{if(o===r)return i;r=i+1}}throw new Error("Failed binary finding record in array - "+e.join(",")+", searched for "+t)}function N(e,t,n){return e[W(e,t,n)]}function D(e){var t=e.size,n=e.startIndex,r=e.endIndex;return function(e){return e.start===n&&(e.end===r||Infinity===e.end)&&e.value===t}}function G(e,t){var n=e.index;return t===n?0:t<n?-1:1}function j(e,t){var n=e.offset;return t===n?0:t<n?-1:1}function _(e){return{index:e.index,value:e}}function K(e,t,n){var r=e,o=0,i=0,a=0,l=0;if(0!==t){a=r[l=W(r,t-1,G)].offset;var s=L(n,t-1);o=s[0],i=s[1],r.length&&r[l].size===L(n,t)[1]&&(l-=1),r=r.slice(0,l+1)}else r=[];for(var u,m=c(M(n,t,Infinity));!(u=m()).done;){var d=u.value,f=d.start,p=d.value,h=(f-o)*i+a;r.push({offset:h,size:p,index:f}),o=f,a=h,i=p}return{offsetTree:r,lastIndex:o,lastOffset:a,lastSize:i}}function q(e,t){var n=t[0],r=t[1];n.length>0&&(0,t[2])("received item sizes",n,exports.LogLevel.DEBUG);var o=e.sizeTree,i=o,a=0;if(r.length>0&&y(o)&&2===n.length){var l=n[0].size,s=n[1].size;i=r.reduce(function(e,t){return H(H(e,t,l),t+1,s)},i)}else{var u=function(e,t){for(var n,r=y(e)?0:Infinity,o=c(t);!(n=o()).done;){var i=n.value,a=i.size,l=i.startIndex,s=i.endIndex;if(r=Math.min(r,l),y(e))e=H(e,0,a);else{var u=M(e,l-1,s+1);if(!u.some(D(i))){for(var m,d=!1,f=!1,p=c(u);!(m=p()).done;){var h=m.value,g=h.start,v=h.end,S=h.value;d?(s>=g||a===S)&&(e=E(e,g)):(f=S!==a,d=!0),v>s&&s>=g&&S!==a&&(e=H(e,s+1,S))}f&&(e=H(e,l,a))}}}return[e,r]}(i,n);i=u[0],a=u[1]}if(i===o)return e;var m=K(e.offsetTree,a,i),d=m.offsetTree;return{sizeTree:i,offsetTree:d,lastIndex:m.lastIndex,lastOffset:m.lastOffset,lastSize:m.lastSize,groupOffsetTree:r.reduce(function(e,t){return H(e,t,Y(t,d))},b()),groupIndices:r}}function Y(e,t){if(0===t.length)return 0;var n=N(t,e,G);return n.size*(e-n.index)+n.offset}function Z(e,t){if(!J(t))return e;for(var n=0;t.groupIndices[n]<=e+n;)n++;return e+n}function J(e){return!y(e.groupOffsetTree)}var $={offsetHeight:"height",offsetWidth:"width"},Q=i.system(function(e){var t=e[0].log,n=i.stream(),r=i.stream(),o=i.statefulStreamFromEmitter(r,0),a=i.stream(),s=i.stream(),u=i.statefulStream(0),c=i.statefulStream([]),m=i.statefulStream(void 0),d=i.statefulStream(void 0),f=i.statefulStream(function(e,t){return C(e,$[t])}),p=i.statefulStream(void 0),h={offsetTree:[],sizeTree:b(),groupOffsetTree:b(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]},g=i.statefulStreamFromEmitter(i.pipe(n,i.withLatestFrom(c,t),i.scan(q,h),i.distinctUntilChanged()),h);i.connect(i.pipe(c,i.filter(function(e){return e.length>0}),i.withLatestFrom(g),i.map(function(e){var t=e[0],n=e[1],r=t.reduce(function(e,t,r){return H(e,t,Y(t,n.offsetTree)||r)},b());return l({},n,{groupIndices:t,groupOffsetTree:r})})),g),i.connect(i.pipe(r,i.withLatestFrom(g),i.filter(function(e){return e[0]<e[1].lastIndex}),i.map(function(e){var t=e[1];return[{startIndex:e[0],endIndex:t.lastIndex,size:t.lastSize}]})),n),i.connect(m,d);var v=i.statefulStreamFromEmitter(i.pipe(m,i.map(function(e){return void 0===e})),!0);i.connect(i.pipe(d,i.filter(function(e){return void 0!==e&&y(i.getValue(g).sizeTree)}),i.map(function(e){return[{startIndex:0,endIndex:0,size:e}]})),n);var S=i.streamFromEmitter(i.pipe(n,i.withLatestFrom(g),i.scan(function(e,t){var n=t[1];return{changed:n!==e.sizes,sizes:n}},{changed:!1,sizes:h}),i.map(function(e){return e.changed})));i.subscribe(i.pipe(u,i.scan(function(e,t){return{diff:e.prev-t,prev:t}},{diff:0,prev:0}),i.map(function(e){return e.diff})),function(e){e>0?i.publish(a,e):e<0&&i.publish(s,e)}),i.subscribe(i.pipe(u,i.withLatestFrom(t)),function(e){e[0]<0&&(0,e[1])("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:u},exports.LogLevel.ERROR)});var I=i.streamFromEmitter(a);i.connect(i.pipe(a,i.withLatestFrom(g),i.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 k(n.sizeTree).reduce(function(e,n){var r=n.k,o=n.v;return{ranges:[].concat(e.ranges,[{startIndex:e.prevIndex,endIndex:r+t-1,size:e.prevSize}]),prevIndex:r+t,prevSize:o}},{ranges:[],prevIndex:0,prevSize:n.lastSize}).ranges})),n);var x=i.streamFromEmitter(i.pipe(s,i.withLatestFrom(g),i.map(function(e){return Y(-e[0],e[1].offsetTree)})));return i.connect(i.pipe(s,i.withLatestFrom(g),i.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 r=k(n.sizeTree).reduce(function(e,n){var r=n.v;return H(e,Math.max(0,n.k+t),r)},b());return l({},n,{sizeTree:r},K(n.offsetTree,0,r))})),g),{data:p,totalCount:r,sizeRanges:n,groupIndices:c,defaultItemSize:d,fixedItemSize:m,unshiftWith:a,shiftWith:s,shiftWithOffset:x,beforeUnshiftWith:I,firstItemIndex:u,sizes:g,listRefresh:S,statefulTotalCount:o,trackItemSizes:v,itemSize:f}},i.tup(h),{singleton:!0}),X="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function ee(e){var t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&X||(t.behavior="auto"),t.offset||(t.offset=0),t}var te=i.system(function(e){var t=e[0],n=t.sizes,r=t.totalCount,o=t.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=i.stream(),h=i.statefulStream(0),g=null,v=null,S=null;function C(){g&&(g(),g=null),S&&(S(),S=null),v&&(clearTimeout(v),v=null),i.publish(l,!1)}return i.connect(i.pipe(p,i.withLatestFrom(n,s,r,h,m,d,f),i.map(function(e){var t=e[0],n=e[1],r=e[2],a=e[3],s=e[4],u=e[5],m=e[6],d=e[7],f=ee(t),h=f.align,I=f.behavior,x=f.offset,T=a-1,w=f.index;"LAST"===w&&(w=T),w=Z(w,n);var y=Y(w=Math.max(0,w,Math.min(T,w)),n.offsetTree)+u;"end"===h?(y=y-r+L(n.sizeTree,w)[1],w===T&&(y+=m)):"center"===h?y=y-r/2+L(n.sizeTree,w)[1]/2:y-=s,x&&(y+=x);var b=function(e){C(),e?(d("retrying to scroll to",{location:t},exports.LogLevel.DEBUG),i.publish(p,t)):d("list did not change, scroll successful",{},exports.LogLevel.DEBUG)};if(C(),"smooth"===I){var E=!1;S=i.subscribe(o,function(e){E=E||e}),g=i.handleNext(c,function(){b(E)})}else g=i.handleNext(i.pipe(o,function(e){var t=setTimeout(function(){e(!1)},50);return function(n){n&&(e(!0),clearTimeout(t))}}),b);return v=setTimeout(function(){C()},1200),i.publish(l,!0),d("scrolling from index to",{index:w,top:y,behavior:I},exports.LogLevel.DEBUG),{top:y,behavior:I}})),u),{scrollToIndex:p,topListHeight:h}},i.tup(Q,x,h),{singleton:!0}),ne="up",re={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},oe=i.system(function(e){var t=e[0],n=t.scrollContainerState,r=t.scrollTop,o=t.viewportHeight,a=t.headerHeight,l=t.footerHeight,s=t.scrollBy,u=i.statefulStream(!1),c=i.statefulStream(!0),m=i.stream(),d=i.stream(),f=i.statefulStream(4),p=i.streamFromEmitter(i.pipe(i.merge(i.pipe(i.duc(r),i.skip(1),i.mapTo(!0)),i.pipe(i.duc(r),i.skip(1),i.mapTo(!1),i.debounceTime(100))),i.distinctUntilChanged())),h=i.statefulStreamFromEmitter(i.pipe(i.merge(i.pipe(s,i.mapTo(!0)),i.pipe(s,i.mapTo(!1),i.debounceTime(200))),i.distinctUntilChanged()),!1);i.connect(i.pipe(i.duc(r),i.map(function(e){return 0===e}),i.distinctUntilChanged()),c),i.connect(c,d);var g=i.streamFromEmitter(i.pipe(i.combineLatest(n,i.duc(o),i.duc(a),i.duc(l),i.duc(f)),i.scan(function(e,t){var n,r,o=t[0],i=o.scrollTop,a=o.scrollHeight,l=t[1],s={viewportHeight:l,scrollTop:i,scrollHeight:a};return i+l-a>-t[4]?(i>e.state.scrollTop?(n="SCROLLED_DOWN",r=e.state.scrollTop-i):(n="SIZE_DECREASED",r=e.state.scrollTop-i||e.scrollTopDelta),{atBottom:!0,state:s,atBottomBecause:n,scrollTopDelta:r}):{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}},re),i.distinctUntilChanged(function(e,t){return e&&e.atBottom===t.atBottom}))),v=i.statefulStreamFromEmitter(i.pipe(n,i.scan(function(e,t){var n=t.scrollTop,r=t.scrollHeight;return e.scrollHeight!==r?e.scrollTop!==n&&n===r-t.viewportHeight?{scrollHeight:r,scrollTop:n,jump:e.scrollTop-n,changed:!0}:{scrollHeight:r,scrollTop:n,jump:0,changed:!0}:{scrollTop:n,scrollHeight:r,jump:0,changed:!1}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),i.filter(function(e){return e.changed}),i.map(function(e){return e.jump})),0);i.connect(i.pipe(g,i.map(function(e){return e.atBottom})),u),i.connect(i.pipe(u,i.throttleTime(50)),m);var S=i.statefulStream("down");i.connect(i.pipe(n,i.map(function(e){return e.scrollTop}),i.distinctUntilChanged(),i.scan(function(e,t){return i.getValue(h)?{direction:e.direction,prevScrollTop:t}:{direction:t<e.prevScrollTop?ne:"down",prevScrollTop:t}},{direction:"down",prevScrollTop:0}),i.map(function(e){return e.direction})),S),i.connect(i.pipe(n,i.throttleTime(50),i.mapTo("none")),S);var C=i.statefulStream(0);return i.connect(i.pipe(p,i.filter(function(e){return!e}),i.mapTo(0)),C),i.connect(i.pipe(r,i.throttleTime(100),i.withLatestFrom(p),i.filter(function(e){return!!e[1]}),i.scan(function(e,t){return[e[1],t[0]]},[0,0]),i.map(function(e){return e[1]-e[0]})),C),{isScrolling:p,isAtTop:c,isAtBottom:u,atBottomState:g,atTopStateChange:d,atBottomStateChange:m,scrollDirection:S,atBottomThreshold:f,scrollVelocity:C,lastJumpDueToItemResize:v}},i.tup(x)),ie=i.system(function(e){var n=e[0].log,r=i.statefulStream(!1),o=i.streamFromEmitter(i.pipe(r,i.filter(function(e){return e}),i.distinctUntilChanged()));return i.subscribe(r,function(e){e&&t.getValue(n)("props updated",{},exports.LogLevel.DEBUG)}),{propsReady:r,didMount:o}},t.tup(h),{singleton:!0}),ae=i.system(function(e){var t=e[0],n=t.sizes,r=t.listRefresh,o=t.defaultItemSize,a=e[1].scrollTop,l=e[2].scrollToIndex,s=e[3].didMount,u=i.statefulStream(!0),c=i.statefulStream(0);return i.connect(i.pipe(s,i.withLatestFrom(c),i.filter(function(e){return!!e[1]}),i.mapTo(!1)),u),i.subscribe(i.pipe(i.combineLatest(r,s),i.withLatestFrom(u,n,o),i.filter(function(e){var t=e[1],n=e[3];return e[0][1]&&(!y(e[2].sizeTree)||void 0!==n)&&!t}),i.withLatestFrom(c)),function(e){var t=e[1];setTimeout(function(){i.handleNext(a,function(){i.publish(u,!0)}),i.publish(l,t)})}),{scrolledToInitialItem:u,initialTopMostItemIndex:c}},i.tup(Q,x,te,ie),{singleton:!0});function le(e){return!!e&&("smooth"===e?"smooth":"auto")}var se=i.system(function(e){var t=e[0],n=t.totalCount,r=t.listRefresh,o=e[1],a=o.isAtBottom,l=o.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=i.statefulStream(!1),g=null;function v(e){i.publish(s,{index:"LAST",align:"end",behavior:e})}return i.subscribe(i.pipe(i.combineLatest(i.pipe(i.duc(n),i.skip(1)),d),i.withLatestFrom(i.duc(h),a,u,p),i.map(function(e){var t=e[0],n=t[0],r=t[1]&&e[3],o="auto";return r&&(o=function(e,t){return"function"==typeof e?le(e(t)):t&&le(e)}(e[1],e[2]||e[4]),r=r&&!!o),{totalCount:n,shouldFollow:r,followOutputBehavior:o}}),i.filter(function(e){return e.shouldFollow})),function(e){var t=e.totalCount,n=e.followOutputBehavior;g&&(g(),g=null),g=i.handleNext(r,function(){i.getValue(f)("following output to ",{totalCount:t},exports.LogLevel.DEBUG),v(n),g=null})}),i.subscribe(i.pipe(i.combineLatest(i.duc(h),n,m),i.filter(function(e){return e[0]&&e[2]}),i.scan(function(e,t){var n=t[1];return{refreshed:e.value===n,value:n}},{refreshed:!1,value:0}),i.filter(function(e){return e.refreshed}),i.withLatestFrom(h,n)),function(e){var t=e[1],n=i.handleNext(l,function(e){!t||e.atBottom||"SIZE_INCREASED"!==e.notAtBottomBecause||g||(i.getValue(f)("scrolling to bottom due to increased size",{},exports.LogLevel.DEBUG),v("auto"))});setTimeout(n,100)}),i.subscribe(i.combineLatest(i.duc(h),l),function(e){var t=e[1];e[0]&&!t.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===t.notAtBottomBecause&&v("auto")}),{followOutput:h}},i.tup(Q,oe,te,ae,ie,h,x));function ue(e){return e.reduce(function(e,t){return e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e},{totalCount:0,groupIndices:[]})}var ce=t.system(function(e){var n=e[0],r=n.totalCount,o=n.groupIndices,i=n.sizes,a=e[1],l=a.scrollTop,s=a.headerHeight,u=t.stream(),c=t.stream(),m=t.streamFromEmitter(t.pipe(u,t.map(ue)));return t.connect(t.pipe(m,t.map(t.prop("totalCount"))),r),t.connect(t.pipe(m,t.map(t.prop("groupIndices"))),o),t.connect(t.pipe(t.combineLatest(l,i,s),t.filter(function(e){return J(e[1])}),t.map(function(e){return L(e[1].groupOffsetTree,Math.max(e[0]-e[2],0),"v")[0]}),t.distinctUntilChanged(),t.map(function(e){return[e]})),c),{groupCounts:u,topItemsIndexes:c}},t.tup(Q,x));function me(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}function de(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}function fe(e,t,n){return"number"==typeof e?n===ne&&"top"===t||"down"===n&&"bottom"===t?e:0:n===ne?"top"===t?e.main:e.reverse:"bottom"===t?e.main:e.reverse}function pe(e,t){return"number"==typeof e?e:e[t]||0}var he=i.system(function(e){var t=e[0],n=t.scrollTop,r=t.viewportHeight,o=t.deviation,a=t.headerHeight,l=i.stream(),s=i.statefulStream(0),u=i.statefulStream(0),c=i.statefulStream(0),m=i.statefulStream(0),d=i.statefulStreamFromEmitter(i.pipe(i.combineLatest(i.duc(n),i.duc(r),i.duc(a),i.duc(l,me),i.duc(m),i.duc(s),i.duc(u),i.duc(o),i.duc(c)),i.map(function(e){var t=e[0],n=e[1],r=e[2],o=e[3],i=o[0],a=o[1],l=e[4],s=e[6],u=e[7],c=e[8],m=t-u,d=e[5]+s,f=Math.max(r-m,0),p="none",h=pe(c,"top"),g=pe(c,"bottom");return i-=u,a+=r+s,(i+=r+s)>t+d-h&&(p=ne),(a-=u)<t-f+n+g&&(p="down"),"none"!==p?[Math.max(m-r-fe(l,"top",p)-h,0),m-f-s+n+fe(l,"bottom",p)+g]:null}),i.filter(function(e){return null!=e}),i.distinctUntilChanged(me)),[0,0]);return{listBoundary:l,overscan:m,topListHeight:s,fixedHeaderHeight:u,increaseViewportBy:c,visibleRange:d}},i.tup(x),{singleton:!0}),ge={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0};function ve(e,t,n){if(0===e.length)return[];if(!J(t))return e.map(function(e){return l({},e,{index:e.index+n,originalIndex:e.index})});for(var r,o=[],i=M(t.groupOffsetTree,e[0].index,e[e.length-1].index),a=void 0,s=0,u=c(e);!(r=u()).done;){var m=r.value;(!a||a.end<m.index)&&(a=i.shift(),s=t.groupIndices.indexOf(a.start)),o.push(l({},m.index===a.start?{type:"group",index:s}:{index:m.index-(s+1)+n,groupIndex:s},{size:m.size,offset:m.offset,originalIndex:m.index,data:m.data}))}return o}function Se(e,t,n,r,o){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=r.lastOffset+(n-r.lastIndex)*r.lastSize-a;return{items:ve(e,r,o),topItems:ve(t,r,o),topListHeight:t.reduce(function(e,t){return t.size+e},0),offsetTop:i,offsetBottom:u,top:s,bottom:a,totalCount:n}}var Ce,Ie,xe,Te=i.system(function(e){var t=e[0],n=t.sizes,r=t.totalCount,o=t.data,a=t.firstItemIndex,s=e[1],u=e[2],m=u.visibleRange,d=u.listBoundary,f=u.topListHeight,p=e[3],h=p.scrolledToInitialItem,g=p.initialTopMostItemIndex,v=e[4].topListHeight,S=e[5],C=e[6].didMount,I=i.statefulStream([]),x=i.stream();i.connect(s.topItemsIndexes,I);var T=i.statefulStreamFromEmitter(i.pipe(i.combineLatest(C,i.duc(m),i.duc(r),i.duc(n),i.duc(g),h,i.duc(I),i.duc(a),o),i.filter(function(e){return e[0]}),i.map(function(e){var t=e[1],n=t[0],r=t[1],o=e[2],a=e[4],l=e[5],s=e[6],u=e[7],m=e[8],d=e[3],f=d.sizeTree,p=d.offsetTree;if(0===o||0===n&&0===r)return ge;if(y(f))return Se(function(e,t,n){if(J(t)){var r=Z(e,t);return[{index:L(t.groupOffsetTree,r)[0],size:0,offset:0},{index:r,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,o),d,m),[],o,d,u);var h=[];if(s.length>0)for(var g,v=s[0],S=s[s.length-1],C=0,I=c(M(f,v,S));!(g=I()).done;)for(var x=g.value,T=x.value,w=Math.max(x.start,v),b=Math.min(x.end,S),E=w;E<=b;E++)h.push({index:E,size:T,offset:C,data:m&&m[E]}),C+=T;if(!l)return Se([],h,o,d,u);var H=s.length>0?s[s.length-1]+1:0,R=function(e,t,n,r){return void 0===r&&(r=0),r>0&&(t=Math.max(t,N(e,r,G).offset)),V((i=n,l=W(o=e,t,a=j),s=W(o,i,a,l),o.slice(l,s+1)),_);var o,i,a,l,s}(p,n,r,H);if(0===R.length)return null;var k=o-1;return Se(i.tap([],function(e){for(var t,o=c(R);!(t=o()).done;){var i=t.value,a=i.value,l=a.offset,s=i.start,u=a.size;a.offset<n&&(l+=((s+=Math.floor((n-a.offset)/u))-i.start)*u),s<H&&(l+=(H-s)*u,s=H);for(var d=Math.min(i.end,k),f=s;f<=d&&!(l>=r);f++)e.push({index:f,size:u,offset:l,data:m&&m[f]}),l+=u}}),h,o,d,u)}),i.filter(function(e){return null!==e}),i.distinctUntilChanged()),ge);return i.connect(i.pipe(o,i.filter(function(e){return void 0!==e}),i.map(function(e){return e.length})),r),i.connect(i.pipe(T,i.map(i.prop("topListHeight"))),v),i.connect(v,f),i.connect(i.pipe(T,i.map(function(e){return[e.top,e.bottom]})),d),i.connect(i.pipe(T,i.map(function(e){return e.items})),x),l({listState:T,topItemsIndexes:I,endReached:i.streamFromEmitter(i.pipe(T,i.filter(function(e){return e.items.length>0}),i.withLatestFrom(r,o),i.filter(function(e){var t=e[0].items;return t[t.length-1].originalIndex===e[1]-1}),i.map(function(e){return[e[1]-1,e[2]]}),i.distinctUntilChanged(me),i.map(function(e){return e[0]}))),startReached:i.streamFromEmitter(i.pipe(T,i.throttleTime(200),i.filter(function(e){var t=e.items;return t.length>0&&t[0].originalIndex===e.topItems.length}),i.map(function(e){return e.items[0].index}),i.distinctUntilChanged())),rangeChanged:i.streamFromEmitter(i.pipe(T,i.filter(function(e){return e.items.length>0}),i.map(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),i.distinctUntilChanged(de))),itemsRendered:x},S)},i.tup(Q,ce,he,ae,te,oe,ie),{singleton:!0}),we=i.system(function(e){var t=e[0],n=t.sizes,r=t.firstItemIndex,o=t.data,a=e[1].listState,l=e[2].didMount,s=i.statefulStream(0);return i.connect(i.pipe(l,i.withLatestFrom(s),i.filter(function(e){return 0!==e[1]}),i.withLatestFrom(n,r,o),i.map(function(e){var t=e[0][1],n=e[1],r=e[2],o=e[3],i=void 0===o?[]:o,a=0;if(n.groupIndices.length>0)for(var l,s=c(n.groupIndices);!((l=s()).done||l.value-a>=t);)a++;var u=t+a;return Se(Array.from({length:u}).map(function(e,t){return{index:t,size:0,offset:0,data:i[t]}}),[],u,n,r)})),a),{initialItemCount:s}},i.tup(Q,Te,ie),{singleton:!0}),ye=i.system(function(e){var t=e[0].scrollVelocity,n=i.statefulStream(!1),r=i.stream(),o=i.statefulStream(!1);return i.connect(i.pipe(t,i.withLatestFrom(o,n,r),i.filter(function(e){return!!e[1]}),i.map(function(e){var t=e[0],n=e[1],r=e[2],o=e[3],i=n.enter;if(r){if((0,n.exit)(t,o))return!1}else if(i(t,o))return!0;return r}),i.distinctUntilChanged()),n),i.subscribe(i.pipe(i.combineLatest(n,t,r),i.withLatestFrom(o)),function(e){var t=e[0],n=e[1];return t[0]&&n&&n.change&&n.change(t[1],t[2])}),{isSeeking:n,scrollSeekConfiguration:o,scrollVelocity:t,scrollSeekRangeChanged:r}},i.tup(oe),{singleton:!0}),be=t.system(function(e){var n=e[0].topItemsIndexes,r=t.statefulStream(0);return t.connect(t.pipe(r,t.filter(function(e){return e>0}),t.map(function(e){return Array.from({length:e}).map(function(e,t){return t})})),n),{topItemCount:r}},t.tup(Te)),Ee=i.system(function(e){var t=e[0],n=t.footerHeight,r=t.headerHeight,o=e[1].listState,a=i.stream(),l=i.statefulStreamFromEmitter(i.pipe(i.combineLatest(n,r,o),i.map(function(e){var t=e[2];return e[0]+e[1]+t.offsetBottom+t.bottom})),0);return i.connect(i.duc(l),a),{totalListHeight:l,totalListHeightChanged:a}},i.tup(x,Te),{singleton:!0}),Le=i.system(function(e){var t=e[0],n=t.scrollBy,r=t.scrollTop,o=t.deviation,a=t.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=i.streamFromEmitter(i.pipe(e[2].listState,i.withLatestFrom(l.lastJumpDueToItemResize),i.scan(function(e,t){var n=e[1],r=t[0],o=r.items,i=r.totalCount,a=r.bottom+r.offsetBottom,l=0;return e[2]===i&&n.length>0&&o.length>0&&(0===o[0].originalIndex&&0===n[0].originalIndex||0!=(l=a-e[3])&&(l+=t[1])),[l,o,i,a]},[0,[],0,0]),i.filter(function(e){return 0!==e[0]}),i.withLatestFrom(r,m,a,g,u,c),i.filter(function(e){return!e[3]&&0!==e[1]&&e[2]===ne}),i.map(function(e){var t=e[0][0];return(0,e[4])("Upward scrolling compensation",{amount:t},exports.LogLevel.DEBUG),t})));return i.connect(i.pipe(v,i.withLatestFrom(o),i.map(function(e){return e[1]-e[0]})),o),i.subscribe(i.pipe(i.combineLatest(i.statefulStreamFromEmitter(s,!1),o),i.filter(function(e){return!e[0]&&0!==e[1]}),i.map(function(e){return e[1]}),i.throttleTime(1)),function(e){e>0?(i.publish(n,{top:-e,behavior:"auto"}),i.publish(o,0)):(i.publish(o,0),i.publish(n,{top:-e,behavior:"auto"}))}),i.connect(i.pipe(p,i.map(function(e){return{top:-e}})),n),i.connect(i.pipe(f,i.withLatestFrom(h),i.map(function(e){return e[0]*e[1].lastSize})),v),{deviation:o}},i.tup(x,oe,Te,Q,h)),He=i.system(function(e){var t=e[0].totalListHeight,n=e[1].didMount,r=e[2].scrollTo,o=i.statefulStream(0);return i.subscribe(i.pipe(n,i.withLatestFrom(o),i.filter(function(e){return 0!==e[1]}),i.map(function(e){return{top:e[1]}})),function(e){i.handleNext(i.pipe(t,i.filter(function(e){return 0!==e})),function(){setTimeout(function(){i.publish(r,e)})})}),{initialScrollTop:o}},i.tup(Ee,ie,x),{singleton:!0}),Re=i.system(function(e){var t=e[0].viewportHeight,n=e[1].totalListHeight,r=i.statefulStream(!1);return{alignToBottom:r,paddingTopAddition:i.statefulStreamFromEmitter(i.pipe(i.combineLatest(r,t,n),i.filter(function(e){return e[0]}),i.map(function(e){return Math.max(0,e[1]-e[2])}),i.distinctUntilChanged()),0)}},i.tup(x,Ee),{singleton:!0}),ke=i.system(function(e){var t=e[0],n=t.scrollTo,r=t.scrollContainerState,o=i.stream(),a=i.stream(),s=i.stream(),u=i.statefulStream(!1),c=i.statefulStream(void 0);return i.connect(i.pipe(i.combineLatest(o,a),i.map(function(e){var t=e[0],n=t.viewportHeight,r=t.scrollHeight;return{scrollTop:Math.max(0,t.scrollTop-e[1].offsetTop),scrollHeight:r,viewportHeight:n}})),r),i.connect(i.pipe(n,i.withLatestFrom(a),i.map(function(e){var t=e[0];return l({},t,{top:t.top+e[1].offsetTop})})),s),{useWindowScroll:u,customScrollParent:c,windowScrollContainerState:o,windowViewportRect:a,windowScrollTo:s}},i.tup(x)),ze=i.system(function(e){var t=e[0],n=t.sizes,r=t.totalCount,o=e[1],a=o.scrollTop,l=o.viewportHeight,s=o.headerHeight,u=o.scrollingInProgress,c=e[2].scrollToIndex,m=i.stream();return i.connect(i.pipe(m,i.withLatestFrom(n,l,r,s,a),i.map(function(e){var t=e[0],n=t.index,r=t.behavior,o=void 0===r?"auto":r,a=t.done,l=e[1],s=e[2],c=e[4],m=e[5],d=e[3]-1,f=null;n=Z(n,l);var p=Y(n=Math.max(0,n,Math.min(d,n)),l.offsetTree)+c;return p<m?f={index:n,behavior:o,align:"start"}:p+L(l.sizeTree,n)[1]>m+s&&(f={index:n,behavior:o,align:"end"}),f?a&&i.handleNext(i.pipe(u,i.skip(1),i.filter(function(e){return!1===e})),a):a&&a(),f}),i.filter(function(e){return null!==e})),c),{scrollIntoView:m}},i.tup(Q,x,te,Te,h),{singleton:!0}),Be=["listState","topItemsIndexes"],Fe=i.system(function(e){return l({},e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},i.tup(he,we,ie,ye,Ee,He,Re,ke,ze)),Pe=i.system(function(e){var t=e[0],n=t.totalCount,r=t.sizeRanges,o=t.fixedItemSize,a=t.defaultItemSize,u=t.trackItemSizes,c=t.itemSize,m=t.data,d=t.firstItemIndex,f=t.groupIndices,p=t.statefulTotalCount,h=e[1],g=h.initialTopMostItemIndex,v=h.scrolledToInitialItem,S=e[2],C=e[3],I=e[4],x=I.listState,T=I.topItemsIndexes,w=s(I,Be),y=e[5].scrollToIndex,b=e[7].topItemCount,E=e[8].groupCounts,L=e[9],H=e[10];return i.connect(w.rangeChanged,L.scrollSeekRangeChanged),i.connect(i.pipe(L.windowViewportRect,i.map(i.prop("visibleHeight"))),S.viewportHeight),l({totalCount:n,data:m,firstItemIndex:d,sizeRanges:r,initialTopMostItemIndex:g,scrolledToInitialItem:v,topItemsIndexes:T,topItemCount:b,groupCounts:E,fixedItemHeight:o,defaultItemHeight:a},C,{statefulTotalCount:p,listState:x,scrollToIndex:y,trackItemSizes:u,itemSize:c,groupIndices:f},w,L,S,H)},i.tup(Q,ae,x,se,Te,te,Le,be,ce,Fe,h)),Oe=(Ce=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"},xe=!1,function(){return xe||(xe=!0,Ie=Ce()),Ie});function Me(e,t){var r=n.useRef(null),o=n.useCallback(function(n){if(null!==n){var o,i,a=n.getBoundingClientRect(),l=a.width;if(t){var s=t.getBoundingClientRect(),u=a.top-s.top;o=s.height-Math.max(0,u),i=u+t.scrollTop}else o=window.innerHeight-Math.max(0,a.top),i=a.top+window.pageYOffset;r.current={offsetTop:i,visibleHeight:o,visibleWidth:l},e(r.current)}},[e,t]),i=g(o),a=i.callbackRef,l=i.ref,s=n.useCallback(function(){o(l.current)},[o,l]);return n.useEffect(function(){if(t){t.addEventListener("scroll",s);var e=new ResizeObserver(s);return e.observe(t),function(){t.removeEventListener("scroll",s),e.unobserve(t)}}return window.addEventListener("scroll",s),window.addEventListener("resize",s),function(){window.removeEventListener("scroll",s),window.removeEventListener("resize",s)}},[s,t]),a}function Ve(e){return e?r.flushSync:function(e){return e()}}var Ue=["placeholder"],Ae=["style","children"],We=["style","children"];function Ne(e){return e}var De=t.system(function(){var e=t.statefulStream(function(e){return"Item "+e}),n=t.statefulStream(null),r=t.statefulStream(function(e){return"Group "+e}),o=t.statefulStream({}),i=t.statefulStream(Ne),a=t.statefulStream("div"),l=t.statefulStream(t.noop),s=function(e,n){return void 0===n&&(n=null),t.statefulStreamFromEmitter(t.pipe(o,t.map(function(t){return t[e]}),t.distinctUntilChanged()),n)};return{context:n,itemContent:e,groupContent:r,components:o,computeItemKey:i,headerFooterTag:a,scrollerRef:l,FooterComponent:s("Footer"),HeaderComponent:s("Header"),TopItemListComponent:s("TopItemList"),ListComponent:s("List","div"),ItemComponent:s("Item","div"),GroupComponent:s("Group","div"),ScrollerComponent:s("Scroller","div"),EmptyPlaceholder:s("EmptyPlaceholder"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder")}});function Ge(e,n){var r=t.stream();return t.subscribe(r,function(){return console.warn("react-virtuoso: You are using a deprecated property. "+n,"color: red;","color: inherit;","color: blue;")}),t.connect(r,e),r}var je=t.system(function(e){var n=e[0],r=e[1],o={item:Ge(r.itemContent,"Rename the %citem%c prop to %citemContent."),group:Ge(r.groupContent,"Rename the %cgroup%c prop to %cgroupContent."),topItems:Ge(n.topItemCount,"Rename the %ctopItems%c prop to %ctopItemCount."),itemHeight:Ge(n.fixedItemHeight,"Rename the %citemHeight%c prop to %cfixedItemHeight."),scrollingStateChange:Ge(n.isScrolling,"Rename the %cscrollingStateChange%c prop to %cisScrolling."),adjustForPrependedItems:t.stream(),maxHeightCacheSize:t.stream(),footer:t.stream(),header:t.stream(),HeaderContainer:t.stream(),FooterContainer:t.stream(),ItemContainer:t.stream(),ScrollContainer:t.stream(),GroupContainer:t.stream(),ListContainer:t.stream(),emptyComponent:t.stream(),scrollSeek:t.stream()};function i(e,n,o){t.connect(t.pipe(e,t.withLatestFrom(r.components),t.map(function(e){var t,r=e[0],i=e[1];return console.warn("react-virtuoso: "+o+" property is deprecated. Pass components."+n+" instead."),l({},i,((t={})[n]=r,t))})),r.components)}return t.subscribe(o.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;")}),t.subscribe(o.maxHeightCacheSize,function(){console.warn("react-virtuoso: maxHeightCacheSize is no longer necessary. Setting it has no effect - remove it from your code.")}),t.subscribe(o.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.")}),t.subscribe(o.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.")}),t.subscribe(o.scrollSeek,function(e){var o=e.placeholder,i=s(e,Ue);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),t.publish(r.components,l({},t.getValue(r.components),{ScrollSeekPlaceholder:o})),t.publish(n.scrollSeekConfiguration,i)}),i(o.footer,"Footer","footer"),i(o.header,"Header","header"),i(o.ItemContainer,"Item","ItemContainer"),i(o.ListContainer,"List","ListContainer"),i(o.ScrollContainer,"Scroller","ScrollContainer"),i(o.emptyComponent,"EmptyPlaceholder","emptyComponent"),i(o.GroupContainer,"Group","GroupContainer"),l({},n,r,o)},t.tup(Pe,De)),_e=function(e){return a.createElement("div",{style:{height:e.height}})},Ke={position:Oe(),zIndex:1,overflowAnchor:"none"},qe={overflowAnchor:"none"},Ye=a.memo(function(e){var r=e.showTopList,o=void 0!==r&&r,i=ct("listState"),s=a.useState(0),u=s[0],c=s[1],m=ct("react18ConcurrentRendering");mt("deviation",function(e){u!==e&&Ve(m)(function(){return c(e)})});var d=ut("sizeRanges"),f=ct("useWindowScroll"),p=ct("customScrollParent"),h=ut("windowScrollContainerState"),g=ut("scrollContainerState"),v=p||f?h:g,C=ct("itemContent"),I=ct("context"),x=ct("groupContent"),T=ct("trackItemSizes"),w=ct("itemSize"),y=ct("log"),b=S(d,w,T,o?t.noop:v,y,p),E=ct("EmptyPlaceholder"),L=ct("ScrollSeekPlaceholder")||_e,H=ct("ListComponent"),R=ct("ItemComponent"),k=ct("GroupComponent"),z=ct("computeItemKey"),B=ct("isSeeking"),F=ct("groupIndices").length>0,P=ct("paddingTopAddition"),O=ct("firstItemIndex"),M=ct("statefulTotalCount"),V=o?{}:{boxSizing:"border-box",paddingTop:i.offsetTop+P,paddingBottom:i.offsetBottom,marginTop:u};return!o&&0===M&&E?n.createElement(E,Qe(E,I)):n.createElement(H,l({},Qe(H,I),{ref:b,style:V,"data-test-id":o?"virtuoso-top-item-list":"virtuoso-item-list"}),(o?i.topItems:i.items).map(function(e){var t=e.originalIndex,r=z(t+O,e.data,I);return B?n.createElement(L,l({},Qe(L,I),{key:r,index:e.index,height:e.size,type:e.type||"item"},"group"===e.type?{}:{groupIndex:e.groupIndex})):"group"===e.type?n.createElement(k,l({},Qe(k,I),{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:Ke}),x(e.index)):n.createElement(R,l({},Qe(R,I),{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,"data-item-group-index":e.groupIndex,style:qe}),F?C(e.index,e.groupIndex,e.data,I):C(e.index,e.data,I))}))}),Ze={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},Je={width:"100%",height:"100%",position:"absolute",top:0},$e={width:"100%",position:Oe(),top:0};function Qe(e,t){if("string"!=typeof e)return{context:t}}var Xe=a.memo(function(){var e=ct("HeaderComponent"),t=ut("headerHeight"),r=ct("headerFooterTag"),o=v(function(e){return t(C(e,"height"))}),i=ct("context");return e?n.createElement(r,{ref:o},n.createElement(e,Qe(e,i))):null}),et=a.memo(function(){var e=ct("FooterComponent"),t=ut("footerHeight"),r=ct("headerFooterTag"),o=v(function(e){return t(C(e,"height"))}),i=ct("context");return e?n.createElement(r,{ref:o},n.createElement(e,Qe(e,i))):null});function tt(e){var t=e.usePublisher,r=e.useEmitter,o=e.useEmitterValue;return a.memo(function(e){var i=e.style,a=e.children,u=s(e,Ae),c=t("scrollContainerState"),m=o("ScrollerComponent"),d=t("smoothScrollTargetReached"),f=o("scrollerRef"),p=o("context"),h=I(c,d,m,f),g=h.scrollerRef,v=h.scrollByCallback;return r("scrollTo",h.scrollToCallback),r("scrollBy",v),n.createElement(m,l({ref:g,style:l({},Ze,i),"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0},u,Qe(m,p)),a)})}function nt(e){var r=e.usePublisher,o=e.useEmitter,i=e.useEmitterValue;return a.memo(function(e){var a=e.style,u=e.children,c=s(e,We),m=r("windowScrollContainerState"),d=i("ScrollerComponent"),p=r("smoothScrollTargetReached"),h=i("totalListHeight"),g=i("deviation"),v=i("customScrollParent"),S=i("context"),C=I(m,p,d,t.noop,v),x=C.scrollerRef,T=C.scrollByCallback,w=C.scrollToCallback;return f(function(){return x.current=v||window,function(){x.current=null}},[x,v]),o("windowScrollTo",w),o("scrollBy",T),n.createElement(d,l({style:l({position:"relative"},a,0!==h?{height:h+g}:{}),"data-virtuoso-scroller":!0},c,Qe(d,S)),u)})}var rt=function(e){var n=e.children,r=ut("viewportHeight"),o=v(t.compose(r,function(e){return C(e,"height")}));return a.createElement("div",{style:Je,ref:o,"data-viewport-type":"element"},n)},ot=function(e){var t=e.children,n=Me(ut("windowViewportRect"),ct("customScrollParent"));return a.createElement("div",{ref:n,style:Je,"data-viewport-type":"window"},t)},it=function(e){var t=e.children,r=ct("TopItemListComponent"),o=ct("headerHeight"),i=l({},$e,{marginTop:o+"px"}),a=ct("context");return n.createElement(r||"div",{style:i,context:a},t)},at=a.memo(function(e){var t=ct("useWindowScroll"),n=ct("topItemsIndexes").length>0,r=ct("customScrollParent"),o=r||t?ot:rt;return a.createElement(r||t?ft:dt,l({},e),a.createElement(o,null,a.createElement(Xe,null),a.createElement(Ye,null),a.createElement(et,null)),n&&a.createElement(it,null,a.createElement(Ye,{showTopList:!0})))}),lt=e.systemToComponent(je,{required:{},optional:{context:"context",followOutput:"followOutput",firstItemIndex:"firstItemIndex",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",topItemCount:"topItemCount",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",groupCounts:"groupCounts",atBottomThreshold:"atBottomThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",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"}},at),st=lt.Component,ut=lt.usePublisher,ct=lt.useEmitterValue,mt=lt.useEmitter,dt=tt({usePublisher:ut,useEmitterValue:ct,useEmitter:mt}),ft=nt({usePublisher:ut,useEmitterValue:ct,useEmitter:mt}),pt={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},ht={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},gt=Math.round,vt=Math.ceil,St=Math.floor,Ct=Math.min,It=Math.max;function xt(e,t){return Array.from({length:t-e+1}).map(function(t,n){return{index:n+e}})}var Tt=i.system(function(e){var t=e[0],n=t.overscan,r=t.visibleRange,o=t.listBoundary,a=e[1],s=a.scrollTop,u=a.viewportHeight,c=a.scrollBy,m=a.scrollTo,d=a.smoothScrollTargetReached,f=a.scrollContainerState,p=e[2],h=e[3],g=e[4],v=g.propsReady,S=g.didMount,C=e[5],I=C.windowViewportRect,x=C.windowScrollTo,T=C.useWindowScroll,w=C.customScrollParent,y=C.windowScrollContainerState,b=i.statefulStream(0),E=i.statefulStream(0),L=i.statefulStream(pt),H=i.statefulStream({height:0,width:0}),R=i.statefulStream({height:0,width:0}),k=i.stream(),z=i.stream(),B=i.statefulStream(0);i.connect(i.pipe(S,i.withLatestFrom(E),i.filter(function(e){return 0!==e[1]}),i.map(function(e){return{items:xt(0,e[1]-1),top:0,bottom:0,offsetBottom:0,offsetTop:0,itemHeight:0,itemWidth:0}})),L),i.connect(i.pipe(i.combineLatest(i.duc(b),r,i.duc(R,function(e,t){return e&&e.width===t.width&&e.height===t.height})),i.withLatestFrom(H),i.map(function(e){var t=e[0],n=t[0],r=t[1],o=r[0],i=r[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 ht;var m=bt(c,u),d=m*St(o/s),f=m*vt(i/s)-1;f=Ct(n-1,f);var p=xt(d=Ct(f,It(0,d)),f),h=wt(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}})),L),i.connect(i.pipe(H,i.map(function(e){return e.height})),u),i.connect(i.pipe(i.combineLatest(H,R,L),i.map(function(e){var t=wt(e[0],e[1],e[2].items);return[t.top,t.bottom]}),i.distinctUntilChanged(me)),o);var F=i.streamFromEmitter(i.pipe(i.duc(L),i.filter(function(e){return e.items.length>0}),i.withLatestFrom(b),i.filter(function(e){var t=e[0].items;return t[t.length-1].index===e[1]-1}),i.map(function(e){return e[1]-1}),i.distinctUntilChanged())),P=i.streamFromEmitter(i.pipe(i.duc(L),i.filter(function(e){var t=e.items;return t.length>0&&0===t[0].index}),i.mapTo(0),i.distinctUntilChanged())),O=i.streamFromEmitter(i.pipe(i.duc(L),i.filter(function(e){return e.items.length>0}),i.map(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),i.distinctUntilChanged(de)));i.connect(O,h.scrollSeekRangeChanged),i.connect(i.pipe(k,i.withLatestFrom(H,R,b),i.map(function(e){var t=e[1],n=e[2],r=e[3],o=ee(e[0]),i=o.align,a=o.behavior,l=o.offset,s=o.index;"LAST"===s&&(s=r-1);var u=yt(t,n,s=It(0,s,Ct(r-1,s)));return"end"===i?u=gt(u-t.height+n.height):"center"===i&&(u=gt(u-t.height/2+n.height/2)),l&&(u+=l),{top:u,behavior:a}})),m);var M=i.statefulStreamFromEmitter(i.pipe(L,i.map(function(e){return e.offsetBottom+e.bottom})),0);return i.connect(i.pipe(I,i.map(function(e){return{width:e.visibleWidth,height:e.visibleHeight}})),H),l({totalCount:b,viewportDimensions:H,itemDimensions:R,scrollTop:s,scrollHeight:z,overscan:n,scrollBy:c,scrollTo:m,scrollToIndex:k,smoothScrollTargetReached:d,windowViewportRect:I,windowScrollTo:x,useWindowScroll:T,customScrollParent:w,windowScrollContainerState:y,deviation:B,scrollContainerState:f,initialItemCount:E},h,{gridState:L,totalListHeight:M},p,{startReached:P,endReached:F,rangeChanged:O,propsReady:v})},i.tup(he,x,oe,ye,ie,ke));function wt(e,t,n){var r=t.height;return void 0===r||0===n.length?{top:0,bottom:0}:{top:yt(e,t,n[0].index),bottom:yt(e,t,n[n.length-1].index)+r}}function yt(e,t,n){var r=bt(e.width,t.width);return St(n/r)*t.height}function bt(e,t){return It(1,St(e/t))}var Et=["placeholder"],Lt=i.system(function(){var e=i.statefulStream(function(e){return"Item "+e}),t=i.statefulStream({}),n=i.statefulStream(null),r=i.statefulStream("virtuoso-grid-item"),o=i.statefulStream("virtuoso-grid-list"),a=i.statefulStream(Ne),l=i.statefulStream(i.noop),s=function(e,n){return void 0===n&&(n=null),i.statefulStreamFromEmitter(i.pipe(t,i.map(function(t){return t[e]}),i.distinctUntilChanged()),n)};return{context:n,itemContent:e,components:t,computeItemKey:a,itemClassName:r,listClassName:o,scrollerRef:l,ListComponent:s("List","div"),ItemComponent:s("Item","div"),ScrollerComponent:s("Scroller","div"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder","div")}}),Ht=i.system(function(e){var t=e[0],n=e[1],r={item:Ge(n.itemContent,"Rename the %citem%c prop to %citemContent."),ItemContainer:i.stream(),ScrollContainer:i.stream(),ListContainer:i.stream(),emptyComponent:i.stream(),scrollSeek:i.stream()};function o(e,t,r){i.connect(i.pipe(e,i.withLatestFrom(n.components),i.map(function(e){var n,o=e[0],i=e[1];return console.warn("react-virtuoso: "+r+" property is deprecated. Pass components."+t+" instead."),l({},i,((n={})[t]=o,n))})),n.components)}return i.subscribe(r.scrollSeek,function(e){var r=e.placeholder,o=s(e,Et);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),i.publish(n.components,l({},i.getValue(n.components),{ScrollSeekPlaceholder:r})),i.publish(t.scrollSeekConfiguration,o)}),o(r.ItemContainer,"Item","ItemContainer"),o(r.ListContainer,"List","ListContainer"),o(r.ScrollContainer,"Scroller","ScrollContainer"),l({},t,n,r)},i.tup(Tt,Lt)),Rt=a.memo(function(){var e=Mt("gridState"),t=Mt("listClassName"),r=Mt("itemClassName"),o=Mt("itemContent"),i=Mt("computeItemKey"),a=Mt("isSeeking"),s=Ot("scrollHeight"),u=Mt("ItemComponent"),c=Mt("ListComponent"),m=Mt("ScrollSeekPlaceholder"),d=Mt("context"),f=Ot("itemDimensions"),p=v(function(e){s(e.parentElement.parentElement.scrollHeight);var t=e.firstChild;t&&f(t.getBoundingClientRect())});return n.createElement(c,l({ref:p,className:t},Qe(c,d),{style:{paddingTop:e.offsetTop,paddingBottom:e.offsetBottom}}),e.items.map(function(t){var s=i(t.index);return a?n.createElement(m,l({key:s},Qe(m,d),{index:t.index,height:e.itemHeight,width:e.itemWidth})):n.createElement(u,l({},Qe(u,d),{className:r,"data-index":t.index,key:s}),o(t.index,d))}))}),kt=function(e){var t=e.children,n=Ot("viewportDimensions"),r=v(function(e){n(e.getBoundingClientRect())});return a.createElement("div",{style:Je,ref:r},t)},zt=function(e){var t=e.children,n=Me(Ot("windowViewportRect"),Mt("customScrollParent"));return a.createElement("div",{ref:n,style:Je},t)},Bt=a.memo(function(e){var t=l({},e),n=Mt("useWindowScroll"),r=Mt("customScrollParent"),o=r||n?zt:kt;return a.createElement(r||n?At:Ut,l({},t),a.createElement(o,null,a.createElement(Rt,null)))}),Ft=e.systemToComponent(Ht,{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"}},Bt),Pt=Ft.Component,Ot=Ft.usePublisher,Mt=Ft.useEmitterValue,Vt=Ft.useEmitter,Ut=tt({usePublisher:Ot,useEmitterValue:Mt,useEmitter:Vt}),At=nt({usePublisher:Ot,useEmitterValue:Mt,useEmitter:Vt}),Wt=t.system(function(){var e=t.statefulStream(function(e){return a.createElement("td",null,"Item $",e)}),n=t.statefulStream(null),r=t.statefulStream(null),o=t.statefulStream({}),i=t.statefulStream(Ne),l=t.statefulStream(t.noop),s=function(e,n){return void 0===n&&(n=null),t.statefulStreamFromEmitter(t.pipe(o,t.map(function(t){return t[e]}),t.distinctUntilChanged()),n)};return{context:n,itemContent:e,fixedHeaderContent:r,components:o,computeItemKey:i,scrollerRef:l,TableComponent:s("Table","table"),TableHeadComponent:s("TableHead","thead"),TableBodyComponent:s("TableBody","tbody"),TableRowComponent:s("TableRow","tr"),ScrollerComponent:s("Scroller","div"),EmptyPlaceholder:s("EmptyPlaceholder"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder"),FillerRow:s("FillerRow")}}),Nt=t.system(function(e){return l({},e[0],e[1])},t.tup(Pe,Wt)),Dt=function(e){return a.createElement("tr",null,a.createElement("td",{style:{height:e.height}}))},Gt=function(e){return a.createElement("tr",null,a.createElement("td",{style:{height:e.height,padding:0,border:0}}))},jt=a.memo(function(){var e=$t("listState"),t=a.useState(0),r=t[0],o=t[1],i=$t("react18ConcurrentRendering");Qt("deviation",function(e){r!==e&&Ve(i)(function(){return o(e)})});var s=Jt("sizeRanges"),u=$t("useWindowScroll"),c=$t("customScrollParent"),m=Jt("windowScrollContainerState"),d=Jt("scrollContainerState"),f=c||u?m:d,p=$t("itemContent"),h=$t("trackItemSizes"),g=S(s,$t("itemSize"),h,f,$t("log"),c),v=$t("EmptyPlaceholder"),C=$t("ScrollSeekPlaceholder")||Dt,I=$t("FillerRow")||Gt,x=$t("TableBodyComponent"),T=$t("TableRowComponent"),w=$t("computeItemKey"),y=$t("isSeeking"),b=$t("paddingTopAddition"),E=$t("firstItemIndex"),L=$t("statefulTotalCount"),H=$t("context");if(0===L&&v)return n.createElement(v,Qe(v,H));var R=e.offsetTop+b+r,k=e.offsetBottom,z=R>0?a.createElement(I,{height:R,key:"padding-top"}):null,B=k>0?a.createElement(I,{height:k,key:"padding-bottom"}):null,F=e.items.map(function(e){var t=e.originalIndex,r=w(t+E,e.data,H);return y?n.createElement(C,l({},Qe(C,H),{key:r,index:e.index,height:e.size,type:e.type||"item"})):n.createElement(T,l({},Qe(T,H),{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:{overflowAnchor:"none"}}),p(e.index,e.data,H))});return n.createElement(x,l({ref:g,"data-test-id":"virtuoso-item-list"},Qe(x,H)),[z].concat(F,[B]))}),_t=function(e){var n=e.children,r=Jt("viewportHeight"),o=v(t.compose(r,function(e){return C(e,"height")}));return a.createElement("div",{style:Je,ref:o,"data-viewport-type":"element"},n)},Kt=function(e){var t=e.children,n=Me(Jt("windowViewportRect"),$t("customScrollParent"));return a.createElement("div",{ref:n,style:Je,"data-viewport-type":"window"},t)},qt=a.memo(function(e){var n=$t("useWindowScroll"),r=$t("customScrollParent"),o=Jt("fixedHeaderHeight"),i=$t("fixedHeaderContent"),s=$t("context"),u=v(t.compose(o,function(e){return C(e,"height")})),c=r||n?en:Xt,m=r||n?Kt:_t,d=$t("TableComponent"),f=$t("TableHeadComponent"),p=i?a.createElement(f,l({key:"TableHead",style:{zIndex:1,position:"sticky",top:0},ref:u},Qe(f,s)),i()):null;return a.createElement(c,l({},e),a.createElement(m,null,a.createElement(d,l({style:{borderSpacing:0}},Qe(d,s)),[p,a.createElement(jt,{key:"TableBody"})])))}),Yt=e.systemToComponent(Nt,{required:{},optional:{context:"context",followOutput:"followOutput",firstItemIndex:"firstItemIndex",itemContent:"itemContent",fixedHeaderContent:"fixedHeaderContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",topItemCount:"topItemCount",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",groupCounts:"groupCounts",atBottomThreshold:"atBottomThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",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"}},qt),Zt=Yt.Component,Jt=Yt.usePublisher,$t=Yt.useEmitterValue,Qt=Yt.useEmitter,Xt=tt({usePublisher:Jt,useEmitterValue:$t,useEmitter:Qt}),en=nt({usePublisher:Jt,useEmitterValue:$t,useEmitter:Qt}),tn=st,nn=Zt,rn=Pt;exports.GroupedVirtuoso=st,exports.TableVirtuoso=nn,exports.Virtuoso=tn,exports.VirtuosoGrid=rn;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|