react-virtuoso 2.2.2 → 2.2.6-beta.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 (119) hide show
  1. package/dist/List.d.ts +52 -250
  2. package/dist/__examples.cc6a8f9f.js +171789 -0
  3. package/dist/__examples.cc6a8f9f.js.map +1 -0
  4. package/dist/__examples.html +27 -0
  5. package/dist/__examples.js +392 -0
  6. package/dist/__examples.js.map +1 -0
  7. package/dist/align-to-bottom.7fcd2087.js +401 -0
  8. package/dist/align-to-bottom.7fcd2087.js.map +1 -0
  9. package/dist/alignToBottomSystem.d.ts +5 -25
  10. package/dist/auto-prepend-items.bd7e9b90.js +468 -0
  11. package/dist/auto-prepend-items.bd7e9b90.js.map +1 -0
  12. package/dist/benchmark.66d31485.js +366 -0
  13. package/dist/benchmark.66d31485.js.map +1 -0
  14. package/dist/chat.d4f93b8b.js +570 -0
  15. package/dist/chat.d4f93b8b.js.map +1 -0
  16. package/dist/custom-components.5aeaa7ef.js +407 -0
  17. package/dist/custom-components.5aeaa7ef.js.map +1 -0
  18. package/dist/custom-scroller.b0240d14.js +385 -0
  19. package/dist/custom-scroller.b0240d14.js.map +1 -0
  20. package/dist/data.26707046.js +391 -0
  21. package/dist/data.26707046.js.map +1 -0
  22. package/dist/decrease-items.e2211e50.js +385 -0
  23. package/dist/decrease-items.e2211e50.js.map +1 -0
  24. package/dist/default-item-height.b77ada36.js +360 -0
  25. package/dist/default-item-height.b77ada36.js.map +1 -0
  26. package/dist/empty-placeholder.00607a6e.js +390 -0
  27. package/dist/empty-placeholder.00607a6e.js.map +1 -0
  28. package/dist/end-reached.8531e5b1.js +404 -0
  29. package/dist/end-reached.8531e5b1.js.map +1 -0
  30. package/dist/endless-scrolling.bc4101f0.js +410 -0
  31. package/dist/endless-scrolling.bc4101f0.js.map +1 -0
  32. package/dist/expandable-cards.5439f51b.js +427 -0
  33. package/dist/expandable-cards.5439f51b.js.map +1 -0
  34. package/dist/follow-output.4e36fca8.js +430 -0
  35. package/dist/follow-output.4e36fca8.js.map +1 -0
  36. package/dist/followOutputSystem.d.ts +5 -25
  37. package/dist/grid-optimize-rendering.b49e36f5.js +452 -0
  38. package/dist/grid-optimize-rendering.b49e36f5.js.map +1 -0
  39. package/dist/grid.d5d77b6a.js +449 -0
  40. package/dist/grid.d5d77b6a.js.map +1 -0
  41. package/dist/grouped-endless-scrolling.24985a0f.js +506 -0
  42. package/dist/grouped-endless-scrolling.24985a0f.js.map +1 -0
  43. package/dist/grouped-load-more.bce8f6e4.js +505 -0
  44. package/dist/grouped-load-more.bce8f6e4.js.map +1 -0
  45. package/dist/grouped-topmost-item.34960f5e.js +366 -0
  46. package/dist/grouped-topmost-item.34960f5e.js.map +1 -0
  47. package/dist/grouped.a2908632.js +365 -0
  48. package/dist/grouped.a2908632.js.map +1 -0
  49. package/dist/header-footer.49733d45.js +376 -0
  50. package/dist/header-footer.49733d45.js.map +1 -0
  51. package/dist/hello.54765c26.js +360 -0
  52. package/dist/hello.54765c26.js.map +1 -0
  53. package/dist/index.js +1 -1
  54. package/dist/index.js.map +1 -1
  55. package/dist/index.m.js +1 -1
  56. package/dist/index.m.js.map +1 -1
  57. package/dist/initial-from-zero.22ad1626.js +400 -0
  58. package/dist/initial-from-zero.22ad1626.js.map +1 -0
  59. package/dist/initial-scroll-top.90db1920.js +361 -0
  60. package/dist/initial-scroll-top.90db1920.js.map +1 -0
  61. package/dist/initial-topmost-item-default-height.43a95247.js +362 -0
  62. package/dist/initial-topmost-item-default-height.43a95247.js.map +1 -0
  63. package/dist/initial-topmost-item.61c0e169.js +361 -0
  64. package/dist/initial-topmost-item.61c0e169.js.map +1 -0
  65. package/dist/initialItemCountSystem.d.ts +5 -25
  66. package/dist/initialScrollTopSystem.d.ts +5 -25
  67. package/dist/initialTopMostItemIndexSystem.d.ts +3 -25
  68. package/dist/listStateSystem.d.ts +5 -25
  69. package/dist/listSystem.d.ts +52 -250
  70. package/dist/long-last-item.b56ff89c.js +361 -0
  71. package/dist/long-last-item.b56ff89c.js.map +1 -0
  72. package/dist/prepend-items.f2bda34b.js +393 -0
  73. package/dist/prepend-items.f2bda34b.js.map +1 -0
  74. package/dist/prepend-last-tall-item.168a9e65.js +380 -0
  75. package/dist/prepend-last-tall-item.168a9e65.js.map +1 -0
  76. package/dist/react-beautiful-dnd-window-scroller.0a227511.js +485 -0
  77. package/dist/react-beautiful-dnd-window-scroller.0a227511.js.map +1 -0
  78. package/dist/react-beautiful-dnd.817e9251.js +482 -0
  79. package/dist/react-beautiful-dnd.817e9251.js.map +1 -0
  80. package/dist/rerender.ddd61b7c.js +400 -0
  81. package/dist/rerender.ddd61b7c.js.map +1 -0
  82. package/dist/resize-loop.309b1dac.js +388 -0
  83. package/dist/resize-loop.309b1dac.js.map +1 -0
  84. package/dist/resizing-items.c09b5e1b.js +394 -0
  85. package/dist/resizing-items.c09b5e1b.js.map +1 -0
  86. package/dist/scroll-into-view.39b77fe9.js +408 -0
  87. package/dist/scroll-into-view.39b77fe9.js.map +1 -0
  88. package/dist/scroll-seek-placeholder.69fb85c6.js +384 -0
  89. package/dist/scroll-seek-placeholder.69fb85c6.js.map +1 -0
  90. package/dist/scroll-to-index.e72249cf.js +417 -0
  91. package/dist/scroll-to-index.e72249cf.js.map +1 -0
  92. package/dist/scrollIntoViewSystem.d.ts +7 -25
  93. package/dist/scrollToIndexSystem.d.ts +1 -0
  94. package/dist/ssr.8f31b042.js +359 -0
  95. package/dist/ssr.8f31b042.js.map +1 -0
  96. package/dist/start-reached.2990ece7.js +424 -0
  97. package/dist/start-reached.2990ece7.js.map +1 -0
  98. package/dist/tall-item-reverse-scrolling.58bcd140.js +363 -0
  99. package/dist/tall-item-reverse-scrolling.58bcd140.js.map +1 -0
  100. package/dist/test-case-446.dce9595c.js +428 -0
  101. package/dist/test-case-446.dce9595c.js.map +1 -0
  102. package/dist/test-case-460.6d75ad1f.js +452 -0
  103. package/dist/test-case-460.6d75ad1f.js.map +1 -0
  104. package/dist/test-case-463.525f34ba.js +375 -0
  105. package/dist/test-case-463.525f34ba.js.map +1 -0
  106. package/dist/toggle-display-grouped.4f4ae058.js +389 -0
  107. package/dist/toggle-display-grouped.4f4ae058.js.map +1 -0
  108. package/dist/top-items.f724bf61.js +358 -0
  109. package/dist/top-items.f724bf61.js.map +1 -0
  110. package/dist/topItemCountSystem.d.ts +5 -25
  111. package/dist/totalListHeightSystem.d.ts +5 -25
  112. package/dist/upward-scroll.d49e0815.js +362 -0
  113. package/dist/upward-scroll.d49e0815.js.map +1 -0
  114. package/dist/upwardScrollFixSystem.d.ts +5 -25
  115. package/dist/window-grid.b22094fd.js +439 -0
  116. package/dist/window-grid.b22094fd.js.map +1 -0
  117. package/dist/window-scroller.a979c6d6.js +368 -0
  118. package/dist/window-scroller.a979c6d6.js.map +1 -0
  119. package/package.json +6 -6
@@ -0,0 +1,360 @@
1
+ // modules are defined as an array
2
+ // [ module function, map of requires ]
3
+ //
4
+ // map of requires is short require name -> numeric require
5
+ //
6
+ // anything defined in a previous bundle is accessed via the
7
+ // orig method which is the require for previous bundles
8
+ parcelRequire = (function (modules, cache, entry, globalName) {
9
+ // Save the require from previous bundle to this closure if any
10
+ var previousRequire = typeof parcelRequire === 'function' && parcelRequire;
11
+ var nodeRequire = typeof require === 'function' && require;
12
+
13
+ function newRequire(name, jumped) {
14
+ if (!cache[name]) {
15
+ if (!modules[name]) {
16
+ // if we cannot find the module within our internal map or
17
+ // cache jump to the current global require ie. the last bundle
18
+ // that was added to the page.
19
+ var currentRequire = typeof parcelRequire === 'function' && parcelRequire;
20
+ if (!jumped && currentRequire) {
21
+ return currentRequire(name, true);
22
+ }
23
+
24
+ // If there are other bundles on this page the require from the
25
+ // previous one is saved to 'previousRequire'. Repeat this as
26
+ // many times as there are bundles until the module is found or
27
+ // we exhaust the require chain.
28
+ if (previousRequire) {
29
+ return previousRequire(name, true);
30
+ }
31
+
32
+ // Try the node require function if it exists.
33
+ if (nodeRequire && typeof name === 'string') {
34
+ return nodeRequire(name);
35
+ }
36
+
37
+ var err = new Error('Cannot find module \'' + name + '\'');
38
+ err.code = 'MODULE_NOT_FOUND';
39
+ throw err;
40
+ }
41
+
42
+ localRequire.resolve = resolve;
43
+ localRequire.cache = {};
44
+
45
+ var module = cache[name] = new newRequire.Module(name);
46
+
47
+ modules[name][0].call(module.exports, localRequire, module, module.exports, this);
48
+ }
49
+
50
+ return cache[name].exports;
51
+
52
+ function localRequire(x){
53
+ return newRequire(localRequire.resolve(x));
54
+ }
55
+
56
+ function resolve(x){
57
+ return modules[name][1][x] || x;
58
+ }
59
+ }
60
+
61
+ function Module(moduleName) {
62
+ this.id = moduleName;
63
+ this.bundle = newRequire;
64
+ this.exports = {};
65
+ }
66
+
67
+ newRequire.isParcelRequire = true;
68
+ newRequire.Module = Module;
69
+ newRequire.modules = modules;
70
+ newRequire.cache = cache;
71
+ newRequire.parent = previousRequire;
72
+ newRequire.register = function (id, exports) {
73
+ modules[id] = [function (require, module) {
74
+ module.exports = exports;
75
+ }, {}];
76
+ };
77
+
78
+ var error;
79
+ for (var i = 0; i < entry.length; i++) {
80
+ try {
81
+ newRequire(entry[i]);
82
+ } catch (e) {
83
+ // Save first error but execute all entries
84
+ if (!error) {
85
+ error = e;
86
+ }
87
+ }
88
+ }
89
+
90
+ if (entry.length) {
91
+ // Expose entry point to Node, AMD or browser globals
92
+ // Based on https://github.com/ForbesLindesay/umd/blob/master/template.js
93
+ var mainExports = newRequire(entry[entry.length - 1]);
94
+
95
+ // CommonJS
96
+ if (typeof exports === "object" && typeof module !== "undefined") {
97
+ module.exports = mainExports;
98
+
99
+ // RequireJS
100
+ } else if (typeof define === "function" && define.amd) {
101
+ define(function () {
102
+ return mainExports;
103
+ });
104
+
105
+ // <script>
106
+ } else if (globalName) {
107
+ this[globalName] = mainExports;
108
+ }
109
+ }
110
+
111
+ // Override the current require with this new one
112
+ parcelRequire = newRequire;
113
+
114
+ if (error) {
115
+ // throw error from earlier, _after updating parcelRequire_
116
+ throw error;
117
+ }
118
+
119
+ return newRequire;
120
+ })({"hello.tsx":[function(require,module,exports) {
121
+ "use strict";
122
+
123
+ Object.defineProperty(exports, "__esModule", {
124
+ value: true
125
+ });
126
+ exports.default = App;
127
+
128
+ var React = _interopRequireWildcard(require("react"));
129
+
130
+ var _src = require("../src/");
131
+
132
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
133
+
134
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
135
+
136
+ function App() {
137
+ return React.createElement(_src.Virtuoso, {
138
+ computeItemKey: function computeItemKey(key) {
139
+ return "item-".concat(key.toString());
140
+ },
141
+ initialItemCount: 30,
142
+ totalCount: 100,
143
+ itemContent: function itemContent(index) {
144
+ return React.createElement("div", {
145
+ style: {
146
+ height: 30
147
+ }
148
+ }, "Item ", index);
149
+ },
150
+ style: {
151
+ height: 300
152
+ }
153
+ });
154
+ }
155
+ },{"react":"../node_modules/react/index.js","../src/":"../src/index.tsx"}],"../node_modules/parcel-bundler/src/builtins/hmr-runtime.js":[function(require,module,exports) {
156
+ var global = arguments[3];
157
+ var OVERLAY_ID = '__parcel__error__overlay__';
158
+ var OldModule = module.bundle.Module;
159
+
160
+ function Module(moduleName) {
161
+ OldModule.call(this, moduleName);
162
+ this.hot = {
163
+ data: module.bundle.hotData,
164
+ _acceptCallbacks: [],
165
+ _disposeCallbacks: [],
166
+ accept: function (fn) {
167
+ this._acceptCallbacks.push(fn || function () {});
168
+ },
169
+ dispose: function (fn) {
170
+ this._disposeCallbacks.push(fn);
171
+ }
172
+ };
173
+ module.bundle.hotData = null;
174
+ }
175
+
176
+ module.bundle.Module = Module;
177
+ var checkedAssets, assetsToAccept;
178
+ var parent = module.bundle.parent;
179
+
180
+ if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {
181
+ var hostname = "" || location.hostname;
182
+ var protocol = location.protocol === 'https:' ? 'wss' : 'ws';
183
+ var ws = new WebSocket(protocol + '://' + hostname + ':' + "61208" + '/');
184
+
185
+ ws.onmessage = function (event) {
186
+ checkedAssets = {};
187
+ assetsToAccept = [];
188
+ var data = JSON.parse(event.data);
189
+
190
+ if (data.type === 'update') {
191
+ var handled = false;
192
+ data.assets.forEach(function (asset) {
193
+ if (!asset.isNew) {
194
+ var didAccept = hmrAcceptCheck(global.parcelRequire, asset.id);
195
+
196
+ if (didAccept) {
197
+ handled = true;
198
+ }
199
+ }
200
+ }); // Enable HMR for CSS by default.
201
+
202
+ handled = handled || data.assets.every(function (asset) {
203
+ return asset.type === 'css' && asset.generated.js;
204
+ });
205
+
206
+ if (handled) {
207
+ console.clear();
208
+ data.assets.forEach(function (asset) {
209
+ hmrApply(global.parcelRequire, asset);
210
+ });
211
+ assetsToAccept.forEach(function (v) {
212
+ hmrAcceptRun(v[0], v[1]);
213
+ });
214
+ } else if (location.reload) {
215
+ // `location` global exists in a web worker context but lacks `.reload()` function.
216
+ location.reload();
217
+ }
218
+ }
219
+
220
+ if (data.type === 'reload') {
221
+ ws.close();
222
+
223
+ ws.onclose = function () {
224
+ location.reload();
225
+ };
226
+ }
227
+
228
+ if (data.type === 'error-resolved') {
229
+ console.log('[parcel] ✨ Error resolved');
230
+ removeErrorOverlay();
231
+ }
232
+
233
+ if (data.type === 'error') {
234
+ console.error('[parcel] 🚨 ' + data.error.message + '\n' + data.error.stack);
235
+ removeErrorOverlay();
236
+ var overlay = createErrorOverlay(data);
237
+ document.body.appendChild(overlay);
238
+ }
239
+ };
240
+ }
241
+
242
+ function removeErrorOverlay() {
243
+ var overlay = document.getElementById(OVERLAY_ID);
244
+
245
+ if (overlay) {
246
+ overlay.remove();
247
+ }
248
+ }
249
+
250
+ function createErrorOverlay(data) {
251
+ var overlay = document.createElement('div');
252
+ overlay.id = OVERLAY_ID; // html encode message and stack trace
253
+
254
+ var message = document.createElement('div');
255
+ var stackTrace = document.createElement('pre');
256
+ message.innerText = data.error.message;
257
+ stackTrace.innerText = data.error.stack;
258
+ overlay.innerHTML = '<div style="background: black; font-size: 16px; color: white; position: fixed; height: 100%; width: 100%; top: 0px; left: 0px; padding: 30px; opacity: 0.85; font-family: Menlo, Consolas, monospace; z-index: 9999;">' + '<span style="background: red; padding: 2px 4px; border-radius: 2px;">ERROR</span>' + '<span style="top: 2px; margin-left: 5px; position: relative;">🚨</span>' + '<div style="font-size: 18px; font-weight: bold; margin-top: 20px;">' + message.innerHTML + '</div>' + '<pre>' + stackTrace.innerHTML + '</pre>' + '</div>';
259
+ return overlay;
260
+ }
261
+
262
+ function getParents(bundle, id) {
263
+ var modules = bundle.modules;
264
+
265
+ if (!modules) {
266
+ return [];
267
+ }
268
+
269
+ var parents = [];
270
+ var k, d, dep;
271
+
272
+ for (k in modules) {
273
+ for (d in modules[k][1]) {
274
+ dep = modules[k][1][d];
275
+
276
+ if (dep === id || Array.isArray(dep) && dep[dep.length - 1] === id) {
277
+ parents.push(k);
278
+ }
279
+ }
280
+ }
281
+
282
+ if (bundle.parent) {
283
+ parents = parents.concat(getParents(bundle.parent, id));
284
+ }
285
+
286
+ return parents;
287
+ }
288
+
289
+ function hmrApply(bundle, asset) {
290
+ var modules = bundle.modules;
291
+
292
+ if (!modules) {
293
+ return;
294
+ }
295
+
296
+ if (modules[asset.id] || !bundle.parent) {
297
+ var fn = new Function('require', 'module', 'exports', asset.generated.js);
298
+ asset.isNew = !modules[asset.id];
299
+ modules[asset.id] = [fn, asset.deps];
300
+ } else if (bundle.parent) {
301
+ hmrApply(bundle.parent, asset);
302
+ }
303
+ }
304
+
305
+ function hmrAcceptCheck(bundle, id) {
306
+ var modules = bundle.modules;
307
+
308
+ if (!modules) {
309
+ return;
310
+ }
311
+
312
+ if (!modules[id] && bundle.parent) {
313
+ return hmrAcceptCheck(bundle.parent, id);
314
+ }
315
+
316
+ if (checkedAssets[id]) {
317
+ return;
318
+ }
319
+
320
+ checkedAssets[id] = true;
321
+ var cached = bundle.cache[id];
322
+ assetsToAccept.push([bundle, id]);
323
+
324
+ if (cached && cached.hot && cached.hot._acceptCallbacks.length) {
325
+ return true;
326
+ }
327
+
328
+ return getParents(global.parcelRequire, id).some(function (id) {
329
+ return hmrAcceptCheck(global.parcelRequire, id);
330
+ });
331
+ }
332
+
333
+ function hmrAcceptRun(bundle, id) {
334
+ var cached = bundle.cache[id];
335
+ bundle.hotData = {};
336
+
337
+ if (cached) {
338
+ cached.hot.data = bundle.hotData;
339
+ }
340
+
341
+ if (cached && cached.hot && cached.hot._disposeCallbacks.length) {
342
+ cached.hot._disposeCallbacks.forEach(function (cb) {
343
+ cb(bundle.hotData);
344
+ });
345
+ }
346
+
347
+ delete bundle.cache[id];
348
+ bundle(id);
349
+ cached = bundle.cache[id];
350
+
351
+ if (cached && cached.hot && cached.hot._acceptCallbacks.length) {
352
+ cached.hot._acceptCallbacks.forEach(function (cb) {
353
+ cb();
354
+ });
355
+
356
+ return true;
357
+ }
358
+ }
359
+ },{}]},{},["../node_modules/parcel-bundler/src/builtins/hmr-runtime.js"], null)
360
+ //# sourceMappingURL=/hello.54765c26.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["hello.tsx"],"names":[],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAEc,SAAU,GAAV,GAAa;AACzB,SACE,KAAA,CAAA,aAAA,CAAC,aAAD,EAAS;AACP,IAAA,cAAc,EAAE,wBAAC,GAAD;AAAA,4BAAyB,GAAG,CAAC,QAAJ,EAAzB;AAAA,KADT;AAEP,IAAA,gBAAgB,EAAE,EAFX;AAGP,IAAA,UAAU,EAAE,GAHL;AAIP,IAAA,WAAW,EAAE,qBAAC,KAAD;AAAA,aAAW,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,QAAA,KAAK,EAAE;AAAE,UAAA,MAAM,EAAE;AAAV;AAAZ,OAAA,SAAA,EAAkC,KAAlC,CAAX;AAAA,KAJN;AAKP,IAAA,KAAK,EAAE;AAAE,MAAA,MAAM,EAAE;AAAV;AALA,GAAT,CADF;AASD","file":"hello.54765c26.js","sourceRoot":"../e2e","sourcesContent":["import * as React from 'react'\nimport { Virtuoso } from '../src/'\n\nexport default function App() {\n return (\n <Virtuoso\n computeItemKey={(key: number) => `item-${key.toString()}`}\n initialItemCount={30}\n totalCount={100}\n itemContent={(index) => <div style={{ height: 30 }}>Item {index}</div>}\n style={{ height: 300 }}\n />\n )\n}\n"]}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("@virtuoso.dev/react-urx"),t=require("@virtuoso.dev/urx"),n=require("react");function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||(o[n]=e[n]);return o}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function 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 r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}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="up",f=t.system(function(){var e=t.stream(),n=t.statefulStream(0),r=t.stream(),o=t.statefulStream(0),i=t.stream(),a=t.statefulStream(0),l=t.statefulStream(0),s=t.stream(),u=t.stream(),c=t.statefulStream(!1);t.connect(e,o);var f=t.statefulStream("down");return t.connect(t.pipe(e,t.scan(function(e,t){return{direction:t<e.prevScrollTop?m:"down",prevScrollTop:t}},{direction:"down",prevScrollTop:0}),t.map(function(e){return e.direction})),f),{scrollTop:e,viewportHeight:i,headerHeight:a,footerHeight:l,smoothScrollTargetReached:r,scrollTo:s,scrollBy:u,scrollDirection:f,statefulScrollTop:o,deviation:n,scrollingInProgress:c}},[],{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),p=t.system(function(){var e=t.statefulStream(exports.LogLevel.ERROR);return{log:t.statefulStream(function(n,r,o){var i;void 0===o&&(o=exports.LogLevel.INFO),o>=(null!=(i=globalThis.VIRTUOSO_LOG_LEVEL)?i:t.getValue(e))&&console[d[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: black",n,r)}),logLevel:e}},[],{singleton:!0}),h=t.system(function(e){var n=e[0].log,r=t.statefulStream(!1),o=t.streamFromEmitter(t.pipe(r,t.filter(function(e){return e}),t.distinctUntilChanged()));return t.subscribe(r,function(e){e&&t.getValue(n)("props updated",{},exports.LogLevel.DEBUG)}),{propsReady:r,didMount:o}},t.tup(p),{singleton:!0}),g={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,totalHeight:0}},v=t.system(function(e){var n=e[0],r=n.scrollTop,o=n.viewportHeight,i=n.headerHeight,a=n.footerHeight,l=t.statefulStream(!1),s=t.statefulStream(!0),u=t.stream(),c=t.stream(),m=t.stream(),f=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()));t.connect(t.pipe(t.duc(r),t.map(function(e){return 0===e}),t.distinctUntilChanged()),s),t.connect(s,c);var d=t.streamFromEmitter(t.pipe(t.combineLatest(m,t.duc(r),t.duc(o),t.duc(i),t.duc(a)),t.scan(function(e,t){var n=t[0],r=n.bottom,o=n.offsetBottom,i=t[1],a=t[2],l={viewportHeight:a,scrollTop:i,offsetBottom:o,totalHeight:r+o};return 0===o&&i+a-(r+t[3]+t[4])>-4?{atBottom:!0,state:l}:{atBottom:!1,notAtBottomBecause:l.totalHeight>e.state.totalHeight?"SIZE_INCREASED":0!==o?"NOT_SHOWING_LAST_ITEM":a<e.state.viewportHeight?"VIEWPORT_HEIGHT_DECREASING":i<e.state.scrollTop?"SCROLLING_UPWARDS":"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",state:l}},g),t.distinctUntilChanged(function(e,t){return e&&e.atBottom===t.atBottom})));return t.connect(t.pipe(d,t.map(function(e){return e.atBottom})),l),t.subscribe(l,function(e){setTimeout(function(){return t.publish(u,e)})}),{isScrolling:f,isAtTop:s,isAtBottom:l,atBottomState:d,atTopStateChange:c,atBottomStateChange:u,listStateListener:m}},t.tup(f)),I=t.system(function(e){var n=e[0].scrollTop,r=e[1].isScrolling,o=t.statefulStream(0),i=t.statefulStream(!1),a=t.stream(),l=t.statefulStream(!1);return t.connect(t.pipe(r,t.filter(function(e){return!e}),t.mapTo(0)),o),t.connect(t.pipe(n,t.throttleTime(100),t.withLatestFrom(r),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]})),o),t.connect(t.pipe(o,t.withLatestFrom(l,i,a),t.filter(function(e){return!!e[1]}),t.map(function(e){var t=e[0],n=e[1],r=e[2],o=e[3],i=n.enter;if(r){if((0,n.exit)(t,o))return!1}else if(i(t,o))return!0;return r}),t.distinctUntilChanged()),i),t.subscribe(t.pipe(t.combineLatest(i,o,a),t.withLatestFrom(l)),function(e){var t=e[0],n=e[1];return t[0]&&n&&n.change&&n.change(t[1],t[2])}),{isSeeking:i,scrollSeekConfiguration:l,scrollVelocity:o,scrollSeekRangeChanged:a}},t.tup(f,v),{singleton:!0}),S={lvl:0};function C(e,t,n,r,o){return void 0===r&&(r=S),void 0===o&&(o=S),{k:e,v:t,lvl:n,l:r,r:o}}function x(e){return e===S}function w(){return S}function T(e,t){if(x(e))return S;var n=e.k,r=e.l,o=e.r;if(t===n){if(x(r))return o;if(x(o))return r;var i=R(r);return F(z(e,{k:i[0],v:i[1],l:k(r)}))}return F(z(e,t<n?{l:T(r,t)}:{r:T(o,t)}))}function b(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 r=b(e.r,t,n);return-Infinity===r[0]?[e.k,e.v]:r}return b(e.l,t,n)}function y(e,t,n){return x(e)?C(t,n,1):t===e.k?z(e,{k:t,v:n}):function(e){return M(U(e))}(z(e,t<e.k?{l:y(e.l,t,n)}:{r:y(e.r,t,n)}))}function L(e,t,n){if(x(e))return[];var r=e.k,o=e.v,i=e.r,a=[];return r>t&&(a=a.concat(L(e.l,t,n))),r>=t&&r<=n&&a.push({k:r,v:o}),r<=n&&(a=a.concat(L(i,t,n))),a}function E(e){return x(e)?[]:[].concat(E(e.l),[{k:e.k,v:e.v}],E(e.r))}function R(e){return x(e.r)?[e.k,e.v]:R(e.r)}function k(e){return x(e.r)?e.l:F(z(e,{r:k(e.r)}))}function z(e,t){return C(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 H(e){return x(e)||e.lvl>e.r.lvl}function F(e){var t=e.l,n=e.r,r=e.lvl;if(n.lvl>=r-1&&t.lvl>=r-1)return e;if(r>n.lvl+1){if(H(t))return U(z(e,{lvl:r-1}));if(x(t)||x(t.r))throw new Error("Unexpected empty nodes");return z(t.r,{l:z(t,{r:t.r.l}),r:z(e,{l:t.r.r,lvl:r-1}),lvl:r})}if(H(e))return M(z(e,{lvl:r-1}));if(x(n)||x(n.l))throw new Error("Unexpected empty nodes");var o=n.l,i=H(o)?n.lvl-1:n.lvl;return z(o,{l:z(e,{r:o.l,lvl:r-1}),r:M(z(n,{l:o.r,lvl:i})),lvl:o.lvl+1})}function B(e,t,n){return x(e)?[]:O(L(e,b(e,t)[0],n),function(e){return{index:e.k,value:e.v}})}function O(e,t){var n=e.length;if(0===n)return[];for(var r=t(e[0]),o=r.index,i=r.value,a=[],l=1;l<n;l++){var s=t(e[l]),u=s.index,c=s.value;a.push({start:o,end:u-1,value:i}),o=u,i=c}return a.push({start:o,end:Infinity,value:i}),a}function M(e){var t=e.r,n=e.lvl;return x(t)||x(t.r)||t.lvl!==n||t.r.lvl!==n?e:z(t,{l:z(e,{r:t.l}),lvl:n+1})}function U(e){var t=e.l;return x(t)||t.lvl!==e.lvl?e:z(t,{r:z(e,{l:t.r})})}function P(e,t,n,r){void 0===r&&(r=0);for(var o=e.length-1;r<=o;){var i=Math.floor((r+o)/2),a=n(e[i],t);if(0===a)return i;if(-1===a){if(o-r<2)return i-1;o=i-1}else{if(o===r)return i;r=i+1}}throw new Error("Failed binary finding record in array - "+e.join(",")+", searched for "+t)}function V(e,t,n){return e[P(e,t,n)]}function N(e,t){return Math.round(e.getBoundingClientRect()[t])}function G(e){var t=e.size,n=e.startIndex,r=e.endIndex;return function(e){return e.start===n&&(e.end===r||Infinity===e.end)&&e.value===t}}function A(e,t){var n=e.index;return t===n?0:t<n?-1:1}function W(e,t){var n=e.offset;return t===n?0:t<n?-1:1}function D(e){return{index:e.index,value:e}}function _(e,t){var n=t[0],r=t[1];n.length>0&&(0,t[2])("received item sizes",n,exports.LogLevel.DEBUG);var o=e.sizeTree,i=e.offsetTree,l=o,s=0;if(r.length>0&&x(o)&&2===n.length){var u=n[0].size,c=n[1].size;l=r.reduce(function(e,t){return y(y(e,t,u),t+1,c)},l)}else{var m=function(e,t){for(var n,r=x(e)?0:Infinity,o=a(t);!(n=o()).done;){var i=n.value,l=i.size,s=i.startIndex,u=i.endIndex;if(r=Math.min(r,s),x(e))e=y(e,0,l);else{var c=B(e,s-1,u+1);if(!c.some(G(i))){for(var m,f=!1,d=!1,p=a(c);!(m=p()).done;){var h=m.value,g=h.start,v=h.end,I=h.value;f?(u>=g||l===I)&&(e=T(e,g)):(d=I!==l,f=!0),v>u&&u>=g&&I!==l&&(e=y(e,u+1,I))}d&&(e=y(e,s,l))}}}return[e,r]}(l,n);l=m[0],s=m[1]}if(l===o)return e;var f=0,d=0,p=0,h=0;if(0!==s){h=P(i,s-1,A),p=i[h].offset;var g=b(l,s-1);f=g[0],d=g[1],i.length&&i[h].size===b(l,s)[1]&&(h-=1),i=i.slice(0,h+1)}else i=[];for(var v,I=a(B(l,s,Infinity));!(v=I()).done;){var S=v.value,C=S.start,L=S.value,E=(C-f)*d+p;i.push({offset:E,size:L,index:C}),f=C,p=E,d=L}return{sizeTree:l,offsetTree:i,groupOffsetTree:r.reduce(function(e,t){return y(e,t,j(t,i))},w()),lastIndex:f,lastOffset:p,lastSize:d,groupIndices:r}}function j(e,t){if(0===t.length)return 0;var n=V(t,e,A);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,o=t.stream(),i=t.stream(),a=t.stream(),l=t.statefulStream(0),s=t.statefulStream([]),u=t.statefulStream(void 0),c=t.statefulStream(void 0),m=t.statefulStream(function(e,t){return N(e,q[t])}),f=t.statefulStream(void 0),d={offsetTree:[],sizeTree:w(),groupOffsetTree:w(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]},p=t.statefulStreamFromEmitter(t.pipe(o,t.withLatestFrom(s,n),t.scan(_,d),t.distinctUntilChanged()),d);t.connect(t.pipe(s,t.filter(function(e){return e.length>0}),t.withLatestFrom(p),t.map(function(e){var t=e[0],n=e[1],o=t.reduce(function(e,t,r){return y(e,t,j(t,n.offsetTree)||r)},w());return r({},n,{groupIndices:t,groupOffsetTree:o})})),p),t.connect(t.pipe(i,t.withLatestFrom(p),t.filter(function(e){return e[0]<e[1].lastIndex}),t.map(function(e){var t=e[1];return[{startIndex:e[0],endIndex:t.lastIndex,size:t.lastSize}]})),o),t.connect(u,c);var h=t.statefulStreamFromEmitter(t.pipe(u,t.map(function(e){return void 0===e})),!0);t.connect(t.pipe(c,t.filter(function(e){return void 0!==e&&x(t.getValue(p).sizeTree)}),t.map(function(e){return[{startIndex:0,endIndex:0,size:e}]})),o);var g=t.streamFromEmitter(t.pipe(o,t.withLatestFrom(p),t.scan(function(e,t){var n=t[1];return{changed:n!==e.sizes,sizes:n}},{changed:!1,sizes:d}),t.map(function(e){return e.changed})));t.connect(t.pipe(l,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})),a),t.subscribe(t.pipe(l,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:l},exports.LogLevel.ERROR)});var v=t.streamFromEmitter(a);return t.connect(t.pipe(a,t.withLatestFrom(p),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 E(n.sizeTree).reduce(function(e,n){var r=n.k,o=n.v;return{ranges:[].concat(e.ranges,[{startIndex:e.prevIndex,endIndex:r+t-1,size:e.prevSize}]),prevIndex:r+t,prevSize:o}},{ranges:[],prevIndex:0,prevSize:n.lastSize}).ranges})),o),{data:f,totalCount:i,sizeRanges:o,groupIndices:s,defaultItemSize:c,fixedItemSize:u,unshiftWith:a,beforeUnshiftWith:v,firstItemIndex:l,sizes:p,listRefresh:g,trackItemSizes:h,itemSize:m}},t.tup(p),{singleton:!0}),$="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function J(e){var t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&$||(t.behavior="auto"),t.offset||(t.offset=0),t}var Q=t.system(function(e){var n=e[0],r=n.sizes,o=n.totalCount,i=n.listRefresh,a=e[1],l=a.scrollingInProgress,s=a.viewportHeight,u=a.scrollTo,c=a.smoothScrollTargetReached,m=a.headerHeight,f=a.footerHeight,d=e[2].log,p=t.stream(),h=t.statefulStream(0),g=null,v=null,I=null;function S(){g&&(g(),g=null),I&&(I(),I=null),v&&(clearTimeout(v),v=null),t.publish(l,!1)}return t.connect(t.pipe(p,t.withLatestFrom(r,s,o,h,m,f,d),t.map(function(e){var n=e[0],r=e[1],o=e[2],a=e[3],s=e[4],u=e[5],m=e[6],f=e[7],d=J(n),h=d.align,C=d.behavior,x=d.offset,w=a-1,T=d.index;T=K(T,r);var y=j(T=Math.max(0,T,Math.min(w,T)),r.offsetTree)+u;"end"===h?(y=Math.round(y-o+b(r.sizeTree,T)[1]),T===w&&(y+=m)):"center"===h?y=Math.round(y-o/2+b(r.sizeTree,T)[1]/2):y-=s,x&&(y+=x);var L=function(e){S(),e?(f("retrying to scroll to",{location:n},exports.LogLevel.DEBUG),t.publish(p,n)):f("list did not change, scroll successful",{},exports.LogLevel.DEBUG)};if(S(),"smooth"===C){var E=!1;I=t.subscribe(i,function(e){E=E||e}),g=t.handleNext(c,function(){L(E)})}else g=t.handleNext(t.pipe(i,function(e){var t=setTimeout(function(){e(!1)},50);return function(n){n&&(e(!0),clearTimeout(t))}}),L);return v=setTimeout(function(){S()},1200),t.publish(l,!0),f("scrolling from index to",{index:T,top:y,behavior:C},exports.LogLevel.DEBUG),{top:y,behavior:C}})),u),{scrollToIndex:p,topListHeight:h}},t.tup(Z,f,p),{singleton:!0});function X(e,t,n){return"number"==typeof e?n===m&&"top"===t||"down"===n&&"bottom"===t?e:0:n===m?"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],r=n.scrollTop,o=n.viewportHeight,i=n.deviation,a=n.headerHeight,s=t.stream(),u=t.statefulStream(0),c=t.statefulStream(0),f=t.statefulStream(0);return{listBoundary:s,overscan:f,topListHeight:u,increaseViewportBy:c,visibleRange:t.statefulStreamFromEmitter(t.pipe(t.combineLatest(t.duc(r),t.duc(o),t.duc(a),t.duc(s,l),t.duc(f),t.duc(u),t.duc(i),t.duc(c)),t.map(function(e){var t=e[0],n=e[1],r=e[2],o=e[3],i=o[0],a=o[1],l=e[4],s=e[5],u=e[6],c=e[7],f=t-u,d=Math.max(r-f,0),p="none",h=ee(c,"top"),g=ee(c,"bottom");return i-=u,a+=r,(i+=r)>t+s-h&&(p=m),(a-=u)<t-d+n+g&&(p="down"),"none"!==p?[Math.max(f-r-X(l,"top",p)-h,0),f-d+n+X(l,"bottom",p)+g]:null}),t.filter(function(e){return null!=e}),t.distinctUntilChanged(l)),[0,0])}},t.tup(f),{singleton:!0}),ne=t.system(function(e){var n=e[0],o=n.scrollTop,i=n.scrollTo,a=t.stream(),l=t.stream(),s=t.stream(),u=t.statefulStream(!1);return t.connect(t.pipe(t.combineLatest(l,a),t.map(function(e){return Math.max(0,e[0]-e[1].offsetTop)})),o),t.connect(t.pipe(i,t.withLatestFrom(a),t.map(function(e){var t=e[0];return r({},t,{top:t.top+e[1].offsetTop})})),s),{useWindowScroll:u,windowScrollTop:l,windowViewportRect:a,windowScrollTo:s}},t.tup(f)),re={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},oe={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){return ie(e)-e<.03?ie(e):ae(e)}function ce(e,t){return Array.from({length:t-e+1}).map(function(t,n){return{index:n+e}})}var me=t.system(function(e){var n=e[0],o=n.overscan,i=n.visibleRange,a=n.listBoundary,u=e[1],c=u.scrollTop,m=u.viewportHeight,f=u.scrollBy,d=u.scrollTo,p=u.smoothScrollTargetReached,h=e[2],g=e[3],v=e[4],I=v.propsReady,S=v.didMount,C=e[5],x=C.windowViewportRect,w=C.windowScrollTo,T=C.useWindowScroll,b=C.windowScrollTop,y=t.statefulStream(0),L=t.statefulStream(0),E=t.statefulStream(re),R=t.statefulStream({height:0,width:0}),k=t.statefulStream({height:0,width:0}),z=t.stream();t.connect(t.pipe(S,t.withLatestFrom(L),t.filter(function(e){return 0!==e[1]}),t.map(function(e){return{items:ce(0,e[1]-1),top:0,bottom:0,offsetBottom:0,offsetTop:0,itemHeight:0,itemWidth:0}})),E),t.connect(t.pipe(t.combineLatest(t.duc(y),i,t.duc(k,function(e,t){return e&&e.width===t.width&&e.height===t.height})),t.withLatestFrom(R),t.map(function(e){var t=e[0],n=t[0],r=t[1],o=r[0],i=r[1],a=t[2],l=e[1],s=a.height,u=a.width,c=l.width;if(0===n||0===c)return re;if(0===u)return oe;var m=ue(c/u),f=m*ae(o/s),d=m*ie(i/s)-1;d=le(n-1,d);var p=ce(f=le(d,se(0,f)),d),h=fe(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}})),E),t.connect(t.pipe(R,t.map(function(e){return e.height})),m),t.connect(t.pipe(t.combineLatest(R,k,E),t.map(function(e){var t=fe(e[0],e[1],e[2].items);return[t.top,t.bottom]}),t.distinctUntilChanged(l)),a),t.connect(t.pipe(a,t.withLatestFrom(E),t.map(function(e){return{bottom:e[0][1],offsetBottom:e[1].offsetBottom}})),h.listStateListener);var H=t.streamFromEmitter(t.pipe(t.duc(E),t.filter(function(e){return e.items.length>0}),t.withLatestFrom(y),t.filter(function(e){var t=e[0].items;return t[t.length-1].index===e[1]-1}),t.map(function(e){return e[1]-1}),t.distinctUntilChanged())),F=t.streamFromEmitter(t.pipe(t.duc(E),t.filter(function(e){var t=e.items;return t.length>0&&0===t[0].index}),t.mapTo(0),t.distinctUntilChanged())),B=t.streamFromEmitter(t.pipe(t.duc(E),t.filter(function(e){return e.items.length>0}),t.map(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),t.distinctUntilChanged(s)));t.connect(B,g.scrollSeekRangeChanged),t.connect(t.pipe(z,t.withLatestFrom(R,k,y),t.map(function(e){var t=e[1],n=e[2],r=e[3],o=J(e[0]),i=o.align,a=o.behavior,l=o.offset,s=o.index,u=de(t,n,s=Math.max(0,s,Math.min(r-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}})),d);var O=t.statefulStreamFromEmitter(t.pipe(E,t.map(function(e){return e.offsetBottom+e.bottom})),0);return t.connect(t.pipe(x,t.map(function(e){return{width:e.visibleWidth,height:e.visibleHeight}})),R),r({totalCount:y,viewportDimensions:R,itemDimensions:k,scrollTop:c,overscan:o,scrollBy:f,scrollTo:d,scrollToIndex:z,smoothScrollTargetReached:p,windowViewportRect:x,windowScrollTo:w,useWindowScroll:T,windowScrollTop:b,initialItemCount:L},g,{gridState:E,totalListHeight:O},h,{startReached:F,endReached:H,rangeChanged:B,propsReady:I})},t.tup(te,f,v,I,h,ne));function fe(e,t,n){var r=t.height;return void 0===r||0===n.length?{top:0,bottom:0}:{top:de(e,t,n[0].index),bottom:de(e,t,n[n.length-1].index)+r}}function de(e,t,n){var r=ue(e.width/t.width);return ae(n/r)*t.height}function pe(e,t){void 0===t&&(t=!0);var r=n.useRef(null),o=function(e){};if("undefined"!=typeof ResizeObserver){var i=new ResizeObserver(function(t){var n=t[0].target;null!==n.offsetParent&&e(n)});o=function(e){e&&t?(i.observe(e),r.current=e):(r.current&&i.unobserve(r.current),r.current=null)}}return{ref:r,callbackRef:o}}function he(e,t){return void 0===t&&(t=!0),pe(e,t).callbackRef}function ge(e){var t=n.useRef(null),r=n.useCallback(function(n){if(null!==n){var r=n.getBoundingClientRect(),o=window.innerHeight-Math.max(0,r.top),i=r.top+window.pageYOffset;t.current={offsetTop:i,visibleHeight:o,visibleWidth:r.width},e(t.current)}},[e]),o=pe(r),i=o.callbackRef,a=o.ref,l=n.useCallback(function(){r(a.current)},[r,a]);return n.useEffect(function(){return window.addEventListener("scroll",l),window.addEventListener("resize",l),function(){window.removeEventListener("scroll",l),window.removeEventListener("resize",l)}},[l]),i}var ve="undefined"!=typeof document?n.useLayoutEffect:n.useEffect;function Ie(e,r,o,i){void 0===i&&(i=t.noop);var a=n.useRef(null),l=n.useRef(null),s=n.useRef(null),u=n.useCallback(function(t){var n=t.target,o=n===window||n===document?window.pageYOffset||document.documentElement.scrollTop:n.scrollTop;e(Math.max(o,0)),null!==l.current&&(o===l.current||o<=0||o===n.scrollHeight-N(n,"height"))&&(l.current=null,r(!0),s.current&&(clearTimeout(s.current),s.current=null))},[e,r]);return n.useEffect(function(){var e=a.current;return i(a.current),u({target:e}),e.addEventListener("scroll",u,{passive:!0}),function(){i(null),e.removeEventListener("scroll",u)}},[a,u,o,i]),{scrollerRef:a,scrollByCallback:function(e){null===l.current&&a.current.scrollBy(e)},scrollToCallback:function(t){var n=a.current;if(n){var o,i,u,c="smooth"===t.behavior;if(n===window?(i=Math.max(N(document.documentElement,"height"),document.documentElement.scrollHeight),o=window.innerHeight,u=document.documentElement.scrollTop):(i=n.scrollHeight,o=N(n,"height"),u=n.scrollTop),Math.abs(o-i)<1.01||t.top===u)return e(u),void(c&&r(!0));t.top=Math.max(Math.min(i-o,t.top),0),c?(l.current=t.top,s.current&&clearTimeout(s.current),s.current=setTimeout(function(){s.current=null,l.current=null,r(!0)},1e3)):l.current=null,n.scrollTo(t)}}}}var Se=t.system(function(e){var n=e[0],r=n.sizes,o=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(o,s),t.withLatestFrom(u,r,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,f,Q,h),{singleton:!0});function Ce(e){return!!e&&("smooth"===e?"smooth":"auto")}var xe=t.system(function(e){var n=e[0],r=n.totalCount,o=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,f=c.didMount,d=e[5].log,p=t.statefulStream(!1),h=null;function g(e,n){t.publish(s,{index:e-1,align:"end",behavior:n})}return t.subscribe(t.pipe(t.combineLatest(t.pipe(t.duc(r),t.skip(1)),f),t.withLatestFrom(t.duc(p),a,u),t.map(function(e){var t=e[0],n=t[0],r=t[1]&&e[3],o="auto";return r&&(o=function(e,t){return"function"==typeof e?Ce(e(t)):t&&Ce(e)}(e[1],e[2]),r=r&&!!o),{totalCount:n,shouldFollow:r,followOutputBehavior:o}}),t.filter(function(e){return e.shouldFollow})),function(e){var n=e.totalCount,r=e.followOutputBehavior;h&&(h(),h=null),h=t.handleNext(o,function(){g(n,r),h=null})}),t.subscribe(t.pipe(t.combineLatest(t.duc(p),r,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(p,r)),function(e){var n=e[1],r=e[2],o=t.handleNext(l,function(e){!n||e.atBottom||"SIZE_INCREASED"!==e.notAtBottomBecause||h||(t.getValue(d)("scrolling to bottom due to increased size",{totalCount:r},exports.LogLevel.DEBUG),g(r,"auto"))});setTimeout(o,100)}),t.subscribe(t.pipe(t.combineLatest(t.duc(p),l),t.withLatestFrom(r)),function(e){var t=e[0],n=t[1];t[0]&&!n.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===n.notAtBottomBecause&&g(e[1],"auto")}),{followOutput:p}},t.tup(Z,v,Q,Se,h,p));function we(e){return e.reduce(function(e,t){return e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e},{totalCount:0,groupIndices:[]})}var Te=t.system(function(e){var n=e[0],r=n.totalCount,o=n.groupIndices,i=n.sizes,a=e[1],l=a.scrollTop,s=a.headerHeight,u=t.stream(),c=t.stream(),m=t.streamFromEmitter(t.pipe(u,t.map(we)));return t.connect(t.pipe(m,t.map(t.prop("totalCount"))),r),t.connect(t.pipe(m,t.map(t.prop("groupIndices"))),o),t.connect(t.pipe(t.combineLatest(l,i,s),t.filter(function(e){return Y(e[1])}),t.map(function(e){return b(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,f)),be={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0};function ye(e,t,n){if(0===e.length)return[];if(!Y(t))return e.map(function(e){return r({},e,{index:e.index+n,originalIndex:e.index})});for(var o,i=[],l=B(t.groupOffsetTree,e[0].index,e[e.length-1].index),s=void 0,u=0,c=a(e);!(o=c()).done;){var m=o.value;(!s||s.end<m.index)&&(s=l.shift(),u=t.groupIndices.indexOf(s.start)),i.push(r({},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 Le(e,t,n,r,o){var i=0,a=0;if(e.length>0){i=e[0].offset;var l=e[e.length-1];a=l.offset+l.size}var s=i,u=r.lastOffset+(n-r.lastIndex)*r.lastSize-a;return{items:ye(e,r,o),topItems:ye(t,r,o),topListHeight:t.reduce(function(e,t){return t.size+e},0),offsetTop:i,offsetBottom:u,top:s,bottom:a,totalCount:n}}var Ee,Re,ke,ze=t.system(function(e){var n=e[0],o=n.sizes,i=n.totalCount,u=n.data,c=n.firstItemIndex,m=e[1],f=e[2],d=f.visibleRange,p=f.listBoundary,h=f.topListHeight,g=e[3],v=g.scrolledToInitialItem,I=g.initialTopMostItemIndex,S=e[4].topListHeight,C=e[5],w=e[6].didMount,T=t.statefulStream([]),y=t.stream();t.connect(m.topItemsIndexes,T);var L=t.statefulStreamFromEmitter(t.pipe(t.combineLatest(w,t.duc(d),t.duc(i),t.duc(o),t.duc(I),v,t.duc(T),t.duc(c),u),t.filter(function(e){return e[0]}),t.map(function(e){var n=e[1],r=n[0],o=n[1],i=e[2],l=e[4],s=e[5],u=e[6],c=e[7],m=e[8],f=e[3],d=f.sizeTree,p=f.offsetTree;if(0===i||0===r&&0===o)return be;if(x(d))return Le(function(e,t,n){if(Y(t)){var r=K(e,t);return[{index:b(t.groupOffsetTree,r)[0],size:0,offset:0},{index:r,size:0,offset:0,data:n&&n[0]}]}return[{index:e,size:0,offset:0,data:n&&n[0]}]}(l,f,m),[],i,f,c);var h=[];if(u.length>0)for(var g,v=u[0],I=u[u.length-1],S=0,C=a(B(d,v,I));!(g=C()).done;)for(var w=g.value,T=w.value,y=Math.max(w.start,v),L=Math.min(w.end,I),E=y;E<=L;E++)h.push({index:E,size:T,offset:S,data:m&&m[E]}),S+=T;if(!s)return Le([],h,i,f,c);var R=u.length>0?u[u.length-1]+1:0,k=function(e,t,n,r){return void 0===r&&(r=0),r>0&&(t=Math.max(t,V(e,r,A).offset)),O((i=n,l=P(o=e,t,a=W),s=P(o,i,a,l),o.slice(l,s+1)),D);var o,i,a,l,s}(p,r,o,R);if(0===k.length)return null;var z=i-1;return Le(t.tap([],function(e){for(var t,n=a(k);!(t=n()).done;){var i=t.value,l=i.value,s=l.offset,u=i.start,c=l.size;l.offset<r&&(s+=((u+=Math.floor((r-l.offset)/c))-i.start)*c),u<R&&(s+=(R-u)*c,u=R);for(var f=Math.min(i.end,z),d=u;d<=f&&!(s>=o);d++)e.push({index:d,size:c,offset:s,data:m&&m[d]}),s+=c}}),h,i,f,c)}),t.filter(function(e){return null!==e}),t.distinctUntilChanged()),be);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(L,t.map(t.prop("topListHeight"))),S),t.connect(S,h),t.connect(L,C.listStateListener),t.connect(t.pipe(L,t.map(function(e){return[e.top,e.bottom]})),p),t.connect(t.pipe(L,t.map(function(e){return e.items})),y),r({listState:L,topItemsIndexes:T,endReached:t.streamFromEmitter(t.pipe(L,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(L,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(L,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:y},C)},t.tup(Z,Te,te,Se,Q,v,h),{singleton:!0}),He=t.system(function(e){var n=e[0],r=n.sizes,o=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(r,o,i),t.map(function(e){var t=e[0][1],n=e[1],r=e[2],o=e[3],i=void 0===o?[]:o,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 Le(Array.from({length:c}).map(function(e,t){return{index:t,size:0,offset:0,data:i[t]}}),[],c,n,r)})),l),{initialItemCount:u}},t.tup(Z,ze,h),{singleton:!0}),Fe=t.system(function(e){var n=e[0].topItemsIndexes,r=t.statefulStream(0);return t.connect(t.pipe(r,t.filter(function(e){return e>0}),t.map(function(e){return Array.from({length:e}).map(function(e,t){return t})})),n),{topItemCount:r}},t.tup(ze)),Be=t.system(function(e){var n=e[0],r=n.footerHeight,o=n.headerHeight,i=e[1].listState,a=t.stream(),l=t.statefulStreamFromEmitter(t.pipe(t.combineLatest(r,o,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(f,ze),{singleton:!0}),Oe=t.system(function(e){var n=e[0],r=n.scrollBy,o=n.scrollTop,i=n.scrollDirection,a=n.deviation,l=n.scrollingInProgress,s=e[1].isScrolling,u=e[3],c=u.beforeUnshiftWith,f=u.sizes,d=e[4].log,p=t.streamFromEmitter(t.pipe(e[2].listState,t.scan(function(e,t){var n=e[1],r=t.items,o=0;if(n.length>0&&r.length>0){var i=r[0].originalIndex,a=n[0].originalIndex;if(0!==i||0!==a)if(i===a)o=r[0].size-n[0].size;else for(var l=function(e){var t=r[e],i=n.find(function(e){return e.originalIndex===t.originalIndex});return i?t.offset!==i.offset?(o=t.offset-i.offset,"break"):void 0:"continue"},s=r.length-1;s>=0;s--){var u=l(s);if("continue"!==u&&"break"===u)break}}return[o,r]},[0,[]]),t.filter(function(e){return 0!==e[0]}),t.withLatestFrom(o,i,l,d),t.filter(function(e){return!e[3]&&0!==e[1]&&e[2]===m}),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(p,t.withLatestFrom(a),t.map(function(e){return e[1]-e[0]})),a),t.subscribe(t.pipe(t.combineLatest(t.statefulStreamFromEmitter(s,!1),a),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(r,{top:-e,behavior:"auto"}),t.publish(a,0)):(t.publish(a,0),t.publish(r,{top:-e,behavior:"auto"}))}),t.connect(t.pipe(c,t.withLatestFrom(f),t.map(function(e){return e[0]*e[1].lastSize})),p),{deviation:a}},t.tup(f,v,ze,Z,p)),Me=t.system(function(e){var n=e[0].totalListHeight,r=e[1].didMount,o=e[2].scrollTo,i=t.statefulStream(0);return t.subscribe(t.pipe(r,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(o,e)})})}),{initialScrollTop:i}},t.tup(Be,h,f),{singleton:!0}),Ue=t.system(function(e){var n=e[0].viewportHeight,r=e[1].totalListHeight,o=t.statefulStream(!1);return{alignToBottom:o,paddingTopAddition:t.statefulStreamFromEmitter(t.pipe(t.combineLatest(o,n,r),t.filter(function(e){return e[0]}),t.map(function(e){return Math.max(0,e[1]-e[2])}),t.distinctUntilChanged()),0)}},t.tup(f,Be),{singleton:!0}),Pe=t.system(function(e){var n=e[0],r=n.sizes,o=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(r,l,o,s,a),t.map(function(e){var n=e[0],r=n.index,o=n.behavior,i=void 0===o?"auto":o,a=n.done,l=e[1],s=e[2],c=e[4],m=e[5],f=e[3]-1,d=null;r=K(r,l);var p=j(r=Math.max(0,r,Math.min(f,r)),l.offsetTree)+c;return p<m?d={index:r,behavior:i,align:"start"}:p+b(l.sizeTree,r)[1]>m+s&&(d={index:r,behavior:i,align:"end"}),d?a&&t.handleNext(t.pipe(u,t.skip(1),t.filter(function(e){return!1===e})),a):a&&a(),d}),t.filter(function(e){return null!==e})),c),{scrollIntoView:m}},t.tup(Z,f,Q,ze,p),{singleton:!0}),Ve=t.system(function(e){return r({},e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},t.tup(te,He,h,I,Be,Me,Ue,ne,Pe)),Ne=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,f=n.firstItemIndex,d=n.groupIndices,p=e[1],h=p.initialTopMostItemIndex,g=p.scrolledToInitialItem,v=e[2],I=e[3],S=e[4],C=S.listState,x=S.topItemsIndexes,w=o(S,["listState","topItemsIndexes"]),T=e[5].scrollToIndex,b=e[7].topItemCount,y=e[8].groupCounts,L=e[9],E=e[10];return t.connect(w.rangeChanged,L.scrollSeekRangeChanged),t.connect(t.pipe(L.windowViewportRect,t.map(t.prop("visibleHeight"))),v.viewportHeight),r({totalCount:i,data:m,firstItemIndex:f,sizeRanges:a,initialTopMostItemIndex:h,scrolledToInitialItem:g,topItemsIndexes:x,topItemCount:b,groupCounts:y,fixedItemHeight:l,defaultItemHeight:s},I,{listState:C,scrollToIndex:T,trackItemSizes:u,itemSize:c,groupIndices:d},w,L,v,E)},t.tup(Z,Se,f,xe,ze,Q,Oe,Fe,Te,Ve,p)),Ge=(Ee=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"},ke=!1,function(){return ke||(ke=!0,Re=Ee()),Re});function Ae(e){return e}var We=t.system(function(){var e=t.statefulStream(function(e){return"Item "+e}),n=t.statefulStream(function(e){return"Group "+e}),r=t.statefulStream({}),o=t.statefulStream(Ae),i=t.statefulStream("div"),a=t.statefulStream(t.noop),l=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{itemContent:e,groupContent:n,components:r,computeItemKey:o,headerFooterTag:i,scrollerRef:a,FooterComponent:l("Footer"),HeaderComponent:l("Header"),TopItemListComponent:l("TopItemList"),ListComponent:l("List","div"),ItemComponent:l("Item","div"),GroupComponent:l("Group","div"),ScrollerComponent:l("Scroller","div"),EmptyPlaceholder:l("EmptyPlaceholder"),ScrollSeekPlaceholder:l("ScrollSeekPlaceholder")}});function De(e,n){var r=t.stream();return t.subscribe(r,function(){return console.warn("react-virtuoso: You are using a deprecated property. "+n,"color: red;","color: inherit;","color: blue;")}),t.connect(r,e),r}var _e=t.system(function(e){var n=e[0],i=e[1],a={item:De(i.itemContent,"Rename the %citem%c prop to %citemContent."),group:De(i.groupContent,"Rename the %cgroup%c prop to %cgroupContent."),topItems:De(n.topItemCount,"Rename the %ctopItems%c prop to %ctopItemCount."),itemHeight:De(n.fixedItemHeight,"Rename the %citemHeight%c prop to %cfixedItemHeight."),scrollingStateChange:De(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,o){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: "+o+" property is deprecated. Pass components."+n+" instead."),r({},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=o(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),t.publish(i.components,r({},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"),r({},n,i,a)},t.tup(Ne,We)),je=function(e){return n.createElement("div",{style:{height:e.height}})},Ke={position:Ge(),zIndex:1},Ye=n.memo(function(e){var t,r,o,i,a=e.showTopList,l=void 0!==a&&a,s=st("listState"),u=st("deviation"),c=lt("sizeRanges"),m=st("itemContent"),f=st("groupContent"),d=st("trackItemSizes"),p=(t=c,r=st("itemSize"),o=d,i=st("log"),he(function(e){var n=function(e,t,n,r){var o=e.length;if(0===o)return null;for(var i=[],a=0;a<o;a++){var l=e.item(a);if(l&&void 0!==l.dataset.index){var s=parseInt(l.dataset.index),u=parseFloat(l.dataset.knownSize),c=t(l,"offsetHeight");if(0===c&&r("Zero-sized element, this should not happen",{child:l},exports.LogLevel.ERROR),c!==u){var m=i[i.length-1];0===i.length||m.size!==c||m.endIndex!==s-1?i.push({startIndex:s,endIndex:s,size:c}):i[i.length-1].endIndex++}}}return i}(e.children,r,0,i);null!==n&&t(n)},o)),h=st("EmptyPlaceholder"),g=st("ScrollSeekPlaceholder")||je,v=st("ListComponent"),I=st("ItemComponent"),S=st("GroupComponent"),C=st("computeItemKey"),x=st("isSeeking"),w=st("groupIndices").length>0,T=st("paddingTopAddition"),b=st("scrolledToInitialItem"),y=st("firstItemIndex"),L=l?{}:{boxSizing:"border-box",paddingTop:s.offsetTop+T,paddingBottom:s.offsetBottom,marginTop:u};return!l&&0===s.items.length&&h&&b?n.createElement(h):n.createElement(v,{ref:p,style:L,"data-test-id":l?"virtuoso-top-item-list":"virtuoso-item-list"},(l?s.topItems:s.items).map(function(e){var t=e.originalIndex,r=C(t+y,e.data);return x?n.createElement(g,{key:r,index:e.index,height:e.size}):"group"===e.type?n.createElement(S,{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:Ke},f(e.index)):n.createElement(I,{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,"data-item-group-index":e.groupIndex},w?m(e.index,e.groupIndex,e.data):m(e.index,e.data))}))}),qe={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},Ze={width:"100%",height:"100%",position:"absolute",top:0},$e={width:"100%",position:Ge(),top:0},Je=n.memo(function(){var e=st("HeaderComponent"),t=lt("headerHeight"),r=st("headerFooterTag"),o=he(function(e){return t(N(e,"height"))});return e?n.createElement(r,{ref:o},n.createElement(e)):null}),Qe=n.memo(function(){var e=st("FooterComponent"),t=lt("footerHeight"),r=st("headerFooterTag"),o=he(function(e){return t(N(e,"height"))});return e?n.createElement(r,{ref:o},n.createElement(e)):null});function Xe(e){var t=e.usePublisher,i=e.useEmitter,a=e.useEmitterValue;return n.memo(function(e){var l=e.style,s=e.children,u=o(e,["style","children"]),c=t("scrollTop"),m=a("ScrollerComponent"),f=Ie(c,t("smoothScrollTargetReached"),m,a("scrollerRef")),d=f.scrollerRef,p=f.scrollByCallback;return i("scrollTo",f.scrollToCallback),i("scrollBy",p),n.createElement(m,r({ref:d,style:r({},qe,l),tabIndex:0},u),s)})}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=o(e,["style","children"]),c=t("windowScrollTop"),m=a("ScrollerComponent"),f=t("smoothScrollTargetReached"),d=a("totalListHeight"),p=Ie(c,f,m),h=p.scrollerRef,g=p.scrollByCallback,v=p.scrollToCallback;return ve(function(){return h.current=window,function(){h.current=null}},[h]),i("windowScrollTo",v),i("scrollBy",g),n.createElement(m,r({style:r({position:"relative"},l,0!==d?{height:d}:{})},u),s)})}var tt=function(e){var r=e.children,o=lt("viewportHeight"),i=he(t.compose(o,function(e){return N(e,"height")}));return n.createElement("div",{style:Ze,ref:i},r)},nt=function(e){var t=e.children,r=ge(lt("windowViewportRect"));return n.createElement("div",{ref:r,style:Ze},t)},rt=function(e){var t=e.children,o=st("TopItemListComponent"),i=st("headerHeight"),a=r({},$e,{marginTop:i+"px"});return n.createElement(o||"div",{style:a},t)},ot=n.memo(function(e){var t=st("useWindowScroll"),o=st("topItemsIndexes").length>0,i=t?nt:tt;return n.createElement(t?mt:ct,r({},e),n.createElement(i,null,n.createElement(Je,null),n.createElement(Ye,null),n.createElement(Qe,null)),o&&n.createElement(rt,null,n.createElement(Ye,{showTopList:!0})))}),it=e.systemToComponent(_e,{required:{},optional:{followOutput:"followOutput",firstItemIndex:"firstItemIndex",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",topItemCount:"topItemCount",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",groupCounts:"groupCounts",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",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"}},ot),at=it.Component,lt=it.usePublisher,st=it.useEmitterValue,ut=it.useEmitter,ct=Xe({usePublisher:lt,useEmitterValue:st,useEmitter:ut}),mt=et({usePublisher:lt,useEmitterValue:st,useEmitter:ut}),ft=t.system(function(){var e=t.statefulStream(function(e){return"Item "+e}),n=t.statefulStream({}),r=t.statefulStream("virtuoso-grid-item"),o=t.statefulStream("virtuoso-grid-list"),i=t.statefulStream(Ae),a=t.statefulStream(t.noop),l=function(e,r){return void 0===r&&(r=null),t.statefulStreamFromEmitter(t.pipe(n,t.map(function(t){return t[e]}),t.distinctUntilChanged()),r)};return{itemContent:e,components:n,computeItemKey:i,itemClassName:r,listClassName:o,scrollerRef:a,ListComponent:l("List","div"),ItemComponent:l("Item","div"),ScrollerComponent:l("Scroller","div"),ScrollSeekPlaceholder:l("ScrollSeekPlaceholder","div")}}),dt=t.system(function(e){var n=e[0],i=e[1],a={item:De(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,o){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: "+o+" property is deprecated. Pass components."+n+" instead."),r({},a,((t={})[n]=i,t))})),i.components)}return t.subscribe(a.scrollSeek,function(e){var a=e.placeholder,l=o(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),t.publish(i.components,r({},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"),r({},n,i,a)},t.tup(me,ft)),pt=n.memo(function(){var e=xt("gridState"),t=xt("listClassName"),r=xt("itemClassName"),o=xt("itemContent"),i=xt("computeItemKey"),a=xt("isSeeking"),l=xt("ItemComponent"),s=xt("ListComponent"),u=xt("ScrollSeekPlaceholder"),c=Ct("itemDimensions"),m=he(function(e){var t=e.firstChild;t&&c(t.getBoundingClientRect())});return n.createElement(s,{ref:m,className:t,style:{paddingTop:e.offsetTop,paddingBottom:e.offsetBottom}},e.items.map(function(t){var s=i(t.index);return a?n.createElement(u,{key:s,style:{height:e.itemHeight,width:e.itemWidth}}):n.createElement(l,{className:r,"data-index":t.index,key:s},o(t.index))}))}),ht=function(e){var t=e.children,r=Ct("viewportDimensions"),o=he(function(e){r(e.getBoundingClientRect())});return n.createElement("div",{style:Ze,ref:o},t)},gt=function(e){var t=e.children,r=ge(Ct("windowViewportRect"));return n.createElement("div",{ref:r,style:Ze},t)},vt=n.memo(function(e){var t=r({},e),o=xt("useWindowScroll"),i=o?gt:ht;return n.createElement(o?bt:Tt,r({},t),n.createElement(i,null,n.createElement(pt,null)))}),It=e.systemToComponent(dt,{optional:{totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",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"}},vt),St=It.Component,Ct=It.usePublisher,xt=It.useEmitterValue,wt=It.useEmitter,Tt=Xe({usePublisher:Ct,useEmitterValue:xt,useEmitter:wt}),bt=et({usePublisher:Ct,useEmitterValue:xt,useEmitter:wt}),yt=at,Lt=St;exports.GroupedVirtuoso=at,exports.Virtuoso=yt,exports.VirtuosoGrid=Lt;
1
+ "use strict";var e=require("@virtuoso.dev/react-urx"),t=require("@virtuoso.dev/urx"),n=require("react");function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function o(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t.indexOf(n=i[r])>=0||(o[n]=e[n]);return o}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function 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 r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function s(e,t){return!(!e||e[0]!==t[0]||e[1]!==t[1])}function l(e,t){return!(!e||e.startIndex!==t.startIndex||e.endIndex!==t.endIndex)}var u,c,m="up",f=t.system(function(){var e=t.stream(),n=t.statefulStream(0),r=t.stream(),o=t.statefulStream(0),i=t.stream(),a=t.statefulStream(0),s=t.statefulStream(0),l=t.stream(),u=t.stream(),c=t.statefulStream(!1);t.connect(e,o);var f=t.statefulStream("down");return t.connect(t.pipe(e,t.scan(function(e,t){return{direction:t<e.prevScrollTop?m:"down",prevScrollTop:t}},{direction:"down",prevScrollTop:0}),t.map(function(e){return e.direction})),f),{scrollTop:e,viewportHeight:i,headerHeight:a,footerHeight:s,smoothScrollTargetReached:r,scrollTo:l,scrollBy:u,scrollDirection:f,statefulScrollTop:o,deviation:n,scrollingInProgress:c}},[],{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),p=t.system(function(){var e=t.statefulStream(exports.LogLevel.ERROR);return{log:t.statefulStream(function(n,r,o){var i;void 0===o&&(o=exports.LogLevel.INFO),o>=(null!=(i=(globalThis||window).VIRTUOSO_LOG_LEVEL)?i:t.getValue(e))&&console[d[o]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: black",n,r)}),logLevel:e}},[],{singleton:!0}),h=t.system(function(e){var n=e[0].log,r=t.statefulStream(!1),o=t.streamFromEmitter(t.pipe(r,t.filter(function(e){return e}),t.distinctUntilChanged()));return t.subscribe(r,function(e){e&&t.getValue(n)("props updated",{},exports.LogLevel.DEBUG)}),{propsReady:r,didMount:o}},t.tup(p),{singleton:!0}),g={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollTop:0,viewportHeight:0,totalHeight:0}},v=t.system(function(e){var n=e[0],r=n.scrollTop,o=n.viewportHeight,i=n.headerHeight,a=n.footerHeight,s=t.statefulStream(!1),l=t.statefulStream(!0),u=t.stream(),c=t.stream(),m=t.stream(),f=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()));t.connect(t.pipe(t.duc(r),t.map(function(e){return 0===e}),t.distinctUntilChanged()),l),t.connect(l,c);var d=t.streamFromEmitter(t.pipe(t.combineLatest(m,t.duc(r),t.duc(o),t.duc(i),t.duc(a)),t.scan(function(e,t){var n=t[0],r=n.bottom,o=n.offsetBottom,i=t[1],a=t[2],s={viewportHeight:a,scrollTop:i,offsetBottom:o,totalHeight:r+o};return 0===o&&i+a-(r+t[3]+t[4])>-4?{atBottom:!0,state:s}:{atBottom:!1,notAtBottomBecause:s.totalHeight>e.state.totalHeight?"SIZE_INCREASED":0!==o?"NOT_SHOWING_LAST_ITEM":a<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})));return t.connect(t.pipe(d,t.map(function(e){return e.atBottom})),s),t.subscribe(s,function(e){setTimeout(function(){return t.publish(u,e)})}),{isScrolling:f,isAtTop:l,isAtBottom:s,atBottomState:d,atTopStateChange:c,atBottomStateChange:u,listStateListener:m}},t.tup(f)),I=t.system(function(e){var n=e[0].scrollTop,r=e[1].isScrolling,o=t.statefulStream(0),i=t.statefulStream(!1),a=t.stream(),s=t.statefulStream(!1);return t.connect(t.pipe(r,t.filter(function(e){return!e}),t.mapTo(0)),o),t.connect(t.pipe(n,t.throttleTime(100),t.withLatestFrom(r),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]})),o),t.connect(t.pipe(o,t.withLatestFrom(s,i,a),t.filter(function(e){return!!e[1]}),t.map(function(e){var t=e[0],n=e[1],r=e[2],o=e[3],i=n.enter;if(r){if((0,n.exit)(t,o))return!1}else if(i(t,o))return!0;return r}),t.distinctUntilChanged()),i),t.subscribe(t.pipe(t.combineLatest(i,o,a),t.withLatestFrom(s)),function(e){var t=e[0],n=e[1];return t[0]&&n&&n.change&&n.change(t[1],t[2])}),{isSeeking:i,scrollSeekConfiguration:s,scrollVelocity:o,scrollSeekRangeChanged:a}},t.tup(f,v),{singleton:!0}),S={lvl:0};function C(e,t,n,r,o){return void 0===r&&(r=S),void 0===o&&(o=S),{k:e,v:t,lvl:n,l:r,r:o}}function x(e){return e===S}function w(){return S}function T(e,t){if(x(e))return S;var n=e.k,r=e.l,o=e.r;if(t===n){if(x(r))return o;if(x(o))return r;var i=R(r);return F(z(e,{k:i[0],v:i[1],l:k(r)}))}return F(z(e,t<n?{l:T(r,t)}:{r:T(o,t)}))}function b(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 r=b(e.r,t,n);return-Infinity===r[0]?[e.k,e.v]:r}return b(e.l,t,n)}function y(e,t,n){return x(e)?C(t,n,1):t===e.k?z(e,{k:t,v:n}):function(e){return M(P(e))}(z(e,t<e.k?{l:y(e.l,t,n)}:{r:y(e.r,t,n)}))}function L(e,t,n){if(x(e))return[];var r=e.k,o=e.v,i=e.r,a=[];return r>t&&(a=a.concat(L(e.l,t,n))),r>=t&&r<=n&&a.push({k:r,v:o}),r<=n&&(a=a.concat(L(i,t,n))),a}function E(e){return x(e)?[]:[].concat(E(e.l),[{k:e.k,v:e.v}],E(e.r))}function R(e){return x(e.r)?[e.k,e.v]:R(e.r)}function k(e){return x(e.r)?e.l:F(z(e,{r:k(e.r)}))}function z(e,t){return C(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 H(e){return x(e)||e.lvl>e.r.lvl}function F(e){var t=e.l,n=e.r,r=e.lvl;if(n.lvl>=r-1&&t.lvl>=r-1)return e;if(r>n.lvl+1){if(H(t))return P(z(e,{lvl:r-1}));if(x(t)||x(t.r))throw new Error("Unexpected empty nodes");return z(t.r,{l:z(t,{r:t.r.l}),r:z(e,{l:t.r.r,lvl:r-1}),lvl:r})}if(H(e))return M(z(e,{lvl:r-1}));if(x(n)||x(n.l))throw new Error("Unexpected empty nodes");var o=n.l,i=H(o)?n.lvl-1:n.lvl;return z(o,{l:z(e,{r:o.l,lvl:r-1}),r:M(z(n,{l:o.r,lvl:i})),lvl:o.lvl+1})}function B(e,t,n){return x(e)?[]:O(L(e,b(e,t)[0],n),function(e){return{index:e.k,value:e.v}})}function O(e,t){var n=e.length;if(0===n)return[];for(var r=t(e[0]),o=r.index,i=r.value,a=[],s=1;s<n;s++){var l=t(e[s]),u=l.index,c=l.value;a.push({start:o,end:u-1,value:i}),o=u,i=c}return a.push({start:o,end:Infinity,value:i}),a}function M(e){var t=e.r,n=e.lvl;return x(t)||x(t.r)||t.lvl!==n||t.r.lvl!==n?e:z(t,{l:z(e,{r:t.l}),lvl:n+1})}function P(e){var t=e.l;return x(t)||t.lvl!==e.lvl?e:z(t,{r:z(e,{l:t.r})})}function U(e,t,n,r){void 0===r&&(r=0);for(var o=e.length-1;r<=o;){var i=Math.floor((r+o)/2),a=n(e[i],t);if(0===a)return i;if(-1===a){if(o-r<2)return i-1;o=i-1}else{if(o===r)return i;r=i+1}}throw new Error("Failed binary finding record in array - "+e.join(",")+", searched for "+t)}function V(e,t,n){return e[U(e,t,n)]}function N(e,t){return Math.round(e.getBoundingClientRect()[t])}function G(e){var t=e.size,n=e.startIndex,r=e.endIndex;return function(e){return e.start===n&&(e.end===r||Infinity===e.end)&&e.value===t}}function A(e,t){var n=e.index;return t===n?0:t<n?-1:1}function W(e,t){var n=e.offset;return t===n?0:t<n?-1:1}function D(e){return{index:e.index,value:e}}function _(e,t){var n=t[0],r=t[1];n.length>0&&(0,t[2])("received item sizes",n,exports.LogLevel.DEBUG);var o=e.sizeTree,i=e.offsetTree,s=o,l=0;if(r.length>0&&x(o)&&2===n.length){var u=n[0].size,c=n[1].size;s=r.reduce(function(e,t){return y(y(e,t,u),t+1,c)},s)}else{var m=function(e,t){for(var n,r=x(e)?0:Infinity,o=a(t);!(n=o()).done;){var i=n.value,s=i.size,l=i.startIndex,u=i.endIndex;if(r=Math.min(r,l),x(e))e=y(e,0,s);else{var c=B(e,l-1,u+1);if(!c.some(G(i))){for(var m,f=!1,d=!1,p=a(c);!(m=p()).done;){var h=m.value,g=h.start,v=h.end,I=h.value;f?(u>=g||s===I)&&(e=T(e,g)):(d=I!==s,f=!0),v>u&&u>=g&&I!==s&&(e=y(e,u+1,I))}d&&(e=y(e,l,s))}}}return[e,r]}(s,n);s=m[0],l=m[1]}if(s===o)return e;var f=0,d=0,p=0,h=0;if(0!==l){h=U(i,l-1,A),p=i[h].offset;var g=b(s,l-1);f=g[0],d=g[1],i.length&&i[h].size===b(s,l)[1]&&(h-=1),i=i.slice(0,h+1)}else i=[];for(var v,I=a(B(s,l,Infinity));!(v=I()).done;){var S=v.value,C=S.start,L=S.value,E=(C-f)*d+p;i.push({offset:E,size:L,index:C}),f=C,p=E,d=L}return{sizeTree:s,offsetTree:i,groupOffsetTree:r.reduce(function(e,t){return y(e,t,j(t,i))},w()),lastIndex:f,lastOffset:p,lastSize:d,groupIndices:r}}function j(e,t){if(0===t.length)return 0;var n=V(t,e,A);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,o=t.stream(),i=t.stream(),a=t.stream(),s=t.statefulStream(0),l=t.statefulStream([]),u=t.statefulStream(void 0),c=t.statefulStream(void 0),m=t.statefulStream(function(e,t){return N(e,q[t])}),f=t.statefulStream(void 0),d={offsetTree:[],sizeTree:w(),groupOffsetTree:w(),lastIndex:0,lastOffset:0,lastSize:0,groupIndices:[]},p=t.statefulStreamFromEmitter(t.pipe(o,t.withLatestFrom(l,n),t.scan(_,d),t.distinctUntilChanged()),d);t.connect(t.pipe(l,t.filter(function(e){return e.length>0}),t.withLatestFrom(p),t.map(function(e){var t=e[0],n=e[1],o=t.reduce(function(e,t,r){return y(e,t,j(t,n.offsetTree)||r)},w());return r({},n,{groupIndices:t,groupOffsetTree:o})})),p),t.connect(t.pipe(i,t.withLatestFrom(p),t.filter(function(e){return e[0]<e[1].lastIndex}),t.map(function(e){var t=e[1];return[{startIndex:e[0],endIndex:t.lastIndex,size:t.lastSize}]})),o),t.connect(u,c);var h=t.statefulStreamFromEmitter(t.pipe(u,t.map(function(e){return void 0===e})),!0);t.connect(t.pipe(c,t.filter(function(e){return void 0!==e&&x(t.getValue(p).sizeTree)}),t.map(function(e){return[{startIndex:0,endIndex:0,size:e}]})),o);var g=t.streamFromEmitter(t.pipe(o,t.withLatestFrom(p),t.scan(function(e,t){var n=t[1];return{changed:n!==e.sizes,sizes:n}},{changed:!1,sizes:d}),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})),a),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 v=t.streamFromEmitter(a);return t.connect(t.pipe(a,t.withLatestFrom(p),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 E(n.sizeTree).reduce(function(e,n){var r=n.k,o=n.v;return{ranges:[].concat(e.ranges,[{startIndex:e.prevIndex,endIndex:r+t-1,size:e.prevSize}]),prevIndex:r+t,prevSize:o}},{ranges:[],prevIndex:0,prevSize:n.lastSize}).ranges})),o),{data:f,totalCount:i,sizeRanges:o,groupIndices:l,defaultItemSize:c,fixedItemSize:u,unshiftWith:a,beforeUnshiftWith:v,firstItemIndex:s,sizes:p,listRefresh:g,trackItemSizes:h,itemSize:m}},t.tup(p),{singleton:!0}),$="undefined"!=typeof document&&"scrollBehavior"in document.documentElement.style;function J(e){var t="number"==typeof e?{index:e}:e;return t.align||(t.align="start"),t.behavior&&$||(t.behavior="auto"),t.offset||(t.offset=0),t}var Q=t.system(function(e){var n=e[0],r=n.sizes,o=n.totalCount,i=n.listRefresh,a=e[1],s=a.scrollingInProgress,l=a.viewportHeight,u=a.scrollTo,c=a.smoothScrollTargetReached,m=a.headerHeight,f=a.footerHeight,d=e[2].log,p=t.stream(),h=t.statefulStream(0),g=null,v=null,I=null;function S(){g&&(g(),g=null),I&&(I(),I=null),v&&(clearTimeout(v),v=null),t.publish(s,!1)}return t.connect(t.pipe(p,t.withLatestFrom(r,l,o,h,m,f,d),t.map(function(e){var n=e[0],r=e[1],o=e[2],a=e[3],l=e[4],u=e[5],m=e[6],f=e[7],d=J(n),h=d.align,C=d.behavior,x=d.offset,w=a-1,T=d.index;T=K(T,r);var y=j(T=Math.max(0,T,Math.min(w,T)),r.offsetTree)+u;"end"===h?(y=Math.round(y-o+b(r.sizeTree,T)[1]),T===w&&(y+=m)):"center"===h?y=Math.round(y-o/2+b(r.sizeTree,T)[1]/2):y-=l,x&&(y+=x);var L=function(e){S(),e?(f("retrying to scroll to",{location:n},exports.LogLevel.DEBUG),t.publish(p,n)):f("list did not change, scroll successful",{},exports.LogLevel.DEBUG)};if(S(),"smooth"===C){var E=!1;I=t.subscribe(i,function(e){E=E||e}),g=t.handleNext(c,function(){L(E)})}else g=t.handleNext(t.pipe(i,function(e){var t=setTimeout(function(){e(!1)},50);return function(n){n&&(e(!0),clearTimeout(t))}}),L);return v=setTimeout(function(){S()},1200),t.publish(s,!0),f("scrolling from index to",{index:T,top:y,behavior:C},exports.LogLevel.DEBUG),{top:y,behavior:C}})),u),{scrollToIndex:p,scrollingInProgress:s,topListHeight:h}},t.tup(Z,f,p),{singleton:!0});function X(e,t,n){return"number"==typeof e?n===m&&"top"===t||"down"===n&&"bottom"===t?e:0:n===m?"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],r=n.scrollTop,o=n.viewportHeight,i=n.deviation,a=n.headerHeight,l=t.stream(),u=t.statefulStream(0),c=t.statefulStream(0),f=t.statefulStream(0);return{listBoundary:l,overscan:f,topListHeight:u,increaseViewportBy:c,visibleRange:t.statefulStreamFromEmitter(t.pipe(t.combineLatest(t.duc(r),t.duc(o),t.duc(a),t.duc(l,s),t.duc(f),t.duc(u),t.duc(i),t.duc(c)),t.map(function(e){var t=e[0],n=e[1],r=e[2],o=e[3],i=o[0],a=o[1],s=e[4],l=e[5],u=e[6],c=e[7],f=t-u,d=Math.max(r-f,0),p="none",h=ee(c,"top"),g=ee(c,"bottom");return i-=u,a+=r,(i+=r)>t+l-h&&(p=m),(a-=u)<t-d+n+g&&(p="down"),"none"!==p?[Math.max(f-r-X(s,"top",p)-h,0),f-d+n+X(s,"bottom",p)+g]:null}),t.filter(function(e){return null!=e}),t.distinctUntilChanged(s)),[0,0])}},t.tup(f),{singleton:!0}),ne=t.system(function(e){var n=e[0],o=n.scrollTop,i=n.scrollTo,a=t.stream(),s=t.stream(),l=t.stream(),u=t.statefulStream(!1);return t.connect(t.pipe(t.combineLatest(s,a),t.map(function(e){return Math.max(0,e[0]-e[1].offsetTop)})),o),t.connect(t.pipe(i,t.withLatestFrom(a),t.map(function(e){var t=e[0];return r({},t,{top:t.top+e[1].offsetTop})})),l),{useWindowScroll:u,windowScrollTop:s,windowViewportRect:a,windowScrollTo:l}},t.tup(f)),re={items:[],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},oe={items:[{index:0}],offsetBottom:0,offsetTop:0,top:0,bottom:0,itemHeight:0,itemWidth:0},ie=Math.ceil,ae=Math.floor,se=Math.min,le=Math.max;function ue(e){return ie(e)-e<.03?ie(e):ae(e)}function ce(e,t){return Array.from({length:t-e+1}).map(function(t,n){return{index:n+e}})}var me=t.system(function(e){var n=e[0],o=n.overscan,i=n.visibleRange,a=n.listBoundary,u=e[1],c=u.scrollTop,m=u.viewportHeight,f=u.scrollBy,d=u.scrollTo,p=u.smoothScrollTargetReached,h=e[2],g=e[3],v=e[4],I=v.propsReady,S=v.didMount,C=e[5],x=C.windowViewportRect,w=C.windowScrollTo,T=C.useWindowScroll,b=C.windowScrollTop,y=t.statefulStream(0),L=t.statefulStream(0),E=t.statefulStream(re),R=t.statefulStream({height:0,width:0}),k=t.statefulStream({height:0,width:0}),z=t.stream();t.connect(t.pipe(S,t.withLatestFrom(L),t.filter(function(e){return 0!==e[1]}),t.map(function(e){return{items:ce(0,e[1]-1),top:0,bottom:0,offsetBottom:0,offsetTop:0,itemHeight:0,itemWidth:0}})),E),t.connect(t.pipe(t.combineLatest(t.duc(y),i,t.duc(k,function(e,t){return e&&e.width===t.width&&e.height===t.height})),t.withLatestFrom(R),t.map(function(e){var t=e[0],n=t[0],r=t[1],o=r[0],i=r[1],a=t[2],s=e[1],l=a.height,u=a.width,c=s.width;if(0===n||0===c)return re;if(0===u)return oe;var m=ue(c/u),f=m*ae(o/l),d=m*ie(i/l)-1;d=se(n-1,d);var p=ce(f=se(d,le(0,f)),d),h=fe(s,a,p),g=h.top,v=h.bottom;return{items:p,offsetTop:g,offsetBottom:ie(n/m)*l-v,top:g,bottom:v,itemHeight:l,itemWidth:u}})),E),t.connect(t.pipe(R,t.map(function(e){return e.height})),m),t.connect(t.pipe(t.combineLatest(R,k,E),t.map(function(e){var t=fe(e[0],e[1],e[2].items);return[t.top,t.bottom]}),t.distinctUntilChanged(s)),a),t.connect(t.pipe(a,t.withLatestFrom(E),t.map(function(e){return{bottom:e[0][1],offsetBottom:e[1].offsetBottom}})),h.listStateListener);var H=t.streamFromEmitter(t.pipe(t.duc(E),t.filter(function(e){return e.items.length>0}),t.withLatestFrom(y),t.filter(function(e){var t=e[0].items;return t[t.length-1].index===e[1]-1}),t.map(function(e){return e[1]-1}),t.distinctUntilChanged())),F=t.streamFromEmitter(t.pipe(t.duc(E),t.filter(function(e){var t=e.items;return t.length>0&&0===t[0].index}),t.mapTo(0),t.distinctUntilChanged())),B=t.streamFromEmitter(t.pipe(t.duc(E),t.filter(function(e){return e.items.length>0}),t.map(function(e){var t=e.items;return{startIndex:t[0].index,endIndex:t[t.length-1].index}}),t.distinctUntilChanged(l)));t.connect(B,g.scrollSeekRangeChanged),t.connect(t.pipe(z,t.withLatestFrom(R,k,y),t.map(function(e){var t=e[1],n=e[2],r=e[3],o=J(e[0]),i=o.align,a=o.behavior,s=o.offset,l=o.index,u=de(t,n,l=Math.max(0,l,Math.min(r-1,l)));return"end"===i?u=Math.round(u-t.height+n.height):"center"===i&&(u=Math.round(u-t.height/2+n.height/2)),s&&(u+=s),{top:u,behavior:a}})),d);var O=t.statefulStreamFromEmitter(t.pipe(E,t.map(function(e){return e.offsetBottom+e.bottom})),0);return t.connect(t.pipe(x,t.map(function(e){return{width:e.visibleWidth,height:e.visibleHeight}})),R),r({totalCount:y,viewportDimensions:R,itemDimensions:k,scrollTop:c,overscan:o,scrollBy:f,scrollTo:d,scrollToIndex:z,smoothScrollTargetReached:p,windowViewportRect:x,windowScrollTo:w,useWindowScroll:T,windowScrollTop:b,initialItemCount:L},g,{gridState:E,totalListHeight:O},h,{startReached:F,endReached:H,rangeChanged:B,propsReady:I})},t.tup(te,f,v,I,h,ne));function fe(e,t,n){var r=t.height;return void 0===r||0===n.length?{top:0,bottom:0}:{top:de(e,t,n[0].index),bottom:de(e,t,n[n.length-1].index)+r}}function de(e,t,n){var r=ue(e.width/t.width);return ae(n/r)*t.height}function pe(e,t){void 0===t&&(t=!0);var r=n.useRef(null),o=function(e){};if("undefined"!=typeof ResizeObserver){var i=new ResizeObserver(function(t){var n=t[0].target;null!==n.offsetParent&&e(n)});o=function(e){e&&t?(i.observe(e),r.current=e):(r.current&&i.unobserve(r.current),r.current=null)}}return{ref:r,callbackRef:o}}function he(e,t){return void 0===t&&(t=!0),pe(e,t).callbackRef}function ge(e){var t=n.useRef(null),r=n.useCallback(function(n){if(null!==n){var r=n.getBoundingClientRect(),o=window.innerHeight-Math.max(0,r.top),i=r.top+window.pageYOffset;t.current={offsetTop:i,visibleHeight:o,visibleWidth:r.width},e(t.current)}},[e]),o=pe(r),i=o.callbackRef,a=o.ref,s=n.useCallback(function(){r(a.current)},[r,a]);return n.useEffect(function(){return window.addEventListener("scroll",s),window.addEventListener("resize",s),function(){window.removeEventListener("scroll",s),window.removeEventListener("resize",s)}},[s]),i}var ve="undefined"!=typeof document?n.useLayoutEffect:n.useEffect;function Ie(e,r,o,i){void 0===i&&(i=t.noop);var a=n.useRef(null),s=n.useRef(null),l=n.useRef(null),u=n.useCallback(function(t){var n=t.target,o=n===window||n===document?window.pageYOffset||document.documentElement.scrollTop:n.scrollTop;e(Math.max(o,0)),null!==s.current&&(o===s.current||o<=0||o===n.scrollHeight-N(n,"height"))&&(s.current=null,r(!0),l.current&&(clearTimeout(l.current),l.current=null))},[e,r]);return n.useEffect(function(){var e=a.current;return i(a.current),u({target:e}),e.addEventListener("scroll",u,{passive:!0}),function(){i(null),e.removeEventListener("scroll",u)}},[a,u,o,i]),{scrollerRef:a,scrollByCallback:function(e){null===s.current&&a.current.scrollBy(e)},scrollToCallback:function(t){var n=a.current;if(n&&(!("offsetHeight"in n)||0!==n.offsetHeight)){var o,i,u,c="smooth"===t.behavior;if(n===window?(i=Math.max(N(document.documentElement,"height"),document.documentElement.scrollHeight),o=window.innerHeight,u=document.documentElement.scrollTop):(i=n.scrollHeight,o=N(n,"height"),u=n.scrollTop),Math.abs(o-i)<1.01||t.top===u)return e(u),void(c&&r(!0));t.top=Math.max(Math.min(i-o,t.top),0),c?(s.current=t.top,l.current&&clearTimeout(l.current),l.current=setTimeout(function(){l.current=null,s.current=null,r(!0)},1e3)):s.current=null,n.scrollTo(t)}}}}var Se=t.system(function(e){var n=e[0],r=n.sizes,o=n.listRefresh,i=n.defaultItemSize,a=e[1],s=a.scrollToIndex,l=a.scrollingInProgress,u=e[2].didMount,c=t.statefulStream(!0),m=t.statefulStream(0);return t.connect(t.pipe(u,t.withLatestFrom(m),t.filter(function(e){return 0!==e[1]}),t.mapTo(!1)),c),t.subscribe(t.pipe(t.combineLatest(o,u),t.withLatestFrom(c,r,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(m)),function(e){var n=e[1];setTimeout(function(){t.publish(s,n),t.handleNext(t.pipe(l,t.skip(1)),function(){t.publish(c,!0)})})}),{scrolledToInitialItem:c,initialTopMostItemIndex:m}},t.tup(Z,Q,h),{singleton:!0});function Ce(e){return!!e&&("smooth"===e?"smooth":"auto")}var xe=t.system(function(e){var n=e[0],r=n.totalCount,o=n.listRefresh,i=e[1],a=i.isAtBottom,s=i.atBottomState,l=e[2].scrollToIndex,u=e[3].scrolledToInitialItem,c=e[4],m=c.propsReady,f=c.didMount,d=e[5].log,p=t.statefulStream(!1),h=null;function g(e,n){t.publish(l,{index:e-1,align:"end",behavior:n})}return t.subscribe(t.pipe(t.combineLatest(t.pipe(t.duc(r),t.skip(1)),f),t.withLatestFrom(t.duc(p),a,u),t.map(function(e){var t=e[0],n=t[0],r=t[1]&&e[3],o="auto";return r&&(o=function(e,t){return"function"==typeof e?Ce(e(t)):t&&Ce(e)}(e[1],e[2]),r=r&&!!o),{totalCount:n,shouldFollow:r,followOutputBehavior:o}}),t.filter(function(e){return e.shouldFollow})),function(e){var n=e.totalCount,r=e.followOutputBehavior;h&&(h(),h=null),h=t.handleNext(o,function(){g(n,r),h=null})}),t.subscribe(t.pipe(t.combineLatest(t.duc(p),r,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(p,r)),function(e){var n=e[1],r=e[2],o=t.handleNext(s,function(e){!n||e.atBottom||"SIZE_INCREASED"!==e.notAtBottomBecause||h||(t.getValue(d)("scrolling to bottom due to increased size",{totalCount:r},exports.LogLevel.DEBUG),g(r,"auto"))});setTimeout(o,100)}),t.subscribe(t.pipe(t.combineLatest(t.duc(p),s),t.withLatestFrom(r)),function(e){var t=e[0],n=t[1];t[0]&&!n.atBottom&&"VIEWPORT_HEIGHT_DECREASING"===n.notAtBottomBecause&&g(e[1],"auto")}),{followOutput:p}},t.tup(Z,v,Q,Se,h,p));function we(e){return e.reduce(function(e,t){return e.groupIndices.push(e.totalCount),e.totalCount+=t+1,e},{totalCount:0,groupIndices:[]})}var Te=t.system(function(e){var n=e[0],r=n.totalCount,o=n.groupIndices,i=n.sizes,a=e[1],s=a.scrollTop,l=a.headerHeight,u=t.stream(),c=t.stream(),m=t.streamFromEmitter(t.pipe(u,t.map(we)));return t.connect(t.pipe(m,t.map(t.prop("totalCount"))),r),t.connect(t.pipe(m,t.map(t.prop("groupIndices"))),o),t.connect(t.pipe(t.combineLatest(s,i,l),t.filter(function(e){return Y(e[1])}),t.map(function(e){return b(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,f)),be={items:[],topItems:[],offsetTop:0,offsetBottom:0,top:0,bottom:0,topListHeight:0,totalCount:0};function ye(e,t,n){if(0===e.length)return[];if(!Y(t))return e.map(function(e){return r({},e,{index:e.index+n,originalIndex:e.index})});for(var o,i=[],s=B(t.groupOffsetTree,e[0].index,e[e.length-1].index),l=void 0,u=0,c=a(e);!(o=c()).done;){var m=o.value;(!l||l.end<m.index)&&(l=s.shift(),u=t.groupIndices.indexOf(l.start)),i.push(r({},m.index===l.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 Le(e,t,n,r,o){var i=0,a=0;if(e.length>0){i=e[0].offset;var s=e[e.length-1];a=s.offset+s.size}var l=i,u=r.lastOffset+(n-r.lastIndex)*r.lastSize-a;return{items:ye(e,r,o),topItems:ye(t,r,o),topListHeight:t.reduce(function(e,t){return t.size+e},0),offsetTop:i,offsetBottom:u,top:l,bottom:a,totalCount:n}}var Ee,Re,ke,ze=t.system(function(e){var n=e[0],o=n.sizes,i=n.totalCount,u=n.data,c=n.firstItemIndex,m=e[1],f=e[2],d=f.visibleRange,p=f.listBoundary,h=f.topListHeight,g=e[3],v=g.scrolledToInitialItem,I=g.initialTopMostItemIndex,S=e[4].topListHeight,C=e[5],w=e[6].didMount,T=t.statefulStream([]),y=t.stream();t.connect(m.topItemsIndexes,T);var L=t.statefulStreamFromEmitter(t.pipe(t.combineLatest(w,t.duc(d),t.duc(i),t.duc(o),t.duc(I),v,t.duc(T),t.duc(c),u),t.filter(function(e){return e[0]}),t.map(function(e){var n=e[1],r=n[0],o=n[1],i=e[2],s=e[4],l=e[5],u=e[6],c=e[7],m=e[8],f=e[3],d=f.sizeTree,p=f.offsetTree;if(0===i||0===r&&0===o)return be;if(x(d))return Le(function(e,t,n){if(Y(t)){var r=K(e,t);return[{index:b(t.groupOffsetTree,r)[0],size:0,offset:0},{index:r,size:0,offset:0,data:n&&n[0]}]}return[{index:e,size:0,offset:0,data:n&&n[0]}]}(s,f,m),[],i,f,c);var h=[];if(u.length>0)for(var g,v=u[0],I=u[u.length-1],S=0,C=a(B(d,v,I));!(g=C()).done;)for(var w=g.value,T=w.value,y=Math.max(w.start,v),L=Math.min(w.end,I),E=y;E<=L;E++)h.push({index:E,size:T,offset:S,data:m&&m[E]}),S+=T;if(!l)return Le([],h,i,f,c);var R=u.length>0?u[u.length-1]+1:0,k=function(e,t,n,r){return void 0===r&&(r=0),r>0&&(t=Math.max(t,V(e,r,A).offset)),O((i=n,s=U(o=e,t,a=W),l=U(o,i,a,s),o.slice(s,l+1)),D);var o,i,a,s,l}(p,r,o,R);if(0===k.length)return null;var z=i-1;return Le(t.tap([],function(e){for(var t,n=a(k);!(t=n()).done;){var i=t.value,s=i.value,l=s.offset,u=i.start,c=s.size;s.offset<r&&(l+=((u+=Math.floor((r-s.offset)/c))-i.start)*c),u<R&&(l+=(R-u)*c,u=R);for(var f=Math.min(i.end,z),d=u;d<=f&&!(l>=o);d++)e.push({index:d,size:c,offset:l,data:m&&m[d]}),l+=c}}),h,i,f,c)}),t.filter(function(e){return null!==e}),t.distinctUntilChanged()),be);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(L,t.map(t.prop("topListHeight"))),S),t.connect(S,h),t.connect(L,C.listStateListener),t.connect(t.pipe(L,t.map(function(e){return[e.top,e.bottom]})),p),t.connect(t.pipe(L,t.map(function(e){return e.items})),y),r({listState:L,topItemsIndexes:T,endReached:t.streamFromEmitter(t.pipe(L,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(s),t.map(function(e){return e[0]}))),startReached:t.streamFromEmitter(t.pipe(L,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(L,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(l))),itemsRendered:y},C)},t.tup(Z,Te,te,Se,Q,v,h),{singleton:!0}),He=t.system(function(e){var n=e[0],r=n.sizes,o=n.firstItemIndex,i=n.data,s=e[1].listState,l=e[2].didMount,u=t.statefulStream(0);return t.connect(t.pipe(l,t.withLatestFrom(u),t.filter(function(e){return 0!==e[1]}),t.withLatestFrom(r,o,i),t.map(function(e){var t=e[0][1],n=e[1],r=e[2],o=e[3],i=void 0===o?[]:o,s=0;if(n.groupIndices.length>0)for(var l,u=a(n.groupIndices);!((l=u()).done||l.value-s>=t);)s++;var c=t+s;return Le(Array.from({length:c}).map(function(e,t){return{index:t,size:0,offset:0,data:i[t]}}),[],c,n,r)})),s),{initialItemCount:u}},t.tup(Z,ze,h),{singleton:!0}),Fe=t.system(function(e){var n=e[0].topItemsIndexes,r=t.statefulStream(0);return t.connect(t.pipe(r,t.filter(function(e){return e>0}),t.map(function(e){return Array.from({length:e}).map(function(e,t){return t})})),n),{topItemCount:r}},t.tup(ze)),Be=t.system(function(e){var n=e[0],r=n.footerHeight,o=n.headerHeight,i=e[1].listState,a=t.stream(),s=t.statefulStreamFromEmitter(t.pipe(t.combineLatest(r,o,i),t.map(function(e){var t=e[2];return e[0]+e[1]+t.offsetBottom+t.bottom})),0);return t.connect(t.duc(s),a),{totalListHeight:s,totalListHeightChanged:a}},t.tup(f,ze),{singleton:!0}),Oe=t.system(function(e){var n=e[0],r=n.scrollBy,o=n.scrollTop,i=n.scrollDirection,a=n.deviation,s=n.scrollingInProgress,l=e[1].isScrolling,u=e[3],c=u.beforeUnshiftWith,f=u.sizes,d=e[4].log,p=t.streamFromEmitter(t.pipe(e[2].listState,t.scan(function(e,t){var n=e[1],r=t.items,o=0;if(n.length>0&&r.length>0){var i=r[0].originalIndex,a=n[0].originalIndex;if(0!==i||0!==a)if(i===a)o=r[0].size-n[0].size;else for(var s=function(e){var t=r[e],i=n.find(function(e){return e.originalIndex===t.originalIndex});return i?t.offset!==i.offset?(o=t.offset-i.offset,"break"):void 0:"continue"},l=r.length-1;l>=0;l--){var u=s(l);if("continue"!==u&&"break"===u)break}}return[o,r]},[0,[]]),t.filter(function(e){return 0!==e[0]}),t.withLatestFrom(o,i,s,d),t.filter(function(e){return!e[3]&&0!==e[1]&&e[2]===m}),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(p,t.withLatestFrom(a),t.map(function(e){return e[1]-e[0]})),a),t.subscribe(t.pipe(t.combineLatest(t.statefulStreamFromEmitter(l,!1),a),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(r,{top:-e,behavior:"auto"}),t.publish(a,0)):(t.publish(a,0),t.publish(r,{top:-e,behavior:"auto"}))}),t.connect(t.pipe(c,t.withLatestFrom(f),t.map(function(e){return e[0]*e[1].lastSize})),p),{deviation:a}},t.tup(f,v,ze,Z,p)),Me=t.system(function(e){var n=e[0].totalListHeight,r=e[1].didMount,o=e[2].scrollTo,i=t.statefulStream(0);return t.subscribe(t.pipe(r,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(o,e)})})}),{initialScrollTop:i}},t.tup(Be,h,f),{singleton:!0}),Pe=t.system(function(e){var n=e[0].viewportHeight,r=e[1].totalListHeight,o=t.statefulStream(!1);return{alignToBottom:o,paddingTopAddition:t.statefulStreamFromEmitter(t.pipe(t.combineLatest(o,n,r),t.filter(function(e){return e[0]}),t.map(function(e){return Math.max(0,e[1]-e[2])}),t.distinctUntilChanged()),0)}},t.tup(f,Be),{singleton:!0}),Ue=t.system(function(e){var n=e[0],r=n.sizes,o=n.totalCount,i=e[1],a=i.scrollTop,s=i.viewportHeight,l=i.headerHeight,u=i.scrollingInProgress,c=e[2].scrollToIndex,m=t.stream();return t.connect(t.pipe(m,t.withLatestFrom(r,s,o,l,a),t.map(function(e){var n=e[0],r=n.index,o=n.behavior,i=void 0===o?"auto":o,a=n.done,s=e[1],l=e[2],c=e[4],m=e[5],f=e[3]-1,d=null;r=K(r,s);var p=j(r=Math.max(0,r,Math.min(f,r)),s.offsetTree)+c;return p<m?d={index:r,behavior:i,align:"start"}:p+b(s.sizeTree,r)[1]>m+l&&(d={index:r,behavior:i,align:"end"}),d?a&&t.handleNext(t.pipe(u,t.skip(1),t.filter(function(e){return!1===e})),a):a&&a(),d}),t.filter(function(e){return null!==e})),c),{scrollIntoView:m}},t.tup(Z,f,Q,ze,p),{singleton:!0}),Ve=t.system(function(e){return r({},e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])},t.tup(te,He,h,I,Be,Me,Pe,ne,Ue)),Ne=t.system(function(e){var n=e[0],i=n.totalCount,a=n.sizeRanges,s=n.fixedItemSize,l=n.defaultItemSize,u=n.trackItemSizes,c=n.itemSize,m=n.data,f=n.firstItemIndex,d=n.groupIndices,p=e[1],h=p.initialTopMostItemIndex,g=p.scrolledToInitialItem,v=e[2],I=e[3],S=e[4],C=S.listState,x=S.topItemsIndexes,w=o(S,["listState","topItemsIndexes"]),T=e[5].scrollToIndex,b=e[7].topItemCount,y=e[8].groupCounts,L=e[9],E=e[10];return t.connect(w.rangeChanged,L.scrollSeekRangeChanged),t.connect(t.pipe(L.windowViewportRect,t.map(t.prop("visibleHeight"))),v.viewportHeight),r({totalCount:i,data:m,firstItemIndex:f,sizeRanges:a,initialTopMostItemIndex:h,scrolledToInitialItem:g,topItemsIndexes:x,topItemCount:b,groupCounts:y,fixedItemHeight:s,defaultItemHeight:l},I,{listState:C,scrollToIndex:T,trackItemSizes:u,itemSize:c,groupIndices:d},w,L,v,E)},t.tup(Z,Se,f,xe,ze,Q,Oe,Fe,Te,Ve,p)),Ge=(Ee=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"},ke=!1,function(){return ke||(ke=!0,Re=Ee()),Re});function Ae(e){return e}var We=t.system(function(){var e=t.statefulStream(function(e){return"Item "+e}),n=t.statefulStream(function(e){return"Group "+e}),r=t.statefulStream({}),o=t.statefulStream(Ae),i=t.statefulStream("div"),a=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{itemContent:e,groupContent:n,components:r,computeItemKey:o,headerFooterTag:i,scrollerRef:a,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 De(e,n){var r=t.stream();return t.subscribe(r,function(){return console.warn("react-virtuoso: You are using a deprecated property. "+n,"color: red;","color: inherit;","color: blue;")}),t.connect(r,e),r}var _e=t.system(function(e){var n=e[0],i=e[1],a={item:De(i.itemContent,"Rename the %citem%c prop to %citemContent."),group:De(i.groupContent,"Rename the %cgroup%c prop to %cgroupContent."),topItems:De(n.topItemCount,"Rename the %ctopItems%c prop to %ctopItemCount."),itemHeight:De(n.fixedItemHeight,"Rename the %citemHeight%c prop to %cfixedItemHeight."),scrollingStateChange:De(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 s(e,n,o){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: "+o+" property is deprecated. Pass components."+n+" instead."),r({},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,s=o(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),t.publish(i.components,r({},t.getValue(i.components),{ScrollSeekPlaceholder:a})),t.publish(n.scrollSeekConfiguration,s)}),s(a.footer,"Footer","footer"),s(a.header,"Header","header"),s(a.ItemContainer,"Item","ItemContainer"),s(a.ListContainer,"List","ListContainer"),s(a.ScrollContainer,"Scroller","ScrollContainer"),s(a.emptyComponent,"EmptyPlaceholder","emptyComponent"),s(a.GroupContainer,"Group","GroupContainer"),r({},n,i,a)},t.tup(Ne,We)),je=function(e){return n.createElement("div",{style:{height:e.height}})},Ke={position:Ge(),zIndex:1},Ye=n.memo(function(e){var t,r,o,i,a=e.showTopList,s=void 0!==a&&a,l=lt("listState"),u=lt("deviation"),c=st("sizeRanges"),m=lt("itemContent"),f=lt("groupContent"),d=lt("trackItemSizes"),p=(t=c,r=lt("itemSize"),o=d,i=lt("log"),he(function(e){var n=function(e,t,n,r){var o=e.length;if(0===o)return null;for(var i=[],a=0;a<o;a++){var s=e.item(a);if(s&&void 0!==s.dataset.index){var l=parseInt(s.dataset.index),u=parseFloat(s.dataset.knownSize),c=t(s,"offsetHeight");if(0===c&&r("Zero-sized element, this should not happen",{child:s},exports.LogLevel.ERROR),c!==u){var m=i[i.length-1];0===i.length||m.size!==c||m.endIndex!==l-1?i.push({startIndex:l,endIndex:l,size:c}):i[i.length-1].endIndex++}}}return i}(e.children,r,0,i);null!==n&&t(n)},o)),h=lt("EmptyPlaceholder"),g=lt("ScrollSeekPlaceholder")||je,v=lt("ListComponent"),I=lt("ItemComponent"),S=lt("GroupComponent"),C=lt("computeItemKey"),x=lt("isSeeking"),w=lt("groupIndices").length>0,T=lt("paddingTopAddition"),b=lt("scrolledToInitialItem"),y=lt("firstItemIndex"),L=s?{}:{boxSizing:"border-box",paddingTop:l.offsetTop+T,paddingBottom:l.offsetBottom,marginTop:u};return!s&&0===l.items.length&&h&&b?n.createElement(h):n.createElement(v,{ref:p,style:L,"data-test-id":s?"virtuoso-top-item-list":"virtuoso-item-list"},(s?l.topItems:l.items).map(function(e){var t=e.originalIndex,r=C(t+y,e.data);return x?n.createElement(g,{key:r,index:e.index,height:e.size}):"group"===e.type?n.createElement(S,{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,style:Ke},f(e.index)):n.createElement(I,{key:r,"data-index":t,"data-known-size":e.size,"data-item-index":e.index,"data-item-group-index":e.groupIndex},w?m(e.index,e.groupIndex,e.data):m(e.index,e.data))}))}),qe={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},Ze={width:"100%",height:"100%",position:"absolute",top:0},$e={width:"100%",position:Ge(),top:0},Je=n.memo(function(){var e=lt("HeaderComponent"),t=st("headerHeight"),r=lt("headerFooterTag"),o=he(function(e){return t(N(e,"height"))});return e?n.createElement(r,{ref:o},n.createElement(e)):null}),Qe=n.memo(function(){var e=lt("FooterComponent"),t=st("footerHeight"),r=lt("headerFooterTag"),o=he(function(e){return t(N(e,"height"))});return e?n.createElement(r,{ref:o},n.createElement(e)):null});function Xe(e){var t=e.usePublisher,i=e.useEmitter,a=e.useEmitterValue;return n.memo(function(e){var s=e.style,l=e.children,u=o(e,["style","children"]),c=t("scrollTop"),m=a("ScrollerComponent"),f=Ie(c,t("smoothScrollTargetReached"),m,a("scrollerRef")),d=f.scrollerRef,p=f.scrollByCallback;return i("scrollTo",f.scrollToCallback),i("scrollBy",p),n.createElement(m,r({ref:d,style:r({},qe,s),tabIndex:0},u),l)})}function et(e){var t=e.usePublisher,i=e.useEmitter,a=e.useEmitterValue;return n.memo(function(e){var s=e.style,l=e.children,u=o(e,["style","children"]),c=t("windowScrollTop"),m=a("ScrollerComponent"),f=t("smoothScrollTargetReached"),d=a("totalListHeight"),p=Ie(c,f,m),h=p.scrollerRef,g=p.scrollByCallback,v=p.scrollToCallback;return ve(function(){return h.current=window,function(){h.current=null}},[h]),i("windowScrollTo",v),i("scrollBy",g),n.createElement(m,r({style:r({position:"relative"},s,0!==d?{height:d}:{})},u),l)})}var tt=function(e){var r=e.children,o=st("viewportHeight"),i=he(t.compose(o,function(e){return N(e,"height")}));return n.createElement("div",{style:Ze,ref:i},r)},nt=function(e){var t=e.children,r=ge(st("windowViewportRect"));return n.createElement("div",{ref:r,style:Ze},t)},rt=function(e){var t=e.children,o=lt("TopItemListComponent"),i=lt("headerHeight"),a=r({},$e,{marginTop:i+"px"});return n.createElement(o||"div",{style:a},t)},ot=n.memo(function(e){var t=lt("useWindowScroll"),o=lt("topItemsIndexes").length>0,i=t?nt:tt;return n.createElement(t?mt:ct,r({},e),n.createElement(i,null,n.createElement(Je,null),n.createElement(Ye,null),n.createElement(Qe,null)),o&&n.createElement(rt,null,n.createElement(Ye,{showTopList:!0})))}),it=e.systemToComponent(_e,{required:{},optional:{followOutput:"followOutput",firstItemIndex:"firstItemIndex",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",totalCount:"totalCount",topItemCount:"topItemCount",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",groupCounts:"groupCounts",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedItemHeight:"fixedItemHeight",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",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"}},ot),at=it.Component,st=it.usePublisher,lt=it.useEmitterValue,ut=it.useEmitter,ct=Xe({usePublisher:st,useEmitterValue:lt,useEmitter:ut}),mt=et({usePublisher:st,useEmitterValue:lt,useEmitter:ut}),ft=t.system(function(){var e=t.statefulStream(function(e){return"Item "+e}),n=t.statefulStream({}),r=t.statefulStream("virtuoso-grid-item"),o=t.statefulStream("virtuoso-grid-list"),i=t.statefulStream(Ae),a=t.statefulStream(t.noop),s=function(e,r){return void 0===r&&(r=null),t.statefulStreamFromEmitter(t.pipe(n,t.map(function(t){return t[e]}),t.distinctUntilChanged()),r)};return{itemContent:e,components:n,computeItemKey:i,itemClassName:r,listClassName:o,scrollerRef:a,ListComponent:s("List","div"),ItemComponent:s("Item","div"),ScrollerComponent:s("Scroller","div"),ScrollSeekPlaceholder:s("ScrollSeekPlaceholder","div")}}),dt=t.system(function(e){var n=e[0],i=e[1],a={item:De(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 s(e,n,o){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: "+o+" property is deprecated. Pass components."+n+" instead."),r({},a,((t={})[n]=i,t))})),i.components)}return t.subscribe(a.scrollSeek,function(e){var a=e.placeholder,s=o(e,["placeholder"]);console.warn("react-virtuoso: scrollSeek property is deprecated. Pass scrollSeekConfiguration and specify the placeholder in components.ScrollSeekPlaceholder instead."),t.publish(i.components,r({},t.getValue(i.components),{ScrollSeekPlaceholder:a})),t.publish(n.scrollSeekConfiguration,s)}),s(a.ItemContainer,"Item","ItemContainer"),s(a.ListContainer,"List","ListContainer"),s(a.ScrollContainer,"Scroller","ScrollContainer"),r({},n,i,a)},t.tup(me,ft)),pt=n.memo(function(){var e=xt("gridState"),t=xt("listClassName"),r=xt("itemClassName"),o=xt("itemContent"),i=xt("computeItemKey"),a=xt("isSeeking"),s=xt("ItemComponent"),l=xt("ListComponent"),u=xt("ScrollSeekPlaceholder"),c=Ct("itemDimensions"),m=he(function(e){var t=e.firstChild;t&&c(t.getBoundingClientRect())});return n.createElement(l,{ref:m,className:t,style:{paddingTop:e.offsetTop,paddingBottom:e.offsetBottom}},e.items.map(function(t){var l=i(t.index);return a?n.createElement(u,{key:l,style:{height:e.itemHeight,width:e.itemWidth}}):n.createElement(s,{className:r,"data-index":t.index,key:l},o(t.index))}))}),ht=function(e){var t=e.children,r=Ct("viewportDimensions"),o=he(function(e){r(e.getBoundingClientRect())});return n.createElement("div",{style:Ze,ref:o},t)},gt=function(e){var t=e.children,r=ge(Ct("windowViewportRect"));return n.createElement("div",{ref:r,style:Ze},t)},vt=n.memo(function(e){var t=r({},e),o=xt("useWindowScroll"),i=o?gt:ht;return n.createElement(o?bt:Tt,r({},t),n.createElement(i,null,n.createElement(pt,null)))}),It=e.systemToComponent(dt,{optional:{totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",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"}},vt),St=It.Component,Ct=It.usePublisher,xt=It.useEmitterValue,wt=It.useEmitter,Tt=Xe({usePublisher:Ct,useEmitterValue:xt,useEmitter:wt}),bt=et({usePublisher:Ct,useEmitterValue:xt,useEmitter:wt}),yt=at,Lt=St;exports.GroupedVirtuoso=at,exports.Virtuoso=yt,exports.VirtuosoGrid=Lt;
2
2
  //# sourceMappingURL=index.js.map