@tanstack/solid-virtual 3.0.0-beta.45 → 3.0.0-beta.47

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.
@@ -127,20 +127,32 @@
127
127
  if (!element) {
128
128
  return;
129
129
  }
130
- var handler = function handler() {
131
- var _element$getBoundingC = element.getBoundingClientRect(),
132
- width = _element$getBoundingC.width,
133
- height = _element$getBoundingC.height;
130
+ var handler = function handler(rect) {
131
+ var width = rect.width,
132
+ height = rect.height;
134
133
  cb({
135
134
  width: Math.round(width),
136
135
  height: Math.round(height)
137
136
  });
138
137
  };
139
- handler();
140
- var observer = new ResizeObserver(function () {
141
- handler();
138
+ handler(element.getBoundingClientRect());
139
+ var observer = new ResizeObserver(function (entries) {
140
+ var entry = entries[0];
141
+ if (entry) {
142
+ var box = entry.borderBoxSize[0];
143
+ if (box) {
144
+ handler({
145
+ width: box.inlineSize,
146
+ height: box.blockSize
147
+ });
148
+ return;
149
+ }
150
+ }
151
+ handler(element.getBoundingClientRect());
152
+ });
153
+ observer.observe(element, {
154
+ box: 'border-box'
142
155
  });
143
- observer.observe(element);
144
156
  return function () {
145
157
  observer.unobserve(element);
146
158
  };
@@ -196,7 +208,14 @@
196
208
  element.removeEventListener('scroll', handler);
197
209
  };
198
210
  };
199
- var measureElement = function measureElement(element, instance) {
211
+ var measureElement = function measureElement(element, entry, instance) {
212
+ if (entry) {
213
+ var box = entry.borderBoxSize[0];
214
+ if (box) {
215
+ var size = Math.round(box[instance.options.horizontal ? 'inlineSize' : 'blockSize']);
216
+ return size;
217
+ }
218
+ }
200
219
  return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);
201
220
  };
202
221
  var windowScroll = function windowScroll(offset, _ref, instance) {
@@ -223,26 +242,42 @@
223
242
  this.isScrollingTimeoutId = null;
224
243
  this.scrollToIndexTimeoutId = null;
225
244
  this.measurementsCache = [];
226
- this.itemSizeCache = {};
245
+ this.itemSizeCache = new Map();
227
246
  this.pendingMeasuredCacheIndexes = [];
228
247
  this.scrollDirection = null;
229
248
  this.scrollAdjustments = 0;
230
- this.measureElementCache = {};
231
- this.getResizeObserver = function () {
249
+ this.measureElementCache = new Map();
250
+ this.observer = function () {
232
251
  var _ro = null;
233
- return function () {
252
+ var get = function get() {
234
253
  if (_ro) {
235
254
  return _ro;
236
255
  } else if (typeof ResizeObserver !== 'undefined') {
237
256
  return _ro = new ResizeObserver(function (entries) {
238
257
  entries.forEach(function (entry) {
239
- _this._measureElement(entry.target, false);
258
+ _this._measureElement(entry.target, entry);
240
259
  });
241
260
  });
242
261
  } else {
243
262
  return null;
244
263
  }
245
264
  };
265
+ return {
266
+ disconnect: function disconnect() {
267
+ var _get;
268
+ return (_get = get()) == null ? void 0 : _get.disconnect();
269
+ },
270
+ observe: function observe(target) {
271
+ var _get2;
272
+ return (_get2 = get()) == null ? void 0 : _get2.observe(target, {
273
+ box: 'border-box'
274
+ });
275
+ },
276
+ unobserve: function unobserve(target) {
277
+ var _get3;
278
+ return (_get3 = get()) == null ? void 0 : _get3.unobserve(target);
279
+ }
280
+ };
246
281
  }();
247
282
  this.range = {
248
283
  startIndex: 0,
@@ -288,12 +323,9 @@
288
323
  _this.scrollElement = null;
289
324
  };
290
325
  this._didMount = function () {
291
- var ro = _this.getResizeObserver();
292
- Object.values(_this.measureElementCache).forEach(function (node) {
293
- return ro == null ? void 0 : ro.observe(node);
294
- });
326
+ _this.measureElementCache.forEach(_this.observer.observe);
295
327
  return function () {
296
- ro == null ? void 0 : ro.disconnect();
328
+ _this.observer.disconnect();
297
329
  _this.cleanup();
298
330
  };
299
331
  };
@@ -346,7 +378,7 @@
346
378
  var measurements = _this.measurementsCache.slice(0, min);
347
379
  for (var _i2 = min; _i2 < count; _i2++) {
348
380
  var key = getItemKey(_i2);
349
- var measuredSize = itemSizeCache[key];
381
+ var measuredSize = itemSizeCache.get(key);
350
382
  var start = measurements[_i2 - 1] ? measurements[_i2 - 1].end : paddingStart + scrollMargin;
351
383
  var size = typeof measuredSize === 'number' ? measuredSize : _this.options.estimateSize(_i2);
352
384
  var end = start + size;
@@ -413,39 +445,32 @@
413
445
  }
414
446
  return parseInt(indexStr, 10);
415
447
  };
416
- this._measureElement = function (node, sync) {
417
- var _this$itemSizeCache$i;
448
+ this._measureElement = function (node, entry) {
449
+ var _this$itemSizeCache$g;
418
450
  var index = _this.indexFromElement(node);
419
451
  var item = _this.measurementsCache[index];
420
452
  if (!item) {
421
453
  return;
422
454
  }
423
- var prevNode = _this.measureElementCache[item.key];
424
- var ro = _this.getResizeObserver();
455
+ var prevNode = _this.measureElementCache.get(item.key);
425
456
  if (!node.isConnected) {
426
- ro == null ? void 0 : ro.unobserve(node);
457
+ _this.observer.unobserve(node);
427
458
  if (node === prevNode) {
428
- delete _this.measureElementCache[item.key];
459
+ _this.measureElementCache["delete"](item.key);
429
460
  }
430
461
  return;
431
462
  }
432
463
  if (prevNode !== node) {
433
464
  if (prevNode) {
434
- ro == null ? void 0 : ro.unobserve(prevNode);
435
- }
436
- ro == null ? void 0 : ro.observe(node);
437
- _this.measureElementCache[item.key] = node;
438
- } else {
439
- if (!sync && !prevNode.__virtualizerSkipFirstNotSync) {
440
- prevNode.__virtualizerSkipFirstNotSync = true;
441
- return;
465
+ _this.observer.unobserve(prevNode);
442
466
  }
467
+ _this.observer.observe(node);
468
+ _this.measureElementCache.set(item.key, node);
443
469
  }
444
- var measuredItemSize = _this.options.measureElement(node, _this);
445
- var itemSize = (_this$itemSizeCache$i = _this.itemSizeCache[item.key]) != null ? _this$itemSizeCache$i : item.size;
470
+ var measuredItemSize = _this.options.measureElement(node, entry, _this);
471
+ var itemSize = (_this$itemSizeCache$g = _this.itemSizeCache.get(item.key)) != null ? _this$itemSizeCache$g : item.size;
446
472
  var delta = measuredItemSize - itemSize;
447
473
  if (delta !== 0) {
448
- var _extends2;
449
474
  if (item.start < _this.scrollOffset) {
450
475
  if (_this.options.debug) {
451
476
  console.info('correction', delta);
@@ -456,7 +481,7 @@
456
481
  });
457
482
  }
458
483
  _this.pendingMeasuredCacheIndexes.push(index);
459
- _this.itemSizeCache = _extends({}, _this.itemSizeCache, (_extends2 = {}, _extends2[item.key] = measuredItemSize, _extends2));
484
+ _this.itemSizeCache = new Map(_this.itemSizeCache.set(item.key, measuredItemSize));
460
485
  _this.notify();
461
486
  }
462
487
  };
@@ -464,7 +489,7 @@
464
489
  if (!node) {
465
490
  return;
466
491
  }
467
- _this._measureElement(node, true);
492
+ _this._measureElement(node, undefined);
468
493
  };
469
494
  this.getVirtualItems = memo(function () {
470
495
  return [_this.getIndexes(), _this.getMeasurements()];
@@ -524,7 +549,7 @@
524
549
  return [_this.getOffsetForAlignment(toOffset, align), align];
525
550
  };
526
551
  this.isDynamicMode = function () {
527
- return Object.keys(_this.measureElementCache).length > 0;
552
+ return _this.measureElementCache.size > 0;
528
553
  };
529
554
  this.cancelScrollToIndex = function () {
530
555
  if (_this.scrollToIndexTimeoutId !== null) {
@@ -566,7 +591,7 @@
566
591
  if (behavior !== 'smooth' && _this.isDynamicMode()) {
567
592
  _this.scrollToIndexTimeoutId = setTimeout(function () {
568
593
  _this.scrollToIndexTimeoutId = null;
569
- var elementInDOM = !!_this.measureElementCache[_this.options.getItemKey(index)];
594
+ var elementInDOM = _this.measureElementCache.has(_this.options.getItemKey(index));
570
595
  if (elementInDOM) {
571
596
  var _this$getOffsetForInd2 = _this.getOffsetForIndex(index, align),
572
597
  _toOffset = _this$getOffsetForInd2[0];
@@ -610,7 +635,7 @@
610
635
  }, _this);
611
636
  };
612
637
  this.measure = function () {
613
- _this.itemSizeCache = {};
638
+ _this.itemSizeCache = new Map();
614
639
  _this.notify();
615
640
  };
616
641
  this.setOptions(_opts);
@@ -618,7 +643,7 @@
618
643
  this.scrollOffset = this.options.initialOffset;
619
644
  this.measurementsCache = this.options.initialMeasurementsCache;
620
645
  this.measurementsCache.forEach(function (item) {
621
- _this.itemSizeCache[item.key] = item.size;
646
+ _this.itemSizeCache.set(item.key, item.size);
622
647
  });
623
648
  this.maybeNotify();
624
649
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.development.js","sources":["../../../virtual-core/build/lib/_virtual/_rollupPluginBabelHelpers.mjs","../../../virtual-core/build/lib/utils.mjs","../../../virtual-core/build/lib/index.mjs","../../src/index.tsx"],"sourcesContent":["/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nexport { _extends as extends };\n//# sourceMappingURL=_rollupPluginBabelHelpers.mjs.map\n","/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction memo(getDeps, fn, opts) {\n var _opts$initialDeps;\n var deps = (_opts$initialDeps = opts.initialDeps) != null ? _opts$initialDeps : [];\n var result;\n return function () {\n var depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n var newDeps = getDeps();\n var depsChanged = newDeps.length !== deps.length || newDeps.some(function (dep, index) {\n return deps[index] !== dep;\n });\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n var resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn.apply(void 0, newDeps);\n if (opts.key && opts.debug != null && opts.debug()) {\n var depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n var resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n var resultFpsPercentage = resultEndTime / 16;\n var pad = function pad(str, num) {\n str = String(str);\n while (str.length < num) {\n str = ' ' + str;\n }\n return str;\n };\n console.info(\"%c\\u23F1 \" + pad(resultEndTime, 5) + \" /\" + pad(depEndTime, 5) + \" ms\", \"\\n font-size: .6rem;\\n font-weight: bold;\\n color: hsl(\" + Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120)) + \"deg 100% 31%);\", opts == null ? void 0 : opts.key);\n }\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\n return result;\n };\n}\nfunction notUndefined(value, msg) {\n if (value === undefined) {\n throw new Error(\"Unexpected undefined\" + (msg ? \": \" + msg : ''));\n } else {\n return value;\n }\n}\nvar approxEqual = function approxEqual(a, b) {\n return Math.abs(a - b) < 1;\n};\n\nexport { approxEqual, memo, notUndefined };\n//# sourceMappingURL=utils.mjs.map\n","/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { extends as _extends } from './_virtual/_rollupPluginBabelHelpers.mjs';\nimport { memo, notUndefined, approxEqual } from './utils.mjs';\nexport { approxEqual, memo, notUndefined } from './utils.mjs';\n\n//\n\n//\n\nvar defaultKeyExtractor = function defaultKeyExtractor(index) {\n return index;\n};\nvar defaultRangeExtractor = function defaultRangeExtractor(range) {\n var start = Math.max(range.startIndex - range.overscan, 0);\n var end = Math.min(range.endIndex + range.overscan, range.count - 1);\n var arr = [];\n for (var _i = start; _i <= end; _i++) {\n arr.push(_i);\n }\n return arr;\n};\nvar observeElementRect = function observeElementRect(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n var _element$getBoundingC = element.getBoundingClientRect(),\n width = _element$getBoundingC.width,\n height = _element$getBoundingC.height;\n cb({\n width: Math.round(width),\n height: Math.round(height)\n });\n };\n handler();\n var observer = new ResizeObserver(function () {\n handler();\n });\n observer.observe(element);\n return function () {\n observer.unobserve(element);\n };\n};\nvar observeWindowRect = function observeWindowRect(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb({\n width: element.innerWidth,\n height: element.innerHeight\n });\n };\n handler();\n element.addEventListener('resize', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('resize', handler);\n };\n};\nvar observeElementOffset = function observeElementOffset(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb(element[instance.options.horizontal ? 'scrollLeft' : 'scrollTop']);\n };\n handler();\n element.addEventListener('scroll', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', handler);\n };\n};\nvar observeWindowOffset = function observeWindowOffset(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb(element[instance.options.horizontal ? 'scrollX' : 'scrollY']);\n };\n handler();\n element.addEventListener('scroll', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', handler);\n };\n};\nvar measureElement = function measureElement(element, instance) {\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nvar windowScroll = function windowScroll(offset, _ref, instance) {\n var _instance$scrollEleme, _instance$scrollEleme2;\n var _ref$adjustments = _ref.adjustments,\n adjustments = _ref$adjustments === void 0 ? 0 : _ref$adjustments,\n behavior = _ref.behavior;\n var toOffset = offset + adjustments;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo == null ? void 0 : _instance$scrollEleme.scrollTo((_instance$scrollEleme2 = {}, _instance$scrollEleme2[instance.options.horizontal ? 'left' : 'top'] = toOffset, _instance$scrollEleme2.behavior = behavior, _instance$scrollEleme2));\n};\nvar elementScroll = function elementScroll(offset, _ref2, instance) {\n var _instance$scrollEleme3, _instance$scrollEleme4;\n var _ref2$adjustments = _ref2.adjustments,\n adjustments = _ref2$adjustments === void 0 ? 0 : _ref2$adjustments,\n behavior = _ref2.behavior;\n var toOffset = offset + adjustments;\n (_instance$scrollEleme3 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme3.scrollTo == null ? void 0 : _instance$scrollEleme3.scrollTo((_instance$scrollEleme4 = {}, _instance$scrollEleme4[instance.options.horizontal ? 'left' : 'top'] = toOffset, _instance$scrollEleme4.behavior = behavior, _instance$scrollEleme4));\n};\nvar Virtualizer = function Virtualizer(_opts) {\n var _this = this;\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.scrollToIndexTimeoutId = null;\n this.measurementsCache = [];\n this.itemSizeCache = {};\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.measureElementCache = {};\n this.getResizeObserver = function () {\n var _ro = null;\n return function () {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n _this._measureElement(entry.target, false);\n });\n });\n } else {\n return null;\n }\n };\n }();\n this.range = {\n startIndex: 0,\n endIndex: 0\n };\n this.setOptions = function (opts) {\n Object.entries(opts).forEach(function (_ref3) {\n var key = _ref3[0],\n value = _ref3[1];\n if (typeof value === 'undefined') delete opts[key];\n });\n _this.options = _extends({\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: function onChange() {},\n measureElement: measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n initialMeasurementsCache: []\n }, opts);\n };\n this.notify = function () {\n _this.options.onChange == null ? void 0 : _this.options.onChange(_this);\n };\n this.cleanup = function () {\n _this.unsubs.filter(Boolean).forEach(function (d) {\n return d();\n });\n _this.unsubs = [];\n _this.scrollElement = null;\n };\n this._didMount = function () {\n var ro = _this.getResizeObserver();\n Object.values(_this.measureElementCache).forEach(function (node) {\n return ro == null ? void 0 : ro.observe(node);\n });\n return function () {\n ro == null ? void 0 : ro.disconnect();\n _this.cleanup();\n };\n };\n this._willUpdate = function () {\n var scrollElement = _this.options.getScrollElement();\n if (_this.scrollElement !== scrollElement) {\n _this.cleanup();\n _this.scrollElement = scrollElement;\n _this._scrollToOffset(_this.scrollOffset, {\n adjustments: undefined,\n behavior: undefined\n });\n _this.unsubs.push(_this.options.observeElementRect(_this, function (rect) {\n var prev = _this.scrollRect;\n _this.scrollRect = rect;\n if (_this.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n _this.maybeNotify();\n }\n }));\n _this.unsubs.push(_this.options.observeElementOffset(_this, function (offset) {\n _this.scrollAdjustments = 0;\n if (_this.scrollOffset === offset) {\n return;\n }\n if (_this.isScrollingTimeoutId !== null) {\n clearTimeout(_this.isScrollingTimeoutId);\n _this.isScrollingTimeoutId = null;\n }\n _this.isScrolling = true;\n _this.scrollDirection = _this.scrollOffset < offset ? 'forward' : 'backward';\n _this.scrollOffset = offset;\n _this.maybeNotify();\n _this.isScrollingTimeoutId = setTimeout(function () {\n _this.isScrollingTimeoutId = null;\n _this.isScrolling = false;\n _this.scrollDirection = null;\n _this.maybeNotify();\n }, _this.options.scrollingDelay);\n }));\n }\n };\n this.getSize = function () {\n return _this.scrollRect[_this.options.horizontal ? 'width' : 'height'];\n };\n this.getMeasurements = memo(function () {\n return [_this.options.count, _this.options.paddingStart, _this.options.scrollMargin, _this.options.getItemKey, _this.itemSizeCache];\n }, function (count, paddingStart, scrollMargin, getItemKey, itemSizeCache) {\n var min = _this.pendingMeasuredCacheIndexes.length > 0 ? Math.min.apply(Math, _this.pendingMeasuredCacheIndexes) : 0;\n _this.pendingMeasuredCacheIndexes = [];\n var measurements = _this.measurementsCache.slice(0, min);\n for (var _i2 = min; _i2 < count; _i2++) {\n var key = getItemKey(_i2);\n var measuredSize = itemSizeCache[key];\n var start = measurements[_i2 - 1] ? measurements[_i2 - 1].end : paddingStart + scrollMargin;\n var size = typeof measuredSize === 'number' ? measuredSize : _this.options.estimateSize(_i2);\n var end = start + size;\n measurements[_i2] = {\n index: _i2,\n start: start,\n size: size,\n end: end,\n key: key\n };\n }\n _this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.calculateRange = memo(function () {\n return [_this.getMeasurements(), _this.getSize(), _this.scrollOffset];\n }, function (measurements, outerSize, scrollOffset) {\n return _this.range = calculateRange({\n measurements: measurements,\n outerSize: outerSize,\n scrollOffset: scrollOffset\n });\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.maybeNotify = memo(function () {\n return [].concat(Object.values(_this.calculateRange()), [_this.isScrolling]);\n }, function () {\n _this.notify();\n }, {\n key: process.env.NODE_ENV !== 'production' && 'maybeNotify',\n debug: function debug() {\n return _this.options.debug;\n },\n initialDeps: [].concat(Object.values(this.range), [this.isScrolling])\n });\n this.getIndexes = memo(function () {\n return [_this.options.rangeExtractor, _this.calculateRange(), _this.options.overscan, _this.options.count];\n }, function (rangeExtractor, range, overscan, count) {\n return rangeExtractor(_extends({}, range, {\n overscan: overscan,\n count: count\n }));\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.indexFromElement = function (node) {\n var attributeName = _this.options.indexAttribute;\n var indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = function (node, sync) {\n var _this$itemSizeCache$i;\n var index = _this.indexFromElement(node);\n var item = _this.measurementsCache[index];\n if (!item) {\n return;\n }\n var prevNode = _this.measureElementCache[item.key];\n var ro = _this.getResizeObserver();\n if (!node.isConnected) {\n ro == null ? void 0 : ro.unobserve(node);\n if (node === prevNode) {\n delete _this.measureElementCache[item.key];\n }\n return;\n }\n if (prevNode !== node) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n }\n ro == null ? void 0 : ro.observe(node);\n _this.measureElementCache[item.key] = node;\n } else {\n if (!sync && !prevNode.__virtualizerSkipFirstNotSync) {\n prevNode.__virtualizerSkipFirstNotSync = true;\n return;\n }\n }\n var measuredItemSize = _this.options.measureElement(node, _this);\n var itemSize = (_this$itemSizeCache$i = _this.itemSizeCache[item.key]) != null ? _this$itemSizeCache$i : item.size;\n var delta = measuredItemSize - itemSize;\n if (delta !== 0) {\n var _extends2;\n if (item.start < _this.scrollOffset) {\n if (process.env.NODE_ENV !== 'production' && _this.options.debug) {\n console.info('correction', delta);\n }\n _this._scrollToOffset(_this.scrollOffset, {\n adjustments: _this.scrollAdjustments += delta,\n behavior: undefined\n });\n }\n _this.pendingMeasuredCacheIndexes.push(index);\n _this.itemSizeCache = _extends({}, _this.itemSizeCache, (_extends2 = {}, _extends2[item.key] = measuredItemSize, _extends2));\n _this.notify();\n }\n };\n this.measureElement = function (node) {\n if (!node) {\n return;\n }\n _this._measureElement(node, true);\n };\n this.getVirtualItems = memo(function () {\n return [_this.getIndexes(), _this.getMeasurements()];\n }, function (indexes, measurements) {\n var virtualItems = [];\n for (var k = 0, len = indexes.length; k < len; k++) {\n var _i3 = indexes[k];\n var measurement = measurements[_i3];\n virtualItems.push(measurement);\n }\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.getOffsetForAlignment = function (toOffset, align) {\n var size = _this.getSize();\n if (align === 'auto') {\n if (toOffset <= _this.scrollOffset) {\n align = 'start';\n } else if (toOffset >= _this.scrollOffset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n if (align === 'start') {\n toOffset = toOffset;\n } else if (align === 'end') {\n toOffset = toOffset - size;\n } else if (align === 'center') {\n toOffset = toOffset - size / 2;\n }\n var scrollSizeProp = _this.options.horizontal ? 'scrollWidth' : 'scrollHeight';\n var scrollSize = _this.scrollElement ? 'document' in _this.scrollElement ? _this.scrollElement.document.documentElement[scrollSizeProp] : _this.scrollElement[scrollSizeProp] : 0;\n var maxOffset = scrollSize - _this.getSize();\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = function (index, align) {\n if (align === void 0) {\n align = 'auto';\n }\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n var measurement = notUndefined(_this.getMeasurements()[index]);\n if (align === 'auto') {\n if (measurement.end >= _this.scrollOffset + _this.getSize() - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= _this.scrollOffset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return [_this.scrollOffset, align];\n }\n }\n var toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n return [_this.getOffsetForAlignment(toOffset, align), align];\n };\n this.isDynamicMode = function () {\n return Object.keys(_this.measureElementCache).length > 0;\n };\n this.cancelScrollToIndex = function () {\n if (_this.scrollToIndexTimeoutId !== null) {\n clearTimeout(_this.scrollToIndexTimeoutId);\n _this.scrollToIndexTimeoutId = null;\n }\n };\n this.scrollToOffset = function (toOffset, _temp) {\n var _ref4 = _temp === void 0 ? {} : _temp,\n _ref4$align = _ref4.align,\n align = _ref4$align === void 0 ? 'start' : _ref4$align,\n behavior = _ref4.behavior;\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n _this._scrollToOffset(_this.getOffsetForAlignment(toOffset, align), {\n adjustments: undefined,\n behavior: behavior\n });\n };\n this.scrollToIndex = function (index, _temp2) {\n var _ref5 = _temp2 === void 0 ? {} : _temp2,\n _ref5$align = _ref5.align,\n initialAlign = _ref5$align === void 0 ? 'auto' : _ref5$align,\n behavior = _ref5.behavior;\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n var _this$getOffsetForInd = _this.getOffsetForIndex(index, initialAlign),\n toOffset = _this$getOffsetForInd[0],\n align = _this$getOffsetForInd[1];\n _this._scrollToOffset(toOffset, {\n adjustments: undefined,\n behavior: behavior\n });\n if (behavior !== 'smooth' && _this.isDynamicMode()) {\n _this.scrollToIndexTimeoutId = setTimeout(function () {\n _this.scrollToIndexTimeoutId = null;\n var elementInDOM = !!_this.measureElementCache[_this.options.getItemKey(index)];\n if (elementInDOM) {\n var _this$getOffsetForInd2 = _this.getOffsetForIndex(index, align),\n _toOffset = _this$getOffsetForInd2[0];\n if (!approxEqual(_toOffset, _this.scrollOffset)) {\n _this.scrollToIndex(index, {\n align: align,\n behavior: behavior\n });\n }\n } else {\n _this.scrollToIndex(index, {\n align: align,\n behavior: behavior\n });\n }\n });\n }\n };\n this.scrollBy = function (delta, _temp3) {\n var _ref6 = _temp3 === void 0 ? {} : _temp3,\n behavior = _ref6.behavior;\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n _this._scrollToOffset(_this.scrollOffset + delta, {\n adjustments: undefined,\n behavior: behavior\n });\n };\n this.getTotalSize = function () {\n var _this$getMeasurements;\n return (((_this$getMeasurements = _this.getMeasurements()[_this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || _this.options.paddingStart) - _this.options.scrollMargin + _this.options.paddingEnd;\n };\n this._scrollToOffset = function (offset, _ref7) {\n var adjustments = _ref7.adjustments,\n behavior = _ref7.behavior;\n _this.options.scrollToFn(offset, {\n behavior: behavior,\n adjustments: adjustments\n }, _this);\n };\n this.measure = function () {\n _this.itemSizeCache = {};\n _this.notify();\n };\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach(function (item) {\n _this.itemSizeCache[item.key] = item.size;\n });\n this.maybeNotify();\n};\nvar findNearestBinarySearch = function findNearestBinarySearch(low, high, getCurrentValue, value) {\n while (low <= high) {\n var middle = (low + high) / 2 | 0;\n var currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange(_ref8) {\n var measurements = _ref8.measurements,\n outerSize = _ref8.outerSize,\n scrollOffset = _ref8.scrollOffset;\n var count = measurements.length - 1;\n var getOffset = function getOffset(index) {\n return measurements[index].start;\n };\n var startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n var endIndex = startIndex;\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n return {\n startIndex: startIndex,\n endIndex: endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.mjs.map\n","import {\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n PartialKeys,\n Virtualizer,\n VirtualizerOptions,\n windowScroll,\n} from '@tanstack/virtual-core'\nexport * from '@tanstack/virtual-core'\n\nimport {\n createSignal,\n onMount,\n onCleanup,\n createComputed,\n mergeProps,\n} from 'solid-js'\nimport { createStore, reconcile } from 'solid-js/store'\n\nfunction createVirtualizerBase<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n>(\n options: VirtualizerOptions<TScrollElement, TItemElement>,\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> =\n mergeProps(options)\n\n const instance = new Virtualizer<TScrollElement, TItemElement>(\n resolvedOptions,\n )\n\n const [virtualItems, setVirtualItems] = createStore(\n instance.getVirtualItems(),\n )\n const [totalSize, setTotalSize] = createSignal(instance.getTotalSize())\n\n const handler = {\n get(\n target: Virtualizer<TScrollElement, TItemElement>,\n prop: keyof Virtualizer<TScrollElement, TItemElement>,\n ) {\n switch (prop) {\n case 'getVirtualItems':\n return () => virtualItems\n case 'getTotalSize':\n return () => totalSize()\n default:\n return Reflect.get(target, prop)\n }\n },\n }\n\n const virtualizer = new Proxy(instance, handler)\n virtualizer.setOptions(resolvedOptions)\n\n onMount(() => {\n const cleanup = virtualizer._didMount()\n virtualizer._willUpdate()\n onCleanup(cleanup)\n })\n\n createComputed(() => {\n virtualizer.setOptions(\n mergeProps(resolvedOptions, options, {\n onChange: (instance: Virtualizer<TScrollElement, TItemElement>) => {\n instance._willUpdate()\n setVirtualItems(\n reconcile(instance.getVirtualItems(), {\n key: 'index',\n }),\n )\n setTotalSize(instance.getTotalSize())\n options.onChange?.(instance)\n },\n }),\n )\n virtualizer.measure()\n })\n\n return virtualizer\n}\n\nexport function createVirtualizer<\n TScrollElement extends Element,\n TItemElement extends Element,\n>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >,\n): Virtualizer<TScrollElement, TItemElement> {\n return createVirtualizerBase<TScrollElement, TItemElement>(\n mergeProps(\n {\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll,\n },\n options,\n ),\n )\n}\n\nexport function createWindowVirtualizer<TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<Window, TItemElement>,\n | 'getScrollElement'\n | 'observeElementRect'\n | 'observeElementOffset'\n | 'scrollToFn'\n >,\n): Virtualizer<Window, TItemElement> {\n return createVirtualizerBase<Window, TItemElement>(\n mergeProps(\n {\n getScrollElement: () =>\n typeof window !== 'undefined' ? window : null!,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n },\n options,\n ),\n )\n}\n"],"names":["createVirtualizerBase","options","resolvedOptions","mergeProps","instance","Virtualizer","createStore","getVirtualItems","virtualItems","setVirtualItems","createSignal","getTotalSize","totalSize","setTotalSize","handler","get","target","prop","Reflect","virtualizer","Proxy","setOptions","onMount","cleanup","_didMount","_willUpdate","onCleanup","createComputed","onChange","reconcile","key","measure","createVirtualizer","observeElementRect","observeElementOffset","scrollToFn","elementScroll","createWindowVirtualizer","getScrollElement","window","observeWindowRect","observeWindowOffset","windowScroll"],"mappings":"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"}
1
+ {"version":3,"file":"index.development.js","sources":["../../../virtual-core/build/lib/_virtual/_rollupPluginBabelHelpers.mjs","../../../virtual-core/build/lib/utils.mjs","../../../virtual-core/build/lib/index.mjs","../../src/index.tsx"],"sourcesContent":["/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nexport { _extends as extends };\n//# sourceMappingURL=_rollupPluginBabelHelpers.mjs.map\n","/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction memo(getDeps, fn, opts) {\n var _opts$initialDeps;\n var deps = (_opts$initialDeps = opts.initialDeps) != null ? _opts$initialDeps : [];\n var result;\n return function () {\n var depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n var newDeps = getDeps();\n var depsChanged = newDeps.length !== deps.length || newDeps.some(function (dep, index) {\n return deps[index] !== dep;\n });\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n var resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn.apply(void 0, newDeps);\n if (opts.key && opts.debug != null && opts.debug()) {\n var depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n var resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n var resultFpsPercentage = resultEndTime / 16;\n var pad = function pad(str, num) {\n str = String(str);\n while (str.length < num) {\n str = ' ' + str;\n }\n return str;\n };\n console.info(\"%c\\u23F1 \" + pad(resultEndTime, 5) + \" /\" + pad(depEndTime, 5) + \" ms\", \"\\n font-size: .6rem;\\n font-weight: bold;\\n color: hsl(\" + Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120)) + \"deg 100% 31%);\", opts == null ? void 0 : opts.key);\n }\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\n return result;\n };\n}\nfunction notUndefined(value, msg) {\n if (value === undefined) {\n throw new Error(\"Unexpected undefined\" + (msg ? \": \" + msg : ''));\n } else {\n return value;\n }\n}\nvar approxEqual = function approxEqual(a, b) {\n return Math.abs(a - b) < 1;\n};\n\nexport { approxEqual, memo, notUndefined };\n//# sourceMappingURL=utils.mjs.map\n","/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { extends as _extends } from './_virtual/_rollupPluginBabelHelpers.mjs';\nimport { memo, notUndefined, approxEqual } from './utils.mjs';\nexport { approxEqual, memo, notUndefined } from './utils.mjs';\n\n//\n\n//\n\nvar defaultKeyExtractor = function defaultKeyExtractor(index) {\n return index;\n};\nvar defaultRangeExtractor = function defaultRangeExtractor(range) {\n var start = Math.max(range.startIndex - range.overscan, 0);\n var end = Math.min(range.endIndex + range.overscan, range.count - 1);\n var arr = [];\n for (var _i = start; _i <= end; _i++) {\n arr.push(_i);\n }\n return arr;\n};\nvar observeElementRect = function observeElementRect(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler(rect) {\n var width = rect.width,\n height = rect.height;\n cb({\n width: Math.round(width),\n height: Math.round(height)\n });\n };\n handler(element.getBoundingClientRect());\n var observer = new ResizeObserver(function (entries) {\n var entry = entries[0];\n if (entry) {\n var box = entry.borderBoxSize[0];\n if (box) {\n handler({\n width: box.inlineSize,\n height: box.blockSize\n });\n return;\n }\n }\n handler(element.getBoundingClientRect());\n });\n observer.observe(element, {\n box: 'border-box'\n });\n return function () {\n observer.unobserve(element);\n };\n};\nvar observeWindowRect = function observeWindowRect(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb({\n width: element.innerWidth,\n height: element.innerHeight\n });\n };\n handler();\n element.addEventListener('resize', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('resize', handler);\n };\n};\nvar observeElementOffset = function observeElementOffset(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb(element[instance.options.horizontal ? 'scrollLeft' : 'scrollTop']);\n };\n handler();\n element.addEventListener('scroll', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', handler);\n };\n};\nvar observeWindowOffset = function observeWindowOffset(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb(element[instance.options.horizontal ? 'scrollX' : 'scrollY']);\n };\n handler();\n element.addEventListener('scroll', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', handler);\n };\n};\nvar measureElement = function measureElement(element, entry, instance) {\n if (entry) {\n var box = entry.borderBoxSize[0];\n if (box) {\n var size = Math.round(box[instance.options.horizontal ? 'inlineSize' : 'blockSize']);\n return size;\n }\n }\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nvar windowScroll = function windowScroll(offset, _ref, instance) {\n var _instance$scrollEleme, _instance$scrollEleme2;\n var _ref$adjustments = _ref.adjustments,\n adjustments = _ref$adjustments === void 0 ? 0 : _ref$adjustments,\n behavior = _ref.behavior;\n var toOffset = offset + adjustments;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo == null ? void 0 : _instance$scrollEleme.scrollTo((_instance$scrollEleme2 = {}, _instance$scrollEleme2[instance.options.horizontal ? 'left' : 'top'] = toOffset, _instance$scrollEleme2.behavior = behavior, _instance$scrollEleme2));\n};\nvar elementScroll = function elementScroll(offset, _ref2, instance) {\n var _instance$scrollEleme3, _instance$scrollEleme4;\n var _ref2$adjustments = _ref2.adjustments,\n adjustments = _ref2$adjustments === void 0 ? 0 : _ref2$adjustments,\n behavior = _ref2.behavior;\n var toOffset = offset + adjustments;\n (_instance$scrollEleme3 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme3.scrollTo == null ? void 0 : _instance$scrollEleme3.scrollTo((_instance$scrollEleme4 = {}, _instance$scrollEleme4[instance.options.horizontal ? 'left' : 'top'] = toOffset, _instance$scrollEleme4.behavior = behavior, _instance$scrollEleme4));\n};\nvar Virtualizer = function Virtualizer(_opts) {\n var _this = this;\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.scrollToIndexTimeoutId = null;\n this.measurementsCache = [];\n this.itemSizeCache = new Map();\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.measureElementCache = new Map();\n this.observer = function () {\n var _ro = null;\n var get = function get() {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n _this._measureElement(entry.target, entry);\n });\n });\n } else {\n return null;\n }\n };\n return {\n disconnect: function disconnect() {\n var _get;\n return (_get = get()) == null ? void 0 : _get.disconnect();\n },\n observe: function observe(target) {\n var _get2;\n return (_get2 = get()) == null ? void 0 : _get2.observe(target, {\n box: 'border-box'\n });\n },\n unobserve: function unobserve(target) {\n var _get3;\n return (_get3 = get()) == null ? void 0 : _get3.unobserve(target);\n }\n };\n }();\n this.range = {\n startIndex: 0,\n endIndex: 0\n };\n this.setOptions = function (opts) {\n Object.entries(opts).forEach(function (_ref3) {\n var key = _ref3[0],\n value = _ref3[1];\n if (typeof value === 'undefined') delete opts[key];\n });\n _this.options = _extends({\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: function onChange() {},\n measureElement: measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n initialMeasurementsCache: []\n }, opts);\n };\n this.notify = function () {\n _this.options.onChange == null ? void 0 : _this.options.onChange(_this);\n };\n this.cleanup = function () {\n _this.unsubs.filter(Boolean).forEach(function (d) {\n return d();\n });\n _this.unsubs = [];\n _this.scrollElement = null;\n };\n this._didMount = function () {\n _this.measureElementCache.forEach(_this.observer.observe);\n return function () {\n _this.observer.disconnect();\n _this.cleanup();\n };\n };\n this._willUpdate = function () {\n var scrollElement = _this.options.getScrollElement();\n if (_this.scrollElement !== scrollElement) {\n _this.cleanup();\n _this.scrollElement = scrollElement;\n _this._scrollToOffset(_this.scrollOffset, {\n adjustments: undefined,\n behavior: undefined\n });\n _this.unsubs.push(_this.options.observeElementRect(_this, function (rect) {\n var prev = _this.scrollRect;\n _this.scrollRect = rect;\n if (_this.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n _this.maybeNotify();\n }\n }));\n _this.unsubs.push(_this.options.observeElementOffset(_this, function (offset) {\n _this.scrollAdjustments = 0;\n if (_this.scrollOffset === offset) {\n return;\n }\n if (_this.isScrollingTimeoutId !== null) {\n clearTimeout(_this.isScrollingTimeoutId);\n _this.isScrollingTimeoutId = null;\n }\n _this.isScrolling = true;\n _this.scrollDirection = _this.scrollOffset < offset ? 'forward' : 'backward';\n _this.scrollOffset = offset;\n _this.maybeNotify();\n _this.isScrollingTimeoutId = setTimeout(function () {\n _this.isScrollingTimeoutId = null;\n _this.isScrolling = false;\n _this.scrollDirection = null;\n _this.maybeNotify();\n }, _this.options.scrollingDelay);\n }));\n }\n };\n this.getSize = function () {\n return _this.scrollRect[_this.options.horizontal ? 'width' : 'height'];\n };\n this.getMeasurements = memo(function () {\n return [_this.options.count, _this.options.paddingStart, _this.options.scrollMargin, _this.options.getItemKey, _this.itemSizeCache];\n }, function (count, paddingStart, scrollMargin, getItemKey, itemSizeCache) {\n var min = _this.pendingMeasuredCacheIndexes.length > 0 ? Math.min.apply(Math, _this.pendingMeasuredCacheIndexes) : 0;\n _this.pendingMeasuredCacheIndexes = [];\n var measurements = _this.measurementsCache.slice(0, min);\n for (var _i2 = min; _i2 < count; _i2++) {\n var key = getItemKey(_i2);\n var measuredSize = itemSizeCache.get(key);\n var start = measurements[_i2 - 1] ? measurements[_i2 - 1].end : paddingStart + scrollMargin;\n var size = typeof measuredSize === 'number' ? measuredSize : _this.options.estimateSize(_i2);\n var end = start + size;\n measurements[_i2] = {\n index: _i2,\n start: start,\n size: size,\n end: end,\n key: key\n };\n }\n _this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.calculateRange = memo(function () {\n return [_this.getMeasurements(), _this.getSize(), _this.scrollOffset];\n }, function (measurements, outerSize, scrollOffset) {\n return _this.range = calculateRange({\n measurements: measurements,\n outerSize: outerSize,\n scrollOffset: scrollOffset\n });\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.maybeNotify = memo(function () {\n return [].concat(Object.values(_this.calculateRange()), [_this.isScrolling]);\n }, function () {\n _this.notify();\n }, {\n key: process.env.NODE_ENV !== 'production' && 'maybeNotify',\n debug: function debug() {\n return _this.options.debug;\n },\n initialDeps: [].concat(Object.values(this.range), [this.isScrolling])\n });\n this.getIndexes = memo(function () {\n return [_this.options.rangeExtractor, _this.calculateRange(), _this.options.overscan, _this.options.count];\n }, function (rangeExtractor, range, overscan, count) {\n return rangeExtractor(_extends({}, range, {\n overscan: overscan,\n count: count\n }));\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.indexFromElement = function (node) {\n var attributeName = _this.options.indexAttribute;\n var indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = function (node, entry) {\n var _this$itemSizeCache$g;\n var index = _this.indexFromElement(node);\n var item = _this.measurementsCache[index];\n if (!item) {\n return;\n }\n var prevNode = _this.measureElementCache.get(item.key);\n if (!node.isConnected) {\n _this.observer.unobserve(node);\n if (node === prevNode) {\n _this.measureElementCache[\"delete\"](item.key);\n }\n return;\n }\n if (prevNode !== node) {\n if (prevNode) {\n _this.observer.unobserve(prevNode);\n }\n _this.observer.observe(node);\n _this.measureElementCache.set(item.key, node);\n }\n var measuredItemSize = _this.options.measureElement(node, entry, _this);\n var itemSize = (_this$itemSizeCache$g = _this.itemSizeCache.get(item.key)) != null ? _this$itemSizeCache$g : item.size;\n var delta = measuredItemSize - itemSize;\n if (delta !== 0) {\n if (item.start < _this.scrollOffset) {\n if (process.env.NODE_ENV !== 'production' && _this.options.debug) {\n console.info('correction', delta);\n }\n _this._scrollToOffset(_this.scrollOffset, {\n adjustments: _this.scrollAdjustments += delta,\n behavior: undefined\n });\n }\n _this.pendingMeasuredCacheIndexes.push(index);\n _this.itemSizeCache = new Map(_this.itemSizeCache.set(item.key, measuredItemSize));\n _this.notify();\n }\n };\n this.measureElement = function (node) {\n if (!node) {\n return;\n }\n _this._measureElement(node, undefined);\n };\n this.getVirtualItems = memo(function () {\n return [_this.getIndexes(), _this.getMeasurements()];\n }, function (indexes, measurements) {\n var virtualItems = [];\n for (var k = 0, len = indexes.length; k < len; k++) {\n var _i3 = indexes[k];\n var measurement = measurements[_i3];\n virtualItems.push(measurement);\n }\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.getOffsetForAlignment = function (toOffset, align) {\n var size = _this.getSize();\n if (align === 'auto') {\n if (toOffset <= _this.scrollOffset) {\n align = 'start';\n } else if (toOffset >= _this.scrollOffset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n if (align === 'start') {\n toOffset = toOffset;\n } else if (align === 'end') {\n toOffset = toOffset - size;\n } else if (align === 'center') {\n toOffset = toOffset - size / 2;\n }\n var scrollSizeProp = _this.options.horizontal ? 'scrollWidth' : 'scrollHeight';\n var scrollSize = _this.scrollElement ? 'document' in _this.scrollElement ? _this.scrollElement.document.documentElement[scrollSizeProp] : _this.scrollElement[scrollSizeProp] : 0;\n var maxOffset = scrollSize - _this.getSize();\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = function (index, align) {\n if (align === void 0) {\n align = 'auto';\n }\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n var measurement = notUndefined(_this.getMeasurements()[index]);\n if (align === 'auto') {\n if (measurement.end >= _this.scrollOffset + _this.getSize() - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= _this.scrollOffset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return [_this.scrollOffset, align];\n }\n }\n var toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n return [_this.getOffsetForAlignment(toOffset, align), align];\n };\n this.isDynamicMode = function () {\n return _this.measureElementCache.size > 0;\n };\n this.cancelScrollToIndex = function () {\n if (_this.scrollToIndexTimeoutId !== null) {\n clearTimeout(_this.scrollToIndexTimeoutId);\n _this.scrollToIndexTimeoutId = null;\n }\n };\n this.scrollToOffset = function (toOffset, _temp) {\n var _ref4 = _temp === void 0 ? {} : _temp,\n _ref4$align = _ref4.align,\n align = _ref4$align === void 0 ? 'start' : _ref4$align,\n behavior = _ref4.behavior;\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n _this._scrollToOffset(_this.getOffsetForAlignment(toOffset, align), {\n adjustments: undefined,\n behavior: behavior\n });\n };\n this.scrollToIndex = function (index, _temp2) {\n var _ref5 = _temp2 === void 0 ? {} : _temp2,\n _ref5$align = _ref5.align,\n initialAlign = _ref5$align === void 0 ? 'auto' : _ref5$align,\n behavior = _ref5.behavior;\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n var _this$getOffsetForInd = _this.getOffsetForIndex(index, initialAlign),\n toOffset = _this$getOffsetForInd[0],\n align = _this$getOffsetForInd[1];\n _this._scrollToOffset(toOffset, {\n adjustments: undefined,\n behavior: behavior\n });\n if (behavior !== 'smooth' && _this.isDynamicMode()) {\n _this.scrollToIndexTimeoutId = setTimeout(function () {\n _this.scrollToIndexTimeoutId = null;\n var elementInDOM = _this.measureElementCache.has(_this.options.getItemKey(index));\n if (elementInDOM) {\n var _this$getOffsetForInd2 = _this.getOffsetForIndex(index, align),\n _toOffset = _this$getOffsetForInd2[0];\n if (!approxEqual(_toOffset, _this.scrollOffset)) {\n _this.scrollToIndex(index, {\n align: align,\n behavior: behavior\n });\n }\n } else {\n _this.scrollToIndex(index, {\n align: align,\n behavior: behavior\n });\n }\n });\n }\n };\n this.scrollBy = function (delta, _temp3) {\n var _ref6 = _temp3 === void 0 ? {} : _temp3,\n behavior = _ref6.behavior;\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n _this._scrollToOffset(_this.scrollOffset + delta, {\n adjustments: undefined,\n behavior: behavior\n });\n };\n this.getTotalSize = function () {\n var _this$getMeasurements;\n return (((_this$getMeasurements = _this.getMeasurements()[_this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || _this.options.paddingStart) - _this.options.scrollMargin + _this.options.paddingEnd;\n };\n this._scrollToOffset = function (offset, _ref7) {\n var adjustments = _ref7.adjustments,\n behavior = _ref7.behavior;\n _this.options.scrollToFn(offset, {\n behavior: behavior,\n adjustments: adjustments\n }, _this);\n };\n this.measure = function () {\n _this.itemSizeCache = new Map();\n _this.notify();\n };\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach(function (item) {\n _this.itemSizeCache.set(item.key, item.size);\n });\n this.maybeNotify();\n};\nvar findNearestBinarySearch = function findNearestBinarySearch(low, high, getCurrentValue, value) {\n while (low <= high) {\n var middle = (low + high) / 2 | 0;\n var currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange(_ref8) {\n var measurements = _ref8.measurements,\n outerSize = _ref8.outerSize,\n scrollOffset = _ref8.scrollOffset;\n var count = measurements.length - 1;\n var getOffset = function getOffset(index) {\n return measurements[index].start;\n };\n var startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n var endIndex = startIndex;\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n return {\n startIndex: startIndex,\n endIndex: endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.mjs.map\n","import {\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n PartialKeys,\n Virtualizer,\n VirtualizerOptions,\n windowScroll,\n} from '@tanstack/virtual-core'\nexport * from '@tanstack/virtual-core'\n\nimport {\n createSignal,\n onMount,\n onCleanup,\n createComputed,\n mergeProps,\n} from 'solid-js'\nimport { createStore, reconcile } from 'solid-js/store'\n\nfunction createVirtualizerBase<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n>(\n options: VirtualizerOptions<TScrollElement, TItemElement>,\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> =\n mergeProps(options)\n\n const instance = new Virtualizer<TScrollElement, TItemElement>(\n resolvedOptions,\n )\n\n const [virtualItems, setVirtualItems] = createStore(\n instance.getVirtualItems(),\n )\n const [totalSize, setTotalSize] = createSignal(instance.getTotalSize())\n\n const handler = {\n get(\n target: Virtualizer<TScrollElement, TItemElement>,\n prop: keyof Virtualizer<TScrollElement, TItemElement>,\n ) {\n switch (prop) {\n case 'getVirtualItems':\n return () => virtualItems\n case 'getTotalSize':\n return () => totalSize()\n default:\n return Reflect.get(target, prop)\n }\n },\n }\n\n const virtualizer = new Proxy(instance, handler)\n virtualizer.setOptions(resolvedOptions)\n\n onMount(() => {\n const cleanup = virtualizer._didMount()\n virtualizer._willUpdate()\n onCleanup(cleanup)\n })\n\n createComputed(() => {\n virtualizer.setOptions(\n mergeProps(resolvedOptions, options, {\n onChange: (instance: Virtualizer<TScrollElement, TItemElement>) => {\n instance._willUpdate()\n setVirtualItems(\n reconcile(instance.getVirtualItems(), {\n key: 'index',\n }),\n )\n setTotalSize(instance.getTotalSize())\n options.onChange?.(instance)\n },\n }),\n )\n virtualizer.measure()\n })\n\n return virtualizer\n}\n\nexport function createVirtualizer<\n TScrollElement extends Element,\n TItemElement extends Element,\n>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >,\n): Virtualizer<TScrollElement, TItemElement> {\n return createVirtualizerBase<TScrollElement, TItemElement>(\n mergeProps(\n {\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll,\n },\n options,\n ),\n )\n}\n\nexport function createWindowVirtualizer<TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<Window, TItemElement>,\n | 'getScrollElement'\n | 'observeElementRect'\n | 'observeElementOffset'\n | 'scrollToFn'\n >,\n): Virtualizer<Window, TItemElement> {\n return createVirtualizerBase<Window, TItemElement>(\n mergeProps(\n {\n getScrollElement: () =>\n typeof window !== 'undefined' ? window : null!,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n },\n options,\n ),\n )\n}\n"],"names":["createVirtualizerBase","options","resolvedOptions","mergeProps","instance","Virtualizer","createStore","getVirtualItems","virtualItems","setVirtualItems","createSignal","getTotalSize","totalSize","setTotalSize","handler","get","target","prop","Reflect","virtualizer","Proxy","setOptions","onMount","cleanup","_didMount","_willUpdate","onCleanup","createComputed","onChange","reconcile","key","measure","createVirtualizer","observeElementRect","observeElementOffset","scrollToFn","elementScroll","createWindowVirtualizer","getScrollElement","window","observeWindowRect","observeWindowOffset","windowScroll"],"mappings":";;;;;;;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS,QAAQ,GAAG;EACpB,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,MAAM,EAAE;EACtE,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EAC/C,MAAM,IAAI,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;EAChC,MAAM,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE;EAC9B,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE;EAC/D,UAAU,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;EACpC,SAAS;EACT,OAAO;EACP,KAAK;EACL,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG,CAAC;EACJ,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;EACzC;;ECvBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE;EACjC,EAAE,IAAI,iBAAiB,CAAC;EACxB,EAAE,IAAI,IAAI,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,GAAG,iBAAiB,GAAG,EAAE,CAAC;EACrF,EAAE,IAAI,MAAM,CAAC;EACb,EAAE,OAAO,YAAY;EACrB,IAAI,IAAI,OAAO,CAAC;EAChB,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;EAC7E,IAAI,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;EAC5B,IAAI,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,KAAK,EAAE;EAC3F,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;EACjC,KAAK,CAAC,CAAC;EACP,IAAI,IAAI,CAAC,WAAW,EAAE;EACtB,MAAM,OAAO,MAAM,CAAC;EACpB,KAAK;EACL,IAAI,IAAI,GAAG,OAAO,CAAC;EACnB,IAAI,IAAI,UAAU,CAAC;EACnB,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;EAChF,IAAI,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;EACvC,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;EACxD,MAAM,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;EACtE,MAAM,IAAI,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;EAC5E,MAAM,IAAI,mBAAmB,GAAG,aAAa,GAAG,EAAE,CAAC;EACnD,MAAM,IAAI,GAAG,GAAG,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE;EACvC,QAAQ,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;EAC1B,QAAQ,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;EACjC,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;EAC1B,SAAS;EACT,QAAQ,OAAO,GAAG,CAAC;EACnB,OAAO,CAAC;EACR,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,0FAA0F,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,mBAAmB,EAAE,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;EAC3S,KAAK;EACL,IAAI,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;EACnF,IAAI,OAAO,MAAM,CAAC;EAClB,GAAG,CAAC;EACJ,CAAC;EACD,SAAS,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE;EAClC,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE;EAC3B,IAAI,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;EACtE,GAAG,MAAM;EACT,IAAI,OAAO,KAAK,CAAC;EACjB,GAAG;EACH,CAAC;AACE,MAAC,WAAW,GAAG,SAAS,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE;EAC7C,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;EAC7B;;ECtDA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAIA;EACA;AACA;EACA;AACA;AACG,MAAC,mBAAmB,GAAG,SAAS,mBAAmB,CAAC,KAAK,EAAE;EAC9D,EAAE,OAAO,KAAK,CAAC;EACf,EAAE;AACC,MAAC,qBAAqB,GAAG,SAAS,qBAAqB,CAAC,KAAK,EAAE;EAClE,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;EAC7D,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;EACvE,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC;EACf,EAAE,KAAK,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE;EACxC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EACjB,GAAG;EACH,EAAE,OAAO,GAAG,CAAC;EACb,EAAE;AACC,MAAC,kBAAkB,GAAG,SAAS,kBAAkB,CAAC,QAAQ,EAAE,EAAE,EAAE;EACnE,EAAE,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;EACvC,EAAE,IAAI,CAAC,OAAO,EAAE;EAChB,IAAI,OAAO;EACX,GAAG;EACH,EAAE,IAAI,OAAO,GAAG,SAAS,OAAO,CAAC,IAAI,EAAE;EACvC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK;EAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;EAC3B,IAAI,EAAE,CAAC;EACP,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;EAC9B,MAAM,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;EAChC,KAAK,CAAC,CAAC;EACP,GAAG,CAAC;EACJ,EAAE,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;EAC3C,EAAE,IAAI,QAAQ,GAAG,IAAI,cAAc,CAAC,UAAU,OAAO,EAAE;EACvD,IAAI,IAAI,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;EAC3B,IAAI,IAAI,KAAK,EAAE;EACf,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;EACvC,MAAM,IAAI,GAAG,EAAE;EACf,QAAQ,OAAO,CAAC;EAChB,UAAU,KAAK,EAAE,GAAG,CAAC,UAAU;EAC/B,UAAU,MAAM,EAAE,GAAG,CAAC,SAAS;EAC/B,SAAS,CAAC,CAAC;EACX,QAAQ,OAAO;EACf,OAAO;EACP,KAAK;EACL,IAAI,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;EAC7C,GAAG,CAAC,CAAC;EACL,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;EAC5B,IAAI,GAAG,EAAE,YAAY;EACrB,GAAG,CAAC,CAAC;EACL,EAAE,OAAO,YAAY;EACrB,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;EAChC,GAAG,CAAC;EACJ,EAAE;AACC,MAAC,iBAAiB,GAAG,SAAS,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE;EACjE,EAAE,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;EACvC,EAAE,IAAI,CAAC,OAAO,EAAE;EAChB,IAAI,OAAO;EACX,GAAG;EACH,EAAE,IAAI,OAAO,GAAG,SAAS,OAAO,GAAG;EACnC,IAAI,EAAE,CAAC;EACP,MAAM,KAAK,EAAE,OAAO,CAAC,UAAU;EAC/B,MAAM,MAAM,EAAE,OAAO,CAAC,WAAW;EACjC,KAAK,CAAC,CAAC;EACP,GAAG,CAAC;EACJ,EAAE,OAAO,EAAE,CAAC;EACZ,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE;EAC9C,IAAI,OAAO,EAAE,IAAI;EACjB,GAAG,CAAC,CAAC;EACL,EAAE,OAAO,YAAY;EACrB,IAAI,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;EACnD,GAAG,CAAC;EACJ,EAAE;AACC,MAAC,oBAAoB,GAAG,SAAS,oBAAoB,CAAC,QAAQ,EAAE,EAAE,EAAE;EACvE,EAAE,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;EACvC,EAAE,IAAI,CAAC,OAAO,EAAE;EAChB,IAAI,OAAO;EACX,GAAG;EACH,EAAE,IAAI,OAAO,GAAG,SAAS,OAAO,GAAG;EACnC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC;EAC1E,GAAG,CAAC;EACJ,EAAE,OAAO,EAAE,CAAC;EACZ,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE;EAC9C,IAAI,OAAO,EAAE,IAAI;EACjB,GAAG,CAAC,CAAC;EACL,EAAE,OAAO,YAAY;EACrB,IAAI,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;EACnD,GAAG,CAAC;EACJ,EAAE;AACC,MAAC,mBAAmB,GAAG,SAAS,mBAAmB,CAAC,QAAQ,EAAE,EAAE,EAAE;EACrE,EAAE,IAAI,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;EACvC,EAAE,IAAI,CAAC,OAAO,EAAE;EAChB,IAAI,OAAO;EACX,GAAG;EACH,EAAE,IAAI,OAAO,GAAG,SAAS,OAAO,GAAG;EACnC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;EACrE,GAAG,CAAC;EACJ,EAAE,OAAO,EAAE,CAAC;EACZ,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE;EAC9C,IAAI,OAAO,EAAE,IAAI;EACjB,GAAG,CAAC,CAAC;EACL,EAAE,OAAO,YAAY;EACrB,IAAI,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;EACnD,GAAG,CAAC;EACJ,EAAE;AACC,MAAC,cAAc,GAAG,SAAS,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;EACvE,EAAE,IAAI,KAAK,EAAE;EACb,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;EACrC,IAAI,IAAI,GAAG,EAAE;EACb,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC;EAC3F,MAAM,OAAO,IAAI,CAAC;EAClB,KAAK;EACL,GAAG;EACH,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;EACvG,EAAE;AACC,MAAC,YAAY,GAAG,SAAS,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;EACjE,EAAE,IAAI,qBAAqB,EAAE,sBAAsB,CAAC;EACpD,EAAE,IAAI,gBAAgB,GAAG,IAAI,CAAC,WAAW;EACzC,IAAI,WAAW,GAAG,gBAAgB,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,gBAAgB;EACpE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;EAC7B,EAAE,IAAI,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;EACtC,EAAE,CAAC,qBAAqB,GAAG,QAAQ,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,qBAAqB,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,qBAAqB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,EAAE,EAAE,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,GAAG,QAAQ,EAAE,sBAAsB,EAAE,CAAC;EAC3U,EAAE;AACC,MAAC,aAAa,GAAG,SAAS,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE;EACpE,EAAE,IAAI,sBAAsB,EAAE,sBAAsB,CAAC;EACrD,EAAE,IAAI,iBAAiB,GAAG,KAAK,CAAC,WAAW;EAC3C,IAAI,WAAW,GAAG,iBAAiB,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,iBAAiB;EACtE,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;EAC9B,EAAE,IAAI,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;EACtC,EAAE,CAAC,sBAAsB,GAAG,QAAQ,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,sBAAsB,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,sBAAsB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,EAAE,EAAE,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,GAAG,QAAQ,EAAE,sBAAsB,EAAE,CAAC;EAC9U,EAAE;AACC,MAAC,WAAW,GAAG,SAAS,WAAW,CAAC,KAAK,EAAE;EAC9C,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC;EACnB,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;EACnB,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;EAC5B,EAAE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;EAC3B,EAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;EACnC,EAAE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;EACrC,EAAE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;EAC9B,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;EACjC,EAAE,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;EACxC,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;EAC9B,EAAE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;EAC7B,EAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;EACvC,EAAE,IAAI,CAAC,QAAQ,GAAG,YAAY;EAC9B,IAAI,IAAI,GAAG,GAAG,IAAI,CAAC;EACnB,IAAI,IAAI,GAAG,GAAG,SAAS,GAAG,GAAG;EAC7B,MAAM,IAAI,GAAG,EAAE;EACf,QAAQ,OAAO,GAAG,CAAC;EACnB,OAAO,MAAM,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;EACxD,QAAQ,OAAO,GAAG,GAAG,IAAI,cAAc,CAAC,UAAU,OAAO,EAAE;EAC3D,UAAU,OAAO,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;EAC3C,YAAY,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;EACvD,WAAW,CAAC,CAAC;EACb,SAAS,CAAC,CAAC;EACX,OAAO,MAAM;EACb,QAAQ,OAAO,IAAI,CAAC;EACpB,OAAO;EACP,KAAK,CAAC;EACN,IAAI,OAAO;EACX,MAAM,UAAU,EAAE,SAAS,UAAU,GAAG;EACxC,QAAQ,IAAI,IAAI,CAAC;EACjB,QAAQ,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;EACnE,OAAO;EACP,MAAM,OAAO,EAAE,SAAS,OAAO,CAAC,MAAM,EAAE;EACxC,QAAQ,IAAI,KAAK,CAAC;EAClB,QAAQ,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;EACxE,UAAU,GAAG,EAAE,YAAY;EAC3B,SAAS,CAAC,CAAC;EACX,OAAO;EACP,MAAM,SAAS,EAAE,SAAS,SAAS,CAAC,MAAM,EAAE;EAC5C,QAAQ,IAAI,KAAK,CAAC;EAClB,QAAQ,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;EAC1E,OAAO;EACP,KAAK,CAAC;EACN,GAAG,EAAE,CAAC;EACN,EAAE,IAAI,CAAC,KAAK,GAAG;EACf,IAAI,UAAU,EAAE,CAAC;EACjB,IAAI,QAAQ,EAAE,CAAC;EACf,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,EAAE;EACpC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;EAClD,MAAM,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;EACxB,QAAQ,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;EACzB,MAAM,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;EACzD,KAAK,CAAC,CAAC;EACP,IAAI,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;EAC7B,MAAM,KAAK,EAAE,KAAK;EAClB,MAAM,aAAa,EAAE,CAAC;EACtB,MAAM,QAAQ,EAAE,CAAC;EACjB,MAAM,YAAY,EAAE,CAAC;EACrB,MAAM,UAAU,EAAE,CAAC;EACnB,MAAM,kBAAkB,EAAE,CAAC;EAC3B,MAAM,gBAAgB,EAAE,CAAC;EACzB,MAAM,UAAU,EAAE,KAAK;EACvB,MAAM,UAAU,EAAE,mBAAmB;EACrC,MAAM,cAAc,EAAE,qBAAqB;EAC3C,MAAM,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;EACtC,MAAM,cAAc,EAAE,cAAc;EACpC,MAAM,WAAW,EAAE;EACnB,QAAQ,KAAK,EAAE,CAAC;EAChB,QAAQ,MAAM,EAAE,CAAC;EACjB,OAAO;EACP,MAAM,YAAY,EAAE,CAAC;EACrB,MAAM,cAAc,EAAE,GAAG;EACzB,MAAM,cAAc,EAAE,YAAY;EAClC,MAAM,wBAAwB,EAAE,EAAE;EAClC,KAAK,EAAE,IAAI,CAAC,CAAC;EACb,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,MAAM,GAAG,YAAY;EAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;EAC5E,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,OAAO,GAAG,YAAY;EAC7B,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;EACtD,MAAM,OAAO,CAAC,EAAE,CAAC;EACjB,KAAK,CAAC,CAAC;EACP,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;EACtB,IAAI,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;EAC/B,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,SAAS,GAAG,YAAY;EAC/B,IAAI,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;EAC9D,IAAI,OAAO,YAAY;EACvB,MAAM,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;EAClC,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;EACtB,KAAK,CAAC;EACN,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,WAAW,GAAG,YAAY;EACjC,IAAI,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;EACzD,IAAI,IAAI,KAAK,CAAC,aAAa,KAAK,aAAa,EAAE;EAC/C,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;EACtB,MAAM,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;EAC1C,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE;EAChD,QAAQ,WAAW,EAAE,SAAS;EAC9B,QAAQ,QAAQ,EAAE,SAAS;EAC3B,OAAO,CAAC,CAAC;EACT,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE;EAChF,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;EACpC,QAAQ,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;EAChC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;EAChG,UAAU,KAAK,CAAC,WAAW,EAAE,CAAC;EAC9B,SAAS;EACT,OAAO,CAAC,CAAC,CAAC;EACV,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,MAAM,EAAE;EACpF,QAAQ,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC;EACpC,QAAQ,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE;EAC3C,UAAU,OAAO;EACjB,SAAS;EACT,QAAQ,IAAI,KAAK,CAAC,oBAAoB,KAAK,IAAI,EAAE;EACjD,UAAU,YAAY,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;EACnD,UAAU,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;EAC5C,SAAS;EACT,QAAQ,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;EACjC,QAAQ,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;EACrF,QAAQ,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;EACpC,QAAQ,KAAK,CAAC,WAAW,EAAE,CAAC;EAC5B,QAAQ,KAAK,CAAC,oBAAoB,GAAG,UAAU,CAAC,YAAY;EAC5D,UAAU,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC;EAC5C,UAAU,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;EACpC,UAAU,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;EACvC,UAAU,KAAK,CAAC,WAAW,EAAE,CAAC;EAC9B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;EACzC,OAAO,CAAC,CAAC,CAAC;EACV,KAAK;EACL,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,OAAO,GAAG,YAAY;EAC7B,IAAI,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC,CAAC;EAC3E,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY;EAC1C,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;EACxI,GAAG,EAAE,UAAU,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE;EAC7E,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,2BAA2B,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;EACzH,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC;EAC3C,IAAI,IAAI,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;EAC7D,IAAI,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE;EAC5C,MAAM,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;EAChC,MAAM,IAAI,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAChD,MAAM,IAAI,KAAK,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,YAAY,GAAG,YAAY,CAAC;EAClG,MAAM,IAAI,IAAI,GAAG,OAAO,YAAY,KAAK,QAAQ,GAAG,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;EACnG,MAAM,IAAI,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC;EAC7B,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG;EAC1B,QAAQ,KAAK,EAAE,GAAG;EAClB,QAAQ,KAAK,EAAE,KAAK;EACpB,QAAQ,IAAI,EAAE,IAAI;EAClB,QAAQ,GAAG,EAAE,GAAG;EAChB,QAAQ,GAAG,EAAE,GAAG;EAChB,OAAO,CAAC;EACR,KAAK;EACL,IAAI,KAAK,CAAC,iBAAiB,GAAG,YAAY,CAAC;EAC3C,IAAI,OAAO,YAAY,CAAC;EACxB,GAAG,EAAE;EACL,IAAI,GAAG,EAA2C,iBAAiB;EACnE,IAAI,KAAK,EAAE,SAAS,KAAK,GAAG;EAC5B,MAAM,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;EACjC,KAAK;EACL,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY;EACzC,IAAI,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;EAC1E,GAAG,EAAE,UAAU,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE;EACtD,IAAI,OAAO,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC;EACxC,MAAM,YAAY,EAAE,YAAY;EAChC,MAAM,SAAS,EAAE,SAAS;EAC1B,MAAM,YAAY,EAAE,YAAY;EAChC,KAAK,CAAC,CAAC;EACP,GAAG,EAAE;EACL,IAAI,GAAG,EAA2C,gBAAgB;EAClE,IAAI,KAAK,EAAE,SAAS,KAAK,GAAG;EAC5B,MAAM,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;EACjC,KAAK;EACL,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY;EACtC,IAAI,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;EACjF,GAAG,EAAE,YAAY;EACjB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;EACnB,GAAG,EAAE;EACL,IAAI,GAAG,EAA2C,aAAa;EAC/D,IAAI,KAAK,EAAE,SAAS,KAAK,GAAG;EAC5B,MAAM,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;EACjC,KAAK;EACL,IAAI,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACzE,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY;EACrC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;EAC/G,GAAG,EAAE,UAAU,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE;EACvD,IAAI,OAAO,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE;EAC9C,MAAM,QAAQ,EAAE,QAAQ;EACxB,MAAM,KAAK,EAAE,KAAK;EAClB,KAAK,CAAC,CAAC,CAAC;EACR,GAAG,EAAE;EACL,IAAI,GAAG,EAA2C,YAAY;EAC9D,IAAI,KAAK,EAAE,SAAS,KAAK,GAAG;EAC5B,MAAM,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;EACjC,KAAK;EACL,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,CAAC,gBAAgB,GAAG,UAAU,IAAI,EAAE;EAC1C,IAAI,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;EACrD,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;EACpD,IAAI,IAAI,CAAC,QAAQ,EAAE;EACnB,MAAM,OAAO,CAAC,IAAI,CAAC,0BAA0B,GAAG,aAAa,GAAG,gCAAgC,CAAC,CAAC;EAClG,MAAM,OAAO,CAAC,CAAC,CAAC;EAChB,KAAK;EACL,IAAI,OAAO,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;EAClC,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,eAAe,GAAG,UAAU,IAAI,EAAE,KAAK,EAAE;EAChD,IAAI,IAAI,qBAAqB,CAAC;EAC9B,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;EAC7C,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;EAC9C,IAAI,IAAI,CAAC,IAAI,EAAE;EACf,MAAM,OAAO;EACb,KAAK;EACL,IAAI,IAAI,QAAQ,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAC3D,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;EAC3B,MAAM,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;EACrC,MAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;EAC7B,QAAQ,KAAK,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACtD,OAAO;EACP,MAAM,OAAO;EACb,KAAK;EACL,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE;EAC3B,MAAM,IAAI,QAAQ,EAAE;EACpB,QAAQ,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;EAC3C,OAAO;EACP,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;EACnC,MAAM,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;EACpD,KAAK;EACL,IAAI,IAAI,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;EAC5E,IAAI,IAAI,QAAQ,GAAG,CAAC,qBAAqB,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC;EAC3H,IAAI,IAAI,KAAK,GAAG,gBAAgB,GAAG,QAAQ,CAAC;EAC5C,IAAI,IAAI,KAAK,KAAK,CAAC,EAAE;EACrB,MAAM,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,YAAY,EAAE;EAC3C,QAAQ,IAA6C,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE;EAC1E,UAAU,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;EAC5C,SAAS;EACT,QAAQ,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE;EAClD,UAAU,WAAW,EAAE,KAAK,CAAC,iBAAiB,IAAI,KAAK;EACvD,UAAU,QAAQ,EAAE,SAAS;EAC7B,SAAS,CAAC,CAAC;EACX,OAAO;EACP,MAAM,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EACpD,MAAM,KAAK,CAAC,aAAa,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC;EACzF,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;EACrB,KAAK;EACL,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,cAAc,GAAG,UAAU,IAAI,EAAE;EACxC,IAAI,IAAI,CAAC,IAAI,EAAE;EACf,MAAM,OAAO;EACb,KAAK;EACL,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;EAC3C,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY;EAC1C,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;EACzD,GAAG,EAAE,UAAU,OAAO,EAAE,YAAY,EAAE;EACtC,IAAI,IAAI,YAAY,GAAG,EAAE,CAAC;EAC1B,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;EACxD,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;EAC3B,MAAM,IAAI,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;EAC1C,MAAM,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACrC,KAAK;EACL,IAAI,OAAO,YAAY,CAAC;EACxB,GAAG,EAAE;EACL,IAAI,GAAG,EAA2C,YAAY;EAC9D,IAAI,KAAK,EAAE,SAAS,KAAK,GAAG;EAC5B,MAAM,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;EACjC,KAAK;EACL,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,CAAC,qBAAqB,GAAG,UAAU,QAAQ,EAAE,KAAK,EAAE;EAC1D,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;EAC/B,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE;EAC1B,MAAM,IAAI,QAAQ,IAAI,KAAK,CAAC,YAAY,EAAE;EAC1C,QAAQ,KAAK,GAAG,OAAO,CAAC;EACxB,OAAO,MAAM,IAAI,QAAQ,IAAI,KAAK,CAAC,YAAY,GAAG,IAAI,EAAE;EACxD,QAAQ,KAAK,GAAG,KAAK,CAAC;EACtB,OAAO,MAAM;EACb,QAAQ,KAAK,GAAG,OAAO,CAAC;EACxB,OAAO;EACP,KAAK;EACL,IAAI,IAAI,KAAK,KAAK,OAAO,EAAE;EAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC;EAC1B,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,EAAE;EAChC,MAAM,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAC;EACjC,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;EACnC,MAAM,QAAQ,GAAG,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC;EACrC,KAAK;EACL,IAAI,IAAI,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC;EACnF,IAAI,IAAI,UAAU,GAAG,KAAK,CAAC,aAAa,GAAG,UAAU,IAAI,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;EACtL,IAAI,IAAI,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;EACjD,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;EACtD,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,iBAAiB,GAAG,UAAU,KAAK,EAAE,KAAK,EAAE;EACnD,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;EAC1B,MAAM,KAAK,GAAG,MAAM,CAAC;EACrB,KAAK;EACL,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;EAClE,IAAI,IAAI,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;EACnE,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE;EAC1B,MAAM,IAAI,WAAW,CAAC,GAAG,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE;EACpG,QAAQ,KAAK,GAAG,KAAK,CAAC;EACtB,OAAO,MAAM,IAAI,WAAW,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE;EAC7F,QAAQ,KAAK,GAAG,OAAO,CAAC;EACxB,OAAO,MAAM;EACb,QAAQ,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;EAC3C,OAAO;EACP,KAAK;EACL,IAAI,IAAI,QAAQ,GAAG,KAAK,KAAK,KAAK,GAAG,WAAW,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,GAAG,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;EAC7I,IAAI,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;EACjE,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,aAAa,GAAG,YAAY;EACnC,IAAI,OAAO,KAAK,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,CAAC;EAC9C,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,mBAAmB,GAAG,YAAY;EACzC,IAAI,IAAI,KAAK,CAAC,sBAAsB,KAAK,IAAI,EAAE;EAC/C,MAAM,YAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;EACjD,MAAM,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC;EAC1C,KAAK;EACL,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,cAAc,GAAG,UAAU,QAAQ,EAAE,KAAK,EAAE;EACnD,IAAI,IAAI,KAAK,GAAG,KAAK,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK;EAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK;EAC/B,MAAM,KAAK,GAAG,WAAW,KAAK,KAAK,CAAC,GAAG,OAAO,GAAG,WAAW;EAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;EAChC,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;EAChC,IAAI,IAAI,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,EAAE,EAAE;EACxD,MAAM,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;EAC7F,KAAK;EACL,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;EACxE,MAAM,WAAW,EAAE,SAAS;EAC5B,MAAM,QAAQ,EAAE,QAAQ;EACxB,KAAK,CAAC,CAAC;EACP,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,aAAa,GAAG,UAAU,KAAK,EAAE,MAAM,EAAE;EAChD,IAAI,IAAI,KAAK,GAAG,MAAM,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM;EAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK;EAC/B,MAAM,YAAY,GAAG,WAAW,KAAK,KAAK,CAAC,GAAG,MAAM,GAAG,WAAW;EAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;EAChC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;EAClE,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;EAChC,IAAI,IAAI,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,EAAE,EAAE;EACxD,MAAM,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;EAC7F,KAAK;EACL,IAAI,IAAI,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC;EAC5E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,CAAC,CAAC;EACzC,MAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;EACvC,IAAI,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE;EACpC,MAAM,WAAW,EAAE,SAAS;EAC5B,MAAM,QAAQ,EAAE,QAAQ;EACxB,KAAK,CAAC,CAAC;EACP,IAAI,IAAI,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,EAAE,EAAE;EACxD,MAAM,KAAK,CAAC,sBAAsB,GAAG,UAAU,CAAC,YAAY;EAC5D,QAAQ,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC;EAC5C,QAAQ,IAAI,YAAY,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;EAC1F,QAAQ,IAAI,YAAY,EAAE;EAC1B,UAAU,IAAI,sBAAsB,GAAG,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC;EAC5E,YAAY,SAAS,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;EAClD,UAAU,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE;EAC3D,YAAY,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;EACvC,cAAc,KAAK,EAAE,KAAK;EAC1B,cAAc,QAAQ,EAAE,QAAQ;EAChC,aAAa,CAAC,CAAC;EACf,WAAW;EACX,SAAS,MAAM;EACf,UAAU,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;EACrC,YAAY,KAAK,EAAE,KAAK;EACxB,YAAY,QAAQ,EAAE,QAAQ;EAC9B,WAAW,CAAC,CAAC;EACb,SAAS;EACT,OAAO,CAAC,CAAC;EACT,KAAK;EACL,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,QAAQ,GAAG,UAAU,KAAK,EAAE,MAAM,EAAE;EAC3C,IAAI,IAAI,KAAK,GAAG,MAAM,KAAK,KAAK,CAAC,GAAG,EAAE,GAAG,MAAM;EAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;EAChC,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;EAChC,IAAI,IAAI,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,aAAa,EAAE,EAAE;EACxD,MAAM,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;EAC7F,KAAK;EACL,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,EAAE;EACtD,MAAM,WAAW,EAAE,SAAS;EAC5B,MAAM,QAAQ,EAAE,QAAQ;EACxB,KAAK,CAAC,CAAC;EACP,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,YAAY,GAAG,YAAY;EAClC,IAAI,IAAI,qBAAqB,CAAC;EAC9B,IAAI,OAAO,CAAC,CAAC,CAAC,qBAAqB,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,qBAAqB,CAAC,GAAG,KAAK,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;EAC7N,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,eAAe,GAAG,UAAU,MAAM,EAAE,KAAK,EAAE;EAClD,IAAI,IAAI,WAAW,GAAG,KAAK,CAAC,WAAW;EACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;EAChC,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE;EACrC,MAAM,QAAQ,EAAE,QAAQ;EACxB,MAAM,WAAW,EAAE,WAAW;EAC9B,KAAK,EAAE,KAAK,CAAC,CAAC;EACd,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,OAAO,GAAG,YAAY;EAC7B,IAAI,KAAK,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;EACpC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;EACnB,GAAG,CAAC;EACJ,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;EACzB,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;EAC7C,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;EACjD,EAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;EACjE,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;EACjD,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;EACjD,GAAG,CAAC,CAAC;EACL,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;EACrB,EAAE;EACF,IAAI,uBAAuB,GAAG,SAAS,uBAAuB,CAAC,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE;EAClG,EAAE,OAAO,GAAG,IAAI,IAAI,EAAE;EACtB,IAAI,IAAI,MAAM,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;EACtC,IAAI,IAAI,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;EAC/C,IAAI,IAAI,YAAY,GAAG,KAAK,EAAE;EAC9B,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,CAAC;EACvB,KAAK,MAAM,IAAI,YAAY,GAAG,KAAK,EAAE;EACrC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC;EACxB,KAAK,MAAM;EACX,MAAM,OAAO,MAAM,CAAC;EACpB,KAAK;EACL,GAAG;EACH,EAAE,IAAI,GAAG,GAAG,CAAC,EAAE;EACf,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC;EACnB,GAAG,MAAM;EACT,IAAI,OAAO,CAAC,CAAC;EACb,GAAG;EACH,CAAC,CAAC;EACF,SAAS,cAAc,CAAC,KAAK,EAAE;EAC/B,EAAE,IAAI,YAAY,GAAG,KAAK,CAAC,YAAY;EACvC,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS;EAC/B,IAAI,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;EACtC,EAAE,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;EACtC,EAAE,IAAI,SAAS,GAAG,SAAS,SAAS,CAAC,KAAK,EAAE;EAC5C,IAAI,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;EACrC,GAAG,CAAC;EACJ,EAAE,IAAI,UAAU,GAAG,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;EAC9E,EAAE,IAAI,QAAQ,GAAG,UAAU,CAAC;EAC5B,EAAE,OAAO,QAAQ,GAAG,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,YAAY,GAAG,SAAS,EAAE;EACpF,IAAI,QAAQ,EAAE,CAAC;EACf,GAAG;EACH,EAAE,OAAO;EACT,IAAI,UAAU,EAAE,UAAU;EAC1B,IAAI,QAAQ,EAAE,QAAQ;EACtB,GAAG,CAAC;EACJ;;ECxjBA,SAASA,qBAAqB,CAI5BC,OAAyD,EACd;EAC3C,EAAA,IAAMC,eAAiE,GACrEC,kBAAU,CAACF,OAAO,CAAC,CAAA;EAErB,EAAA,IAAMG,QAAQ,GAAG,IAAIC,WAAW,CAC9BH,eAAe,CAChB,CAAA;EAED,EAAA,IAAA,YAAA,GAAwCI,iBAAW,CACjDF,QAAQ,CAACG,eAAe,EAAE,CAC3B;MAFMC,YAAY,GAAA,YAAA,CAAA,CAAA,CAAA;MAAEC,eAAe,GAAA,YAAA,CAAA,CAAA,CAAA,CAAA;EAGpC,EAAA,IAAA,aAAA,GAAkCC,oBAAY,CAACN,QAAQ,CAACO,YAAY,EAAE,CAAC;MAAhEC,SAAS,GAAA,aAAA,CAAA,CAAA,CAAA;MAAEC,YAAY,GAAA,aAAA,CAAA,CAAA,CAAA,CAAA;EAE9B,EAAA,IAAMC,OAAO,GAAG;EACdC,IAAAA,GAAG,EACDC,SAAAA,GAAAA,CAAAA,MAAiD,EACjDC,IAAqD,EACrD;EACA,MAAA,QAAQA,IAAI;EACV,QAAA,KAAK,iBAAiB;YACpB,OAAO,YAAA;EAAA,YAAA,OAAMT,YAAY,CAAA;EAAA,WAAA,CAAA;EAC3B,QAAA,KAAK,cAAc;YACjB,OAAO,YAAA;EAAA,YAAA,OAAMI,SAAS,EAAE,CAAA;EAAA,WAAA,CAAA;EAC1B,QAAA;EACE,UAAA,OAAOM,OAAO,CAACH,GAAG,CAACC,MAAM,EAAEC,IAAI,CAAC,CAAA;EAAA,OAAA;EAEtC,KAAA;KACD,CAAA;IAED,IAAME,WAAW,GAAG,IAAIC,KAAK,CAAChB,QAAQ,EAAEU,OAAO,CAAC,CAAA;EAChDK,EAAAA,WAAW,CAACE,UAAU,CAACnB,eAAe,CAAC,CAAA;EAEvCoB,EAAAA,eAAO,CAAC,YAAM;EACZ,IAAA,IAAMC,OAAO,GAAGJ,WAAW,CAACK,SAAS,EAAE,CAAA;MACvCL,WAAW,CAACM,WAAW,EAAE,CAAA;MACzBC,iBAAS,CAACH,OAAO,CAAC,CAAA;EACpB,GAAC,CAAC,CAAA;EAEFI,EAAAA,sBAAc,CAAC,YAAM;MACnBR,WAAW,CAACE,UAAU,CACpBlB,kBAAU,CAACD,eAAe,EAAED,OAAO,EAAE;QACnC2B,QAAQ,EAAE,SAACxB,QAAAA,CAAAA,QAAmD,EAAK;UACjEA,QAAQ,CAACqB,WAAW,EAAE,CAAA;EACtBhB,QAAAA,eAAe,CACboB,eAAS,CAACzB,QAAQ,CAACG,eAAe,EAAE,EAAE;EACpCuB,UAAAA,GAAG,EAAE,OAAA;EACP,SAAC,CAAC,CACH,CAAA;EACDjB,QAAAA,YAAY,CAACT,QAAQ,CAACO,YAAY,EAAE,CAAC,CAAA;UACrCV,OAAO,CAAC2B,QAAQ,IAAhB3B,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAC2B,QAAQ,CAAGxB,QAAQ,CAAC,CAAA;EAC9B,OAAA;EACF,KAAC,CAAC,CACH,CAAA;MACDe,WAAW,CAACY,OAAO,EAAE,CAAA;EACvB,GAAC,CAAC,CAAA;EAEF,EAAA,OAAOZ,WAAW,CAAA;EACpB,CAAA;EAEO,SAASa,iBAAiB,CAI/B/B,OAGC,EAC0C;IAC3C,OAAOD,qBAAqB,CAC1BG,kBAAU,CACR;EACE8B,IAAAA,kBAAkB,EAAEA,kBAAkB;EACtCC,IAAAA,oBAAoB,EAAEA,oBAAoB;EAC1CC,IAAAA,UAAU,EAAEC,aAAAA;KACb,EACDnC,OAAO,CACR,CACF,CAAA;EACH,CAAA;EAEO,SAASoC,uBAAuB,CACrCpC,OAMC,EACkC;IACnC,OAAOD,qBAAqB,CAC1BG,kBAAU,CACR;EACEmC,IAAAA,gBAAgB,EAAE,SAAA,gBAAA,GAAA;EAAA,MAAA,OAChB,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,GAAG,IAAK,CAAA;EAAA,KAAA;EAChDN,IAAAA,kBAAkB,EAAEO,iBAAiB;EACrCN,IAAAA,oBAAoB,EAAEO,mBAAmB;EACzCN,IAAAA,UAAU,EAAEO,YAAAA;KACb,EACDzC,OAAO,CACR,CACF,CAAA;EACH;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -28,7 +28,7 @@
28
28
  * LICENSE.md file in the root directory of this source tree.
29
29
  *
30
30
  * @license MIT
31
- */function i(e,t,n){var o,i,r=null!=(o=n.initialDeps)?o:[];return function(){var o;n.key&&null!=n.debug&&n.debug()&&(o=Date.now());var s,l=e();if(!(l.length!==r.length||l.some((function(e,t){return r[t]!==e}))))return i;if(r=l,n.key&&null!=n.debug&&n.debug()&&(s=Date.now()),i=t.apply(void 0,l),n.key&&null!=n.debug&&n.debug()){var a=Math.round(100*(Date.now()-o))/100,u=Math.round(100*(Date.now()-s))/100,c=u/16,d=function(e,t){for(e=String(e);e.length<t;)e=" "+e;return e};console.info("%c⏱ "+d(u,5)+" /"+d(a,5)+" ms","\n font-size: .6rem;\n font-weight: bold;\n color: hsl("+Math.max(0,Math.min(120-120*c,120))+"deg 100% 31%);",null==n?void 0:n.key)}return null==n||null==n.onChange||n.onChange(i),i}}function r(e,t){if(void 0===e)throw new Error("Unexpected undefined"+(t?": "+t:""));return e}var s=function(e,t){return Math.abs(e-t)<1},l=function(e){return e},a=function(e){for(var t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),o=[],i=t;i<=n;i++)o.push(i);return o},u=function(e,t){var n=e.scrollElement;if(n){var o=function(){var e=n.getBoundingClientRect(),o=e.width,i=e.height;t({width:Math.round(o),height:Math.round(i)})};o();var i=new ResizeObserver((function(){o()}));return i.observe(n),function(){i.unobserve(n)}}},c=function(e,t){var n=e.scrollElement;if(n){var o=function(){t({width:n.innerWidth,height:n.innerHeight})};return o(),n.addEventListener("resize",o,{passive:!0}),function(){n.removeEventListener("resize",o)}}},d=function(e,t){var n=e.scrollElement;if(n){var o=function(){t(n[e.options.horizontal?"scrollLeft":"scrollTop"])};return o(),n.addEventListener("scroll",o,{passive:!0}),function(){n.removeEventListener("scroll",o)}}},f=function(e,t){var n=e.scrollElement;if(n){var o=function(){t(n[e.options.horizontal?"scrollX":"scrollY"])};return o(),n.addEventListener("scroll",o,{passive:!0}),function(){n.removeEventListener("scroll",o)}}},h=function(e,t){return Math.round(e.getBoundingClientRect()[t.options.horizontal?"width":"height"])},m=function(e,t,n){var o,i,r=t.adjustments,s=void 0===r?0:r,l=t.behavior,a=e+s;null==(o=n.scrollElement)||null==o.scrollTo||o.scrollTo(((i={})[n.options.horizontal?"left":"top"]=a,i.behavior=l,i))},g=function(e,t,n){var o,i,r=t.adjustments,s=void 0===r?0:r,l=t.behavior,a=e+s;null==(o=n.scrollElement)||null==o.scrollTo||o.scrollTo(((i={})[n.options.horizontal?"left":"top"]=a,i.behavior=l,i))},v=function(e){var t,n=this;this.unsubs=[],this.scrollElement=null,this.isScrolling=!1,this.isScrollingTimeoutId=null,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache={},this.pendingMeasuredCacheIndexes=[],this.scrollDirection=null,this.scrollAdjustments=0,this.measureElementCache={},this.getResizeObserver=(t=null,function(){return t||("undefined"!=typeof ResizeObserver?t=new ResizeObserver((function(e){e.forEach((function(e){n._measureElement(e.target,!1)}))})):null)}),this.range={startIndex:0,endIndex:0},this.setOptions=function(e){Object.entries(e).forEach((function(t){var n=t[0];void 0===t[1]&&delete e[n]})),n.options=o({debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:l,rangeExtractor:a,onChange:function(){},measureElement:h,initialRect:{width:0,height:0},scrollMargin:0,scrollingDelay:150,indexAttribute:"data-index",initialMeasurementsCache:[]},e)},this.notify=function(){null==n.options.onChange||n.options.onChange(n)},this.cleanup=function(){n.unsubs.filter(Boolean).forEach((function(e){return e()})),n.unsubs=[],n.scrollElement=null},this._didMount=function(){var e=n.getResizeObserver();return Object.values(n.measureElementCache).forEach((function(t){return null==e?void 0:e.observe(t)})),function(){null==e||e.disconnect(),n.cleanup()}},this._willUpdate=function(){var e=n.options.getScrollElement();n.scrollElement!==e&&(n.cleanup(),n.scrollElement=e,n._scrollToOffset(n.scrollOffset,{adjustments:void 0,behavior:void 0}),n.unsubs.push(n.options.observeElementRect(n,(function(e){var t=n.scrollRect;n.scrollRect=e,(n.options.horizontal?e.width!==t.width:e.height!==t.height)&&n.maybeNotify()}))),n.unsubs.push(n.options.observeElementOffset(n,(function(e){n.scrollAdjustments=0,n.scrollOffset!==e&&(null!==n.isScrollingTimeoutId&&(clearTimeout(n.isScrollingTimeoutId),n.isScrollingTimeoutId=null),n.isScrolling=!0,n.scrollDirection=n.scrollOffset<e?"forward":"backward",n.scrollOffset=e,n.maybeNotify(),n.isScrollingTimeoutId=setTimeout((function(){n.isScrollingTimeoutId=null,n.isScrolling=!1,n.scrollDirection=null,n.maybeNotify()}),n.options.scrollingDelay))}))))},this.getSize=function(){return n.scrollRect[n.options.horizontal?"width":"height"]},this.getMeasurements=i((function(){return[n.options.count,n.options.paddingStart,n.options.scrollMargin,n.options.getItemKey,n.itemSizeCache]}),(function(e,t,o,i,r){var s=n.pendingMeasuredCacheIndexes.length>0?Math.min.apply(Math,n.pendingMeasuredCacheIndexes):0;n.pendingMeasuredCacheIndexes=[];for(var l=n.measurementsCache.slice(0,s),a=s;a<e;a++){var u=i(a),c=r[u],d=l[a-1]?l[a-1].end:t+o,f="number"==typeof c?c:n.options.estimateSize(a),h=d+f;l[a]={index:a,start:d,size:f,end:h,key:u}}return n.measurementsCache=l,l}),{key:!1,debug:function(){return n.options.debug}}),this.calculateRange=i((function(){return[n.getMeasurements(),n.getSize(),n.scrollOffset]}),(function(e,t,o){return n.range=function(e){var t=e.measurements,n=e.outerSize,o=e.scrollOffset,i=t.length-1,r=function(e,t,n,o){for(;e<=t;){var i=(e+t)/2|0,r=n(i);if(r<o)e=i+1;else{if(!(r>o))return i;t=i-1}}return e>0?e-1:0}(0,i,(function(e){return t[e].start}),o),s=r;for(;s<i&&t[s].end<o+n;)s++;return{startIndex:r,endIndex:s}}({measurements:e,outerSize:t,scrollOffset:o})}),{key:!1,debug:function(){return n.options.debug}}),this.maybeNotify=i((function(){return[].concat(Object.values(n.calculateRange()),[n.isScrolling])}),(function(){n.notify()}),{key:!1,debug:function(){return n.options.debug},initialDeps:[].concat(Object.values(this.range),[this.isScrolling])}),this.getIndexes=i((function(){return[n.options.rangeExtractor,n.calculateRange(),n.options.overscan,n.options.count]}),(function(e,t,n,i){return e(o({},t,{overscan:n,count:i}))}),{key:!1,debug:function(){return n.options.debug}}),this.indexFromElement=function(e){var t=n.options.indexAttribute,o=e.getAttribute(t);return o?parseInt(o,10):(console.warn("Missing attribute name '"+t+"={index}' on measured element."),-1)},this._measureElement=function(e,t){var i,r=n.indexFromElement(e),s=n.measurementsCache[r];if(s){var l=n.measureElementCache[s.key],a=n.getResizeObserver();if(!e.isConnected)return null==a||a.unobserve(e),void(e===l&&delete n.measureElementCache[s.key]);if(l!==e)l&&(null==a||a.unobserve(l)),null==a||a.observe(e),n.measureElementCache[s.key]=e;else if(!t&&!l.__virtualizerSkipFirstNotSync)return void(l.__virtualizerSkipFirstNotSync=!0);var u,c=n.options.measureElement(e,n),d=c-(null!=(i=n.itemSizeCache[s.key])?i:s.size);if(0!==d)s.start<n.scrollOffset&&n._scrollToOffset(n.scrollOffset,{adjustments:n.scrollAdjustments+=d,behavior:void 0}),n.pendingMeasuredCacheIndexes.push(r),n.itemSizeCache=o({},n.itemSizeCache,((u={})[s.key]=c,u)),n.notify()}},this.measureElement=function(e){e&&n._measureElement(e,!0)},this.getVirtualItems=i((function(){return[n.getIndexes(),n.getMeasurements()]}),(function(e,t){for(var n=[],o=0,i=e.length;o<i;o++){var r=t[e[o]];n.push(r)}return n}),{key:!1,debug:function(){return n.options.debug}}),this.getOffsetForAlignment=function(e,t){var o=n.getSize();"auto"===t&&(t=e<=n.scrollOffset?"start":e>=n.scrollOffset+o?"end":"start"),"start"===t||("end"===t?e-=o:"center"===t&&(e-=o/2));var i=n.options.horizontal?"scrollWidth":"scrollHeight",r=(n.scrollElement?"document"in n.scrollElement?n.scrollElement.document.documentElement[i]:n.scrollElement[i]:0)-n.getSize();return Math.max(Math.min(r,e),0)},this.getOffsetForIndex=function(e,t){void 0===t&&(t="auto"),e=Math.max(0,Math.min(e,n.options.count-1));var o=r(n.getMeasurements()[e]);if("auto"===t)if(o.end>=n.scrollOffset+n.getSize()-n.options.scrollPaddingEnd)t="end";else{if(!(o.start<=n.scrollOffset+n.options.scrollPaddingStart))return[n.scrollOffset,t];t="start"}var i="end"===t?o.end+n.options.scrollPaddingEnd:o.start-n.options.scrollPaddingStart;return[n.getOffsetForAlignment(i,t),t]},this.isDynamicMode=function(){return Object.keys(n.measureElementCache).length>0},this.cancelScrollToIndex=function(){null!==n.scrollToIndexTimeoutId&&(clearTimeout(n.scrollToIndexTimeoutId),n.scrollToIndexTimeoutId=null)},this.scrollToOffset=function(e,t){var o=void 0===t?{}:t,i=o.align,r=void 0===i?"start":i,s=o.behavior;n.cancelScrollToIndex(),"smooth"===s&&n.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),n._scrollToOffset(n.getOffsetForAlignment(e,r),{adjustments:void 0,behavior:s})},this.scrollToIndex=function(e,t){var o=void 0===t?{}:t,i=o.align,r=void 0===i?"auto":i,l=o.behavior;e=Math.max(0,Math.min(e,n.options.count-1)),n.cancelScrollToIndex(),"smooth"===l&&n.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.");var a=n.getOffsetForIndex(e,r),u=a[0],c=a[1];n._scrollToOffset(u,{adjustments:void 0,behavior:l}),"smooth"!==l&&n.isDynamicMode()&&(n.scrollToIndexTimeoutId=setTimeout((function(){if(n.scrollToIndexTimeoutId=null,!!n.measureElementCache[n.options.getItemKey(e)]){var t=n.getOffsetForIndex(e,c)[0];s(t,n.scrollOffset)||n.scrollToIndex(e,{align:c,behavior:l})}else n.scrollToIndex(e,{align:c,behavior:l})})))},this.scrollBy=function(e,t){var o=(void 0===t?{}:t).behavior;n.cancelScrollToIndex(),"smooth"===o&&n.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),n._scrollToOffset(n.scrollOffset+e,{adjustments:void 0,behavior:o})},this.getTotalSize=function(){var e;return((null==(e=n.getMeasurements()[n.options.count-1])?void 0:e.end)||n.options.paddingStart)-n.options.scrollMargin+n.options.paddingEnd},this._scrollToOffset=function(e,t){var o=t.adjustments,i=t.behavior;n.options.scrollToFn(e,{behavior:i,adjustments:o},n)},this.measure=function(){n.itemSizeCache={},n.notify()},this.setOptions(e),this.scrollRect=this.options.initialRect,this.scrollOffset=this.options.initialOffset,this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach((function(e){n.itemSizeCache[e.key]=e.size})),this.maybeNotify()};
31
+ */function i(e,t,n){var o,i,r=null!=(o=n.initialDeps)?o:[];return function(){var o;n.key&&null!=n.debug&&n.debug()&&(o=Date.now());var s,l=e();if(!(l.length!==r.length||l.some((function(e,t){return r[t]!==e}))))return i;if(r=l,n.key&&null!=n.debug&&n.debug()&&(s=Date.now()),i=t.apply(void 0,l),n.key&&null!=n.debug&&n.debug()){var a=Math.round(100*(Date.now()-o))/100,u=Math.round(100*(Date.now()-s))/100,c=u/16,d=function(e,t){for(e=String(e);e.length<t;)e=" "+e;return e};console.info("%c⏱ "+d(u,5)+" /"+d(a,5)+" ms","\n font-size: .6rem;\n font-weight: bold;\n color: hsl("+Math.max(0,Math.min(120-120*c,120))+"deg 100% 31%);",null==n?void 0:n.key)}return null==n||null==n.onChange||n.onChange(i),i}}function r(e,t){if(void 0===e)throw new Error("Unexpected undefined"+(t?": "+t:""));return e}var s=function(e,t){return Math.abs(e-t)<1},l=function(e){return e},a=function(e){for(var t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),o=[],i=t;i<=n;i++)o.push(i);return o},u=function(e,t){var n=e.scrollElement;if(n){var o=function(e){var n=e.width,o=e.height;t({width:Math.round(n),height:Math.round(o)})};o(n.getBoundingClientRect());var i=new ResizeObserver((function(e){var t=e[0];if(t){var i=t.borderBoxSize[0];if(i)return void o({width:i.inlineSize,height:i.blockSize})}o(n.getBoundingClientRect())}));return i.observe(n,{box:"border-box"}),function(){i.unobserve(n)}}},c=function(e,t){var n=e.scrollElement;if(n){var o=function(){t({width:n.innerWidth,height:n.innerHeight})};return o(),n.addEventListener("resize",o,{passive:!0}),function(){n.removeEventListener("resize",o)}}},d=function(e,t){var n=e.scrollElement;if(n){var o=function(){t(n[e.options.horizontal?"scrollLeft":"scrollTop"])};return o(),n.addEventListener("scroll",o,{passive:!0}),function(){n.removeEventListener("scroll",o)}}},f=function(e,t){var n=e.scrollElement;if(n){var o=function(){t(n[e.options.horizontal?"scrollX":"scrollY"])};return o(),n.addEventListener("scroll",o,{passive:!0}),function(){n.removeEventListener("scroll",o)}}},h=function(e,t,n){if(t){var o=t.borderBoxSize[0];if(o)return Math.round(o[n.options.horizontal?"inlineSize":"blockSize"])}return Math.round(e.getBoundingClientRect()[n.options.horizontal?"width":"height"])},m=function(e,t,n){var o,i,r=t.adjustments,s=void 0===r?0:r,l=t.behavior,a=e+s;null==(o=n.scrollElement)||null==o.scrollTo||o.scrollTo(((i={})[n.options.horizontal?"left":"top"]=a,i.behavior=l,i))},g=function(e,t,n){var o,i,r=t.adjustments,s=void 0===r?0:r,l=t.behavior,a=e+s;null==(o=n.scrollElement)||null==o.scrollTo||o.scrollTo(((i={})[n.options.horizontal?"left":"top"]=a,i.behavior=l,i))},v=function(e){var t,n,u=this;this.unsubs=[],this.scrollElement=null,this.isScrolling=!1,this.isScrollingTimeoutId=null,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollDirection=null,this.scrollAdjustments=0,this.measureElementCache=new Map,this.observer=(t=null,n=function(){return t||("undefined"!=typeof ResizeObserver?t=new ResizeObserver((function(e){e.forEach((function(e){u._measureElement(e.target,e)}))})):null)},{disconnect:function(){var e;return null==(e=n())?void 0:e.disconnect()},observe:function(e){var t;return null==(t=n())?void 0:t.observe(e,{box:"border-box"})},unobserve:function(e){var t;return null==(t=n())?void 0:t.unobserve(e)}}),this.range={startIndex:0,endIndex:0},this.setOptions=function(e){Object.entries(e).forEach((function(t){var n=t[0];void 0===t[1]&&delete e[n]})),u.options=o({debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:l,rangeExtractor:a,onChange:function(){},measureElement:h,initialRect:{width:0,height:0},scrollMargin:0,scrollingDelay:150,indexAttribute:"data-index",initialMeasurementsCache:[]},e)},this.notify=function(){null==u.options.onChange||u.options.onChange(u)},this.cleanup=function(){u.unsubs.filter(Boolean).forEach((function(e){return e()})),u.unsubs=[],u.scrollElement=null},this._didMount=function(){return u.measureElementCache.forEach(u.observer.observe),function(){u.observer.disconnect(),u.cleanup()}},this._willUpdate=function(){var e=u.options.getScrollElement();u.scrollElement!==e&&(u.cleanup(),u.scrollElement=e,u._scrollToOffset(u.scrollOffset,{adjustments:void 0,behavior:void 0}),u.unsubs.push(u.options.observeElementRect(u,(function(e){var t=u.scrollRect;u.scrollRect=e,(u.options.horizontal?e.width!==t.width:e.height!==t.height)&&u.maybeNotify()}))),u.unsubs.push(u.options.observeElementOffset(u,(function(e){u.scrollAdjustments=0,u.scrollOffset!==e&&(null!==u.isScrollingTimeoutId&&(clearTimeout(u.isScrollingTimeoutId),u.isScrollingTimeoutId=null),u.isScrolling=!0,u.scrollDirection=u.scrollOffset<e?"forward":"backward",u.scrollOffset=e,u.maybeNotify(),u.isScrollingTimeoutId=setTimeout((function(){u.isScrollingTimeoutId=null,u.isScrolling=!1,u.scrollDirection=null,u.maybeNotify()}),u.options.scrollingDelay))}))))},this.getSize=function(){return u.scrollRect[u.options.horizontal?"width":"height"]},this.getMeasurements=i((function(){return[u.options.count,u.options.paddingStart,u.options.scrollMargin,u.options.getItemKey,u.itemSizeCache]}),(function(e,t,n,o,i){var r=u.pendingMeasuredCacheIndexes.length>0?Math.min.apply(Math,u.pendingMeasuredCacheIndexes):0;u.pendingMeasuredCacheIndexes=[];for(var s=u.measurementsCache.slice(0,r),l=r;l<e;l++){var a=o(l),c=i.get(a),d=s[l-1]?s[l-1].end:t+n,f="number"==typeof c?c:u.options.estimateSize(l),h=d+f;s[l]={index:l,start:d,size:f,end:h,key:a}}return u.measurementsCache=s,s}),{key:!1,debug:function(){return u.options.debug}}),this.calculateRange=i((function(){return[u.getMeasurements(),u.getSize(),u.scrollOffset]}),(function(e,t,n){return u.range=function(e){var t=e.measurements,n=e.outerSize,o=e.scrollOffset,i=t.length-1,r=function(e,t,n,o){for(;e<=t;){var i=(e+t)/2|0,r=n(i);if(r<o)e=i+1;else{if(!(r>o))return i;t=i-1}}return e>0?e-1:0}(0,i,(function(e){return t[e].start}),o),s=r;for(;s<i&&t[s].end<o+n;)s++;return{startIndex:r,endIndex:s}}({measurements:e,outerSize:t,scrollOffset:n})}),{key:!1,debug:function(){return u.options.debug}}),this.maybeNotify=i((function(){return[].concat(Object.values(u.calculateRange()),[u.isScrolling])}),(function(){u.notify()}),{key:!1,debug:function(){return u.options.debug},initialDeps:[].concat(Object.values(this.range),[this.isScrolling])}),this.getIndexes=i((function(){return[u.options.rangeExtractor,u.calculateRange(),u.options.overscan,u.options.count]}),(function(e,t,n,i){return e(o({},t,{overscan:n,count:i}))}),{key:!1,debug:function(){return u.options.debug}}),this.indexFromElement=function(e){var t=u.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn("Missing attribute name '"+t+"={index}' on measured element."),-1)},this._measureElement=function(e,t){var n,o=u.indexFromElement(e),i=u.measurementsCache[o];if(i){var r=u.measureElementCache.get(i.key);if(!e.isConnected)return u.observer.unobserve(e),void(e===r&&u.measureElementCache.delete(i.key));r!==e&&(r&&u.observer.unobserve(r),u.observer.observe(e),u.measureElementCache.set(i.key,e));var s=u.options.measureElement(e,t,u),l=s-(null!=(n=u.itemSizeCache.get(i.key))?n:i.size);0!==l&&(i.start<u.scrollOffset&&u._scrollToOffset(u.scrollOffset,{adjustments:u.scrollAdjustments+=l,behavior:void 0}),u.pendingMeasuredCacheIndexes.push(o),u.itemSizeCache=new Map(u.itemSizeCache.set(i.key,s)),u.notify())}},this.measureElement=function(e){e&&u._measureElement(e,void 0)},this.getVirtualItems=i((function(){return[u.getIndexes(),u.getMeasurements()]}),(function(e,t){for(var n=[],o=0,i=e.length;o<i;o++){var r=t[e[o]];n.push(r)}return n}),{key:!1,debug:function(){return u.options.debug}}),this.getOffsetForAlignment=function(e,t){var n=u.getSize();"auto"===t&&(t=e<=u.scrollOffset?"start":e>=u.scrollOffset+n?"end":"start"),"start"===t||("end"===t?e-=n:"center"===t&&(e-=n/2));var o=u.options.horizontal?"scrollWidth":"scrollHeight",i=(u.scrollElement?"document"in u.scrollElement?u.scrollElement.document.documentElement[o]:u.scrollElement[o]:0)-u.getSize();return Math.max(Math.min(i,e),0)},this.getOffsetForIndex=function(e,t){void 0===t&&(t="auto"),e=Math.max(0,Math.min(e,u.options.count-1));var n=r(u.getMeasurements()[e]);if("auto"===t)if(n.end>=u.scrollOffset+u.getSize()-u.options.scrollPaddingEnd)t="end";else{if(!(n.start<=u.scrollOffset+u.options.scrollPaddingStart))return[u.scrollOffset,t];t="start"}var o="end"===t?n.end+u.options.scrollPaddingEnd:n.start-u.options.scrollPaddingStart;return[u.getOffsetForAlignment(o,t),t]},this.isDynamicMode=function(){return u.measureElementCache.size>0},this.cancelScrollToIndex=function(){null!==u.scrollToIndexTimeoutId&&(clearTimeout(u.scrollToIndexTimeoutId),u.scrollToIndexTimeoutId=null)},this.scrollToOffset=function(e,t){var n=void 0===t?{}:t,o=n.align,i=void 0===o?"start":o,r=n.behavior;u.cancelScrollToIndex(),"smooth"===r&&u.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),u._scrollToOffset(u.getOffsetForAlignment(e,i),{adjustments:void 0,behavior:r})},this.scrollToIndex=function(e,t){var n=void 0===t?{}:t,o=n.align,i=void 0===o?"auto":o,r=n.behavior;e=Math.max(0,Math.min(e,u.options.count-1)),u.cancelScrollToIndex(),"smooth"===r&&u.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.");var l=u.getOffsetForIndex(e,i),a=l[0],c=l[1];u._scrollToOffset(a,{adjustments:void 0,behavior:r}),"smooth"!==r&&u.isDynamicMode()&&(u.scrollToIndexTimeoutId=setTimeout((function(){if(u.scrollToIndexTimeoutId=null,u.measureElementCache.has(u.options.getItemKey(e))){var t=u.getOffsetForIndex(e,c)[0];s(t,u.scrollOffset)||u.scrollToIndex(e,{align:c,behavior:r})}else u.scrollToIndex(e,{align:c,behavior:r})})))},this.scrollBy=function(e,t){var n=(void 0===t?{}:t).behavior;u.cancelScrollToIndex(),"smooth"===n&&u.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),u._scrollToOffset(u.scrollOffset+e,{adjustments:void 0,behavior:n})},this.getTotalSize=function(){var e;return((null==(e=u.getMeasurements()[u.options.count-1])?void 0:e.end)||u.options.paddingStart)-u.options.scrollMargin+u.options.paddingEnd},this._scrollToOffset=function(e,t){var n=t.adjustments,o=t.behavior;u.options.scrollToFn(e,{behavior:o,adjustments:n},u)},this.measure=function(){u.itemSizeCache=new Map,u.notify()},this.setOptions(e),this.scrollRect=this.options.initialRect,this.scrollOffset=this.options.initialOffset,this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach((function(e){u.itemSizeCache.set(e.key,e.size)})),this.maybeNotify()};
32
32
  /**
33
33
  * virtual-core
34
34
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.production.js","sources":["../../../virtual-core/build/lib/_virtual/_rollupPluginBabelHelpers.mjs","../../../virtual-core/build/lib/utils.mjs","../../../virtual-core/build/lib/index.mjs","../../src/index.tsx"],"sourcesContent":["/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nexport { _extends as extends };\n//# sourceMappingURL=_rollupPluginBabelHelpers.mjs.map\n","/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction memo(getDeps, fn, opts) {\n var _opts$initialDeps;\n var deps = (_opts$initialDeps = opts.initialDeps) != null ? _opts$initialDeps : [];\n var result;\n return function () {\n var depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n var newDeps = getDeps();\n var depsChanged = newDeps.length !== deps.length || newDeps.some(function (dep, index) {\n return deps[index] !== dep;\n });\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n var resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn.apply(void 0, newDeps);\n if (opts.key && opts.debug != null && opts.debug()) {\n var depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n var resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n var resultFpsPercentage = resultEndTime / 16;\n var pad = function pad(str, num) {\n str = String(str);\n while (str.length < num) {\n str = ' ' + str;\n }\n return str;\n };\n console.info(\"%c\\u23F1 \" + pad(resultEndTime, 5) + \" /\" + pad(depEndTime, 5) + \" ms\", \"\\n font-size: .6rem;\\n font-weight: bold;\\n color: hsl(\" + Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120)) + \"deg 100% 31%);\", opts == null ? void 0 : opts.key);\n }\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\n return result;\n };\n}\nfunction notUndefined(value, msg) {\n if (value === undefined) {\n throw new Error(\"Unexpected undefined\" + (msg ? \": \" + msg : ''));\n } else {\n return value;\n }\n}\nvar approxEqual = function approxEqual(a, b) {\n return Math.abs(a - b) < 1;\n};\n\nexport { approxEqual, memo, notUndefined };\n//# sourceMappingURL=utils.mjs.map\n","/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { extends as _extends } from './_virtual/_rollupPluginBabelHelpers.mjs';\nimport { memo, notUndefined, approxEqual } from './utils.mjs';\nexport { approxEqual, memo, notUndefined } from './utils.mjs';\n\n//\n\n//\n\nvar defaultKeyExtractor = function defaultKeyExtractor(index) {\n return index;\n};\nvar defaultRangeExtractor = function defaultRangeExtractor(range) {\n var start = Math.max(range.startIndex - range.overscan, 0);\n var end = Math.min(range.endIndex + range.overscan, range.count - 1);\n var arr = [];\n for (var _i = start; _i <= end; _i++) {\n arr.push(_i);\n }\n return arr;\n};\nvar observeElementRect = function observeElementRect(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n var _element$getBoundingC = element.getBoundingClientRect(),\n width = _element$getBoundingC.width,\n height = _element$getBoundingC.height;\n cb({\n width: Math.round(width),\n height: Math.round(height)\n });\n };\n handler();\n var observer = new ResizeObserver(function () {\n handler();\n });\n observer.observe(element);\n return function () {\n observer.unobserve(element);\n };\n};\nvar observeWindowRect = function observeWindowRect(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb({\n width: element.innerWidth,\n height: element.innerHeight\n });\n };\n handler();\n element.addEventListener('resize', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('resize', handler);\n };\n};\nvar observeElementOffset = function observeElementOffset(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb(element[instance.options.horizontal ? 'scrollLeft' : 'scrollTop']);\n };\n handler();\n element.addEventListener('scroll', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', handler);\n };\n};\nvar observeWindowOffset = function observeWindowOffset(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb(element[instance.options.horizontal ? 'scrollX' : 'scrollY']);\n };\n handler();\n element.addEventListener('scroll', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', handler);\n };\n};\nvar measureElement = function measureElement(element, instance) {\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nvar windowScroll = function windowScroll(offset, _ref, instance) {\n var _instance$scrollEleme, _instance$scrollEleme2;\n var _ref$adjustments = _ref.adjustments,\n adjustments = _ref$adjustments === void 0 ? 0 : _ref$adjustments,\n behavior = _ref.behavior;\n var toOffset = offset + adjustments;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo == null ? void 0 : _instance$scrollEleme.scrollTo((_instance$scrollEleme2 = {}, _instance$scrollEleme2[instance.options.horizontal ? 'left' : 'top'] = toOffset, _instance$scrollEleme2.behavior = behavior, _instance$scrollEleme2));\n};\nvar elementScroll = function elementScroll(offset, _ref2, instance) {\n var _instance$scrollEleme3, _instance$scrollEleme4;\n var _ref2$adjustments = _ref2.adjustments,\n adjustments = _ref2$adjustments === void 0 ? 0 : _ref2$adjustments,\n behavior = _ref2.behavior;\n var toOffset = offset + adjustments;\n (_instance$scrollEleme3 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme3.scrollTo == null ? void 0 : _instance$scrollEleme3.scrollTo((_instance$scrollEleme4 = {}, _instance$scrollEleme4[instance.options.horizontal ? 'left' : 'top'] = toOffset, _instance$scrollEleme4.behavior = behavior, _instance$scrollEleme4));\n};\nvar Virtualizer = function Virtualizer(_opts) {\n var _this = this;\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.scrollToIndexTimeoutId = null;\n this.measurementsCache = [];\n this.itemSizeCache = {};\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.measureElementCache = {};\n this.getResizeObserver = function () {\n var _ro = null;\n return function () {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n _this._measureElement(entry.target, false);\n });\n });\n } else {\n return null;\n }\n };\n }();\n this.range = {\n startIndex: 0,\n endIndex: 0\n };\n this.setOptions = function (opts) {\n Object.entries(opts).forEach(function (_ref3) {\n var key = _ref3[0],\n value = _ref3[1];\n if (typeof value === 'undefined') delete opts[key];\n });\n _this.options = _extends({\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: function onChange() {},\n measureElement: measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n initialMeasurementsCache: []\n }, opts);\n };\n this.notify = function () {\n _this.options.onChange == null ? void 0 : _this.options.onChange(_this);\n };\n this.cleanup = function () {\n _this.unsubs.filter(Boolean).forEach(function (d) {\n return d();\n });\n _this.unsubs = [];\n _this.scrollElement = null;\n };\n this._didMount = function () {\n var ro = _this.getResizeObserver();\n Object.values(_this.measureElementCache).forEach(function (node) {\n return ro == null ? void 0 : ro.observe(node);\n });\n return function () {\n ro == null ? void 0 : ro.disconnect();\n _this.cleanup();\n };\n };\n this._willUpdate = function () {\n var scrollElement = _this.options.getScrollElement();\n if (_this.scrollElement !== scrollElement) {\n _this.cleanup();\n _this.scrollElement = scrollElement;\n _this._scrollToOffset(_this.scrollOffset, {\n adjustments: undefined,\n behavior: undefined\n });\n _this.unsubs.push(_this.options.observeElementRect(_this, function (rect) {\n var prev = _this.scrollRect;\n _this.scrollRect = rect;\n if (_this.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n _this.maybeNotify();\n }\n }));\n _this.unsubs.push(_this.options.observeElementOffset(_this, function (offset) {\n _this.scrollAdjustments = 0;\n if (_this.scrollOffset === offset) {\n return;\n }\n if (_this.isScrollingTimeoutId !== null) {\n clearTimeout(_this.isScrollingTimeoutId);\n _this.isScrollingTimeoutId = null;\n }\n _this.isScrolling = true;\n _this.scrollDirection = _this.scrollOffset < offset ? 'forward' : 'backward';\n _this.scrollOffset = offset;\n _this.maybeNotify();\n _this.isScrollingTimeoutId = setTimeout(function () {\n _this.isScrollingTimeoutId = null;\n _this.isScrolling = false;\n _this.scrollDirection = null;\n _this.maybeNotify();\n }, _this.options.scrollingDelay);\n }));\n }\n };\n this.getSize = function () {\n return _this.scrollRect[_this.options.horizontal ? 'width' : 'height'];\n };\n this.getMeasurements = memo(function () {\n return [_this.options.count, _this.options.paddingStart, _this.options.scrollMargin, _this.options.getItemKey, _this.itemSizeCache];\n }, function (count, paddingStart, scrollMargin, getItemKey, itemSizeCache) {\n var min = _this.pendingMeasuredCacheIndexes.length > 0 ? Math.min.apply(Math, _this.pendingMeasuredCacheIndexes) : 0;\n _this.pendingMeasuredCacheIndexes = [];\n var measurements = _this.measurementsCache.slice(0, min);\n for (var _i2 = min; _i2 < count; _i2++) {\n var key = getItemKey(_i2);\n var measuredSize = itemSizeCache[key];\n var start = measurements[_i2 - 1] ? measurements[_i2 - 1].end : paddingStart + scrollMargin;\n var size = typeof measuredSize === 'number' ? measuredSize : _this.options.estimateSize(_i2);\n var end = start + size;\n measurements[_i2] = {\n index: _i2,\n start: start,\n size: size,\n end: end,\n key: key\n };\n }\n _this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.calculateRange = memo(function () {\n return [_this.getMeasurements(), _this.getSize(), _this.scrollOffset];\n }, function (measurements, outerSize, scrollOffset) {\n return _this.range = calculateRange({\n measurements: measurements,\n outerSize: outerSize,\n scrollOffset: scrollOffset\n });\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.maybeNotify = memo(function () {\n return [].concat(Object.values(_this.calculateRange()), [_this.isScrolling]);\n }, function () {\n _this.notify();\n }, {\n key: process.env.NODE_ENV !== 'production' && 'maybeNotify',\n debug: function debug() {\n return _this.options.debug;\n },\n initialDeps: [].concat(Object.values(this.range), [this.isScrolling])\n });\n this.getIndexes = memo(function () {\n return [_this.options.rangeExtractor, _this.calculateRange(), _this.options.overscan, _this.options.count];\n }, function (rangeExtractor, range, overscan, count) {\n return rangeExtractor(_extends({}, range, {\n overscan: overscan,\n count: count\n }));\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.indexFromElement = function (node) {\n var attributeName = _this.options.indexAttribute;\n var indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = function (node, sync) {\n var _this$itemSizeCache$i;\n var index = _this.indexFromElement(node);\n var item = _this.measurementsCache[index];\n if (!item) {\n return;\n }\n var prevNode = _this.measureElementCache[item.key];\n var ro = _this.getResizeObserver();\n if (!node.isConnected) {\n ro == null ? void 0 : ro.unobserve(node);\n if (node === prevNode) {\n delete _this.measureElementCache[item.key];\n }\n return;\n }\n if (prevNode !== node) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n }\n ro == null ? void 0 : ro.observe(node);\n _this.measureElementCache[item.key] = node;\n } else {\n if (!sync && !prevNode.__virtualizerSkipFirstNotSync) {\n prevNode.__virtualizerSkipFirstNotSync = true;\n return;\n }\n }\n var measuredItemSize = _this.options.measureElement(node, _this);\n var itemSize = (_this$itemSizeCache$i = _this.itemSizeCache[item.key]) != null ? _this$itemSizeCache$i : item.size;\n var delta = measuredItemSize - itemSize;\n if (delta !== 0) {\n var _extends2;\n if (item.start < _this.scrollOffset) {\n if (process.env.NODE_ENV !== 'production' && _this.options.debug) {\n console.info('correction', delta);\n }\n _this._scrollToOffset(_this.scrollOffset, {\n adjustments: _this.scrollAdjustments += delta,\n behavior: undefined\n });\n }\n _this.pendingMeasuredCacheIndexes.push(index);\n _this.itemSizeCache = _extends({}, _this.itemSizeCache, (_extends2 = {}, _extends2[item.key] = measuredItemSize, _extends2));\n _this.notify();\n }\n };\n this.measureElement = function (node) {\n if (!node) {\n return;\n }\n _this._measureElement(node, true);\n };\n this.getVirtualItems = memo(function () {\n return [_this.getIndexes(), _this.getMeasurements()];\n }, function (indexes, measurements) {\n var virtualItems = [];\n for (var k = 0, len = indexes.length; k < len; k++) {\n var _i3 = indexes[k];\n var measurement = measurements[_i3];\n virtualItems.push(measurement);\n }\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.getOffsetForAlignment = function (toOffset, align) {\n var size = _this.getSize();\n if (align === 'auto') {\n if (toOffset <= _this.scrollOffset) {\n align = 'start';\n } else if (toOffset >= _this.scrollOffset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n if (align === 'start') {\n toOffset = toOffset;\n } else if (align === 'end') {\n toOffset = toOffset - size;\n } else if (align === 'center') {\n toOffset = toOffset - size / 2;\n }\n var scrollSizeProp = _this.options.horizontal ? 'scrollWidth' : 'scrollHeight';\n var scrollSize = _this.scrollElement ? 'document' in _this.scrollElement ? _this.scrollElement.document.documentElement[scrollSizeProp] : _this.scrollElement[scrollSizeProp] : 0;\n var maxOffset = scrollSize - _this.getSize();\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = function (index, align) {\n if (align === void 0) {\n align = 'auto';\n }\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n var measurement = notUndefined(_this.getMeasurements()[index]);\n if (align === 'auto') {\n if (measurement.end >= _this.scrollOffset + _this.getSize() - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= _this.scrollOffset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return [_this.scrollOffset, align];\n }\n }\n var toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n return [_this.getOffsetForAlignment(toOffset, align), align];\n };\n this.isDynamicMode = function () {\n return Object.keys(_this.measureElementCache).length > 0;\n };\n this.cancelScrollToIndex = function () {\n if (_this.scrollToIndexTimeoutId !== null) {\n clearTimeout(_this.scrollToIndexTimeoutId);\n _this.scrollToIndexTimeoutId = null;\n }\n };\n this.scrollToOffset = function (toOffset, _temp) {\n var _ref4 = _temp === void 0 ? {} : _temp,\n _ref4$align = _ref4.align,\n align = _ref4$align === void 0 ? 'start' : _ref4$align,\n behavior = _ref4.behavior;\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n _this._scrollToOffset(_this.getOffsetForAlignment(toOffset, align), {\n adjustments: undefined,\n behavior: behavior\n });\n };\n this.scrollToIndex = function (index, _temp2) {\n var _ref5 = _temp2 === void 0 ? {} : _temp2,\n _ref5$align = _ref5.align,\n initialAlign = _ref5$align === void 0 ? 'auto' : _ref5$align,\n behavior = _ref5.behavior;\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n var _this$getOffsetForInd = _this.getOffsetForIndex(index, initialAlign),\n toOffset = _this$getOffsetForInd[0],\n align = _this$getOffsetForInd[1];\n _this._scrollToOffset(toOffset, {\n adjustments: undefined,\n behavior: behavior\n });\n if (behavior !== 'smooth' && _this.isDynamicMode()) {\n _this.scrollToIndexTimeoutId = setTimeout(function () {\n _this.scrollToIndexTimeoutId = null;\n var elementInDOM = !!_this.measureElementCache[_this.options.getItemKey(index)];\n if (elementInDOM) {\n var _this$getOffsetForInd2 = _this.getOffsetForIndex(index, align),\n _toOffset = _this$getOffsetForInd2[0];\n if (!approxEqual(_toOffset, _this.scrollOffset)) {\n _this.scrollToIndex(index, {\n align: align,\n behavior: behavior\n });\n }\n } else {\n _this.scrollToIndex(index, {\n align: align,\n behavior: behavior\n });\n }\n });\n }\n };\n this.scrollBy = function (delta, _temp3) {\n var _ref6 = _temp3 === void 0 ? {} : _temp3,\n behavior = _ref6.behavior;\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n _this._scrollToOffset(_this.scrollOffset + delta, {\n adjustments: undefined,\n behavior: behavior\n });\n };\n this.getTotalSize = function () {\n var _this$getMeasurements;\n return (((_this$getMeasurements = _this.getMeasurements()[_this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || _this.options.paddingStart) - _this.options.scrollMargin + _this.options.paddingEnd;\n };\n this._scrollToOffset = function (offset, _ref7) {\n var adjustments = _ref7.adjustments,\n behavior = _ref7.behavior;\n _this.options.scrollToFn(offset, {\n behavior: behavior,\n adjustments: adjustments\n }, _this);\n };\n this.measure = function () {\n _this.itemSizeCache = {};\n _this.notify();\n };\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach(function (item) {\n _this.itemSizeCache[item.key] = item.size;\n });\n this.maybeNotify();\n};\nvar findNearestBinarySearch = function findNearestBinarySearch(low, high, getCurrentValue, value) {\n while (low <= high) {\n var middle = (low + high) / 2 | 0;\n var currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange(_ref8) {\n var measurements = _ref8.measurements,\n outerSize = _ref8.outerSize,\n scrollOffset = _ref8.scrollOffset;\n var count = measurements.length - 1;\n var getOffset = function getOffset(index) {\n return measurements[index].start;\n };\n var startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n var endIndex = startIndex;\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n return {\n startIndex: startIndex,\n endIndex: endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.mjs.map\n","import {\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n PartialKeys,\n Virtualizer,\n VirtualizerOptions,\n windowScroll,\n} from '@tanstack/virtual-core'\nexport * from '@tanstack/virtual-core'\n\nimport {\n createSignal,\n onMount,\n onCleanup,\n createComputed,\n mergeProps,\n} from 'solid-js'\nimport { createStore, reconcile } from 'solid-js/store'\n\nfunction createVirtualizerBase<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n>(\n options: VirtualizerOptions<TScrollElement, TItemElement>,\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> =\n mergeProps(options)\n\n const instance = new Virtualizer<TScrollElement, TItemElement>(\n resolvedOptions,\n )\n\n const [virtualItems, setVirtualItems] = createStore(\n instance.getVirtualItems(),\n )\n const [totalSize, setTotalSize] = createSignal(instance.getTotalSize())\n\n const handler = {\n get(\n target: Virtualizer<TScrollElement, TItemElement>,\n prop: keyof Virtualizer<TScrollElement, TItemElement>,\n ) {\n switch (prop) {\n case 'getVirtualItems':\n return () => virtualItems\n case 'getTotalSize':\n return () => totalSize()\n default:\n return Reflect.get(target, prop)\n }\n },\n }\n\n const virtualizer = new Proxy(instance, handler)\n virtualizer.setOptions(resolvedOptions)\n\n onMount(() => {\n const cleanup = virtualizer._didMount()\n virtualizer._willUpdate()\n onCleanup(cleanup)\n })\n\n createComputed(() => {\n virtualizer.setOptions(\n mergeProps(resolvedOptions, options, {\n onChange: (instance: Virtualizer<TScrollElement, TItemElement>) => {\n instance._willUpdate()\n setVirtualItems(\n reconcile(instance.getVirtualItems(), {\n key: 'index',\n }),\n )\n setTotalSize(instance.getTotalSize())\n options.onChange?.(instance)\n },\n }),\n )\n virtualizer.measure()\n })\n\n return virtualizer\n}\n\nexport function createVirtualizer<\n TScrollElement extends Element,\n TItemElement extends Element,\n>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >,\n): Virtualizer<TScrollElement, TItemElement> {\n return createVirtualizerBase<TScrollElement, TItemElement>(\n mergeProps(\n {\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll,\n },\n options,\n ),\n )\n}\n\nexport function createWindowVirtualizer<TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<Window, TItemElement>,\n | 'getScrollElement'\n | 'observeElementRect'\n | 'observeElementOffset'\n | 'scrollToFn'\n >,\n): Virtualizer<Window, TItemElement> {\n return createVirtualizerBase<Window, TItemElement>(\n mergeProps(\n {\n getScrollElement: () =>\n typeof window !== 'undefined' ? window : null!,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n },\n options,\n ),\n )\n}\n"],"names":["_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","memo","getDeps","fn","opts","_opts$initialDeps","result","deps","initialDeps","depTime","debug","Date","now","resultTime","newDeps","some","dep","index","depEndTime","Math","round","resultEndTime","resultFpsPercentage","pad","str","num","String","console","info","max","min","onChange","notUndefined","value","msg","undefined","Error","approxEqual","a","b","abs","defaultKeyExtractor","defaultRangeExtractor","range","start","startIndex","overscan","end","endIndex","count","arr","_i","push","observeElementRect","instance","cb","element","scrollElement","handler","_element$getBoundingC","getBoundingClientRect","width","height","observer","ResizeObserver","observe","unobserve","observeWindowRect","innerWidth","innerHeight","addEventListener","passive","removeEventListener","observeElementOffset","options","horizontal","observeWindowOffset","measureElement","windowScroll","offset","_ref","_instance$scrollEleme","_instance$scrollEleme2","_ref$adjustments","adjustments","behavior","toOffset","scrollTo","elementScroll","_ref2","_instance$scrollEleme3","_instance$scrollEleme4","_ref2$adjustments","Virtualizer","_opts","_ro","_this","unsubs","isScrolling","isScrollingTimeoutId","scrollToIndexTimeoutId","measurementsCache","itemSizeCache","pendingMeasuredCacheIndexes","scrollDirection","scrollAdjustments","measureElementCache","getResizeObserver","entries","forEach","entry","_measureElement","setOptions","_ref3","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","getItemKey","rangeExtractor","initialRect","scrollMargin","scrollingDelay","indexAttribute","initialMeasurementsCache","notify","cleanup","filter","Boolean","d","_didMount","ro","values","node","disconnect","_willUpdate","getScrollElement","_scrollToOffset","scrollOffset","rect","prev","scrollRect","maybeNotify","clearTimeout","setTimeout","getSize","getMeasurements","measurements","slice","_i2","measuredSize","size","estimateSize","calculateRange","outerSize","_ref8","low","high","getCurrentValue","middle","currentValue","findNearestBinarySearch","concat","getIndexes","indexFromElement","attributeName","indexStr","getAttribute","parseInt","warn","sync","_this$itemSizeCache$i","item","prevNode","isConnected","__virtualizerSkipFirstNotSync","_extends2","measuredItemSize","delta","getVirtualItems","indexes","virtualItems","k","len","measurement","getOffsetForAlignment","align","scrollSizeProp","maxOffset","document","documentElement","getOffsetForIndex","isDynamicMode","keys","cancelScrollToIndex","scrollToOffset","_temp","_ref4","_ref4$align","scrollToIndex","_temp2","_ref5","_ref5$align","initialAlign","_this$getOffsetForInd","_toOffset","scrollBy","_temp3","getTotalSize","_this$getMeasurements","_ref7","scrollToFn","measure","createVirtualizerBase","resolvedOptions","mergeProps","_createStore","createStore","setVirtualItems","_createSignal","createSignal","totalSize","setTotalSize","virtualizer","Proxy","get","prop","Reflect","onMount","onCleanup","createComputed","reconcile","window"],"mappings":"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"}
1
+ {"version":3,"file":"index.production.js","sources":["../../../virtual-core/build/lib/_virtual/_rollupPluginBabelHelpers.mjs","../../../virtual-core/build/lib/utils.mjs","../../../virtual-core/build/lib/index.mjs","../../src/index.tsx"],"sourcesContent":["/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nexport { _extends as extends };\n//# sourceMappingURL=_rollupPluginBabelHelpers.mjs.map\n","/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction memo(getDeps, fn, opts) {\n var _opts$initialDeps;\n var deps = (_opts$initialDeps = opts.initialDeps) != null ? _opts$initialDeps : [];\n var result;\n return function () {\n var depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n var newDeps = getDeps();\n var depsChanged = newDeps.length !== deps.length || newDeps.some(function (dep, index) {\n return deps[index] !== dep;\n });\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n var resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn.apply(void 0, newDeps);\n if (opts.key && opts.debug != null && opts.debug()) {\n var depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n var resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n var resultFpsPercentage = resultEndTime / 16;\n var pad = function pad(str, num) {\n str = String(str);\n while (str.length < num) {\n str = ' ' + str;\n }\n return str;\n };\n console.info(\"%c\\u23F1 \" + pad(resultEndTime, 5) + \" /\" + pad(depEndTime, 5) + \" ms\", \"\\n font-size: .6rem;\\n font-weight: bold;\\n color: hsl(\" + Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120)) + \"deg 100% 31%);\", opts == null ? void 0 : opts.key);\n }\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\n return result;\n };\n}\nfunction notUndefined(value, msg) {\n if (value === undefined) {\n throw new Error(\"Unexpected undefined\" + (msg ? \": \" + msg : ''));\n } else {\n return value;\n }\n}\nvar approxEqual = function approxEqual(a, b) {\n return Math.abs(a - b) < 1;\n};\n\nexport { approxEqual, memo, notUndefined };\n//# sourceMappingURL=utils.mjs.map\n","/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { extends as _extends } from './_virtual/_rollupPluginBabelHelpers.mjs';\nimport { memo, notUndefined, approxEqual } from './utils.mjs';\nexport { approxEqual, memo, notUndefined } from './utils.mjs';\n\n//\n\n//\n\nvar defaultKeyExtractor = function defaultKeyExtractor(index) {\n return index;\n};\nvar defaultRangeExtractor = function defaultRangeExtractor(range) {\n var start = Math.max(range.startIndex - range.overscan, 0);\n var end = Math.min(range.endIndex + range.overscan, range.count - 1);\n var arr = [];\n for (var _i = start; _i <= end; _i++) {\n arr.push(_i);\n }\n return arr;\n};\nvar observeElementRect = function observeElementRect(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler(rect) {\n var width = rect.width,\n height = rect.height;\n cb({\n width: Math.round(width),\n height: Math.round(height)\n });\n };\n handler(element.getBoundingClientRect());\n var observer = new ResizeObserver(function (entries) {\n var entry = entries[0];\n if (entry) {\n var box = entry.borderBoxSize[0];\n if (box) {\n handler({\n width: box.inlineSize,\n height: box.blockSize\n });\n return;\n }\n }\n handler(element.getBoundingClientRect());\n });\n observer.observe(element, {\n box: 'border-box'\n });\n return function () {\n observer.unobserve(element);\n };\n};\nvar observeWindowRect = function observeWindowRect(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb({\n width: element.innerWidth,\n height: element.innerHeight\n });\n };\n handler();\n element.addEventListener('resize', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('resize', handler);\n };\n};\nvar observeElementOffset = function observeElementOffset(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb(element[instance.options.horizontal ? 'scrollLeft' : 'scrollTop']);\n };\n handler();\n element.addEventListener('scroll', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', handler);\n };\n};\nvar observeWindowOffset = function observeWindowOffset(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb(element[instance.options.horizontal ? 'scrollX' : 'scrollY']);\n };\n handler();\n element.addEventListener('scroll', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', handler);\n };\n};\nvar measureElement = function measureElement(element, entry, instance) {\n if (entry) {\n var box = entry.borderBoxSize[0];\n if (box) {\n var size = Math.round(box[instance.options.horizontal ? 'inlineSize' : 'blockSize']);\n return size;\n }\n }\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nvar windowScroll = function windowScroll(offset, _ref, instance) {\n var _instance$scrollEleme, _instance$scrollEleme2;\n var _ref$adjustments = _ref.adjustments,\n adjustments = _ref$adjustments === void 0 ? 0 : _ref$adjustments,\n behavior = _ref.behavior;\n var toOffset = offset + adjustments;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo == null ? void 0 : _instance$scrollEleme.scrollTo((_instance$scrollEleme2 = {}, _instance$scrollEleme2[instance.options.horizontal ? 'left' : 'top'] = toOffset, _instance$scrollEleme2.behavior = behavior, _instance$scrollEleme2));\n};\nvar elementScroll = function elementScroll(offset, _ref2, instance) {\n var _instance$scrollEleme3, _instance$scrollEleme4;\n var _ref2$adjustments = _ref2.adjustments,\n adjustments = _ref2$adjustments === void 0 ? 0 : _ref2$adjustments,\n behavior = _ref2.behavior;\n var toOffset = offset + adjustments;\n (_instance$scrollEleme3 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme3.scrollTo == null ? void 0 : _instance$scrollEleme3.scrollTo((_instance$scrollEleme4 = {}, _instance$scrollEleme4[instance.options.horizontal ? 'left' : 'top'] = toOffset, _instance$scrollEleme4.behavior = behavior, _instance$scrollEleme4));\n};\nvar Virtualizer = function Virtualizer(_opts) {\n var _this = this;\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.scrollToIndexTimeoutId = null;\n this.measurementsCache = [];\n this.itemSizeCache = new Map();\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.measureElementCache = new Map();\n this.observer = function () {\n var _ro = null;\n var get = function get() {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n _this._measureElement(entry.target, entry);\n });\n });\n } else {\n return null;\n }\n };\n return {\n disconnect: function disconnect() {\n var _get;\n return (_get = get()) == null ? void 0 : _get.disconnect();\n },\n observe: function observe(target) {\n var _get2;\n return (_get2 = get()) == null ? void 0 : _get2.observe(target, {\n box: 'border-box'\n });\n },\n unobserve: function unobserve(target) {\n var _get3;\n return (_get3 = get()) == null ? void 0 : _get3.unobserve(target);\n }\n };\n }();\n this.range = {\n startIndex: 0,\n endIndex: 0\n };\n this.setOptions = function (opts) {\n Object.entries(opts).forEach(function (_ref3) {\n var key = _ref3[0],\n value = _ref3[1];\n if (typeof value === 'undefined') delete opts[key];\n });\n _this.options = _extends({\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: function onChange() {},\n measureElement: measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n initialMeasurementsCache: []\n }, opts);\n };\n this.notify = function () {\n _this.options.onChange == null ? void 0 : _this.options.onChange(_this);\n };\n this.cleanup = function () {\n _this.unsubs.filter(Boolean).forEach(function (d) {\n return d();\n });\n _this.unsubs = [];\n _this.scrollElement = null;\n };\n this._didMount = function () {\n _this.measureElementCache.forEach(_this.observer.observe);\n return function () {\n _this.observer.disconnect();\n _this.cleanup();\n };\n };\n this._willUpdate = function () {\n var scrollElement = _this.options.getScrollElement();\n if (_this.scrollElement !== scrollElement) {\n _this.cleanup();\n _this.scrollElement = scrollElement;\n _this._scrollToOffset(_this.scrollOffset, {\n adjustments: undefined,\n behavior: undefined\n });\n _this.unsubs.push(_this.options.observeElementRect(_this, function (rect) {\n var prev = _this.scrollRect;\n _this.scrollRect = rect;\n if (_this.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n _this.maybeNotify();\n }\n }));\n _this.unsubs.push(_this.options.observeElementOffset(_this, function (offset) {\n _this.scrollAdjustments = 0;\n if (_this.scrollOffset === offset) {\n return;\n }\n if (_this.isScrollingTimeoutId !== null) {\n clearTimeout(_this.isScrollingTimeoutId);\n _this.isScrollingTimeoutId = null;\n }\n _this.isScrolling = true;\n _this.scrollDirection = _this.scrollOffset < offset ? 'forward' : 'backward';\n _this.scrollOffset = offset;\n _this.maybeNotify();\n _this.isScrollingTimeoutId = setTimeout(function () {\n _this.isScrollingTimeoutId = null;\n _this.isScrolling = false;\n _this.scrollDirection = null;\n _this.maybeNotify();\n }, _this.options.scrollingDelay);\n }));\n }\n };\n this.getSize = function () {\n return _this.scrollRect[_this.options.horizontal ? 'width' : 'height'];\n };\n this.getMeasurements = memo(function () {\n return [_this.options.count, _this.options.paddingStart, _this.options.scrollMargin, _this.options.getItemKey, _this.itemSizeCache];\n }, function (count, paddingStart, scrollMargin, getItemKey, itemSizeCache) {\n var min = _this.pendingMeasuredCacheIndexes.length > 0 ? Math.min.apply(Math, _this.pendingMeasuredCacheIndexes) : 0;\n _this.pendingMeasuredCacheIndexes = [];\n var measurements = _this.measurementsCache.slice(0, min);\n for (var _i2 = min; _i2 < count; _i2++) {\n var key = getItemKey(_i2);\n var measuredSize = itemSizeCache.get(key);\n var start = measurements[_i2 - 1] ? measurements[_i2 - 1].end : paddingStart + scrollMargin;\n var size = typeof measuredSize === 'number' ? measuredSize : _this.options.estimateSize(_i2);\n var end = start + size;\n measurements[_i2] = {\n index: _i2,\n start: start,\n size: size,\n end: end,\n key: key\n };\n }\n _this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.calculateRange = memo(function () {\n return [_this.getMeasurements(), _this.getSize(), _this.scrollOffset];\n }, function (measurements, outerSize, scrollOffset) {\n return _this.range = calculateRange({\n measurements: measurements,\n outerSize: outerSize,\n scrollOffset: scrollOffset\n });\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.maybeNotify = memo(function () {\n return [].concat(Object.values(_this.calculateRange()), [_this.isScrolling]);\n }, function () {\n _this.notify();\n }, {\n key: process.env.NODE_ENV !== 'production' && 'maybeNotify',\n debug: function debug() {\n return _this.options.debug;\n },\n initialDeps: [].concat(Object.values(this.range), [this.isScrolling])\n });\n this.getIndexes = memo(function () {\n return [_this.options.rangeExtractor, _this.calculateRange(), _this.options.overscan, _this.options.count];\n }, function (rangeExtractor, range, overscan, count) {\n return rangeExtractor(_extends({}, range, {\n overscan: overscan,\n count: count\n }));\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.indexFromElement = function (node) {\n var attributeName = _this.options.indexAttribute;\n var indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = function (node, entry) {\n var _this$itemSizeCache$g;\n var index = _this.indexFromElement(node);\n var item = _this.measurementsCache[index];\n if (!item) {\n return;\n }\n var prevNode = _this.measureElementCache.get(item.key);\n if (!node.isConnected) {\n _this.observer.unobserve(node);\n if (node === prevNode) {\n _this.measureElementCache[\"delete\"](item.key);\n }\n return;\n }\n if (prevNode !== node) {\n if (prevNode) {\n _this.observer.unobserve(prevNode);\n }\n _this.observer.observe(node);\n _this.measureElementCache.set(item.key, node);\n }\n var measuredItemSize = _this.options.measureElement(node, entry, _this);\n var itemSize = (_this$itemSizeCache$g = _this.itemSizeCache.get(item.key)) != null ? _this$itemSizeCache$g : item.size;\n var delta = measuredItemSize - itemSize;\n if (delta !== 0) {\n if (item.start < _this.scrollOffset) {\n if (process.env.NODE_ENV !== 'production' && _this.options.debug) {\n console.info('correction', delta);\n }\n _this._scrollToOffset(_this.scrollOffset, {\n adjustments: _this.scrollAdjustments += delta,\n behavior: undefined\n });\n }\n _this.pendingMeasuredCacheIndexes.push(index);\n _this.itemSizeCache = new Map(_this.itemSizeCache.set(item.key, measuredItemSize));\n _this.notify();\n }\n };\n this.measureElement = function (node) {\n if (!node) {\n return;\n }\n _this._measureElement(node, undefined);\n };\n this.getVirtualItems = memo(function () {\n return [_this.getIndexes(), _this.getMeasurements()];\n }, function (indexes, measurements) {\n var virtualItems = [];\n for (var k = 0, len = indexes.length; k < len; k++) {\n var _i3 = indexes[k];\n var measurement = measurements[_i3];\n virtualItems.push(measurement);\n }\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.getOffsetForAlignment = function (toOffset, align) {\n var size = _this.getSize();\n if (align === 'auto') {\n if (toOffset <= _this.scrollOffset) {\n align = 'start';\n } else if (toOffset >= _this.scrollOffset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n if (align === 'start') {\n toOffset = toOffset;\n } else if (align === 'end') {\n toOffset = toOffset - size;\n } else if (align === 'center') {\n toOffset = toOffset - size / 2;\n }\n var scrollSizeProp = _this.options.horizontal ? 'scrollWidth' : 'scrollHeight';\n var scrollSize = _this.scrollElement ? 'document' in _this.scrollElement ? _this.scrollElement.document.documentElement[scrollSizeProp] : _this.scrollElement[scrollSizeProp] : 0;\n var maxOffset = scrollSize - _this.getSize();\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = function (index, align) {\n if (align === void 0) {\n align = 'auto';\n }\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n var measurement = notUndefined(_this.getMeasurements()[index]);\n if (align === 'auto') {\n if (measurement.end >= _this.scrollOffset + _this.getSize() - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= _this.scrollOffset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return [_this.scrollOffset, align];\n }\n }\n var toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n return [_this.getOffsetForAlignment(toOffset, align), align];\n };\n this.isDynamicMode = function () {\n return _this.measureElementCache.size > 0;\n };\n this.cancelScrollToIndex = function () {\n if (_this.scrollToIndexTimeoutId !== null) {\n clearTimeout(_this.scrollToIndexTimeoutId);\n _this.scrollToIndexTimeoutId = null;\n }\n };\n this.scrollToOffset = function (toOffset, _temp) {\n var _ref4 = _temp === void 0 ? {} : _temp,\n _ref4$align = _ref4.align,\n align = _ref4$align === void 0 ? 'start' : _ref4$align,\n behavior = _ref4.behavior;\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n _this._scrollToOffset(_this.getOffsetForAlignment(toOffset, align), {\n adjustments: undefined,\n behavior: behavior\n });\n };\n this.scrollToIndex = function (index, _temp2) {\n var _ref5 = _temp2 === void 0 ? {} : _temp2,\n _ref5$align = _ref5.align,\n initialAlign = _ref5$align === void 0 ? 'auto' : _ref5$align,\n behavior = _ref5.behavior;\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n var _this$getOffsetForInd = _this.getOffsetForIndex(index, initialAlign),\n toOffset = _this$getOffsetForInd[0],\n align = _this$getOffsetForInd[1];\n _this._scrollToOffset(toOffset, {\n adjustments: undefined,\n behavior: behavior\n });\n if (behavior !== 'smooth' && _this.isDynamicMode()) {\n _this.scrollToIndexTimeoutId = setTimeout(function () {\n _this.scrollToIndexTimeoutId = null;\n var elementInDOM = _this.measureElementCache.has(_this.options.getItemKey(index));\n if (elementInDOM) {\n var _this$getOffsetForInd2 = _this.getOffsetForIndex(index, align),\n _toOffset = _this$getOffsetForInd2[0];\n if (!approxEqual(_toOffset, _this.scrollOffset)) {\n _this.scrollToIndex(index, {\n align: align,\n behavior: behavior\n });\n }\n } else {\n _this.scrollToIndex(index, {\n align: align,\n behavior: behavior\n });\n }\n });\n }\n };\n this.scrollBy = function (delta, _temp3) {\n var _ref6 = _temp3 === void 0 ? {} : _temp3,\n behavior = _ref6.behavior;\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n _this._scrollToOffset(_this.scrollOffset + delta, {\n adjustments: undefined,\n behavior: behavior\n });\n };\n this.getTotalSize = function () {\n var _this$getMeasurements;\n return (((_this$getMeasurements = _this.getMeasurements()[_this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || _this.options.paddingStart) - _this.options.scrollMargin + _this.options.paddingEnd;\n };\n this._scrollToOffset = function (offset, _ref7) {\n var adjustments = _ref7.adjustments,\n behavior = _ref7.behavior;\n _this.options.scrollToFn(offset, {\n behavior: behavior,\n adjustments: adjustments\n }, _this);\n };\n this.measure = function () {\n _this.itemSizeCache = new Map();\n _this.notify();\n };\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach(function (item) {\n _this.itemSizeCache.set(item.key, item.size);\n });\n this.maybeNotify();\n};\nvar findNearestBinarySearch = function findNearestBinarySearch(low, high, getCurrentValue, value) {\n while (low <= high) {\n var middle = (low + high) / 2 | 0;\n var currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange(_ref8) {\n var measurements = _ref8.measurements,\n outerSize = _ref8.outerSize,\n scrollOffset = _ref8.scrollOffset;\n var count = measurements.length - 1;\n var getOffset = function getOffset(index) {\n return measurements[index].start;\n };\n var startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n var endIndex = startIndex;\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n return {\n startIndex: startIndex,\n endIndex: endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.mjs.map\n","import {\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n PartialKeys,\n Virtualizer,\n VirtualizerOptions,\n windowScroll,\n} from '@tanstack/virtual-core'\nexport * from '@tanstack/virtual-core'\n\nimport {\n createSignal,\n onMount,\n onCleanup,\n createComputed,\n mergeProps,\n} from 'solid-js'\nimport { createStore, reconcile } from 'solid-js/store'\n\nfunction createVirtualizerBase<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n>(\n options: VirtualizerOptions<TScrollElement, TItemElement>,\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> =\n mergeProps(options)\n\n const instance = new Virtualizer<TScrollElement, TItemElement>(\n resolvedOptions,\n )\n\n const [virtualItems, setVirtualItems] = createStore(\n instance.getVirtualItems(),\n )\n const [totalSize, setTotalSize] = createSignal(instance.getTotalSize())\n\n const handler = {\n get(\n target: Virtualizer<TScrollElement, TItemElement>,\n prop: keyof Virtualizer<TScrollElement, TItemElement>,\n ) {\n switch (prop) {\n case 'getVirtualItems':\n return () => virtualItems\n case 'getTotalSize':\n return () => totalSize()\n default:\n return Reflect.get(target, prop)\n }\n },\n }\n\n const virtualizer = new Proxy(instance, handler)\n virtualizer.setOptions(resolvedOptions)\n\n onMount(() => {\n const cleanup = virtualizer._didMount()\n virtualizer._willUpdate()\n onCleanup(cleanup)\n })\n\n createComputed(() => {\n virtualizer.setOptions(\n mergeProps(resolvedOptions, options, {\n onChange: (instance: Virtualizer<TScrollElement, TItemElement>) => {\n instance._willUpdate()\n setVirtualItems(\n reconcile(instance.getVirtualItems(), {\n key: 'index',\n }),\n )\n setTotalSize(instance.getTotalSize())\n options.onChange?.(instance)\n },\n }),\n )\n virtualizer.measure()\n })\n\n return virtualizer\n}\n\nexport function createVirtualizer<\n TScrollElement extends Element,\n TItemElement extends Element,\n>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >,\n): Virtualizer<TScrollElement, TItemElement> {\n return createVirtualizerBase<TScrollElement, TItemElement>(\n mergeProps(\n {\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll,\n },\n options,\n ),\n )\n}\n\nexport function createWindowVirtualizer<TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<Window, TItemElement>,\n | 'getScrollElement'\n | 'observeElementRect'\n | 'observeElementOffset'\n | 'scrollToFn'\n >,\n): Virtualizer<Window, TItemElement> {\n return createVirtualizerBase<Window, TItemElement>(\n mergeProps(\n {\n getScrollElement: () =>\n typeof window !== 'undefined' ? window : null!,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n },\n options,\n ),\n )\n}\n"],"names":["_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","memo","getDeps","fn","opts","_opts$initialDeps","result","deps","initialDeps","depTime","debug","Date","now","resultTime","newDeps","some","dep","index","depEndTime","Math","round","resultEndTime","resultFpsPercentage","pad","str","num","String","console","info","max","min","onChange","notUndefined","value","msg","undefined","Error","approxEqual","a","b","abs","defaultKeyExtractor","defaultRangeExtractor","range","start","startIndex","overscan","end","endIndex","count","arr","_i","push","observeElementRect","instance","cb","element","scrollElement","handler","rect","width","height","getBoundingClientRect","observer","ResizeObserver","entries","entry","box","borderBoxSize","inlineSize","blockSize","observe","unobserve","observeWindowRect","innerWidth","innerHeight","addEventListener","passive","removeEventListener","observeElementOffset","options","horizontal","observeWindowOffset","measureElement","windowScroll","offset","_ref","_instance$scrollEleme","_instance$scrollEleme2","_ref$adjustments","adjustments","behavior","toOffset","scrollTo","elementScroll","_ref2","_instance$scrollEleme3","_instance$scrollEleme4","_ref2$adjustments","Virtualizer","_opts","_ro","get","_this","unsubs","isScrolling","isScrollingTimeoutId","scrollToIndexTimeoutId","measurementsCache","itemSizeCache","Map","pendingMeasuredCacheIndexes","scrollDirection","scrollAdjustments","measureElementCache","forEach","_measureElement","disconnect","_get","_get2","_get3","setOptions","_ref3","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","getItemKey","rangeExtractor","initialRect","scrollMargin","scrollingDelay","indexAttribute","initialMeasurementsCache","notify","cleanup","filter","Boolean","d","_didMount","_willUpdate","getScrollElement","_scrollToOffset","scrollOffset","prev","scrollRect","maybeNotify","clearTimeout","setTimeout","getSize","getMeasurements","measurements","slice","_i2","measuredSize","size","estimateSize","calculateRange","outerSize","_ref8","low","high","getCurrentValue","middle","currentValue","findNearestBinarySearch","concat","values","getIndexes","indexFromElement","node","attributeName","indexStr","getAttribute","parseInt","warn","_this$itemSizeCache$g","item","prevNode","isConnected","set","measuredItemSize","delta","getVirtualItems","indexes","virtualItems","k","len","measurement","getOffsetForAlignment","align","scrollSizeProp","maxOffset","document","documentElement","getOffsetForIndex","isDynamicMode","cancelScrollToIndex","scrollToOffset","_temp","_ref4","_ref4$align","scrollToIndex","_temp2","_ref5","_ref5$align","initialAlign","_this$getOffsetForInd","has","_toOffset","scrollBy","_temp3","getTotalSize","_this$getMeasurements","_ref7","scrollToFn","measure","createVirtualizerBase","resolvedOptions","mergeProps","_createStore","createStore","setVirtualItems","_createSignal","createSignal","totalSize","setTotalSize","virtualizer","Proxy","prop","Reflect","onMount","onCleanup","createComputed","reconcile","window"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tanstack/solid-virtual",
3
3
  "author": "Tanner Linsley",
4
- "version": "3.0.0-beta.45",
4
+ "version": "3.0.0-beta.47",
5
5
  "description": "Headless UI for virtualizing scrollable elements in Solid",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/tanstack/virtual#readme",
@@ -45,7 +45,7 @@
45
45
  "solid-js": "^1.3.15"
46
46
  },
47
47
  "dependencies": {
48
- "@tanstack/virtual-core": "3.0.0-beta.45"
48
+ "@tanstack/virtual-core": "3.0.0-beta.47"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "solid-js": "^1.3.0"