react-virtuoso 2.8.0-alpha.2 → 2.8.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.
Files changed (68) hide show
  1. package/dist/AATree.d.ts +40 -40
  2. package/dist/Grid.d.ts +482 -482
  3. package/dist/List.d.ts +6253 -6041
  4. package/dist/Table.d.ts +6087 -5875
  5. package/dist/alignToBottomSystem.d.ts +549 -529
  6. package/dist/comparators.d.ts +3 -3
  7. package/dist/components.d.ts +1158 -296
  8. package/dist/domIOSystem.d.ts +15 -15
  9. package/dist/followOutputSystem.d.ts +378 -362
  10. package/dist/gridSystem.d.ts +281 -281
  11. package/dist/groupedListSystem.d.ts +75 -71
  12. package/dist/hooks/__mocks__/useChangedChildSizes.d.ts +4 -4
  13. package/dist/hooks/__mocks__/useScrollTop.d.ts +7 -7
  14. package/dist/hooks/__mocks__/useSize.d.ts +3 -3
  15. package/dist/hooks/useChangedChildSizes.d.ts +3 -3
  16. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +3 -3
  17. package/dist/hooks/useScrollTop.d.ts +6 -6
  18. package/dist/hooks/useSize.d.ts +6 -6
  19. package/dist/hooks/useWindowViewportRect.d.ts +2 -2
  20. package/dist/index.d.ts +3 -3
  21. package/dist/index.js +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.m.js +1 -1
  24. package/dist/index.m.js.map +1 -1
  25. package/dist/initialItemCountSystem.d.ts +542 -518
  26. package/dist/initialScrollTopSystem.d.ts +560 -540
  27. package/dist/initialTopMostItemIndexSystem.d.ts +163 -153
  28. package/dist/interfaces.d.ts +279 -279
  29. package/dist/listStateSystem.d.ts +489 -469
  30. package/dist/listSystem.d.ts +5426 -5214
  31. package/dist/loggerSystem.d.ts +17 -17
  32. package/dist/propsReadySystem.d.ts +12 -12
  33. package/dist/scrollIntoViewSystem.d.ts +645 -617
  34. package/dist/scrollSeekSystem.d.ts +57 -57
  35. package/dist/scrollToIndexSystem.d.ts +81 -77
  36. package/dist/sizeRangeSystem.d.ts +50 -50
  37. package/dist/sizeSystem.d.ts +68 -66
  38. package/dist/stateFlagsSystem.d.ts +65 -65
  39. package/dist/topItemCountSystem.d.ts +489 -469
  40. package/dist/totalListHeightSystem.d.ts +517 -497
  41. package/dist/upwardScrollFixSystem.d.ts +614 -590
  42. package/dist/utils/binaryArraySearch.d.ts +6 -6
  43. package/dist/utils/correctItemSize.d.ts +1 -1
  44. package/dist/utils/positionStickyCssValue.d.ts +1 -1
  45. package/dist/utils/simpleMemoize.d.ts +1 -1
  46. package/dist/windowScrollerSystem.d.ts +35 -35
  47. package/package.json +5 -15
  48. package/dist/TableVirtuoso.js +0 -2
  49. package/dist/TableVirtuoso.js.map +0 -1
  50. package/dist/TableVirtuoso.mjs +0 -2
  51. package/dist/TableVirtuoso.mjs.map +0 -1
  52. package/dist/VirtuosoGrid.js +0 -2
  53. package/dist/VirtuosoGrid.js.map +0 -1
  54. package/dist/VirtuosoGrid.mjs +0 -2
  55. package/dist/VirtuosoGrid.mjs.map +0 -1
  56. package/dist/components/CompProps.d.ts +0 -2
  57. package/dist/components/GroupedVirtuoso.d.ts +0 -27
  58. package/dist/components/TableVirtuoso.d.ts +0 -5717
  59. package/dist/components/Virtuoso.d.ts +0 -205
  60. package/dist/components/VirtuosoGrid.d.ts +0 -93
  61. package/dist/components/index.d.ts +0 -4
  62. package/dist/index-27.js +0 -2
  63. package/dist/index.mjs +0 -2
  64. package/dist/index.mjs.map +0 -1
  65. package/dist/shared.js +0 -2
  66. package/dist/shared.js.map +0 -1
  67. package/dist/shared.mjs +0 -2
  68. package/dist/shared.mjs.map +0 -1
@@ -1,205 +0,0 @@
1
- import { ReactElement, Ref } from 'react';
2
- import { Components, ComputeItemKey, FollowOutput, IndexLocationWithAlign, ItemContent, ListItem, ListRange, ScrollSeekConfiguration } from '../interfaces';
3
- import { List, ListHandle } from '../List';
4
- import { ScrollIntoViewLocation } from '../scrollIntoViewSystem';
5
- import { CompProps } from './CompProps';
6
- export declare type ListProps = CompProps<typeof List>;
7
- export interface VirtuosoProps<D, C> extends Omit<ListProps, 'groupCounts' | 'groupContent' | 'itemsRendered'> {
8
- /**
9
- * The total amount of items to be rendered.
10
- */
11
- totalCount?: number;
12
- /**
13
- * The data items to be rendered. If data is set, the total count will be inferred from the length of the array.
14
- */
15
- data?: readonly D[];
16
- /**
17
- * Additional context available in the custom components and content callbacks
18
- */
19
- context?: C;
20
- /**
21
- * Set the overscan property to make the component "chunk" the rendering of new items on scroll.
22
- * The property causes the component to render more items than the necessary, but reduces the re-renders on scroll.
23
- * Setting `{ main: number, reverse: number }` lets you extend the list in both the main and the reverse scrollable directions.
24
- * See the `increaseViewportBy` property for a similar behavior (equivalent to the `overscan` in `react-window`).
25
- */
26
- overscan?: number | {
27
- main: number;
28
- reverse: number;
29
- };
30
- /**
31
- * Set the increaseViewportBy property to artificially increase the viewport size, causing items to be rendered before outside of the viewport.
32
- * The property causes the component to render more items than the necessary, but can help with slow loading content.
33
- * Using `{ top?: number, bottom?: number }` lets you set the increase for each end separately.
34
- */
35
- increaseViewportBy?: number | {
36
- top: number;
37
- bottom: number;
38
- };
39
- /**
40
- * Set the amount of items to remain fixed at the top of the list.
41
- *
42
- * For a header that scrolls away when scrolling, check the `components.Header` property.
43
- */
44
- topItemCount?: number;
45
- /**
46
- * Set to a value between 0 and totalCount - 1 to make the list start scrolled to that item.
47
- */
48
- initialTopMostItemIndex?: number;
49
- /**
50
- * Set this value to offset the initial location of the list.
51
- * Warning: using this property will still run a render cycle at the scrollTop: 0 list window.
52
- * If possible, avoid using it and stick to `initialTopMostItemIndex` instead.
53
- */
54
- initialScrollTop?: number;
55
- /**
56
- * Use for server-side rendering - if set, the list will render the specified amount of items
57
- * regardless of the container / item size.
58
- */
59
- initialItemCount?: number;
60
- /**
61
- * Use the `components` property for advanced customization of the elements rendered by the list.
62
- */
63
- components?: Components<C>;
64
- /**
65
- * Set the callback to specify the contents of the item.
66
- */
67
- itemContent?: ItemContent<D, C>;
68
- /**
69
- * If specified, the component will use the function to generate the `key` property for each list item.
70
- */
71
- computeItemKey?: ComputeItemKey<D, C>;
72
- /**
73
- * By default, the component assumes the default item height from the first rendered item (rendering it as a "probe").
74
- *
75
- * If the first item turns out to be an outlier (very short or tall), the rest of the rendering will be slower,
76
- * as multiple passes of rendering should happen for the list to fill the viewport.
77
- *
78
- * Setting `defaultItemHeight` causes the component to skip the "probe" rendering and use the property
79
- * value as default height instead.
80
- */
81
- defaultItemHeight?: number;
82
- /**
83
- * Allows customizing the height/width calculation of `Item` elements.
84
- *
85
- * The default implementation reads `el.getBoundingClientRect().height` and `el.getBoundingClientRect().width`.
86
- */
87
- itemSize?: (el: HTMLElement, field: 'offsetHeight' | 'offsetWidth') => number;
88
- /**
89
- * Can be used to improve performance if the rendered items are of known size.
90
- * Setting it causes the component to skip item measurements.
91
- */
92
- fixedItemHeight?: number;
93
- /**
94
- * Use to display placeholders if the user scrolls fast through the list.
95
- *
96
- * Set `components.ScrollSeekPlaceholder` to change the placeholder content.
97
- */
98
- scrollSeekConfiguration?: ScrollSeekConfiguration | false;
99
- /**
100
- * If set to `true`, the list automatically scrolls to bottom if the total count is changed.
101
- * Set to `"smooth"` for an animated scrolling.
102
- *
103
- * By default, `followOutput` scrolls down only if the list is already at the bottom.
104
- * To implement an arbitrary logic behind that, pass a function:
105
- *
106
- * ```tsx
107
- * <Virtuoso
108
- * followOutput={(isAtBottom: boolean) => {
109
- * if (expression) {
110
- * return 'smooth' // can be 'auto' or false to avoid scrolling
111
- * } else {
112
- * return false
113
- * }
114
- * }} />
115
- * ```
116
- */
117
- followOutput?: FollowOutput;
118
- /**
119
- * Set to customize the wrapper tag for the header and footer components (default is `div`).
120
- */
121
- headerFooterTag?: string;
122
- /**
123
- * Use when implementing inverse infinite scrolling - decrease the value this property
124
- * in combination with `data` or `totalCount` to prepend items to the top of the list.
125
- *
126
- * Warning: the firstItemIndex should **be a positive number**, based on the total amount of items to be displayed.
127
- */
128
- firstItemIndex?: number;
129
- /**
130
- * Called when the list starts/stops scrolling.
131
- */
132
- isScrolling?: (isScrolling: boolean) => void;
133
- /**
134
- * Gets called when the user scrolls to the end of the list.
135
- * Receives the last item index as an argument. Can be used to implement endless scrolling.
136
- */
137
- endReached?: (index: number) => void;
138
- /**
139
- * Called when the user scrolls to the start of the list.
140
- */
141
- startReached?: (index: number) => void;
142
- /**
143
- * Called with the new set of items each time the list items are rendered due to scrolling.
144
- */
145
- rangeChanged?: (range: ListRange) => void;
146
- /**
147
- * Called with true / false when the list has reached the bottom / gets scrolled up.
148
- * Can be used to load newer items, like `tail -f`.
149
- */
150
- atBottomStateChange?: (atBottom: boolean) => void;
151
- /**
152
- * Called with `true` / `false` when the list has reached the top / gets scrolled down.
153
- */
154
- atTopStateChange?: (atTop: boolean) => void;
155
- /**
156
- * Called when the total list height is changed due to new items or viewport resize.
157
- */
158
- totalListHeightChanged?: (height: number) => void;
159
- /**
160
- * Called with the new set of items each time the list items are rendered due to scrolling.
161
- */
162
- itemsRendered?: (items: ListItem<D>[]) => void;
163
- /**
164
- * Setting `alignToBottom` to `true` aligns the items to the bottom of the list if the list is shorter than the viewport.
165
- * Use `followOutput` property to keep the list aligned when new items are appended.
166
- */
167
- alignToBottom?: boolean;
168
- /**
169
- * Uses the document scroller rather than wrapping the list in its own.
170
- */
171
- useWindowScroll?: boolean;
172
- /**
173
- * Pass a reference to a scrollable parent element, so that the list won't wrap in its own.
174
- */
175
- customScrollParent?: HTMLElement;
176
- /**
177
- * Provides access to the root DOM element
178
- */
179
- scrollerRef?: (ref: HTMLElement | Window | null) => any;
180
- /**
181
- * 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.
182
- */
183
- atBottomThreshold?: number;
184
- }
185
- export interface VirtuosoHandle extends ListHandle {
186
- /**
187
- * Scrolls the component to the specified item index. See {{IndexLocationWithAlign}} for more options.
188
- */
189
- scrollToIndex(location: number | IndexLocationWithAlign): void;
190
- /**
191
- * Scrolls the item into view if necessary. See [the website example](http://virtuoso.dev/keyboard-navigation/) for an implementation.
192
- */
193
- scrollIntoView(location: ScrollIntoViewLocation): void;
194
- /**
195
- * Scrolls the component to the specified location. See [ScrollToOptions (MDN)](https://developer.mozilla.org/en-US/docs/Web/API/ScrollToOptions)
196
- */
197
- scrollTo(location: ScrollToOptions): void;
198
- /**
199
- * Scrolls the component with the specified amount. See [ScrollToOptions (MDN)](https://developer.mozilla.org/en-US/docs/Web/API/ScrollToOptions)
200
- */
201
- scrollBy(location: ScrollToOptions): void;
202
- }
203
- export declare const Virtuoso: <ItemData extends unknown = any, Context extends unknown = any>(props: VirtuosoProps<ItemData, Context> & {
204
- ref?: Ref<VirtuosoHandle> | undefined;
205
- }) => ReactElement;
@@ -1,93 +0,0 @@
1
- import { ReactElement, Ref } from 'react';
2
- import { Grid, GridHandle } from '../Grid';
3
- import { GridComponents, GridComputeItemKey, GridItemContent, IndexLocationWithAlign, ListRange, ScrollSeekConfiguration } from '../interfaces';
4
- import { CompProps } from './CompProps';
5
- declare type GridProps = CompProps<typeof Grid>;
6
- export interface VirtuosoGridProps<C extends unknown = unknown> extends GridProps {
7
- /**
8
- * The total amount of items to be rendered.
9
- */
10
- totalCount: number;
11
- /**
12
- * Set the callback to specify the contents of the item.
13
- */
14
- itemContent?: GridItemContent<C>;
15
- /**
16
- * Use the `components` property for advanced customization of the elements rendered by the list.
17
- */
18
- components?: GridComponents<C>;
19
- /**
20
- * Set the overscan property to make the component "chunk" the rendering of new items on scroll.
21
- * The property causes the component to render more items than the necessary, but reduces the re-renders on scroll.
22
- * Setting `{ main: number, reverse: number }` lets you extend the list in both the main and the reverse scrollable directions.
23
- */
24
- overscan?: number | {
25
- main: number;
26
- reverse: number;
27
- };
28
- /**
29
- * If specified, the component will use the function to generate the `key` property for each list item.
30
- */
31
- computeItemKey?: GridComputeItemKey;
32
- /**
33
- * Use to display placeholders if the user scrolls fast through the list.
34
- *
35
- * Set `components.ScrollSeekPlaceholder` to change the placeholder content.
36
- */
37
- scrollSeekConfiguration?: ScrollSeekConfiguration | false;
38
- /**
39
- * Called when the list starts/stops scrolling.
40
- */
41
- isScrolling?: (isScrolling: boolean) => void;
42
- /**
43
- * Gets called when the user scrolls to the end of the list.
44
- * Receives the last item index as an argument. Can be used to implement endless scrolling.
45
- */
46
- endReached?: (index: number) => void;
47
- /**
48
- * Called when the user scrolls to the start of the list.
49
- */
50
- startReached?: (index: number) => void;
51
- /**
52
- * Called with the new set of items each time the list items are rendered due to scrolling.
53
- */
54
- rangeChanged?: (range: ListRange) => void;
55
- /**
56
- * Called with true / false when the list has reached the bottom / gets scrolled up.
57
- * Can be used to load newer items, like `tail -f`.
58
- */
59
- atBottomStateChange?: (atBottom: boolean) => void;
60
- /**
61
- * Called with `true` / `false` when the list has reached the top / gets scrolled down.
62
- */
63
- atTopStateChange?: (atTop: boolean) => void;
64
- /**
65
- * Provides access to the root DOM element
66
- */
67
- scrollerRef?: (ref: HTMLElement | null) => any;
68
- /**
69
- * Sets the className for the list DOM element
70
- */
71
- listClassName?: string;
72
- /**
73
- * Sets the grid items' className
74
- */
75
- itemClassName?: string;
76
- /**
77
- * Uses the document scroller rather than wrapping the grid in its own.
78
- */
79
- useWindowScroll?: boolean;
80
- /**
81
- * Pass a reference to a scrollable parent element, so that the grid won't wrap in its own.
82
- */
83
- customScrollParent?: HTMLElement;
84
- }
85
- export interface VirtuosoGridHandle extends GridHandle {
86
- scrollToIndex(location: number | IndexLocationWithAlign): void;
87
- scrollTo(location: ScrollToOptions): void;
88
- scrollBy(location: ScrollToOptions): void;
89
- }
90
- export declare const VirtuosoGrid: <Context extends unknown = any>(props: VirtuosoGridProps<Context> & {
91
- ref?: Ref<VirtuosoGridHandle> | undefined;
92
- }) => ReactElement;
93
- export {};
@@ -1,4 +0,0 @@
1
- export { Virtuoso } from './Virtuoso';
2
- export { GroupedVirtuoso } from './GroupedVirtuoso';
3
- export { TableVirtuoso } from './TableVirtuoso';
4
- export { VirtuosoGrid } from './VirtuosoGrid';
package/dist/index-27.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("@virtuoso.dev/react-urx"),t=require("@virtuoso.dev/urx"),n=require("react");function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function r(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)t.indexOf(n=i[o])>=0||(r[n]=e[n]);return r}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function a(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return i(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)?i(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function l(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}function s(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}var u,c,m=t.system(function(){var e=t.stream(),n=t.stream(),o=t.statefulStream(0),r=t.stream(),i=t.statefulStream(0),a=t.stream(),l=t.stream(),s=t.statefulStream(0),u=t.statefulStream(0),c=t.stream(),m=t.stream(),d=t.statefulStream(!1);return t.connect(t.pipe(e,t.map(function(e){return e[0]})),n),t.connect(t.pipe(e,t.map(function(e){return e[1]})),l),t.connect(n,i),{scrollContainerState:e,scrollTop:n,viewportHeight:a,headerHeight:s,footerHeight:u,scrollHeight:l,smoothScrollTargetReached:r,scrollTo:c,scrollBy:m,statefulScrollTop:i,deviation:o,scrollingInProgress:d}},[],{singleton:!0});(c=exports.LogLevel||(exports.LogLevel={}))[c.DEBUG=0]="DEBUG",c[c.INFO=1]="INFO",c[c.WARN=2]="WARN",c[c.ERROR=3]="ERROR";var d=((u={})[exports.LogLevel.DEBUG]="debug",u[exports.LogLevel.INFO]="log",u[exports.LogLevel.WARN]="warn",u[exports.LogLevel.ERROR]="error",u),f=t.system(function(){var e=t.statefulStream(exports.LogLevel.ERROR);return{log:t.statefulStream(function(n,o,r){var i;void 0===r&&(r=exports.LogLevel.INFO),r>=(null!=(i=("undefined"==typeof globalThis?window:globalThis).VIRTUOSO_LOG_LEVEL)?i:t.getValue(e))&&console[d[r]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",n,o)}),logLevel:e}},[],{singleton:!0}),p=t.system(function(e){var n=e[0].log,o=t.statefulStream(!1),r=t.streamFromEmitter(t.pipe(o,t.filter(function(e){return e}),t.distinctUntilChanged()));return t.subscribe(o,function(e){e&&t.getValue(n)("props updated",{},exports.LogLevel.DEBUG)}),{propsReady:o,didMount:r}},t.tup(f),{singleton:!0}),h="up",g={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},v=t.system(function(e){var n=e[0],o=n.scrollContainerState,r=n.scrollTop,i=n.viewportHeight,a=n.headerHeight,l=n.footerHeight,s=n.scrollBy,u=t.statefulStream(!1),c=t.statefulStream(!0),m=t.stream(),d=t.stream(),f=t.statefulStream(4),p=t.streamFromEmitter(t.pipe(t.merge(t.pipe(t.duc(r),t.skip(1),t.mapTo(!0)),t.pipe(t.duc(r),t.skip(1),t.mapTo(!1),t.debounceTime(100))),t.distinctUntilChanged())),v=t.statefulStreamFromEmitter(t.pipe(t.merge(t.pipe(s,t.mapTo(!0)),t.pipe(s,t.mapTo(!1),t.debounceTime(200))),t.distinctUntilChanged()),!1);t.connect(t.pipe(t.duc(r),t.map(function(e){return 0===e}),t.distinctUntilChanged()),c),t.connect(c,d);var S=t.streamFromEmitter(t.pipe(t.combineLatest(o,t.duc(i),t.duc(a),t.duc(l),t.duc(f)),t.scan(function(e,t){var n,o,r=t[0],i=r[0],a=r[1],l=t[1],s={viewportHeight:l,scrollTop:i,scrollHeight:a};return i+l-a>-t[4]?(i>e.state.scrollTop?(n="SCROLLED_DOWN",o=e.state.scrollTop-i):(n="SIZE_DECREASED",o=e.state.scrollTop-i||e.scrollTopDelta),{atBottom:!0,state:s,atBottomBecause:n,scrollTopDelta:o}):{atBottom:!1,notAtBottomBecause:s.scrollHeight>e.state.scrollHeight?"SIZE_INCREASED":l<e.state.viewportHeight?"VIEWPORT_HEIGHT_DECREASING":i<e.state.scrollTop?"SCROLLING_UPWARDS":"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",state:s}},g),t.distinctUntilChanged(function(e,t){return e&&e.atBottom===t.atBottom}))),C=t.statefulStreamFromEmitter(t.pipe(o,t.scan(function(e,t){var n=t[0],o=t[1];return e.scrollHeight!==o?e.scrollTop!==n?{scrollHeight:o,scrollTop:n,jump:e.scrollTop-n,changed:!0}:{scrollHeight:o,scrollTop:n,jump:0,changed:!0}:{scrollTop:n,scrollHeight:o,jump:0,changed:!1}},{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),t.filter(function(e){return e.changed}),t.map(function(e){return e.jump})),0);t.connect(t.pipe(S,t.map(function(e){return e.atBottom})),u),t.subscribe(u,function(e){setTimeout(function(){return t.publish(m,e)})});var I=t.statefulStream("down");t.subscribe(u,function(e){setTimeout(function(){t.publish(m,e)})}),t.connect(t.pipe(o,t.map(function(e){return e[0]}),t.distinctUntilChanged(),t.scan(function(e,n){return t.getValue(v)?{direction:e.direction,prevScrollTop:n}:{direction:n<e.prevScrollTop?h:"down",prevScrollTop:n}},{direction:"down",prevScrollTop:0}),t.map(function(e){return e.direction})),I),t.connect(t.pipe(o,t.throttleTime(50),t.mapTo("none")),I),t.connect(u,m);var x=t.statefulStream(0);return t.connect(t.pipe(p,t.filter(function(e){return!e}),t.mapTo(0)),x),t.connect(t.pipe(r,t.throttleTime(100),t.withLatestFrom(p),t.filter(function(e){return!!e[1]}),t.scan(function(e,t){return[e[1],t[0]]},[0,0]),t.map(function(e){return e[1]-e[0]})),x),{isScrolling:p,isAtTop:c,isAtBottom:u,atBottomState:S,atTopStateChange:d,atBottomStateChange:m,scrollDirection:I,atBottomThreshold:f,scrollVelocity:x,lastJumpDueToItemResize:C}},t.tup(m)),S=t.system(function(e){var n=e[0].scrollVelocity,o=t.statefulStream(!1),r=t.stream(),i=t.statefulStream(!1);return t.connect(t.pipe(n,t.withLatestFrom(i,o,r),t.filter(function(e){return!!e[1]}),t.map(function(e){var t=e[0],n=e[1],o=e[2],r=e[3],i=n.enter;if(o){if((0,n.exit)(t,r))return!1}else if(i(t,r))return!0;return o}),t.distinctUntilChanged()),o),t.subscribe(t.pipe(t.combineLatest(o,n,r),t.withLatestFrom(i)),function(e){var t=e[0],n=e[1];return t[0]&&n&&n.change&&n.change(t[1],t[2])}),{isSeeking:o,scrollSeekConfiguration:i,scrollVelocity:n,scrollSeekRangeChanged:r}},t.tup(v),{singleton:!0}),C={lvl:0};function I(e,t,n,o,r){return void 0===o&&(o=C),void 0===r&&(r=C),{k:e,v:t,lvl:n,l:o,r:r}}function x(e){return e===C}function T(){return C}function w(e,t){if(x(e))return C;var n=e.k,o=e.l,r=e.r;if(t===n){if(x(o))return r;if(x(r))return o;var i=H(o);return B(k(e,{k:i[0],v:i[1],l:R(o)}))}return B(k(e,t<n?{l:w(o,t)}:{r:w(r,t)}))}function y(e,t,n){if(void 0===n&&(n="k"),x(e))return[-Infinity,void 0];if(e[n]===t)return[e.k,e.v];if(e[n]<t){var o=y(e.r,t,n);return-Infinity===o[0]?[e.k,e.v]:o}return y(e.l,t,n)}function b(e,t,n){return x(e)?I(t,n,1):t===e.k?k(e,{k:t,v:n}):function(e){return O(M(e))}(k(e,t<e.k?{l:b(e.l,t,n)}:{r:b(e.r,t,n)}))}function E(e,t,n){if(x(e))return[];var o=e.k,r=e.v,i=e.r,a=[];return o>t&&(a=a.concat(E(e.l,t,n))),o>=t&&o<=n&&a.push({k:o,v:r}),o<=n&&(a=a.concat(E(i,t,n))),a}function L(e){return x(e)?[]:[].concat(L(e.l),[{k:e.k,v:e.v}],L(e.r))}function H(e){return x(e.r)?[e.k,e.v]:H(e.r)}function R(e){return x(e.r)?e.l:B(k(e,{r:R(e.r)}))}function k(e,t){return I(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 z(e){return x(e)||e.lvl>e.r.lvl}function B(e){var t=e.l,n=e.r,o=e.lvl;if(n.lvl>=o-1&&t.lvl>=o-1)return e;if(o>n.lvl+1){if(z(t))return M(k(e,{lvl:o-1}));if(x(t)||x(t.r))throw new Error("Unexpected empty nodes");return k(t.r,{l:k(t,{r:t.r.l}),r:k(e,{l:t.r.r,lvl:o-1}),lvl:o})}if(z(e))return O(k(e,{lvl:o-1}));if(x(n)||x(n.l))throw new Error("Unexpected empty nodes");var r=n.l,i=z(r)?n.lvl-1:n.lvl;return k(r,{l:k(e,{r:r.l,lvl:o-1}),r:O(k(n,{l:r.r,lvl:i})),lvl:r.lvl+1})}function F(e,t,n){return x(e)?[]:P(E(e,y(e,t)[0],n),function(e){return{index:e.k,value:e.v}})}function P(e,t){var n=e.length;if(0===n)return[];for(var o=t(e[0]),r=o.index,i=o.value,a=[],l=1;l<n;l++){var s=t(e[l]),u=s.index,c=s.value;a.push({start:r,end:u-1,value:i}),r=u,i=c}return a.push({start:r,end:Infinity,value:i}),a}function O(e){var t=e.r,n=e.lvl;return x(t)||x(t.r)||t.lvl!==n||t.r.lvl!==n?e:k(t,{l:k(e,{r:t.l}),lvl:n+1})}function M(e){var t=e.l;return x(t)||t.lvl!==e.lvl?e:k(t,{r:k(e,{l:t.r})})}function V(e,t,n,o){void 0===o&&(o=0);for(var r=e.length-1;o<=r;){var i=Math.floor((o+r)/2),a=n(e[i],t);if(0===a)return i;if(-1===a){if(r-o<2)return i-1;r=i-1}else{if(r===o)return i;o=i+1}}throw new Error("Failed binary finding record in array - "+e.join(",")+", searched for "+t)}function U(e,t,n){return e[V(e,t,n)]}function A(e,t){return Math.round(e.getBoundingClientRect()[t])}function W(e){var t=e.size,n=e.startIndex,o=e.endIndex;return function(e){return e.start===n&&(e.end===o||Infinity===e.end)&&e.value===t}}function N(e,t){var n=e.index;return t===n?0:t<n?-1:1}function D(e,t){var n=e.offset;return t===n?0:t<n?-1:1}function G(e){return{index:e.index,value:e}}function _(e,t){var n=t[0],o=t[1];n.length>0&&(0,t[2])("received item sizes",n,exports.LogLevel.DEBUG);var r=e.sizeTree,i=e.offsetTree,l=r,s=0;if(o.length>0&&x(r)&&2===n.length){var u=n[0].size,c=n[1].size;l=o.reduce(function(e,t){return b(b(e,t,u),t+1,c)},l)}else{var m=function(e,t){for(var n,o=x(e)?0:Infinity,r=a(t);!(n=r()).done;){var i=n.value,l=i.size,s=i.startIndex,u=i.endIndex;if(o=Math.min(o,s),x(e))e=b(e,0,l);else{var c=F(e,s-1,u+1);if(!c.some(W(i))){for(var m,d=!1,f=!1,p=a(c);!(m=p()).done;){var h=m.value,g=h.start,v=h.end,S=h.value;d?(u>=g||l===S)&&(e=w(e,g)):(f=S!==l,d=!0),v>u&&u>=g&&S!==l&&(e=b(e,u+1,S))}f&&(e=b(e,s,l))}}}return[e,o]}(l,n);l=m[0],s=m[1]}if(l===r)return e;var d=0,f=0,p=0,h=0;if(0!==s){h=V(i,s-1,N),p=i[h].offset;var g=y(l,s-1);d=g[0],f=g[1],i.length&&i[h].size===y(l,s)[1]&&(h-=1),i=i.slice(0,h+1)}else i=[];for(var v,S=a(F(l,s,Infinity));!(v=S()).done;){var C=v.value,I=C.start,E=C.value,L=(I-d)*f+p;i.push({offset:L,size:E,index:I}),d=I,p=L,f=E}return{sizeTree:l,offsetTree:i,groupOffsetTree:o.reduce(function(e,t){return b(e,t,j(t,i))},T()),lastIndex:d,lastOffset:p,lastSize:f,groupIndices:o}}function j(e,t){if(0===t.length)return 0;var n=U(t,e,N);return n.size*(e-n.index)+n.offset}function K(e,t){if(!Y(t))return e;for(var n=0;t.groupIndices[n]<=e+n;)n++;return e+n}function Y(e){return!x(e.groupOffsetTree)}var q={offsetHeight:"height",offsetWidth:"width"},Z=t.system(function(e){var n=e[0].log,r=t.stream(),i=t.stream(),a=t.statefulStreamFromEmitter(i,0),l=t.stream(),s=t.statefulStream(0),u=t.statefulStream([]),c=t.statefulStream(void 0),m=t.statefulStream(void 0),d=t.statefulStream(function(e,t){return A(e,q[t])}),f=t.statefulStream(void 0),p={offsetTree:[],sizeTree:T(),groupOffsetTree:T(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]},h=t.statefulStreamFromEmitter(t.pipe(r,t.withLatestFrom(u,n),t.scan(_,p),t.distinctUntilChanged()),p);t.connect(t.pipe(u,t.filter(function(e){return e.length>0}),t.withLatestFrom(h),t.map(function(e){var t=e[0],n=e[1],r=t.reduce(function(e,t,o){return b(e,t,j(t,n.offsetTree)||o)},T());return o({},n,{groupIndices:t,groupOffsetTree:r})})),h),t.connect(t.pipe(i,t.withLatestFrom(h),t.filter(function(e){return e[0]<e[1].lastIndex}),t.map(function(e){var t=e[1];return[{startIndex:e[0],endIndex:t.lastIndex,size:t.lastSize}]})),r),t.connect(c,m);var g=t.statefulStreamFromEmitter(t.pipe(c,t.map(function(e){return void 0===e})),!0);t.connect(t.pipe(m,t.filter(function(e){return void 0!==e&&x(t.getValue(h).sizeTree)}),t.map(function(e){return[{startIndex:0,endIndex:0,size:e}]})),r);var v=t.streamFromEmitter(t.pipe(r,t.withLatestFrom(h),t.scan(function(e,t){var n=t[1];return{changed:n!==e.sizes,sizes:n}},{changed:!1,sizes:p}),t.map(function(e){return e.changed})));t.connect(t.pipe(s,t.scan(function(e,t){return{diff:e.prev-t,prev:t}},{diff:0,prev:0}),t.map(function(e){return e.diff}),t.filter(function(e){return e>0})),l),t.subscribe(t.pipe(s,t.withLatestFrom(n)),function(e){e[0]<0&&(0,e[1])("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:s},exports.LogLevel.ERROR)});var S=t.streamFromEmitter(l);return t.connect(t.pipe(l,t.withLatestFrom(h),t.map(function(e){var t=e[0],n=e[1];if(n.groupIndices.length>0)throw new Error("Virtuoso: prepending items does not work with groups");return L(n.sizeTree).reduce(function(e,n){var o=n.k,r=n.v;return{ranges:[].concat(e.ranges,[{startIndex:e.prevIndex,endIndex:o+t-1,size:e.prevSize}]),prevIndex:o+t,prevSize:r}},{ranges:[],prevIndex:0,prevSize:n.lastSize}).ranges})),r),{data:f,totalCount:i,sizeRanges:r,groupIndices:u,defaultItemSize:m,fixedItemSize:c,unshiftWith:l,beforeUnshiftWith:S,firstItemIndex:s,sizes:h,listRefresh:v,statefulTotalCount:a,trackItemSizes:g,itemSize:d}},t.tup(f),{singleton:!0}),J="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function $(e){var t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&J||(t.behavior="auto"),t.offset||(t.offset=0),t}var Q=t.system(function(e){var n=e[0],o=n.sizes,r=n.totalCount,i=n.listRefresh,a=e[1],l=a.scrollingInProgress,s=a.viewportHeight,u=a.scrollTo,c=a.smoothScrollTargetReached,m=a.headerHeight,d=a.footerHeight,f=e[2].log,p=t.stream(),h=t.statefulStream(0),g=null,v=null,S=null;function C(){g&&(g(),g=null),S&&(S(),S=null),v&&(clearTimeout(v),v=null),t.publish(l,!1)}return t.connect(t.pipe(p,t.withLatestFrom(o,s,r,h,m,d,f),t.map(function(e){var n=e[0],o=e[1],r=e[2],a=e[3],s=e[4],u=e[5],m=e[6],d=e[7],f=$(n),h=f.align,I=f.behavior,x=f.offset,T=a-1,w=f.index;"LAST"===w&&(w=T),w=K(w,o);var b=j(w=Math.max(0,w,Math.min(T,w)),o.offsetTree)+u;"end"===h?(b=b-r+y(o.sizeTree,w)[1],w===T&&(b+=m)):"center"===h?b=b-r/2+y(o.sizeTree,w)[1]/2:b-=s,x&&(b+=x);var E=function(e){C(),e?(d("retrying to scroll to",{location:n},exports.LogLevel.DEBUG),t.publish(p,n)):d("list did not change, scroll successful",{},exports.LogLevel.DEBUG)};if(C(),"smooth"===I){var L=!1;S=t.subscribe(i,function(e){L=L||e}),g=t.handleNext(c,function(){E(L)})}else g=t.handleNext(t.pipe(i,function(e){var t=setTimeout(function(){e(!1)},50);return function(n){n&&(e(!0),clearTimeout(t))}}),E);return v=setTimeout(function(){C()},1200),t.publish(l,!0),d("scrolling from index to",{index:w,top:b,behavior:I},exports.LogLevel.DEBUG),{top:b,behavior:I}})),u),{scrollToIndex:p,topListHeight:h}},t.tup(Z,m,f),{singleton:!0});function X(e,t,n){return"number"==typeof e?n===h&&"top"===t||"down"===n&&"bottom"===t?e:0:n===h?"top"===t?e.main:e.reverse:"bottom"===t?e.main:e.reverse}function ee(e,t){return"number"==typeof e?e:e[t]||0}var te=t.system(function(e){var n=e[0],o=n.scrollTop,r=n.viewportHeight,i=n.deviation,a=n.headerHeight,s=t.stream(),u=t.statefulStream(0),c=t.statefulStream(0),m=t.statefulStream(0),d=t.statefulStream(0);return{listBoundary:s,overscan:d,topListHeight:u,fixedHeaderHeight:c,increaseViewportBy:m,visibleRange:t.statefulStreamFromEmitter(t.pipe(t.combineLatest(t.duc(o),t.duc(r),t.duc(a),t.duc(s,l),t.duc(d),t.duc(u),t.duc(c),t.duc(i),t.duc(m)),t.map(function(e){var t=e[0],n=e[1],o=e[2],r=e[3],i=r[0],a=r[1],l=e[4],s=e[6],u=e[7],c=e[8],m=t-u,d=e[5]+s,f=Math.max(o-m,0),p="none",g=ee(c,"top"),v=ee(c,"bottom");return i-=u,a+=o,(i+=o)>t+d-g&&(p=h),(a-=u)<t-f+n+v&&(p="down"),"none"!==p?[Math.max(m-o-X(l,"top",p)-g,0),m-f-s+n+X(l,"bottom",p)+v]:null}),t.filter(function(e){return null!=e}),t.distinctUntilChanged(l)),[0,0])}},t.tup(m),{singleton:!0}),ne=t.system(function(e){var n=e[0],r=n.scrollTo,i=n.scrollContainerState,a=t.stream(),l=t.stream(),s=t.stream(),u=t.statefulStream(!1),c=t.statefulStream(void 0);return t.connect(t.pipe(t.combineLatest(a,l),t.map(function(e){var t=e[0],n=t[1];return[Math.max(0,t[0]-e[1].offsetTop),n]})),i),t.connect(t.pipe(r,t.withLatestFrom(l),t.map(function(e){var t=e[0];return o({},t,{top:t.top+e[1].offsetTop})})),s),{useWindowScroll:u,customScrollParent:c,windowScrollContainerState:a,windowViewportRect:l,windowScrollTo:s}},t.tup(m)),oe={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},re={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},ie=Math.ceil,ae=Math.floor,le=Math.min,se=Math.max;function ue(e,t){return Array.from({length:t-e+1}).map(function(t,n){return{index:n+e}})}var ce=t.system(function(e){var n=e[0],r=n.overscan,i=n.visibleRange,a=n.listBoundary,u=e[1],c=u.scrollTop,m=u.viewportHeight,d=u.scrollBy,f=u.scrollTo,p=u.smoothScrollTargetReached,h=u.scrollContainerState,g=e[2],v=e[3],S=e[4],C=S.propsReady,I=S.didMount,x=e[5],T=x.windowViewportRect,w=x.windowScrollTo,y=x.useWindowScroll,b=x.customScrollParent,E=x.windowScrollContainerState,L=t.statefulStream(0),H=t.statefulStream(0),R=t.statefulStream(oe),k=t.statefulStream({height:0,width:0}),z=t.statefulStream({height:0,width:0}),B=t.stream(),F=t.stream(),P=t.statefulStream(0);t.connect(t.pipe(I,t.withLatestFrom(H),t.filter(function(e){return 0!==e[1]}),t.map(function(e){return{items:ue(0,e[1]-1),top:0,bottom:0,offsetBottom:0,offsetTop:0,itemHeight:0,itemWidth:0}})),R),t.connect(t.pipe(t.combineLatest(t.duc(L),i,t.duc(z,function(e,t){return e&&e.width===t.width&&e.height===t.height})),t.withLatestFrom(k),t.map(function(e){var t=e[0],n=t[0],o=t[1],r=o[0],i=o[1],a=t[2],l=e[1],s=a.height,u=a.width,c=l.width;if(0===n||0===c)return oe;if(0===u)return re;var m=Math.floor(c/u),d=m*ae(r/s),f=m*ie(i/s)-1;f=le(n-1,f);var p=ue(d=le(f,se(0,d)),f),h=me(l,a,p),g=h.top,v=h.bottom;return{items:p,offsetTop:g,offsetBottom:ie(n/m)*s-v,top:g,bottom:v,itemHeight:s,itemWidth:u}})),R),t.connect(t.pipe(k,t.map(function(e){return e.height})),m),t.connect(t.pipe(t.combineLatest(k,z,R),t.map(function(e){var t=me(e[0],e[1],e[2].items);return[t.top,t.bottom]}),t.distinctUntilChanged(l)),a);var O=t.streamFromEmitter(t.pipe(t.duc(R),t.filter(function(e){return e.items.length>0}),t.withLatestFrom(L),t.filter(function(e){var t=e[0].items;return t[t.length-1].index===e[1]-1}),t.map(function(e){return e[1]-1}),t.distinctUntilChanged())),M=t.streamFromEmitter(t.pipe(t.duc(R),t.filter(function(e){var t=e.items;return t.length>0&&0===t[0].index}),t.mapTo(0),t.distinctUntilChanged())),V=t.streamFromEmitter(t.pipe(t.duc(R),t.filter(function(e){return e.items.length>0}),t.map(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),t.distinctUntilChanged(s)));t.connect(V,v.scrollSeekRangeChanged),t.connect(t.pipe(B,t.withLatestFrom(k,z,L),t.map(function(e){var t=e[1],n=e[2],o=e[3],r=$(e[0]),i=r.align,a=r.behavior,l=r.offset,s=r.index;"LAST"===s&&(s=o-1);var u=de(t,n,s=Math.max(0,s,Math.min(o-1,s)));return"end"===i?u=Math.round(u-t.height+n.height):"center"===i&&(u=Math.round(u-t.height/2+n.height/2)),l&&(u+=l),{top:u,behavior:a}})),f);var U=t.statefulStreamFromEmitter(t.pipe(R,t.map(function(e){return e.offsetBottom+e.bottom})),0);return t.connect(t.pipe(T,t.map(function(e){return{width:e.visibleWidth,height:e.visibleHeight}})),k),o({totalCount:L,viewportDimensions:k,itemDimensions:z,scrollTop:c,scrollHeight:F,overscan:r,scrollBy:d,scrollTo:f,scrollToIndex:B,smoothScrollTargetReached:p,windowViewportRect:T,windowScrollTo:w,useWindowScroll:y,customScrollParent:b,windowScrollContainerState:E,deviation:P,scrollContainerState:h,initialItemCount:H},v,{gridState:R,totalListHeight:U},g,{startReached:M,endReached:O,rangeChanged:V,propsReady:C})},t.tup(te,m,v,S,p,ne));function me(e,t,n){var o=t.height;return void 0===o||0===n.length?{top:0,bottom:0}:{top:de(e,t,n[0].index),bottom:de(e,t,n[n.length-1].index)+o}}function de(e,t,n){var o=Math.floor(e.width/t.width);return ae(n/o)*t.height}function fe(e,t){void 0===t&&(t=!0);var o=n.useRef(null),r=function(e){};if("undefined"!=typeof ResizeObserver){var i=new ResizeObserver(function(t){var n=t[0].target;null!==n.offsetParent&&e(n)});r=function(e){e&&t?(i.observe(e),o.current=e):(o.current&&i.unobserve(o.current),o.current=null)}}return{ref:o,callbackRef:r}}function pe(e,t){return void 0===t&&(t=!0),fe(e,t).callbackRef}function he(e,t){var o=n.useRef(null),r=n.useCallback(function(n){if(null!==n){var r,i,a=n.getBoundingClientRect(),l=a.width;if(t){var s=t.getBoundingClientRect(),u=a.top-s.top;r=s.height-Math.max(0,u),i=u+t.scrollTop}else r=window.innerHeight-Math.max(0,a.top),i=a.top+window.pageYOffset;o.current={offsetTop:i,visibleHeight:r,visibleWidth:l},e(o.current)}},[e,t]),i=fe(r),a=i.callbackRef,l=i.ref,s=n.useCallback(function(){r(l.current)},[r,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 ge="undefined"!=typeof document?n.useLayoutEffect:n.useEffect;function ve(e,t,n,o,r,i){return pe(function(n){for(var a=function(e,t,n,o){var r=e.length;if(0===r)return null;for(var i=[],a=0;a<r;a++){var l=e.item(a);if(l&&void 0!==l.dataset.index){var s=parseInt(l.dataset.index),u=parseFloat(l.dataset.knownSize),c=t(l,"offsetHeight");if(0===c&&o("Zero-sized element, this should not happen",{child:l},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,r),l=n.parentElement;!l.dataset.virtuosoScroller;)l=l.parentElement;var s=i?i.scrollTop:"window"===l.firstElementChild.dataset.viewportType?window.pageYOffset||document.documentElement.scrollTop:l.scrollTop;o(i?[Math.max(s,0),i.scrollHeight]:[Math.max(s,0),l.scrollHeight]),null!==a&&e(a)},n)}function Se(e,o,r,i,a){void 0===i&&(i=t.noop);var l=n.useRef(null),s=n.useRef(null),u=n.useRef(null),c=n.useCallback(function(t){var n=t.target,r=n===window||n===document?window.pageYOffset||document.documentElement.scrollTop:n.scrollTop,i=n===window?document.documentElement.scrollHeight:n.scrollHeight;e([Math.max(r,0),i]),null!==s.current&&(r===s.current||r<=0||r===n.scrollHeight-A(n,"height"))&&(s.current=null,o(!0),u.current&&(clearTimeout(u.current),u.current=null))},[e,o]);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(t){var n=l.current;if(n&&(!("offsetHeight"in n)||0!==n.offsetHeight)){var r,i,a,c="smooth"===t.behavior;if(n===window?(i=Math.max(A(document.documentElement,"height"),document.documentElement.scrollHeight),r=window.innerHeight,a=document.documentElement.scrollTop):(i=n.scrollHeight,r=A(n,"height"),a=n.scrollTop),t.top=Math.ceil(Math.max(Math.min(i-r,t.top),0)),Math.abs(r-i)<1.01||t.top===a)return e([a,i]),void(c&&o(!0));c?(s.current=t.top,u.current&&clearTimeout(u.current),u.current=setTimeout(function(){u.current=null,s.current=null,o(!0)},1e3)):s.current=null,n.scrollTo(t)}}}}var Ce=t.system(function(e){var n=e[0],o=n.sizes,r=n.listRefresh,i=n.defaultItemSize,a=e[1].scrollTop,l=e[2].scrollToIndex,s=e[3].didMount,u=t.statefulStream(!0),c=t.statefulStream(0);return t.connect(t.pipe(s,t.withLatestFrom(c),t.filter(function(e){return 0!==e[1]}),t.mapTo(!1)),u),t.subscribe(t.pipe(t.combineLatest(r,s),t.withLatestFrom(u,o,i),t.filter(function(e){var t=e[1],n=e[3];return e[0][1]&&(!x(e[2].sizeTree)||void 0!==n)&&!t}),t.withLatestFrom(c)),function(e){var n=e[1];setTimeout(function(){t.handleNext(a,function(){t.publish(u,!0)}),t.publish(l,n)})}),{scrolledToInitialItem:u,initialTopMostItemIndex:c}},t.tup(Z,m,Q,p),{singleton:!0});function Ie(e){return!!e&&("smooth"===e?"smooth":"auto")}var xe=t.system(function(e){var n=e[0],o=n.totalCount,r=n.listRefresh,i=e[1],a=i.isAtBottom,l=i.atBottomState,s=e[2].scrollToIndex,u=e[3].scrolledToInitialItem,c=e[4],m=c.propsReady,d=c.didMount,f=e[5].log,p=e[6].scrollingInProgress,h=t.statefulStream(!1),g=null;function v(e){t.publish(s,{index:"LAST",align:"end",behavior:e})}return t.subscribe(t.pipe(t.combineLatest(t.pipe(t.duc(o),t.skip(1)),d),t.withLatestFrom(t.duc(h),a,u,p),t.map(function(e){var t=e[0],n=t[0],o=t[1]&&e[3],r="auto";return o&&(r=function(e,t){return"function"==typeof e?Ie(e(t)):t&&Ie(e)}(e[1],e[2]||e[4]),o=o&&!!r),{totalCount:n,shouldFollow:o,followOutputBehavior:r}}),t.filter(function(e){return e.shouldFollow})),function(e){var n=e.totalCount,o=e.followOutputBehavior;g&&(g(),g=null),g=t.handleNext(r,function(){t.getValue(f)("following output to ",{totalCount:n},exports.LogLevel.DEBUG),v(o),g=null})}),t.subscribe(t.pipe(t.combineLatest(t.duc(h),o,m),t.filter(function(e){return e[0]&&e[2]}),t.scan(function(e,t){var n=t[1];return{refreshed:e.value===n,value:n}},{refreshed:!1,value:0}),t.filter(function(e){return e.refreshed}),t.withLatestFrom(h,o)),function(e){var n=e[1],o=t.handleNext(l,function(e){!n||e.atBottom||"SIZE_INCREASED"!==e.notAtBottomBecause||g||(t.getValue(f)("scrolling to bottom due to increased size",{},exports.LogLevel.DEBUG),v("auto"))});setTimeout(o,100)}),t.subscribe(t.combineLatest(t.duc(h),l),function(e){var t=e[1];e[0]&&!t.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===t.notAtBottomBecause&&v("auto")}),{followOutput:h}},t.tup(Z,v,Q,Ce,p,f,m));function Te(e){return e.reduce(function(e,t){return e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e},{totalCount:0,groupIndices:[]})}var we=t.system(function(e){var n=e[0],o=n.totalCount,r=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(Te)));return t.connect(t.pipe(m,t.map(t.prop("totalCount"))),o),t.connect(t.pipe(m,t.map(t.prop("groupIndices"))),r),t.connect(t.pipe(t.combineLatest(l,i,s),t.filter(function(e){return Y(e[1])}),t.map(function(e){return y(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(Z,m)),ye={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0};function be(e,t,n){if(0===e.length)return[];if(!Y(t))return e.map(function(e){return o({},e,{index:e.index+n,originalIndex:e.index})});for(var r,i=[],l=F(t.groupOffsetTree,e[0].index,e[e.length-1].index),s=void 0,u=0,c=a(e);!(r=c()).done;){var m=r.value;(!s||s.end<m.index)&&(s=l.shift(),u=t.groupIndices.indexOf(s.start)),i.push(o({},m.index===s.start?{type:"group",index:u}:{index:m.index-(u+1)+n,groupIndex:u},{size:m.size,offset:m.offset,originalIndex:m.index,data:m.data}))}return i}function Ee(e,t,n,o,r){var i=0,a=0;if(e.length>0){i=e[0].offset;var l=e[e.length-1];a=l.offset+l.size}var s=i,u=o.lastOffset+(n-o.lastIndex)*o.lastSize-a;return{items:be(e,o,r),topItems:be(t,o,r),topListHeight:t.reduce(function(e,t){return t.size+e},0),offsetTop:i,offsetBottom:u,top:s,bottom:a,totalCount:n}}var Le,He,Re,ke=t.system(function(e){var n=e[0],r=n.sizes,i=n.totalCount,u=n.data,c=n.firstItemIndex,m=e[1],d=e[2],f=d.visibleRange,p=d.listBoundary,h=d.topListHeight,g=e[3],v=g.scrolledToInitialItem,S=g.initialTopMostItemIndex,C=e[4].topListHeight,I=e[5],T=e[6].didMount,w=t.statefulStream([]),b=t.stream();t.connect(m.topItemsIndexes,w);var E=t.statefulStreamFromEmitter(t.pipe(t.combineLatest(T,t.duc(f),t.duc(i),t.duc(r),t.duc(S),v,t.duc(w),t.duc(c),u),t.filter(function(e){return e[0]}),t.map(function(e){var n=e[1],o=n[0],r=n[1],i=e[2],l=e[4],s=e[5],u=e[6],c=e[7],m=e[8],d=e[3],f=d.sizeTree,p=d.offsetTree;if(0===i||0===o&&0===r)return ye;if(x(f))return Ee(function(e,t,n){if(Y(t)){var o=K(e,t);return[{index:y(t.groupOffsetTree,o)[0],size:0,offset:0},{index:o,size:0,offset:0,data:n&&n[0]}]}return[{index:e,size:0,offset:0,data:n&&n[0]}]}(l,d,m),[],i,d,c);var h=[];if(u.length>0)for(var g,v=u[0],S=u[u.length-1],C=0,I=a(F(f,v,S));!(g=I()).done;)for(var T=g.value,w=T.value,b=Math.max(T.start,v),E=Math.min(T.end,S),L=b;L<=E;L++)h.push({index:L,size:w,offset:C,data:m&&m[L]}),C+=w;if(!s)return Ee([],h,i,d,c);var H=u.length>0?u[u.length-1]+1:0,R=function(e,t,n,o){return void 0===o&&(o=0),o>0&&(t=Math.max(t,U(e,o,N).offset)),P((i=n,l=V(r=e,t,a=D),s=V(r,i,a,l),r.slice(l,s+1)),G);var r,i,a,l,s}(p,o,r,H);if(0===R.length)return null;var k=i-1;return Ee(t.tap([],function(e){for(var t,n=a(R);!(t=n()).done;){var i=t.value,l=i.value,s=l.offset,u=i.start,c=l.size;l.offset<o&&(s+=((u+=Math.floor((o-l.offset)/c))-i.start)*c),u<H&&(s+=(H-u)*c,u=H);for(var d=Math.min(i.end,k),f=u;f<=d&&!(s>=r);f++)e.push({index:f,size:c,offset:s,data:m&&m[f]}),s+=c}}),h,i,d,c)}),t.filter(function(e){return null!==e}),t.distinctUntilChanged()),ye);return t.connect(t.pipe(u,t.filter(function(e){return void 0!==e}),t.map(function(e){return e.length})),i),t.connect(t.pipe(E,t.map(t.prop("topListHeight"))),C),t.connect(C,h),t.connect(t.pipe(E,t.map(function(e){return[e.top,e.bottom]})),p),t.connect(t.pipe(E,t.map(function(e){return e.items})),b),o({listState:E,topItemsIndexes:w,endReached:t.streamFromEmitter(t.pipe(E,t.filter(function(e){return e.items.length>0}),t.withLatestFrom(i,u),t.filter(function(e){var t=e[0].items;return t[t.length-1].originalIndex===e[1]-1}),t.map(function(e){return[e[1]-1,e[2]]}),t.distinctUntilChanged(l),t.map(function(e){return e[0]}))),startReached:t.streamFromEmitter(t.pipe(E,t.throttleTime(200),t.filter(function(e){var t=e.items;return t.length>0&&t[0].originalIndex===e.topItems.length}),t.map(function(e){return e.items[0].index}),t.distinctUntilChanged())),rangeChanged:t.streamFromEmitter(t.pipe(E,t.filter(function(e){return e.items.length>0}),t.map(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),t.distinctUntilChanged(s))),itemsRendered:b},I)},t.tup(Z,we,te,Ce,Q,v,p),{singleton:!0}),ze=t.system(function(e){var n=e[0],o=n.sizes,r=n.firstItemIndex,i=n.data,l=e[1].listState,s=e[2].didMount,u=t.statefulStream(0);return t.connect(t.pipe(s,t.withLatestFrom(u),t.filter(function(e){return 0!==e[1]}),t.withLatestFrom(o,r,i),t.map(function(e){var t=e[0][1],n=e[1],o=e[2],r=e[3],i=void 0===r?[]:r,l=0;if(n.groupIndices.length>0)for(var s,u=a(n.groupIndices);!((s=u()).done||s.value-l>=t);)l++;var c=t+l;return Ee(Array.from({length:c}).map(function(e,t){return{index:t,size:0,offset:0,data:i[t]}}),[],c,n,o)})),l),{initialItemCount:u}},t.tup(Z,ke,p),{singleton:!0}),Be=t.system(function(e){var n=e[0].topItemsIndexes,o=t.statefulStream(0);return t.connect(t.pipe(o,t.filter(function(e){return e>0}),t.map(function(e){return Array.from({length:e}).map(function(e,t){return t})})),n),{topItemCount:o}},t.tup(ke)),Fe=t.system(function(e){var n=e[0],o=n.footerHeight,r=n.headerHeight,i=e[1].listState,a=t.stream(),l=t.statefulStreamFromEmitter(t.pipe(t.combineLatest(o,r,i),t.map(function(e){var t=e[2];return e[0]+e[1]+t.offsetBottom+t.bottom})),0);return t.connect(t.duc(l),a),{totalListHeight:l,totalListHeightChanged:a}},t.tup(m,ke),{singleton:!0}),Pe=t.system(function(e){var n=e[0],o=n.scrollBy,r=n.scrollTop,i=n.deviation,a=n.scrollingInProgress,l=e[1],s=l.isScrolling,u=l.isAtBottom,c=l.atBottomState,m=l.scrollDirection,d=e[3],f=d.beforeUnshiftWith,p=d.sizes,g=e[4].log,v=t.streamFromEmitter(t.pipe(e[2].listState,t.withLatestFrom(l.lastJumpDueToItemResize),t.scan(function(e,t){var n=e[1],o=t[0],r=o.items,i=o.totalCount,a=t[1],l=0;if(e[2]===i){if(n.length>0&&r.length>0){var s=1===r.length;if(0!==r[0].originalIndex||0!==n[0].originalIndex)for(var u=function(e){var t=r[e],o=n.find(function(e){return e.originalIndex===t.originalIndex});return o?t.offset!==o.offset||s?(l=t.offset-o.offset+t.size-o.size,"break"):void 0:"continue"},c=r.length-1;c>=0;c--){var m=u(c);if("continue"!==m&&"break"===m)break}}0!==l&&(l+=a)}return[l,r,i]},[0,[],0]),t.filter(function(e){return 0!==e[0]}),t.withLatestFrom(r,m,a,g,u,c),t.filter(function(e){return!e[3]&&0!==e[1]&&e[2]===h}),t.map(function(e){var t=e[0][0];return(0,e[4])("Upward scrolling compensation",{amount:t},exports.LogLevel.DEBUG),t})));return t.connect(t.pipe(v,t.withLatestFrom(i),t.map(function(e){return e[1]-e[0]})),i),t.subscribe(t.pipe(t.combineLatest(t.statefulStreamFromEmitter(s,!1),i),t.filter(function(e){return!e[0]&&0!==e[1]}),t.map(function(e){return e[1]}),t.throttleTime(1)),function(e){e>0?(t.publish(o,{top:-e,behavior:"auto"}),t.publish(i,0)):(t.publish(i,0),t.publish(o,{top:-e,behavior:"auto"}))}),t.connect(t.pipe(f,t.withLatestFrom(p),t.map(function(e){return e[0]*e[1].lastSize})),v),{deviation:i}},t.tup(m,v,ke,Z,f)),Oe=t.system(function(e){var n=e[0].totalListHeight,o=e[1].didMount,r=e[2].scrollTo,i=t.statefulStream(0);return t.subscribe(t.pipe(o,t.withLatestFrom(i),t.filter(function(e){return 0!==e[1]}),t.map(function(e){return{top:e[1]}})),function(e){t.handleNext(t.pipe(n,t.filter(function(e){return 0!==e})),function(){setTimeout(function(){t.publish(r,e)})})}),{initialScrollTop:i}},t.tup(Fe,p,m),{singleton:!0}),Me=t.system(function(e){var n=e[0].viewportHeight,o=e[1].totalListHeight,r=t.statefulStream(!1);return{alignToBottom:r,paddingTopAddition:t.statefulStreamFromEmitter(t.pipe(t.combineLatest(r,n,o),t.filter(function(e){return e[0]}),t.map(function(e){return Math.max(0,e[1]-e[2])}),t.distinctUntilChanged()),0)}},t.tup(m,Fe),{singleton:!0}),Ve=t.system(function(e){var n=e[0],o=n.sizes,r=n.totalCount,i=e[1],a=i.scrollTop,l=i.viewportHeight,s=i.headerHeight,u=i.scrollingInProgress,c=e[2].scrollToIndex,m=t.stream();return t.connect(t.pipe(m,t.withLatestFrom(o,l,r,s,a),t.map(function(e){var n=e[0],o=n.index,r=n.behavior,i=void 0===r?"auto":r,a=n.done,l=e[1],s=e[2],c=e[4],m=e[5],d=e[3]-1,f=null;o=K(o,l);var p=j(o=Math.max(0,o,Math.min(d,o)),l.offsetTree)+c;return p<m?f={index:o,behavior:i,align:"start"}:p+y(l.sizeTree,o)[1]>m+s&&(f={index:o,behavior:i,align:"end"}),f?a&&t.handleNext(t.pipe(u,t.skip(1),t.filter(function(e){return!1===e})),a):a&&a(),f}),t.filter(function(e){return null!==e})),c),{scrollIntoView:m}},t.tup(Z,m,Q,ke,f),{singleton:!0}),Ue=t.system(function(e){return o({},e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},t.tup(te,ze,p,S,Fe,Oe,Me,ne,Ve)),Ae=t.system(function(e){var n=e[0],i=n.totalCount,a=n.sizeRanges,l=n.fixedItemSize,s=n.defaultItemSize,u=n.trackItemSizes,c=n.itemSize,m=n.data,d=n.firstItemIndex,f=n.groupIndices,p=n.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=r(I,["listState","topItemsIndexes"]),y=e[5].scrollToIndex,b=e[7].topItemCount,E=e[8].groupCounts,L=e[9],H=e[10];return t.connect(w.rangeChanged,L.scrollSeekRangeChanged),t.connect(t.pipe(L.windowViewportRect,t.map(t.prop("visibleHeight"))),S.viewportHeight),o({totalCount:i,data:m,firstItemIndex:d,sizeRanges:a,initialTopMostItemIndex:g,scrolledToInitialItem:v,topItemsIndexes:T,topItemCount:b,groupCounts:E,fixedItemHeight:l,defaultItemHeight:s},C,{statefulTotalCount:p,listState:x,scrollToIndex:y,trackItemSizes:u,itemSize:c,groupIndices:f},w,L,S,H)},t.tup(Z,Ce,m,xe,ke,Q,Pe,Be,we,Ue,f)),We=(Le=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"},Re=!1,function(){return Re||(Re=!0,He=Le()),He});function Ne(e){return e}var De=t.system(function(){var e=t.statefulStream(function(e){return"Item "+e}),n=t.statefulStream(null),o=t.statefulStream(function(e){return"Group "+e}),r=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(r,t.map(function(t){return t[e]}),t.distinctUntilChanged()),n)};return{context:n,itemContent:e,groupContent:o,components:r,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 o=t.stream();return t.subscribe(o,function(){return console.warn("react-virtuoso: You are using a deprecated property. "+n,"color: red;","color: inherit;","color: blue;")}),t.connect(o,e),o}var _e=t.system(function(e){var n=e[0],i=e[1],a={item:Ge(i.itemContent,"Rename the %citem%c prop to %citemContent."),group:Ge(i.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 l(e,n,r){t.connect(t.pipe(e,t.withLatestFrom(i.components),t.map(function(e){var t,i=e[0],a=e[1];return console.warn("react-virtuoso: "+r+" property is deprecated. Pass components."+n+" instead."),o({},a,((t={})[n]=i,t))})),i.components)}return t.subscribe(a.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(a.maxHeightCacheSize,function(){console.warn("react-virtuoso: maxHeightCacheSize is no longer necessary. Setting it has no effect - remove it from your code.")}),t.subscribe(a.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(a.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(a.scrollSeek,function(e){var a=e.placeholder,l=r(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),t.publish(i.components,o({},t.getValue(i.components),{ScrollSeekPlaceholder:a})),t.publish(n.scrollSeekConfiguration,l)}),l(a.footer,"Footer","footer"),l(a.header,"Header","header"),l(a.ItemContainer,"Item","ItemContainer"),l(a.ListContainer,"List","ListContainer"),l(a.ScrollContainer,"Scroller","ScrollContainer"),l(a.emptyComponent,"EmptyPlaceholder","emptyComponent"),l(a.GroupContainer,"Group","GroupContainer"),o({},n,i,a)},t.tup(Ae,De)),je=function(e){return n.createElement("div",{style:{height:e.height}})},Ke={position:We(),zIndex:1,overflowAnchor:"none"},Ye=n.memo(function(e){var r=e.showTopList,i=void 0!==r&&r,a=ut("listState"),l=ut("deviation"),s=st("sizeRanges"),u=ut("useWindowScroll"),c=ut("customScrollParent"),m=st("windowScrollContainerState"),d=st("scrollContainerState"),f=c||u?m:d,p=ut("itemContent"),h=ut("context"),g=ut("groupContent"),v=ut("trackItemSizes"),S=ut("itemSize"),C=ut("log"),I=ve(s,S,v,i?t.noop:f,C,c),x=ut("EmptyPlaceholder"),T=ut("ScrollSeekPlaceholder")||je,w=ut("ListComponent"),y=ut("ItemComponent"),b=ut("GroupComponent"),E=ut("computeItemKey"),L=ut("isSeeking"),H=ut("groupIndices").length>0,R=ut("paddingTopAddition"),k=ut("firstItemIndex"),z=ut("statefulTotalCount"),B=i?{}:{boxSizing:"border-box",paddingTop:a.offsetTop+R,paddingBottom:a.offsetBottom,marginTop:l};return!i&&0===z&&x?n.createElement(x,$e(x,h)):n.createElement(w,o({},$e(w,h),{ref:I,style:B,"data-test-id":i?"virtuoso-top-item-list":"virtuoso-item-list"}),(i?a.topItems:a.items).map(function(e){var t=e.originalIndex,r=E(t+k,e.data,h);return L?n.createElement(T,o({},$e(T,h),{key:r,index:e.index,height:e.size,type:e.type||"item"},"group"===e.type?{}:{groupIndex:e.groupIndex})):"group"===e.type?n.createElement(b,o({},$e(b,h),{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:Ke}),g(e.index)):n.createElement(y,o({},$e(y,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))}))}),qe={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},Ze={width:"100%",height:"100%",position:"absolute",top:0},Je={width:"100%",position:We(),top:0};function $e(e,t){if("string"!=typeof e)return{context:t}}var Qe=n.memo(function(){var e=ut("HeaderComponent"),t=st("headerHeight"),o=ut("headerFooterTag"),r=pe(function(e){return t(A(e,"height"))}),i=ut("context");return e?n.createElement(o,{ref:r},n.createElement(e,$e(e,i))):null}),Xe=n.memo(function(){var e=ut("FooterComponent"),t=st("footerHeight"),o=ut("headerFooterTag"),r=pe(function(e){return t(A(e,"height"))}),i=ut("context");return e?n.createElement(o,{ref:r},n.createElement(e,$e(e,i))):null});function et(e){var t=e.usePublisher,i=e.useEmitter,a=e.useEmitterValue;return n.memo(function(e){var l=e.style,s=e.children,u=r(e,["style","children"]),c=t("scrollContainerState"),m=a("ScrollerComponent"),d=t("smoothScrollTargetReached"),f=a("scrollerRef"),p=a("context"),h=Se(c,d,m,f),g=h.scrollerRef,v=h.scrollByCallback;return i("scrollTo",h.scrollToCallback),i("scrollBy",v),n.createElement(m,o({ref:g,style:o({},qe,l),"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0},u,$e(m,p)),s)})}function tt(e){var i=e.usePublisher,a=e.useEmitter,l=e.useEmitterValue;return n.memo(function(e){var s=e.style,u=e.children,c=r(e,["style","children"]),m=i("windowScrollContainerState"),d=l("ScrollerComponent"),f=i("smoothScrollTargetReached"),p=l("totalListHeight"),h=l("deviation"),g=l("customScrollParent"),v=l("context"),S=Se(m,f,d,t.noop,g),C=S.scrollerRef,I=S.scrollByCallback,x=S.scrollToCallback;return ge(function(){return C.current=g||window,function(){C.current=null}},[C,g]),a("windowScrollTo",x),a("scrollBy",I),n.createElement(d,o({style:o({position:"relative"},s,0!==p?{height:p+h}:{}),"data-virtuoso-scroller":!0},c,$e(d,v)),u)})}var nt=function(e){var o=e.children,r=st("viewportHeight"),i=pe(t.compose(r,function(e){return A(e,"height")}));return n.createElement("div",{style:Ze,ref:i,"data-viewport-type":"element"},o)},ot=function(e){var t=e.children,o=he(st("windowViewportRect"),ut("customScrollParent"));return n.createElement("div",{ref:o,style:Ze,"data-viewport-type":"window"},t)},rt=function(e){var t=e.children,r=ut("TopItemListComponent"),i=ut("headerHeight"),a=o({},Je,{marginTop:i+"px"}),l=ut("context");return n.createElement(r||"div",{style:a,context:l},t)},it=n.memo(function(e){var t=ut("useWindowScroll"),r=ut("topItemsIndexes").length>0,i=ut("customScrollParent"),a=i||t?ot:nt;return n.createElement(i||t?dt:mt,o({},e),n.createElement(a,null,n.createElement(Qe,null),n.createElement(Ye,null),n.createElement(Xe,null)),r&&n.createElement(rt,null,n.createElement(Ye,{showTopList:!0})))}),at=e.systemToComponent(_e,{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"}},it),lt=at.Component,st=at.usePublisher,ut=at.useEmitterValue,ct=at.useEmitter,mt=et({usePublisher:st,useEmitterValue:ut,useEmitter:ct}),dt=tt({usePublisher:st,useEmitterValue:ut,useEmitter:ct}),ft=t.system(function(){var e=t.statefulStream(function(e){return"Item "+e}),n=t.statefulStream({}),o=t.statefulStream(null),r=t.statefulStream("virtuoso-grid-item"),i=t.statefulStream("virtuoso-grid-list"),a=t.statefulStream(Ne),l=t.statefulStream(t.noop),s=function(e,o){return void 0===o&&(o=null),t.statefulStreamFromEmitter(t.pipe(n,t.map(function(t){return t[e]}),t.distinctUntilChanged()),o)};return{context:o,itemContent:e,components:n,computeItemKey:a,itemClassName:r,listClassName:i,scrollerRef:l,ListComponent:s("List","div"),ItemComponent:s("Item","div"),ScrollerComponent:s("Scroller","div"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder","div")}}),pt=t.system(function(e){var n=e[0],i=e[1],a={item:Ge(i.itemContent,"Rename the %citem%c prop to %citemContent."),ItemContainer:t.stream(),ScrollContainer:t.stream(),ListContainer:t.stream(),emptyComponent:t.stream(),scrollSeek:t.stream()};function l(e,n,r){t.connect(t.pipe(e,t.withLatestFrom(i.components),t.map(function(e){var t,i=e[0],a=e[1];return console.warn("react-virtuoso: "+r+" property is deprecated. Pass components."+n+" instead."),o({},a,((t={})[n]=i,t))})),i.components)}return t.subscribe(a.scrollSeek,function(e){var a=e.placeholder,l=r(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),t.publish(i.components,o({},t.getValue(i.components),{ScrollSeekPlaceholder:a})),t.publish(n.scrollSeekConfiguration,l)}),l(a.ItemContainer,"Item","ItemContainer"),l(a.ListContainer,"List","ListContainer"),l(a.ScrollContainer,"Scroller","ScrollContainer"),o({},n,i,a)},t.tup(ce,ft)),ht=n.memo(function(){var e=Tt("gridState"),t=Tt("listClassName"),r=Tt("itemClassName"),i=Tt("itemContent"),a=Tt("computeItemKey"),l=Tt("isSeeking"),s=xt("scrollHeight"),u=Tt("ItemComponent"),c=Tt("ListComponent"),m=Tt("ScrollSeekPlaceholder"),d=Tt("context"),f=xt("itemDimensions"),p=pe(function(e){s(e.parentElement.parentElement.scrollHeight);var t=e.firstChild;t&&f(t.getBoundingClientRect())});return n.createElement(c,o({ref:p,className:t},$e(c,d),{style:{paddingTop:e.offsetTop,paddingBottom:e.offsetBottom}}),e.items.map(function(t){var s=a(t.index);return l?n.createElement(m,o({key:s},$e(m,d),{index:t.index,height:e.itemHeight,width:e.itemWidth})):n.createElement(u,o({},$e(u,d),{className:r,"data-index":t.index,key:s}),i(t.index,d))}))}),gt=function(e){var t=e.children,o=xt("viewportDimensions"),r=pe(function(e){o(e.getBoundingClientRect())});return n.createElement("div",{style:Ze,ref:r},t)},vt=function(e){var t=e.children,o=he(xt("windowViewportRect"),Tt("customScrollParent"));return n.createElement("div",{ref:o,style:Ze},t)},St=n.memo(function(e){var t=o({},e),r=Tt("useWindowScroll"),i=Tt("customScrollParent"),a=i||r?vt:gt;return n.createElement(i||r?bt:yt,o({},t),n.createElement(a,null,n.createElement(ht,null)))}),Ct=e.systemToComponent(pt,{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"}},St),It=Ct.Component,xt=Ct.usePublisher,Tt=Ct.useEmitterValue,wt=Ct.useEmitter,yt=et({usePublisher:xt,useEmitterValue:Tt,useEmitter:wt}),bt=tt({usePublisher:xt,useEmitterValue:Tt,useEmitter:wt}),Et=t.system(function(){var e=t.statefulStream(function(e){return n.createElement("td",null,"Item $",e)}),o=t.statefulStream(null),r=t.statefulStream(null),i=t.statefulStream({}),a=t.statefulStream(Ne),l=t.statefulStream(t.noop),s=function(e,n){return void 0===n&&(n=null),t.statefulStreamFromEmitter(t.pipe(i,t.map(function(t){return t[e]}),t.distinctUntilChanged()),n)};return{context:o,itemContent:e,fixedHeaderContent:r,components:i,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")}}),Lt=t.system(function(e){return o({},e[0],e[1])},t.tup(Ae,Et)),Ht=function(e){return n.createElement("tr",null,n.createElement("td",{style:{height:e.height}}))},Rt=function(e){return n.createElement("tr",null,n.createElement("td",{style:{height:e.height,padding:0,border:0}}))},kt=n.memo(function(){var e=Vt("listState"),t=Vt("deviation"),r=Mt("sizeRanges"),i=Vt("useWindowScroll"),a=Vt("customScrollParent"),l=Mt("windowScrollContainerState"),s=Mt("scrollContainerState"),u=a||i?l:s,c=Vt("itemContent"),m=Vt("trackItemSizes"),d=ve(r,Vt("itemSize"),m,u,Vt("log"),a),f=Vt("EmptyPlaceholder"),p=Vt("ScrollSeekPlaceholder")||Ht,h=Vt("TableBodyComponent"),g=Vt("TableRowComponent"),v=Vt("computeItemKey"),S=Vt("isSeeking"),C=Vt("paddingTopAddition"),I=Vt("firstItemIndex"),x=Vt("statefulTotalCount"),T=Vt("context");if(0===x&&f)return n.createElement(f,$e(f,T));var w=e.offsetTop+C+t,y=e.offsetBottom,b=w>0?n.createElement(Rt,{height:w,key:"padding-top"}):null,E=y>0?n.createElement(Rt,{height:y,key:"padding-bottom"}):null,L=e.items.map(function(e){var t=e.originalIndex,r=v(t+I,e.data,T);return S?n.createElement(p,o({},$e(p,T),{key:r,index:e.index,height:e.size,type:e.type||"item"})):n.createElement(g,o({},$e(g,T),{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:{overflowAnchor:"none"}}),c(e.index,e.data,T))});return n.createElement(h,o({ref:d,"data-test-id":"virtuoso-item-list"},$e(h,T)),[b].concat(L,[E]))}),zt=function(e){var o=e.children,r=Mt("viewportHeight"),i=pe(t.compose(r,function(e){return A(e,"height")}));return n.createElement("div",{style:Ze,ref:i,"data-viewport-type":"element"},o)},Bt=function(e){var t=e.children,o=he(Mt("windowViewportRect"),Vt("customScrollParent"));return n.createElement("div",{ref:o,style:Ze,"data-viewport-type":"window"},t)},Ft=n.memo(function(e){var r=Vt("useWindowScroll"),i=Vt("customScrollParent"),a=Mt("fixedHeaderHeight"),l=Vt("fixedHeaderContent"),s=Vt("context"),u=pe(t.compose(a,function(e){return A(e,"height")})),c=i||r?Wt:At,m=i||r?Bt:zt,d=Vt("TableComponent"),f=Vt("TableHeadComponent"),p=l?n.createElement(f,o({key:"TableHead",style:{zIndex:1,position:"sticky",top:0},ref:u},$e(f,s)),l()):null;return n.createElement(c,o({},e),n.createElement(m,null,n.createElement(d,o({style:{borderSpacing:0}},$e(d,s)),[p,n.createElement(kt,{key:"TableBody"})])))}),Pt=e.systemToComponent(Lt,{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"}},Ft),Ot=Pt.Component,Mt=Pt.usePublisher,Vt=Pt.useEmitterValue,Ut=Pt.useEmitter,At=et({usePublisher:Mt,useEmitterValue:Vt,useEmitter:Ut}),Wt=tt({usePublisher:Mt,useEmitterValue:Vt,useEmitter:Ut}),Nt=lt,Dt=Ot,Gt=It;exports.GroupedVirtuoso=lt,exports.TableVirtuoso=Dt,exports.Virtuoso=Nt,exports.VirtuosoGrid=Gt;
2
- //# sourceMappingURL=index.js.map
package/dist/index.mjs DELETED
@@ -1,2 +0,0 @@
1
- import{L as r}from"./shared.mjs";export{a as LogLevel}from"./shared.mjs";export{TableVirtuoso}from"./TableVirtuoso.mjs";export{VirtuosoGrid}from"./VirtuosoGrid.mjs";import"@babel/runtime/helpers/objectWithoutProperties";import"@babel/runtime/helpers/objectSpread2";import"@virtuoso.dev/react-urx";import"@virtuoso.dev/urx";import"react";import"@babel/runtime/helpers/extends";const e=r,o=r;export{o as GroupedVirtuoso,e as Virtuoso};
2
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/components/Virtuoso.ts","../src/components/GroupedVirtuoso.ts"],"sourcesContent":[null,null],"names":["Virtuoso","List","GroupedVirtuoso"],"mappings":"8XAmPaA,EAAWC,EClNXC,EAAkBD"}
package/dist/shared.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("@babel/runtime/helpers/objectWithoutProperties"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/objectSpread2"),n=require("@babel/runtime/helpers/slicedToArray"),o=require("@virtuoso.dev/react-urx"),i=require("@virtuoso.dev/urx"),a=require("react"),l=require("@babel/runtime/helpers/toConsumableArray"),u=require("@babel/runtime/helpers/createForOfIteratorHelper");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function c(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var f,d,p=s(e),m=s(t),h=s(r),v=s(n),g=c(i),x=c(a),I=s(l),S=s(u),C="undefined"!=typeof document?a.useLayoutEffect:a.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 T=(f={},m.default(f,exports.LogLevel.DEBUG,"debug"),m.default(f,exports.LogLevel.INFO,"log"),m.default(f,exports.LogLevel.WARN,"warn"),m.default(f,exports.LogLevel.ERROR,"error"),f),b=g.system((function(){var e=g.statefulStream(exports.LogLevel.ERROR);return{log:g.statefulStream((function(t,r,n){var o;void 0===n&&(n=exports.LogLevel.INFO),n>=(null!==(o=("undefined"==typeof globalThis?window:globalThis).VIRTUOSO_LOG_LEVEL)&&void 0!==o?o:g.getValue(e))&&console[T[n]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,r)})),logLevel:e}}),[],{singleton:!0});function w(e,t){void 0===t&&(t=!0);var r=a.useRef(null),n=function(e){};if("undefined"!=typeof ResizeObserver){var o=new ResizeObserver((function(t){var r=t[0].target;null!==r.offsetParent&&e(r)}));n=function(e){e&&t?(o.observe(e),r.current=e):(r.current&&o.unobserve(r.current),r.current=null)}}return{ref:r,callbackRef:n}}function y(e,t){return void 0===t&&(t=!0),w(e,t).callbackRef}function L(e,t,r,n,o,i){return y((function(r){for(var a=function(e,t,r,n){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 u=parseInt(l.dataset.index),s=parseFloat(l.dataset.knownSize),c=t(l,r);if(0===c&&n("Zero-sized element, this should not happen",{child:l},exports.LogLevel.ERROR),c!==s){var f=i[i.length-1];0===i.length||f.size!==c||f.endIndex!==u-1?i.push({startIndex:u,endIndex:u,size:c}):i[i.length-1].endIndex++}}}return i}(r.children,t,"offsetHeight",o),l=r.parentElement;!l.dataset.virtuosoScroller;)l=l.parentElement;var u=i?i.scrollTop:"window"===l.firstElementChild.dataset.viewportType?window.pageYOffset||document.documentElement.scrollTop:l.scrollTop;n(i?[Math.max(u,0),i.scrollHeight]:[Math.max(u,0),l.scrollHeight]),null!==a&&e(a)}),r)}function E(e,t){return Math.round(e.getBoundingClientRect()[t])}function z(e,t,r,n,o){void 0===n&&(n=g.noop);var i=a.useRef(null),l=a.useRef(null),u=a.useRef(null),s=a.useCallback((function(r){var n=r.target,o=n===window||n===document?window.pageYOffset||document.documentElement.scrollTop:n.scrollTop,i=n===window?document.documentElement.scrollHeight:n.scrollHeight;e([Math.max(o,0),i]),null!==l.current&&(o===l.current||o<=0||o===n.scrollHeight-E(n,"height"))&&(l.current=null,t(!0),u.current&&(clearTimeout(u.current),u.current=null))}),[e,t]);return a.useEffect((function(){var e=o||i.current;return n(o||i.current),s({target:e}),e.addEventListener("scroll",s,{passive:!0}),function(){n(null),e.removeEventListener("scroll",s)}}),[i,s,r,n,o]),{scrollerRef:i,scrollByCallback:function(e){null===l.current&&i.current.scrollBy(e)},scrollToCallback:function(r){var n=i.current;if(n&&(!("offsetHeight"in n)||0!==n.offsetHeight)){var o,a,s,c="smooth"===r.behavior;n===window?(a=Math.max(E(document.documentElement,"height"),document.documentElement.scrollHeight),o=window.innerHeight,s=document.documentElement.scrollTop):(a=n.scrollHeight,o=E(n,"height"),s=n.scrollTop);var f,d,p=a-o;if(r.top=Math.ceil(Math.max(Math.min(p,r.top),0)),f=o,d=a,Math.abs(f-d)<1.01||r.top===s)return e([s,a]),void(c&&t(!0));c?(l.current=r.top,u.current&&clearTimeout(u.current),u.current=setTimeout((function(){u.current=null,l.current=null,t(!0)}),1e3)):l.current=null,n.scrollTo(r)}}}}var H=g.system((function(){var e=g.stream(),t=g.stream(),r=g.statefulStream(0),n=g.stream(),o=g.statefulStream(0),i=g.stream(),a=g.stream(),l=g.statefulStream(0),u=g.statefulStream(0),s=g.stream(),c=g.stream(),f=g.statefulStream(!1);return g.connect(g.pipe(e,g.map((function(e){return v.default(e,1)[0]}))),t),g.connect(g.pipe(e,g.map((function(e){return v.default(e,2)[1]}))),a),g.connect(t,o),{scrollContainerState:e,scrollTop:t,viewportHeight:i,headerHeight:l,footerHeight:u,scrollHeight:a,smoothScrollTargetReached:n,scrollTo:s,scrollBy:c,statefulScrollTop:o,deviation:r,scrollingInProgress:f}}),[],{singleton:!0}),R={lvl:0};function k(e,t,r,n,o){return void 0===n&&(n=R),void 0===o&&(o=R),{k:e,v:t,lvl:r,l:n,r:o}}function F(e){return e===R}function B(){return R}function O(e,t){if(F(e))return R;var r=e.k,n=e.l,o=e.r;if(t===r){if(F(n))return o;if(F(o))return n;var i=D(n),a=v.default(i,2);return _(G(e,{k:a[0],v:a[1],l:V(n)}))}return _(G(e,t<r?{l:O(n,t)}:{r:O(o,t)}))}function M(e,t,r){if(void 0===r&&(r="k"),F(e))return[-1/0,void 0];if(e[r]===t)return[e.k,e.v];if(e[r]<t){var n=M(e.r,t,r);return n[0]===-1/0?[e.k,e.v]:n}return M(e.l,t,r)}function P(e,t,r){return F(e)?k(t,r,1):t===e.k?G(e,{k:t,v:r}):t<e.k?W(G(e,{l:P(e.l,t,r)})):W(G(e,{r:P(e.r,t,r)}))}function U(e,t,r){if(F(e))return[];var n=e.k,o=e.v,i=e.l,a=e.r,l=[];return n>t&&(l=l.concat(U(i,t,r))),n>=t&&n<=r&&l.push({k:n,v:o}),n<=r&&(l=l.concat(U(a,t,r))),l}function A(e){return F(e)?[]:[].concat(I.default(A(e.l)),[{k:e.k,v:e.v}],I.default(A(e.r)))}function D(e){return F(e.r)?[e.k,e.v]:D(e.r)}function V(e){return F(e.r)?e.l:_(G(e,{r:V(e.r)}))}function G(e,t){return k(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 N(e){return F(e)||e.lvl>e.r.lvl}function W(e){return Y(K(e))}function _(e){var t=e.l,r=e.r,n=e.lvl;if(r.lvl>=n-1&&t.lvl>=n-1)return e;if(n>r.lvl+1){if(N(t))return K(G(e,{lvl:n-1}));if(F(t)||F(t.r))throw new Error("Unexpected empty nodes");return G(t.r,{l:G(t,{r:t.r.l}),r:G(e,{l:t.r.r,lvl:n-1}),lvl:n})}if(N(e))return Y(G(e,{lvl:n-1}));if(F(r)||F(r.l))throw new Error("Unexpected empty nodes");var o=r.l,i=N(o)?r.lvl-1:r.lvl;return G(o,{l:G(e,{r:o.l,lvl:n-1}),r:Y(G(r,{l:o.r,lvl:i})),lvl:o.lvl+1})}function j(e,t,r){if(F(e))return[];var n=M(e,t)[0];return q(U(e,n,r),(function(e){return{index:e.k,value:e.v}}))}function q(e,t){var r=e.length;if(0===r)return[];for(var n=t(e[0]),o=n.index,i=n.value,a=[],l=1;l<r;l++){var u=t(e[l]),s=u.index,c=u.value;a.push({start:o,end:s-1,value:i}),o=s,i=c}return a.push({start:o,end:1/0,value:i}),a}function Y(e){var t=e.r,r=e.lvl;return F(t)||F(t.r)||t.lvl!==r||t.r.lvl!==r?e:G(t,{l:G(e,{r:t.l}),lvl:r+1})}function K(e){var t=e.l;return F(t)||t.lvl!==e.lvl?e:G(t,{r:G(e,{l:t.r})})}function Z(e,t,r,n){void 0===n&&(n=0);for(var o=e.length-1;n<=o;){var i=Math.floor((n+o)/2),a=r(e[i],t);if(0===a)return i;if(-1===a){if(o-n<2)return i-1;o=i-1}else{if(o===n)return i;n=i+1}}throw new Error("Failed binary finding record in array - ".concat(e.join(","),", searched for ").concat(t))}function J(e,t,r){return e[Z(e,t,r)]}function Q(e){var t=e.size,r=e.startIndex,n=e.endIndex;return function(e){return e.start===r&&(e.end===n||e.end===1/0)&&e.value===t}}function X(e,t){var r=e.index;return t===r?0:t<r?-1:1}function $(e,t){var r=e.offset;return t===r?0:t<r?-1:1}function ee(e){return{index:e.index,value:e}}function te(e,t,r,n){return void 0===n&&(n=0),n>0&&(t=Math.max(t,J(e,n,X).offset)),q((i=r,l=Z(o=e,t,a=$),u=Z(o,i,a,l),o.slice(l,u+1)),ee);var o,i,a,l,u}function re(e,t){var r=v.default(t,3),n=r[0],o=r[1],i=r[2];n.length>0&&i("received item sizes",n,exports.LogLevel.DEBUG);var a=e.sizeTree,l=e.offsetTree,u=a,s=0;if(o.length>0&&F(a)&&2===n.length){var c=n[0].size,f=n[1].size;u=o.reduce((function(e,t){return P(P(e,t,c),t+1,f)}),u)}else{var d=function(e,t){var r,n=F(e)?0:1/0,o=S.default(t);try{for(o.s();!(r=o.n()).done;){var i=r.value,a=i.size,l=i.startIndex,u=i.endIndex;if(n=Math.min(n,l),F(e))e=P(e,0,a);else{var s=j(e,l-1,u+1);if(!s.some(Q(i))){var c,f=!1,d=!1,p=S.default(s);try{for(p.s();!(c=p.n()).done;){var m=c.value,h=m.start,v=m.end,g=m.value;f?(u>=h||a===g)&&(e=O(e,h)):(d=g!==a,f=!0),v>u&&u>=h&&g!==a&&(e=P(e,u+1,g))}}catch(e){p.e(e)}finally{p.f()}d&&(e=P(e,l,a))}}}}catch(e){o.e(e)}finally{o.f()}return[e,n]}(u,n),p=v.default(d,2);u=p[0],s=p[1]}if(u===a)return e;var m=0,h=0,g=0,x=0;if(0!==s){x=Z(l,s-1,X),g=l[x].offset;var I=M(u,s-1);m=I[0],h=I[1],l.length&&l[x].size===M(u,s)[1]&&(x-=1),l=l.slice(0,x+1)}else l=[];var C,T=S.default(j(u,s,1/0));try{for(T.s();!(C=T.n()).done;){var b=C.value,w=b.start,y=b.value,L=(w-m)*h+g;l.push({offset:L,size:y,index:w}),m=w,g=L,h=y}}catch(e){T.e(e)}finally{T.f()}return{sizeTree:u,offsetTree:l,groupOffsetTree:o.reduce((function(e,t){return P(e,t,ne(t,l))}),B()),lastIndex:m,lastOffset:g,lastSize:h,groupIndices:o}}function ne(e,t){if(0===t.length)return 0;var r=J(t,e,X),n=r.offset,o=r.index;return r.size*(e-o)+n}function oe(e,t){if(!ie(t))return e;for(var r=0;t.groupIndices[r]<=e+r;)r++;return e+r}function ie(e){return!F(e.groupOffsetTree)}var ae={offsetHeight:"height",offsetWidth:"width"},le=g.system((function(e){var t=v.default(e,1)[0].log,r=g.stream(),n=g.stream(),o=g.statefulStreamFromEmitter(n,0),i=g.stream(),a=g.statefulStream(0),l=g.statefulStream([]),u=g.statefulStream(void 0),s=g.statefulStream(void 0),c=g.statefulStream((function(e,t){return E(e,ae[t])})),f=g.statefulStream(void 0),d={offsetTree:[],sizeTree:B(),groupOffsetTree:B(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]},p=g.statefulStreamFromEmitter(g.pipe(r,g.withLatestFrom(l,t),g.scan(re,d),g.distinctUntilChanged()),d);g.connect(g.pipe(l,g.filter((function(e){return e.length>0})),g.withLatestFrom(p),g.map((function(e){var t=v.default(e,2),r=t[0],n=t[1],o=r.reduce((function(e,t,r){return P(e,t,ne(t,n.offsetTree)||r)}),B());return h.default(h.default({},n),{},{groupIndices:r,groupOffsetTree:o})}))),p),g.connect(g.pipe(n,g.withLatestFrom(p),g.filter((function(e){var t=v.default(e,2);return t[0]<t[1].lastIndex})),g.map((function(e){var t=v.default(e,2),r=t[0],n=t[1];return[{startIndex:r,endIndex:n.lastIndex,size:n.lastSize}]}))),r),g.connect(u,s);var m=g.statefulStreamFromEmitter(g.pipe(u,g.map((function(e){return void 0===e}))),!0);g.connect(g.pipe(s,g.filter((function(e){return void 0!==e&&F(g.getValue(p).sizeTree)})),g.map((function(e){return[{startIndex:0,endIndex:0,size:e}]}))),r);var x=g.streamFromEmitter(g.pipe(r,g.withLatestFrom(p),g.scan((function(e,t){var r=e.sizes,n=v.default(t,2);n[0];var o=n[1];return{changed:o!==r,sizes:o}}),{changed:!1,sizes:d}),g.map((function(e){return e.changed}))));g.connect(g.pipe(a,g.scan((function(e,t){return{diff:e.prev-t,prev:t}}),{diff:0,prev:0}),g.map((function(e){return e.diff})),g.filter((function(e){return e>0}))),i),g.subscribe(g.pipe(a,g.withLatestFrom(t)),(function(e){var t=v.default(e,2),r=t[0],n=t[1];r<0&&n("`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:a},exports.LogLevel.ERROR)}));var S=g.streamFromEmitter(i);return g.connect(g.pipe(i,g.withLatestFrom(p),g.map((function(e){var t=v.default(e,2),r=t[0],n=t[1];if(n.groupIndices.length>0)throw new Error("Virtuoso: prepending items does not work with groups");return A(n.sizeTree).reduce((function(e,t){var n=t.k,o=t.v;return{ranges:[].concat(I.default(e.ranges),[{startIndex:e.prevIndex,endIndex:n+r-1,size:e.prevSize}]),prevIndex:n+r,prevSize:o}}),{ranges:[],prevIndex:0,prevSize:n.lastSize}).ranges}))),r),{data:f,totalCount:n,sizeRanges:r,groupIndices:l,defaultItemSize:s,fixedItemSize:u,unshiftWith:i,beforeUnshiftWith:S,firstItemIndex:a,sizes:p,listRefresh:x,statefulTotalCount:o,trackItemSizes:m,itemSize:c}}),g.tup(b),{singleton:!0}),ue="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function se(e){var t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&ue||(t.behavior="auto"),t.offset||(t.offset=0),t}var ce=g.system((function(e){var t=v.default(e,3),r=t[0],n=r.sizes,o=r.totalCount,i=r.listRefresh,a=t[1],l=a.scrollingInProgress,u=a.viewportHeight,s=a.scrollTo,c=a.smoothScrollTargetReached,f=a.headerHeight,d=a.footerHeight,p=t[2].log,m=g.stream(),h=g.statefulStream(0),x=null,I=null,S=null;function C(){x&&(x(),x=null),S&&(S(),S=null),I&&(clearTimeout(I),I=null),g.publish(l,!1)}return g.connect(g.pipe(m,g.withLatestFrom(n,u,o,h,f,d,p),g.map((function(e){var t=v.default(e,8),r=t[0],n=t[1],o=t[2],a=t[3],u=t[4],s=t[5],f=t[6],d=t[7],p=se(r),h=p.align,T=p.behavior,b=p.offset,w=a-1,y=p.index;"LAST"===y&&(y=w),y=oe(y,n);var L=ne(y=Math.max(0,y,Math.min(w,y)),n.offsetTree)+s;"end"===h?(L=L-o+M(n.sizeTree,y)[1],y===w&&(L+=f)):"center"===h?L=L-o/2+M(n.sizeTree,y)[1]/2:L-=u,b&&(L+=b);var E,z=function(e){C(),e?(d("retrying to scroll to",{location:r},exports.LogLevel.DEBUG),g.publish(m,r)):d("list did not change, scroll successful",{},exports.LogLevel.DEBUG)};if(C(),"smooth"===T){var H=!1;S=g.subscribe(i,(function(e){H=H||e})),x=g.handleNext(c,(function(){z(H)}))}else x=g.handleNext(g.pipe(i,(E=50,function(e){var t=setTimeout((function(){e(!1)}),E);return function(r){r&&(e(!0),clearTimeout(t))}})),z);return I=setTimeout((function(){C()}),1200),g.publish(l,!0),d("scrolling from index to",{index:y,top:L,behavior:T},exports.LogLevel.DEBUG),{top:L,behavior:T}}))),s),{scrollToIndex:m,topListHeight:h}}),g.tup(le,H,b),{singleton:!0});var fe="up",de={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,scrollHeight:0}},pe=g.system((function(e){var t=v.default(e,1)[0],r=t.scrollContainerState,n=t.scrollTop,o=t.viewportHeight,i=t.headerHeight,a=t.footerHeight,l=t.scrollBy,u=g.statefulStream(!1),s=g.statefulStream(!0),c=g.stream(),f=g.stream(),d=g.statefulStream(4),p=g.streamFromEmitter(g.pipe(g.merge(g.pipe(g.duc(n),g.skip(1),g.mapTo(!0)),g.pipe(g.duc(n),g.skip(1),g.mapTo(!1),g.debounceTime(100))),g.distinctUntilChanged())),m=g.statefulStreamFromEmitter(g.pipe(g.merge(g.pipe(l,g.mapTo(!0)),g.pipe(l,g.mapTo(!1),g.debounceTime(200))),g.distinctUntilChanged()),!1);g.connect(g.pipe(g.duc(n),g.map((function(e){return 0===e})),g.distinctUntilChanged()),s),g.connect(s,f);var h=g.streamFromEmitter(g.pipe(g.combineLatest(r,g.duc(o),g.duc(i),g.duc(a),g.duc(d)),g.scan((function(e,t){var r=v.default(t,5),n=v.default(r[0],2),o=n[0],i=n[1],a=r[1];r[2],r[3];var l,u,s={viewportHeight:a,scrollTop:o,scrollHeight:i};return o+a-i>-r[4]?(o>e.state.scrollTop?(l="SCROLLED_DOWN",u=e.state.scrollTop-o):(l="SIZE_DECREASED",u=e.state.scrollTop-o||e.scrollTopDelta),{atBottom:!0,state:s,atBottomBecause:l,scrollTopDelta:u}):{atBottom:!1,notAtBottomBecause:s.scrollHeight>e.state.scrollHeight?"SIZE_INCREASED":a<e.state.viewportHeight?"VIEWPORT_HEIGHT_DECREASING":o<e.state.scrollTop?"SCROLLING_UPWARDS":"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",state:s}}),de),g.distinctUntilChanged((function(e,t){return e&&e.atBottom===t.atBottom})))),x=g.statefulStreamFromEmitter(g.pipe(r,g.scan((function(e,t){var r=v.default(t,2),n=r[0],o=r[1];return e.scrollHeight!==o?e.scrollTop!==n?{scrollHeight:o,scrollTop:n,jump:e.scrollTop-n,changed:!0}:{scrollHeight:o,scrollTop:n,jump:0,changed:!0}:{scrollTop:n,scrollHeight:o,jump:0,changed:!1}}),{scrollHeight:0,jump:0,scrollTop:0,changed:!1}),g.filter((function(e){return e.changed})),g.map((function(e){return e.jump}))),0);g.connect(g.pipe(h,g.map((function(e){return e.atBottom}))),u),g.subscribe(u,(function(e){setTimeout((function(){return g.publish(c,e)}))}));var I=g.statefulStream("down");g.subscribe(u,(function(e){setTimeout((function(){g.publish(c,e)}))})),g.connect(g.pipe(r,g.map((function(e){return v.default(e,1)[0]})),g.distinctUntilChanged(),g.scan((function(e,t){return g.getValue(m)?{direction:e.direction,prevScrollTop:t}:{direction:t<e.prevScrollTop?fe:"down",prevScrollTop:t}}),{direction:"down",prevScrollTop:0}),g.map((function(e){return e.direction}))),I),g.connect(g.pipe(r,g.throttleTime(50),g.mapTo("none")),I),g.connect(u,c);var S=g.statefulStream(0);return g.connect(g.pipe(p,g.filter((function(e){return!e})),g.mapTo(0)),S),g.connect(g.pipe(n,g.throttleTime(100),g.withLatestFrom(p),g.filter((function(e){var t=v.default(e,2);return t[0],!!t[1]})),g.scan((function(e,t){var r=v.default(e,2);return r[0],[r[1],v.default(t,1)[0]]}),[0,0]),g.map((function(e){var t=v.default(e,2),r=t[0];return t[1]-r}))),S),{isScrolling:p,isAtTop:s,isAtBottom:u,atBottomState:h,atTopStateChange:f,atBottomStateChange:c,scrollDirection:I,atBottomThreshold:d,scrollVelocity:S,lastJumpDueToItemResize:x}}),g.tup(H)),me=g.system((function(e){var t=v.default(e,1)[0].log,r=g.statefulStream(!1),n=g.streamFromEmitter(g.pipe(r,g.filter((function(e){return e})),g.distinctUntilChanged()));return g.subscribe(r,(function(e){e&&i.getValue(t)("props updated",{},exports.LogLevel.DEBUG)})),{propsReady:r,didMount:n}}),i.tup(b),{singleton:!0}),he=g.system((function(e){var t=v.default(e,4),r=t[0],n=r.sizes,o=r.listRefresh,i=r.defaultItemSize,a=t[1].scrollTop,l=t[2].scrollToIndex,u=t[3].didMount,s=g.statefulStream(!0),c=g.statefulStream(0);return g.connect(g.pipe(u,g.withLatestFrom(c),g.filter((function(e){var t=v.default(e,2);return t[0],0!==t[1]})),g.mapTo(!1)),s),g.subscribe(g.pipe(g.combineLatest(o,u),g.withLatestFrom(s,n,i),g.filter((function(e){var t=v.default(e,4),r=v.default(t[0],2)[1],n=t[1],o=t[2].sizeTree,i=t[3];return r&&(!F(o)||void 0!==i)&&!n})),g.withLatestFrom(c)),(function(e){var t=v.default(e,2)[1];setTimeout((function(){g.handleNext(a,(function(){g.publish(s,!0)})),g.publish(l,t)}))})),{scrolledToInitialItem:s,initialTopMostItemIndex:c}}),g.tup(le,H,ce,me),{singleton:!0});function ve(e){return!!e&&("smooth"===e?"smooth":"auto")}var ge=g.system((function(e){var t=v.default(e,7),r=t[0],n=r.totalCount,o=r.listRefresh,i=t[1],a=i.isAtBottom,l=i.atBottomState,u=t[2].scrollToIndex,s=t[3].scrolledToInitialItem,c=t[4],f=c.propsReady,d=c.didMount,p=t[5].log,m=t[6].scrollingInProgress,h=g.statefulStream(!1),x=null;function I(e){g.publish(u,{index:"LAST",align:"end",behavior:e})}return g.subscribe(g.pipe(g.combineLatest(g.pipe(g.duc(n),g.skip(1)),d),g.withLatestFrom(g.duc(h),a,s,m),g.map((function(e){var t=v.default(e,5),r=v.default(t[0],2),n=r[0],o=r[1],i=t[1],a=t[2],l=t[3],u=t[4],s=o&&l,c="auto";return s&&(c=function(e,t){return"function"==typeof e?ve(e(t)):t&&ve(e)}(i,a||u),s=s&&!!c),{totalCount:n,shouldFollow:s,followOutputBehavior:c}})),g.filter((function(e){return e.shouldFollow}))),(function(e){var t=e.totalCount,r=e.followOutputBehavior;x&&(x(),x=null),x=g.handleNext(o,(function(){g.getValue(p)("following output to ",{totalCount:t},exports.LogLevel.DEBUG),I(r),x=null}))})),g.subscribe(g.pipe(g.combineLatest(g.duc(h),n,f),g.filter((function(e){var t=v.default(e,3),r=t[0],n=t[2];return r&&n})),g.scan((function(e,t){var r=e.value,n=v.default(t,2)[1];return{refreshed:r===n,value:n}}),{refreshed:!1,value:0}),g.filter((function(e){return e.refreshed})),g.withLatestFrom(h,n)),(function(e){var t=v.default(e,2)[1],r=g.handleNext(l,(function(e){!t||e.atBottom||"SIZE_INCREASED"!==e.notAtBottomBecause||x||(g.getValue(p)("scrolling to bottom due to increased size",{},exports.LogLevel.DEBUG),I("auto"))}));setTimeout(r,100)})),g.subscribe(g.combineLatest(g.duc(h),l),(function(e){var t=v.default(e,2),r=t[0],n=t[1];r&&!n.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===n.notAtBottomBecause&&I("auto")})),{followOutput:h}}),g.tup(le,pe,ce,he,me,b,H));function xe(e){return e.reduce((function(e,t){return e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e}),{totalCount:0,groupIndices:[]})}var Ie=i.system((function(e){var t=v.default(e,2),r=t[0],n=r.totalCount,o=r.groupIndices,a=r.sizes,l=t[1],u=l.scrollTop,s=l.headerHeight,c=i.stream(),f=i.stream(),d=i.streamFromEmitter(i.pipe(c,i.map(xe)));return i.connect(i.pipe(d,i.map(i.prop("totalCount"))),n),i.connect(i.pipe(d,i.map(i.prop("groupIndices"))),o),i.connect(i.pipe(i.combineLatest(u,a,s),i.filter((function(e){var t=v.default(e,2);return t[0],ie(t[1])})),i.map((function(e){var t=v.default(e,3),r=t[0],n=t[1],o=t[2];return M(n.groupOffsetTree,Math.max(r-o,0),"v")[0]})),i.distinctUntilChanged(),i.map((function(e){return[e]}))),f),{groupCounts:c,topItemsIndexes:f}}),i.tup(le,H));function Se(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}function Ce(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}function Te(e,t,r){return"number"==typeof e?r===fe&&"top"===t||"down"===r&&"bottom"===t?e:0:r===fe?"top"===t?e.main:e.reverse:"bottom"===t?e.main:e.reverse}function be(e,t){return"number"==typeof e?e:e[t]||0}var we=g.system((function(e){var t=v.default(e,1)[0],r=t.scrollTop,n=t.viewportHeight,o=t.deviation,i=t.headerHeight,a=g.stream(),l=g.statefulStream(0),u=g.statefulStream(0),s=g.statefulStream(0),c=g.statefulStream(0);return{listBoundary:a,overscan:c,topListHeight:l,fixedHeaderHeight:u,increaseViewportBy:s,visibleRange:g.statefulStreamFromEmitter(g.pipe(g.combineLatest(g.duc(r),g.duc(n),g.duc(i),g.duc(a,Se),g.duc(c),g.duc(l),g.duc(u),g.duc(o),g.duc(s)),g.map((function(e){var t=v.default(e,9),r=t[0],n=t[1],o=t[2],i=v.default(t[3],2),a=i[0],l=i[1],u=t[4],s=t[5],c=t[6],f=t[7],d=t[8],p=r-f,m=s+c,h=Math.max(o-p,0),g="none",x=be(d,"top"),I=be(d,"bottom");return a-=f,l+=o,(a+=o)>r+m-x&&(g=fe),(l-=f)<r-h+n+I&&(g="down"),"none"!==g?[Math.max(p-o-Te(u,"top",g)-x,0),p-h-c+n+Te(u,"bottom",g)+I]:null})),g.filter((function(e){return null!=e})),g.distinctUntilChanged(Se)),[0,0])}}),g.tup(H),{singleton:!0});var ye={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0};function Le(e,t,r){if(0===e.length)return[];if(!ie(t))return e.map((function(e){return h.default(h.default({},e),{},{index:e.index+r,originalIndex:e.index})}));var n,o=e[0].index,i=e[e.length-1].index,a=[],l=j(t.groupOffsetTree,o,i),u=void 0,s=0,c=S.default(e);try{for(c.s();!(n=c.n()).done;){var f=n.value;(!u||u.end<f.index)&&(u=l.shift(),s=t.groupIndices.indexOf(u.start));var d=void 0;d=f.index===u.start?{type:"group",index:s}:{index:f.index-(s+1)+r,groupIndex:s},a.push(h.default(h.default({},d),{},{size:f.size,offset:f.offset,originalIndex:f.index,data:f.data}))}}catch(e){c.e(e)}finally{c.f()}return a}function Ee(e,t,r,n,o){var i=n.lastSize,a=n.lastOffset,l=n.lastIndex,u=0,s=0;if(e.length>0){u=e[0].offset;var c=e[e.length-1];s=c.offset+c.size}var f=u,d=a+(r-l)*i-s;return{items:Le(e,n,o),topItems:Le(t,n,o),topListHeight:t.reduce((function(e,t){return t.size+e}),0),offsetTop:u,offsetBottom:d,top:f,bottom:s,totalCount:r}}var ze=g.system((function(e){var t=v.default(e,7),r=t[0],n=r.sizes,o=r.totalCount,i=r.data,a=r.firstItemIndex,l=t[1],u=t[2],s=u.visibleRange,c=u.listBoundary,f=u.topListHeight,d=t[3],p=d.scrolledToInitialItem,m=d.initialTopMostItemIndex,x=t[4].topListHeight,I=t[5],C=t[6].didMount,T=g.statefulStream([]),b=g.stream();g.connect(l.topItemsIndexes,T);var w=g.statefulStreamFromEmitter(g.pipe(g.combineLatest(C,g.duc(s),g.duc(o),g.duc(n),g.duc(m),p,g.duc(T),g.duc(a),i),g.filter((function(e){return v.default(e,1)[0]})),g.map((function(e){var t=v.default(e,9),r=v.default(t[1],2),n=r[0],o=r[1],i=t[2],a=t[3],l=t[4],u=t[5],s=t[6],c=t[7],f=t[8],d=a,p=d.sizeTree,m=d.offsetTree;if(0===i||0===n&&0===o)return ye;if(F(p))return Ee(function(e,t,r){if(ie(t)){var n=oe(e,t);return[{index:M(t.groupOffsetTree,n)[0],size:0,offset:0},{index:n,size:0,offset:0,data:r&&r[0]}]}return[{index:e,size:0,offset:0,data:r&&r[0]}]}(l,d,f),[],i,d,c);var h=[];if(s.length>0){var x,I=s[0],C=s[s.length-1],T=0,b=S.default(j(p,I,C));try{for(b.s();!(x=b.n()).done;)for(var w=x.value,y=w.value,L=Math.max(w.start,I),E=Math.min(w.end,C),z=L;z<=E;z++)h.push({index:z,size:y,offset:T,data:f&&f[z]}),T+=y}catch(e){b.e(e)}finally{b.f()}}if(!u)return Ee([],h,i,d,c);var H=s.length>0?s[s.length-1]+1:0,R=te(m,n,o,H);if(0===R.length)return null;var k=i-1;return Ee(g.tap([],(function(e){var t,r=S.default(R);try{for(r.s();!(t=r.n()).done;){var i=t.value,a=i.value,l=a.offset,u=i.start,s=a.size;a.offset<n&&(l+=((u+=Math.floor((n-a.offset)/s))-i.start)*s),u<H&&(l+=(H-u)*s,u=H);for(var c=Math.min(i.end,k),d=u;d<=c&&!(l>=o);d++)e.push({index:d,size:s,offset:l,data:f&&f[d]}),l+=s}}catch(e){r.e(e)}finally{r.f()}})),h,i,d,c)})),g.filter((function(e){return null!==e})),g.distinctUntilChanged()),ye);g.connect(g.pipe(i,g.filter((function(e){return void 0!==e})),g.map((function(e){return e.length}))),o),g.connect(g.pipe(w,g.map(g.prop("topListHeight"))),x),g.connect(x,f),g.connect(g.pipe(w,g.map((function(e){return[e.top,e.bottom]}))),c),g.connect(g.pipe(w,g.map((function(e){return e.items}))),b);var y=g.streamFromEmitter(g.pipe(w,g.filter((function(e){return e.items.length>0})),g.withLatestFrom(o,i),g.filter((function(e){var t=v.default(e,2),r=t[0].items,n=t[1];return r[r.length-1].originalIndex===n-1})),g.map((function(e){var t=v.default(e,3);return[t[1]-1,t[2]]})),g.distinctUntilChanged(Se),g.map((function(e){return v.default(e,1)[0]})))),L=g.streamFromEmitter(g.pipe(w,g.throttleTime(200),g.filter((function(e){var t=e.items,r=e.topItems;return t.length>0&&t[0].originalIndex===r.length})),g.map((function(e){return e.items[0].index})),g.distinctUntilChanged())),E=g.streamFromEmitter(g.pipe(w,g.filter((function(e){return e.items.length>0})),g.map((function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}})),g.distinctUntilChanged(Ce)));return h.default({listState:w,topItemsIndexes:T,endReached:y,startReached:L,rangeChanged:E,itemsRendered:b},I)}),g.tup(le,Ie,we,he,ce,pe,me),{singleton:!0}),He=g.system((function(e){var t=v.default(e,3),r=t[0],n=r.sizes,o=r.firstItemIndex,i=r.data,a=t[1].listState,l=t[2].didMount,u=g.statefulStream(0);return g.connect(g.pipe(l,g.withLatestFrom(u),g.filter((function(e){return 0!==v.default(e,2)[1]})),g.withLatestFrom(n,o,i),g.map((function(e){var t=v.default(e,4),r=v.default(t[0],2)[1],n=t[1],o=t[2],i=t[3],a=void 0===i?[]:i,l=0;if(n.groupIndices.length>0){var u,s=S.default(n.groupIndices);try{for(s.s();!(u=s.n()).done;){if(u.value-l>=r)break;l++}}catch(e){s.e(e)}finally{s.f()}}var c=r+l;return Ee(Array.from({length:c}).map((function(e,t){return{index:t,size:0,offset:0,data:a[t]}})),[],c,n,o)}))),a),{initialItemCount:u}}),g.tup(le,ze,me),{singleton:!0}),Re=g.system((function(e){var t=v.default(e,1)[0].scrollVelocity,r=g.statefulStream(!1),n=g.stream(),o=g.statefulStream(!1);return g.connect(g.pipe(t,g.withLatestFrom(o,r,n),g.filter((function(e){var t=v.default(e,2);return t[0],!!t[1]})),g.map((function(e){var t=v.default(e,4),r=t[0],n=t[1],o=t[2],i=t[3],a=n.exit,l=n.enter;if(o){if(a(r,i))return!1}else if(l(r,i))return!0;return o})),g.distinctUntilChanged()),r),g.subscribe(g.pipe(g.combineLatest(r,t,n),g.withLatestFrom(o)),(function(e){var t=v.default(e,2),r=v.default(t[0],3),n=r[0],o=r[1],i=r[2],a=t[1];return n&&a&&a.change&&a.change(o,i)})),{isSeeking:r,scrollSeekConfiguration:o,scrollVelocity:t,scrollSeekRangeChanged:n}}),g.tup(pe),{singleton:!0}),ke=i.system((function(e){var t=v.default(e,1)[0].topItemsIndexes,r=i.statefulStream(0);return i.connect(i.pipe(r,i.filter((function(e){return e>0})),i.map((function(e){return Array.from({length:e}).map((function(e,t){return t}))}))),t),{topItemCount:r}}),i.tup(ze)),Fe=g.system((function(e){var t=v.default(e,2),r=t[0],n=r.footerHeight,o=r.headerHeight,i=t[1].listState,a=g.stream(),l=g.statefulStreamFromEmitter(g.pipe(g.combineLatest(n,o,i),g.map((function(e){var t=v.default(e,3),r=t[0],n=t[1],o=t[2];return r+n+o.offsetBottom+o.bottom}))),0);return g.connect(g.duc(l),a),{totalListHeight:l,totalListHeightChanged:a}}),g.tup(H,ze),{singleton:!0}),Be=g.system((function(e){var t=v.default(e,5),r=t[0],n=r.scrollBy,o=r.scrollTop,i=r.deviation,a=r.scrollingInProgress,l=t[1],u=l.isScrolling,s=l.isAtBottom,c=l.atBottomState,f=l.scrollDirection,d=l.lastJumpDueToItemResize,p=t[2].listState,m=t[3],h=m.beforeUnshiftWith,x=m.sizes,I=t[4].log,S=g.streamFromEmitter(g.pipe(p,g.withLatestFrom(d),g.scan((function(e,t){var r=v.default(e,3),n=r[1],o=r[2],i=v.default(t,2),a=i[0],l=a.items,u=a.totalCount,s=i[1],c=0;if(o===u){if(n.length>0&&l.length>0){var f=l[0].originalIndex,d=n[0].originalIndex,p=0===f&&0===d,m=1===l.length;if(!p)for(var h=function(e){var t=l[e],r=n.find((function(e){return e.originalIndex===t.originalIndex}));return r?t.offset!==r.offset||m?(c=t.offset-r.offset+t.size-r.size,"break"):void 0:"continue"},g=l.length-1;g>=0;g--){var x=h(g);if("continue"!==x&&"break"===x)break}}0!==c&&(c+=s)}return[c,l,u]}),[0,[],0]),g.filter((function(e){return 0!==v.default(e,1)[0]})),g.withLatestFrom(o,f,a,I,s,c),g.filter((function(e){var t=v.default(e,4),r=t[1],n=t[2];return!t[3]&&0!==r&&n===fe})),g.map((function(e){var t=v.default(e,5),r=v.default(t[0],1)[0];return(0,t[4])("Upward scrolling compensation",{amount:r},exports.LogLevel.DEBUG),r}))));return g.connect(g.pipe(S,g.withLatestFrom(i),g.map((function(e){var t=v.default(e,2),r=t[0];return t[1]-r}))),i),g.subscribe(g.pipe(g.combineLatest(g.statefulStreamFromEmitter(u,!1),i),g.filter((function(e){var t=v.default(e,2),r=t[0],n=t[1];return!r&&0!==n})),g.map((function(e){var t=v.default(e,2);return t[0],t[1]})),g.throttleTime(1)),(function(e){e>0?(g.publish(n,{top:-e,behavior:"auto"}),g.publish(i,0)):(g.publish(i,0),g.publish(n,{top:-e,behavior:"auto"}))})),g.connect(g.pipe(h,g.withLatestFrom(x),g.map((function(e){var t=v.default(e,2);return t[0]*t[1].lastSize}))),S),{deviation:i}}),g.tup(H,pe,ze,le,b)),Oe=g.system((function(e){var t=v.default(e,3),r=t[0].totalListHeight,n=t[1].didMount,o=t[2].scrollTo,i=g.statefulStream(0);return g.subscribe(g.pipe(n,g.withLatestFrom(i),g.filter((function(e){return 0!==v.default(e,2)[1]})),g.map((function(e){return{top:v.default(e,2)[1]}}))),(function(e){g.handleNext(g.pipe(r,g.filter((function(e){return 0!==e}))),(function(){setTimeout((function(){g.publish(o,e)}))}))})),{initialScrollTop:i}}),g.tup(Fe,me,H),{singleton:!0}),Me=g.system((function(e){var t=v.default(e,2),r=t[0].viewportHeight,n=t[1].totalListHeight,o=g.statefulStream(!1);return{alignToBottom:o,paddingTopAddition:g.statefulStreamFromEmitter(g.pipe(g.combineLatest(o,r,n),g.filter((function(e){return v.default(e,1)[0]})),g.map((function(e){var t=v.default(e,3),r=t[1],n=t[2];return Math.max(0,r-n)})),g.distinctUntilChanged()),0)}}),g.tup(H,Fe),{singleton:!0}),Pe=g.system((function(e){var t=v.default(e,1)[0],r=t.scrollTo,n=t.scrollContainerState,o=g.stream(),i=g.stream(),a=g.stream(),l=g.statefulStream(!1),u=g.statefulStream(void 0);return g.connect(g.pipe(g.combineLatest(o,i),g.map((function(e){var t=v.default(e,2),r=v.default(t[0],2),n=r[0],o=r[1],i=t[1].offsetTop;return[Math.max(0,n-i),o]}))),n),g.connect(g.pipe(r,g.withLatestFrom(i),g.map((function(e){var t=v.default(e,2),r=t[0],n=t[1].offsetTop;return h.default(h.default({},r),{},{top:r.top+n})}))),a),{useWindowScroll:l,customScrollParent:u,windowScrollContainerState:o,windowViewportRect:i,windowScrollTo:a}}),g.tup(H)),Ue=g.system((function(e){var t=v.default(e,3),r=t[0],n=r.sizes,o=r.totalCount,i=t[1],a=i.scrollTop,l=i.viewportHeight,u=i.headerHeight,s=i.scrollingInProgress,c=t[2].scrollToIndex,f=g.stream();return g.connect(g.pipe(f,g.withLatestFrom(n,l,o,u,a),g.map((function(e){var t=v.default(e,6),r=t[0],n=r.index,o=r.behavior,i=void 0===o?"auto":o,a=r.done,l=t[1],u=t[2],c=t[3],f=t[4],d=t[5],p=c-1,m=null;n=oe(n,l);var h=ne(n=Math.max(0,n,Math.min(p,n)),l.offsetTree)+f;h<d?m={index:n,behavior:i,align:"start"}:h+M(l.sizeTree,n)[1]>d+u&&(m={index:n,behavior:i,align:"end"});return m?a&&g.handleNext(g.pipe(s,g.skip(1),g.filter((function(e){return!1===e}))),a):a&&a(),m})),g.filter((function(e){return null!==e}))),c),{scrollIntoView:f}}),g.tup(le,H,ce,ze,b),{singleton:!0}),Ae=g.system((function(e){var t=v.default(e,9),r=t[0],n=t[1],o=t[2],i=t[3],a=t[4],l=t[5],u=t[6],s=t[7],c=t[8];return h.default(h.default(h.default(h.default(h.default(h.default(h.default(h.default(h.default({},r),n),o),i),a),l),u),s),c)}),g.tup(we,He,me,Re,Fe,Oe,Me,Pe,Ue)),De=g.system((function(e){var t=v.default(e,11),r=t[0],n=r.totalCount,o=r.sizeRanges,i=r.fixedItemSize,a=r.defaultItemSize,l=r.trackItemSizes,u=r.itemSize,s=r.data,c=r.firstItemIndex,f=r.groupIndices,d=r.statefulTotalCount,m=t[1],x=m.initialTopMostItemIndex,I=m.scrolledToInitialItem,S=t[2],C=t[3],T=t[4],b=T.listState,w=T.topItemsIndexes,y=p.default(T,["listState","topItemsIndexes"]),L=t[5].scrollToIndex;t[6];var E=t[7].topItemCount,z=t[8].groupCounts,H=t[9],R=t[10];return g.connect(y.rangeChanged,H.scrollSeekRangeChanged),g.connect(g.pipe(H.windowViewportRect,g.map(g.prop("visibleHeight"))),S.viewportHeight),h.default(h.default(h.default(h.default(h.default({totalCount:n,data:s,firstItemIndex:c,sizeRanges:o,initialTopMostItemIndex:x,scrolledToInitialItem:I,topItemsIndexes:w,topItemCount:E,groupCounts:z,fixedItemHeight:i,defaultItemHeight:a},C),{},{statefulTotalCount:d,listState:b,scrollToIndex:L,trackItemSizes:l,itemSize:u,groupIndices:f},y),H),S),R)}),g.tup(le,he,H,ge,ze,ce,Be,ke,Ie,Ae,b));var Ve,Ge,Ne,We=(Ve=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"},Ne=!1,function(){return Ne||(Ne=!0,Ge=Ve()),Ge});function _e(e,t){var r=a.useRef(null),n=a.useCallback((function(n){if(null!==n){var o,i,a=n.getBoundingClientRect(),l=a.width;if(t){var u=t.getBoundingClientRect(),s=a.top-u.top;o=u.height-Math.max(0,s),i=s+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]),o=w(n),i=o.callbackRef,l=o.ref,u=a.useCallback((function(){n(l.current)}),[n,l]);return a.useEffect((function(){if(t){t.addEventListener("scroll",u);var e=new ResizeObserver(u);return e.observe(t),function(){t.removeEventListener("scroll",u),e.unobserve(t)}}return window.addEventListener("scroll",u),window.addEventListener("resize",u),function(){window.removeEventListener("scroll",u),window.removeEventListener("resize",u)}}),[u,t]),i}function je(e){return e}var qe=i.system((function(){var e=i.statefulStream((function(e){return"Item ".concat(e)})),t=i.statefulStream(null),r=i.statefulStream((function(e){return"Group ".concat(e)})),n=i.statefulStream({}),o=i.statefulStream(je),a=i.statefulStream("div"),l=i.statefulStream(i.noop),u=function(e,t){return void 0===t&&(t=null),i.statefulStreamFromEmitter(i.pipe(n,i.map((function(t){return t[e]})),i.distinctUntilChanged()),t)};return{context:t,itemContent:e,groupContent:r,components:n,computeItemKey:o,headerFooterTag:a,scrollerRef:l,FooterComponent:u("Footer"),HeaderComponent:u("Header"),TopItemListComponent:u("TopItemList"),ListComponent:u("List","div"),ItemComponent:u("Item","div"),GroupComponent:u("Group","div"),ScrollerComponent:u("Scroller","div"),EmptyPlaceholder:u("EmptyPlaceholder"),ScrollSeekPlaceholder:u("ScrollSeekPlaceholder")}}));function Ye(e,t){var r=i.stream();return i.subscribe(r,(function(){return console.warn("react-virtuoso: You are using a deprecated property. ".concat(t),"color: red;","color: inherit;","color: blue;")})),i.connect(r,e),r}var Ke=i.system((function(e){var t=v.default(e,2),r=t[0],n=t[1],o={item:Ye(n.itemContent,"Rename the %citem%c prop to %citemContent."),group:Ye(n.groupContent,"Rename the %cgroup%c prop to %cgroupContent."),topItems:Ye(r.topItemCount,"Rename the %ctopItems%c prop to %ctopItemCount."),itemHeight:Ye(r.fixedItemHeight,"Rename the %citemHeight%c prop to %cfixedItemHeight."),scrollingStateChange:Ye(r.isScrolling,"Rename the %cscrollingStateChange%c prop to %cisScrolling."),adjustForPrependedItems:i.stream(),maxHeightCacheSize:i.stream(),footer:i.stream(),header:i.stream(),HeaderContainer:i.stream(),FooterContainer:i.stream(),ItemContainer:i.stream(),ScrollContainer:i.stream(),GroupContainer:i.stream(),ListContainer:i.stream(),emptyComponent:i.stream(),scrollSeek:i.stream()};function a(e,t,r){i.connect(i.pipe(e,i.withLatestFrom(n.components),i.map((function(e){var n=v.default(e,2),o=n[0],i=n[1];return console.warn("react-virtuoso: ".concat(r," property is deprecated. Pass components.").concat(t," instead.")),h.default(h.default({},i),{},m.default({},t,o))}))),n.components)}return i.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;")})),i.subscribe(o.maxHeightCacheSize,(function(){console.warn("react-virtuoso: maxHeightCacheSize is no longer necessary. Setting it has no effect - remove it from your code.")})),i.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.")})),i.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.")})),i.subscribe(o.scrollSeek,(function(e){var t=e.placeholder,o=p.default(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),i.publish(n.components,h.default(h.default({},i.getValue(n.components)),{},{ScrollSeekPlaceholder:t})),i.publish(r.scrollSeekConfiguration,o)})),a(o.footer,"Footer","footer"),a(o.header,"Header","header"),a(o.ItemContainer,"Item","ItemContainer"),a(o.ListContainer,"List","ListContainer"),a(o.ScrollContainer,"Scroller","ScrollContainer"),a(o.emptyComponent,"EmptyPlaceholder","emptyComponent"),a(o.GroupContainer,"Group","GroupContainer"),h.default(h.default(h.default({},r),n),o)}),i.tup(De,qe)),Ze=function(e){var t=e.height;return x.createElement("div",{style:{height:t}})},Je={position:We(),zIndex:1,overflowAnchor:"none"},Qe=x.memo((function(e){var t=e.showTopList,r=void 0!==t&&t,n=pt("listState"),o=pt("deviation"),l=dt("sizeRanges"),u=pt("useWindowScroll"),s=pt("customScrollParent"),c=dt("windowScrollContainerState"),f=dt("scrollContainerState"),d=s||u?c:f,p=pt("itemContent"),m=pt("context"),v=pt("groupContent"),g=pt("trackItemSizes"),x=pt("itemSize"),I=pt("log"),S=L(l,x,g,r?i.noop:d,I,s),C=pt("EmptyPlaceholder"),T=pt("ScrollSeekPlaceholder")||Ze,b=pt("ListComponent"),w=pt("ItemComponent"),y=pt("GroupComponent"),E=pt("computeItemKey"),z=pt("isSeeking"),H=pt("groupIndices").length>0,R=pt("paddingTopAddition"),k=pt("firstItemIndex"),F=pt("statefulTotalCount"),B=r?{}:{boxSizing:"border-box",paddingTop:n.offsetTop+R,paddingBottom:n.offsetBottom,marginTop:o};return!r&&0===F&&C?a.createElement(C,tt(C,m)):a.createElement(b,h.default(h.default({},tt(b,m)),{},{ref:S,style:B,"data-test-id":r?"virtuoso-top-item-list":"virtuoso-item-list"}),(r?n.topItems:n.items).map((function(e){var t=e.originalIndex,r=E(t+k,e.data,m);return z?a.createElement(T,h.default(h.default({},tt(T,m)),{},{key:r,index:e.index,height:e.size,type:e.type||"item"},"group"===e.type?{}:{groupIndex:e.groupIndex})):"group"===e.type?a.createElement(y,h.default(h.default({},tt(y,m)),{},{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:Je}),v(e.index)):a.createElement(w,h.default(h.default({},tt(w,m)),{},{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,m):p(e.index,e.data,m))})))})),Xe={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},$e={width:"100%",height:"100%",position:"absolute",top:0},et={width:"100%",position:We(),top:0};function tt(e,t){if("string"!=typeof e)return{context:t}}var rt=x.memo((function(){var e=pt("HeaderComponent"),t=dt("headerHeight"),r=pt("headerFooterTag"),n=y((function(e){return t(E(e,"height"))})),o=pt("context");return e?a.createElement(r,{ref:n},a.createElement(e,tt(e,o))):null})),nt=x.memo((function(){var e=pt("FooterComponent"),t=dt("footerHeight"),r=pt("headerFooterTag"),n=y((function(e){return t(E(e,"height"))})),o=pt("context");return e?a.createElement(r,{ref:n},a.createElement(e,tt(e,o))):null}));function ot(e){var t=e.usePublisher,r=e.useEmitter,n=e.useEmitterValue;return x.memo((function(e){var o=e.style,i=e.children,l=p.default(e,["style","children"]),u=t("scrollContainerState"),s=n("ScrollerComponent"),c=t("smoothScrollTargetReached"),f=n("scrollerRef"),d=n("context"),m=z(u,c,s,f),v=m.scrollerRef,g=m.scrollByCallback,x=m.scrollToCallback;return r("scrollTo",x),r("scrollBy",g),a.createElement(s,h.default(h.default({ref:v,style:h.default(h.default({},Xe),o),"data-test-id":"virtuoso-scroller","data-virtuoso-scroller":!0,tabIndex:0},l),tt(s,d)),i)}))}function it(e){var t=e.usePublisher,r=e.useEmitter,n=e.useEmitterValue;return x.memo((function(e){var o=e.style,l=e.children,u=p.default(e,["style","children"]),s=t("windowScrollContainerState"),c=n("ScrollerComponent"),f=t("smoothScrollTargetReached"),d=n("totalListHeight"),m=n("deviation"),v=n("customScrollParent"),g=n("context"),x=z(s,f,c,i.noop,v),I=x.scrollerRef,S=x.scrollByCallback,T=x.scrollToCallback;return C((function(){return I.current=v||window,function(){I.current=null}}),[I,v]),r("windowScrollTo",T),r("scrollBy",S),a.createElement(c,h.default(h.default({style:h.default(h.default({position:"relative"},o),0!==d?{height:d+m}:{}),"data-virtuoso-scroller":!0},u),tt(c,g)),l)}))}var at=function(e){var t=e.children,r=dt("viewportHeight"),n=y(i.compose(r,(function(e){return E(e,"height")})));return x.createElement("div",{style:$e,ref:n,"data-viewport-type":"element"},t)},lt=function(e){var t=e.children,r=_e(dt("windowViewportRect"),pt("customScrollParent"));return x.createElement("div",{ref:r,style:$e,"data-viewport-type":"window"},t)},ut=function(e){var t=e.children,r=pt("TopItemListComponent"),n=pt("headerHeight"),o=h.default(h.default({},et),{},{marginTop:"".concat(n,"px")}),i=pt("context");return a.createElement(r||"div",{style:o,context:i},t)},st=x.memo((function(e){var t=pt("useWindowScroll"),r=pt("topItemsIndexes").length>0,n=pt("customScrollParent"),o=n||t?vt:ht,i=n||t?lt:at;return x.createElement(o,h.default({},e),x.createElement(i,null,x.createElement(rt,null),x.createElement(Qe,null),x.createElement(nt,null)),r&&x.createElement(ut,null,x.createElement(Qe,{showTopList:!0})))})),ct=o.systemToComponent(Ke,{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"}},st),ft=ct.Component,dt=ct.usePublisher,pt=ct.useEmitterValue,mt=ct.useEmitter,ht=ot({usePublisher:dt,useEmitterValue:pt,useEmitter:mt}),vt=it({usePublisher:dt,useEmitterValue:pt,useEmitter:mt});exports.List=ft,exports.addDeprecatedAlias=Ye,exports.buildScroller=ot,exports.buildWindowScroller=it,exports.contextPropIfNotDomElement=tt,exports.correctItemSize=E,exports.domIOSystem=H,exports.identity=je,exports.listSystem=De,exports.normalizeIndexLocation=se,exports.propsReadySystem=me,exports.rangeComparator=Ce,exports.scrollSeekSystem=Re,exports.sizeRangeSystem=we,exports.stateFlagsSystem=pe,exports.tupleComparator=Se,exports.useChangedListContentsSizes=L,exports.useSize=y,exports.useWindowViewportRectRef=_e,exports.viewportStyle=$e,exports.windowScrollerSystem=Pe;
2
- //# sourceMappingURL=shared.js.map