@tanstack/solid-virtual 3.0.0-beta.42 → 3.0.0-beta.44
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.
|
@@ -50,7 +50,8 @@
|
|
|
50
50
|
* @license MIT
|
|
51
51
|
*/
|
|
52
52
|
function memo(getDeps, fn, opts) {
|
|
53
|
-
var
|
|
53
|
+
var _opts$initialDeps;
|
|
54
|
+
var deps = (_opts$initialDeps = opts.initialDeps) != null ? _opts$initialDeps : [];
|
|
54
55
|
var result;
|
|
55
56
|
return function () {
|
|
56
57
|
var depTime;
|
|
@@ -65,11 +66,7 @@
|
|
|
65
66
|
deps = newDeps;
|
|
66
67
|
var resultTime;
|
|
67
68
|
if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();
|
|
68
|
-
|
|
69
|
-
fArgs[_key] = arguments[_key];
|
|
70
|
-
}
|
|
71
|
-
result = fn.apply(void 0, newDeps.concat([fArgs]));
|
|
72
|
-
opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);
|
|
69
|
+
result = fn.apply(void 0, newDeps);
|
|
73
70
|
if (opts.key && opts.debug != null && opts.debug()) {
|
|
74
71
|
var depEndTime = Math.round((Date.now() - depTime) * 100) / 100;
|
|
75
72
|
var resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;
|
|
@@ -83,6 +80,7 @@
|
|
|
83
80
|
};
|
|
84
81
|
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);
|
|
85
82
|
}
|
|
83
|
+
opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);
|
|
86
84
|
return result;
|
|
87
85
|
};
|
|
88
86
|
}
|
|
@@ -334,7 +332,7 @@
|
|
|
334
332
|
});
|
|
335
333
|
_this.unsubs.push(_this.options.observeElementRect(_this, function (rect) {
|
|
336
334
|
_this.scrollRect = rect;
|
|
337
|
-
_this.
|
|
335
|
+
_this.maybeNotify();
|
|
338
336
|
}));
|
|
339
337
|
_this.unsubs.push(_this.options.observeElementOffset(_this, function (offset) {
|
|
340
338
|
_this.scrollAdjustments = 0;
|
|
@@ -345,20 +343,15 @@
|
|
|
345
343
|
clearTimeout(_this.isScrollingTimeoutId);
|
|
346
344
|
_this.isScrollingTimeoutId = null;
|
|
347
345
|
}
|
|
348
|
-
|
|
349
|
-
if (_this.isScrolling !== isScrolling) {
|
|
350
|
-
_this.isScrolling = isScrolling;
|
|
351
|
-
_this.notify();
|
|
352
|
-
}
|
|
353
|
-
};
|
|
346
|
+
_this.isScrolling = true;
|
|
354
347
|
_this.scrollDirection = _this.scrollOffset < offset ? 'forward' : 'backward';
|
|
355
348
|
_this.scrollOffset = offset;
|
|
356
|
-
_this.
|
|
357
|
-
onIsScrollingChange(true);
|
|
349
|
+
_this.maybeNotify();
|
|
358
350
|
_this.isScrollingTimeoutId = setTimeout(function () {
|
|
359
351
|
_this.isScrollingTimeoutId = null;
|
|
352
|
+
_this.isScrolling = false;
|
|
360
353
|
_this.scrollDirection = null;
|
|
361
|
-
|
|
354
|
+
_this.maybeNotify();
|
|
362
355
|
}, _this.options.scrollingDelay);
|
|
363
356
|
}));
|
|
364
357
|
}
|
|
@@ -396,29 +389,31 @@
|
|
|
396
389
|
});
|
|
397
390
|
this.calculateRange = memo(function () {
|
|
398
391
|
return [_this.getMeasurements(), _this.getSize(), _this.scrollOffset];
|
|
399
|
-
}, function (measurements, outerSize, scrollOffset
|
|
400
|
-
|
|
401
|
-
flush = _ref4$ === void 0 ? true : _ref4$;
|
|
402
|
-
var range = calculateRange({
|
|
392
|
+
}, function (measurements, outerSize, scrollOffset) {
|
|
393
|
+
return _this.range = calculateRange({
|
|
403
394
|
measurements: measurements,
|
|
404
395
|
outerSize: outerSize,
|
|
405
396
|
scrollOffset: scrollOffset
|
|
406
397
|
});
|
|
407
|
-
if (range.startIndex !== _this.range.startIndex || range.endIndex !== _this.range.endIndex) {
|
|
408
|
-
_this.range = range;
|
|
409
|
-
if (flush) {
|
|
410
|
-
_this.notify();
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
return _this.range;
|
|
414
398
|
}, {
|
|
415
399
|
key: 'calculateRange',
|
|
416
400
|
debug: function debug() {
|
|
417
401
|
return _this.options.debug;
|
|
418
402
|
}
|
|
419
403
|
});
|
|
404
|
+
this.maybeNotify = memo(function () {
|
|
405
|
+
return [].concat(Object.values(_this.calculateRange()), [_this.isScrolling]);
|
|
406
|
+
}, function () {
|
|
407
|
+
_this.notify();
|
|
408
|
+
}, {
|
|
409
|
+
key: 'maybeNotify',
|
|
410
|
+
debug: function debug() {
|
|
411
|
+
return _this.options.debug;
|
|
412
|
+
},
|
|
413
|
+
initialDeps: [].concat(Object.values(this.range), [this.isScrolling])
|
|
414
|
+
});
|
|
420
415
|
this.getIndexes = memo(function () {
|
|
421
|
-
return [_this.options.rangeExtractor, _this.calculateRange(
|
|
416
|
+
return [_this.options.rangeExtractor, _this.calculateRange(), _this.options.overscan, _this.options.count];
|
|
422
417
|
}, function (rangeExtractor, range, overscan, count) {
|
|
423
418
|
return rangeExtractor(_extends({}, range, {
|
|
424
419
|
overscan: overscan,
|
|
@@ -531,38 +526,11 @@
|
|
|
531
526
|
var maxOffset = scrollSize - _this.getSize();
|
|
532
527
|
return Math.max(Math.min(maxOffset, toOffset), 0);
|
|
533
528
|
};
|
|
534
|
-
this.
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
align = _ref5$align === void 0 ? 'start' : _ref5$align,
|
|
538
|
-
behavior = _ref5.behavior;
|
|
539
|
-
var isDynamic = Object.keys(_this.measureElementCache).length > 0;
|
|
540
|
-
if (isDynamic && behavior === 'smooth') {
|
|
541
|
-
console.warn('The `smooth` scroll behavior is not supported with dynamic size.');
|
|
542
|
-
return;
|
|
529
|
+
this.getOffsetForIndex = function (index, align) {
|
|
530
|
+
if (align === void 0) {
|
|
531
|
+
align = 'auto';
|
|
543
532
|
}
|
|
544
|
-
var options = {
|
|
545
|
-
adjustments: undefined,
|
|
546
|
-
behavior: behavior,
|
|
547
|
-
sync: false
|
|
548
|
-
};
|
|
549
|
-
_this._scrollToOffset(_this.getOffsetForAlignment(toOffset, align), options);
|
|
550
|
-
};
|
|
551
|
-
this.scrollToIndex = function (index, _temp2) {
|
|
552
|
-
var _ref6 = _temp2 === void 0 ? {} : _temp2,
|
|
553
|
-
_ref6$align = _ref6.align,
|
|
554
|
-
align = _ref6$align === void 0 ? 'auto' : _ref6$align,
|
|
555
|
-
behavior = _ref6.behavior;
|
|
556
533
|
index = Math.max(0, Math.min(index, _this.options.count - 1));
|
|
557
|
-
if (_this.scrollToIndexTimeoutId !== null) {
|
|
558
|
-
clearTimeout(_this.scrollToIndexTimeoutId);
|
|
559
|
-
_this.scrollToIndexTimeoutId = null;
|
|
560
|
-
}
|
|
561
|
-
var isDynamic = Object.keys(_this.measureElementCache).length > 0;
|
|
562
|
-
if (isDynamic && behavior === 'smooth') {
|
|
563
|
-
console.warn('The `smooth` scroll behavior is not supported with dynamic size.');
|
|
564
|
-
return;
|
|
565
|
-
}
|
|
566
534
|
var measurement = notUndefined(_this.getMeasurements()[index]);
|
|
567
535
|
if (align === 'auto') {
|
|
568
536
|
if (measurement.end >= _this.scrollOffset + _this.getSize() - _this.options.scrollPaddingEnd) {
|
|
@@ -570,25 +538,59 @@
|
|
|
570
538
|
} else if (measurement.start <= _this.scrollOffset + _this.options.scrollPaddingStart) {
|
|
571
539
|
align = 'start';
|
|
572
540
|
} else {
|
|
573
|
-
return;
|
|
541
|
+
return [_this.scrollOffset, align];
|
|
574
542
|
}
|
|
575
543
|
}
|
|
576
|
-
var
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
544
|
+
var toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;
|
|
545
|
+
return [_this.getOffsetForAlignment(toOffset, align), align];
|
|
546
|
+
};
|
|
547
|
+
this.isDynamicMode = function () {
|
|
548
|
+
return Object.keys(_this.measureElementCache).length > 0;
|
|
549
|
+
};
|
|
550
|
+
this.cancelScrollToIndex = function () {
|
|
551
|
+
if (_this.scrollToIndexTimeoutId !== null) {
|
|
552
|
+
clearTimeout(_this.scrollToIndexTimeoutId);
|
|
553
|
+
_this.scrollToIndexTimeoutId = null;
|
|
554
|
+
}
|
|
555
|
+
};
|
|
556
|
+
this.scrollToOffset = function (toOffset, _temp) {
|
|
557
|
+
var _ref4 = _temp === void 0 ? {} : _temp,
|
|
558
|
+
_ref4$align = _ref4.align,
|
|
559
|
+
align = _ref4$align === void 0 ? 'start' : _ref4$align,
|
|
560
|
+
behavior = _ref4.behavior;
|
|
561
|
+
_this.cancelScrollToIndex();
|
|
562
|
+
if (behavior === 'smooth' && _this.isDynamicMode()) {
|
|
563
|
+
console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');
|
|
564
|
+
}
|
|
565
|
+
_this._scrollToOffset(_this.getOffsetForAlignment(toOffset, align), {
|
|
582
566
|
adjustments: undefined,
|
|
583
567
|
behavior: behavior
|
|
584
|
-
};
|
|
585
|
-
|
|
586
|
-
|
|
568
|
+
});
|
|
569
|
+
};
|
|
570
|
+
this.scrollToIndex = function (index, _temp2) {
|
|
571
|
+
var _ref5 = _temp2 === void 0 ? {} : _temp2,
|
|
572
|
+
_ref5$align = _ref5.align,
|
|
573
|
+
initialAlign = _ref5$align === void 0 ? 'auto' : _ref5$align,
|
|
574
|
+
behavior = _ref5.behavior;
|
|
575
|
+
index = Math.max(0, Math.min(index, _this.options.count - 1));
|
|
576
|
+
_this.cancelScrollToIndex();
|
|
577
|
+
if (behavior === 'smooth' && _this.isDynamicMode()) {
|
|
578
|
+
console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');
|
|
579
|
+
}
|
|
580
|
+
var _this$getOffsetForInd = _this.getOffsetForIndex(index, initialAlign),
|
|
581
|
+
toOffset = _this$getOffsetForInd[0],
|
|
582
|
+
align = _this$getOffsetForInd[1];
|
|
583
|
+
_this._scrollToOffset(toOffset, {
|
|
584
|
+
adjustments: undefined,
|
|
585
|
+
behavior: behavior
|
|
586
|
+
});
|
|
587
|
+
if (behavior !== 'smooth' && _this.isDynamicMode()) {
|
|
587
588
|
_this.scrollToIndexTimeoutId = setTimeout(function () {
|
|
588
589
|
_this.scrollToIndexTimeoutId = null;
|
|
589
590
|
var elementInDOM = !!_this.measureElementCache[_this.options.getItemKey(index)];
|
|
590
591
|
if (elementInDOM) {
|
|
591
|
-
var
|
|
592
|
+
var _this$getOffsetForInd2 = _this.getOffsetForIndex(index, align),
|
|
593
|
+
_toOffset = _this$getOffsetForInd2[0];
|
|
592
594
|
if (!approxEqual(_toOffset, _this.scrollOffset)) {
|
|
593
595
|
_this.scrollToIndex(index, {
|
|
594
596
|
align: align,
|
|
@@ -605,12 +607,11 @@
|
|
|
605
607
|
}
|
|
606
608
|
};
|
|
607
609
|
this.scrollBy = function (delta, _temp3) {
|
|
608
|
-
var
|
|
609
|
-
behavior =
|
|
610
|
-
|
|
611
|
-
if (
|
|
612
|
-
console.warn('The `smooth` scroll behavior is not supported with dynamic size.');
|
|
613
|
-
return;
|
|
610
|
+
var _ref6 = _temp3 === void 0 ? {} : _temp3,
|
|
611
|
+
behavior = _ref6.behavior;
|
|
612
|
+
_this.cancelScrollToIndex();
|
|
613
|
+
if (behavior === 'smooth' && _this.isDynamicMode()) {
|
|
614
|
+
console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');
|
|
614
615
|
}
|
|
615
616
|
_this._scrollToOffset(_this.scrollOffset + delta, {
|
|
616
617
|
adjustments: undefined,
|
|
@@ -621,9 +622,9 @@
|
|
|
621
622
|
var _this$getMeasurements;
|
|
622
623
|
return (((_this$getMeasurements = _this.getMeasurements()[_this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || _this.options.paddingStart) - _this.options.scrollMargin + _this.options.paddingEnd;
|
|
623
624
|
};
|
|
624
|
-
this._scrollToOffset = function (offset,
|
|
625
|
-
var adjustments =
|
|
626
|
-
behavior =
|
|
625
|
+
this._scrollToOffset = function (offset, _ref7) {
|
|
626
|
+
var adjustments = _ref7.adjustments,
|
|
627
|
+
behavior = _ref7.behavior;
|
|
627
628
|
_this.options.scrollToFn(offset, {
|
|
628
629
|
behavior: behavior,
|
|
629
630
|
adjustments: adjustments
|
|
@@ -640,7 +641,7 @@
|
|
|
640
641
|
this.measurementsCache.forEach(function (item) {
|
|
641
642
|
_this.itemSizeCache[item.key] = item.size;
|
|
642
643
|
});
|
|
643
|
-
this.
|
|
644
|
+
this.maybeNotify();
|
|
644
645
|
};
|
|
645
646
|
var findNearestBinarySearch = function findNearestBinarySearch(low, high, getCurrentValue, value) {
|
|
646
647
|
while (low <= high) {
|
|
@@ -660,10 +661,10 @@
|
|
|
660
661
|
return 0;
|
|
661
662
|
}
|
|
662
663
|
};
|
|
663
|
-
function calculateRange(
|
|
664
|
-
var measurements =
|
|
665
|
-
outerSize =
|
|
666
|
-
scrollOffset =
|
|
664
|
+
function calculateRange(_ref8) {
|
|
665
|
+
var measurements = _ref8.measurements,
|
|
666
|
+
outerSize = _ref8.outerSize,
|
|
667
|
+
scrollOffset = _ref8.scrollOffset;
|
|
667
668
|
var count = measurements.length - 1;
|
|
668
669
|
var getOffset = function getOffset(index) {
|
|
669
670
|
return measurements[index].start;
|
|
@@ -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 deps = [];\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 for (var _len = arguments.length, fArgs = new Array(_len), _key = 0; _key < _len; _key++) {\n fArgs[_key] = arguments[_key];\n }\n result = fn.apply(void 0, newDeps.concat([fArgs]));\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\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 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 memoRectCallback = function memoRectCallback(instance, cb) {\n var prev = {\n height: -1,\n width: -1\n };\n return function (rect) {\n if (instance.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n cb(rect);\n }\n prev = rect;\n };\n};\nvar observeElementRect = function observeElementRect(instance, cb) {\n var observer = new ResizeObserver(function (entries) {\n var entry = entries[0];\n if (entry) {\n var _entry$contentRect = entry.contentRect,\n width = _entry$contentRect.width,\n height = _entry$contentRect.height;\n cb({\n width: Math.round(width),\n height: Math.round(height)\n });\n } else {\n cb({\n width: 0,\n height: 0\n });\n }\n });\n if (!instance.scrollElement) {\n return;\n }\n cb(instance.scrollElement.getBoundingClientRect());\n observer.observe(instance.scrollElement);\n return function () {\n observer.unobserve(instance.scrollElement);\n };\n};\nvar observeWindowRect = function observeWindowRect(instance, cb) {\n var memoizedCallback = memoRectCallback(instance, cb);\n var onResize = function onResize() {\n return memoizedCallback({\n width: instance.scrollElement.innerWidth,\n height: instance.scrollElement.innerHeight\n });\n };\n if (!instance.scrollElement) {\n return;\n }\n onResize();\n instance.scrollElement.addEventListener('resize', onResize, {\n capture: false,\n passive: true\n });\n return function () {\n instance.scrollElement.removeEventListener('resize', onResize);\n };\n};\nvar scrollProps = {\n element: ['scrollLeft', 'scrollTop'],\n window: ['scrollX', 'scrollY']\n};\nvar createOffsetObserver = function createOffsetObserver(mode) {\n return function (instance, cb) {\n if (!instance.scrollElement) {\n return;\n }\n var propX = scrollProps[mode][0];\n var propY = scrollProps[mode][1];\n var prevX = instance.scrollElement[propX];\n var prevY = instance.scrollElement[propY];\n var scroll = function scroll() {\n var offset = instance.scrollElement[instance.options.horizontal ? propX : propY];\n cb(offset);\n };\n scroll();\n var onScroll = function onScroll(e) {\n var target = e.currentTarget;\n var scrollX = target[propX];\n var scrollY = target[propY];\n if (instance.options.horizontal ? prevX - scrollX : prevY - scrollY) {\n scroll();\n }\n prevX = scrollX;\n prevY = scrollY;\n };\n instance.scrollElement.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return function () {\n instance.scrollElement.removeEventListener('scroll', onScroll);\n };\n };\n};\nvar observeElementOffset = createOffsetObserver('element');\nvar observeWindowOffset = createOffsetObserver('window');\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 _this.scrollRect = rect;\n _this.calculateRange();\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 var onIsScrollingChange = function onIsScrollingChange(isScrolling) {\n if (_this.isScrolling !== isScrolling) {\n _this.isScrolling = isScrolling;\n _this.notify();\n }\n };\n _this.scrollDirection = _this.scrollOffset < offset ? 'forward' : 'backward';\n _this.scrollOffset = offset;\n _this.calculateRange();\n onIsScrollingChange(true);\n _this.isScrollingTimeoutId = setTimeout(function () {\n _this.isScrollingTimeoutId = null;\n _this.scrollDirection = null;\n onIsScrollingChange(false);\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, _ref4) {\n var _ref4$ = _ref4[0],\n flush = _ref4$ === void 0 ? true : _ref4$;\n var range = calculateRange({\n measurements: measurements,\n outerSize: outerSize,\n scrollOffset: scrollOffset\n });\n if (range.startIndex !== _this.range.startIndex || range.endIndex !== _this.range.endIndex) {\n _this.range = range;\n if (flush) {\n _this.notify();\n }\n }\n return _this.range;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.getIndexes = memo(function () {\n return [_this.options.rangeExtractor, _this.calculateRange(false), _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.scrollToOffset = function (toOffset, _temp) {\n var _ref5 = _temp === void 0 ? {} : _temp,\n _ref5$align = _ref5.align,\n align = _ref5$align === void 0 ? 'start' : _ref5$align,\n behavior = _ref5.behavior;\n var isDynamic = Object.keys(_this.measureElementCache).length > 0;\n if (isDynamic && behavior === 'smooth') {\n console.warn('The `smooth` scroll behavior is not supported with dynamic size.');\n return;\n }\n var options = {\n adjustments: undefined,\n behavior: behavior,\n sync: false\n };\n _this._scrollToOffset(_this.getOffsetForAlignment(toOffset, align), options);\n };\n this.scrollToIndex = function (index, _temp2) {\n var _ref6 = _temp2 === void 0 ? {} : _temp2,\n _ref6$align = _ref6.align,\n align = _ref6$align === void 0 ? 'auto' : _ref6$align,\n behavior = _ref6.behavior;\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n if (_this.scrollToIndexTimeoutId !== null) {\n clearTimeout(_this.scrollToIndexTimeoutId);\n _this.scrollToIndexTimeoutId = null;\n }\n var isDynamic = Object.keys(_this.measureElementCache).length > 0;\n if (isDynamic && behavior === 'smooth') {\n console.warn('The `smooth` scroll behavior is not supported with dynamic size.');\n return;\n }\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;\n }\n }\n var getOffsetForIndexAndAlignment = function getOffsetForIndexAndAlignment(measurement) {\n var toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n return _this.getOffsetForAlignment(toOffset, align);\n };\n var toOffset = getOffsetForIndexAndAlignment(measurement);\n var options = {\n adjustments: undefined,\n behavior: behavior\n };\n _this._scrollToOffset(toOffset, options);\n if (isDynamic) {\n _this.scrollToIndexTimeoutId = setTimeout(function () {\n _this.scrollToIndexTimeoutId = null;\n var elementInDOM = !!_this.measureElementCache[_this.options.getItemKey(index)];\n if (elementInDOM) {\n var _toOffset = getOffsetForIndexAndAlignment(notUndefined(_this.getMeasurements()[index]));\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 _ref7 = _temp3 === void 0 ? {} : _temp3,\n behavior = _ref7.behavior;\n var isDynamic = Object.keys(_this.measureElementCache).length > 0;\n if (isDynamic && behavior === 'smooth') {\n console.warn('The `smooth` scroll behavior is not supported with dynamic size.');\n return;\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, _ref8) {\n var adjustments = _ref8.adjustments,\n behavior = _ref8.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.calculateRange();\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(_ref9) {\n var measurements = _ref9.measurements,\n outerSize = _ref9.outerSize,\n scrollOffset = _ref9.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 memoRectCallback = function memoRectCallback(instance, cb) {\n var prev = {\n height: -1,\n width: -1\n };\n return function (rect) {\n if (instance.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n cb(rect);\n }\n prev = rect;\n };\n};\nvar observeElementRect = function observeElementRect(instance, cb) {\n var observer = new ResizeObserver(function (entries) {\n var entry = entries[0];\n if (entry) {\n var _entry$contentRect = entry.contentRect,\n width = _entry$contentRect.width,\n height = _entry$contentRect.height;\n cb({\n width: Math.round(width),\n height: Math.round(height)\n });\n } else {\n cb({\n width: 0,\n height: 0\n });\n }\n });\n if (!instance.scrollElement) {\n return;\n }\n cb(instance.scrollElement.getBoundingClientRect());\n observer.observe(instance.scrollElement);\n return function () {\n observer.unobserve(instance.scrollElement);\n };\n};\nvar observeWindowRect = function observeWindowRect(instance, cb) {\n var memoizedCallback = memoRectCallback(instance, cb);\n var onResize = function onResize() {\n return memoizedCallback({\n width: instance.scrollElement.innerWidth,\n height: instance.scrollElement.innerHeight\n });\n };\n if (!instance.scrollElement) {\n return;\n }\n onResize();\n instance.scrollElement.addEventListener('resize', onResize, {\n capture: false,\n passive: true\n });\n return function () {\n instance.scrollElement.removeEventListener('resize', onResize);\n };\n};\nvar scrollProps = {\n element: ['scrollLeft', 'scrollTop'],\n window: ['scrollX', 'scrollY']\n};\nvar createOffsetObserver = function createOffsetObserver(mode) {\n return function (instance, cb) {\n if (!instance.scrollElement) {\n return;\n }\n var propX = scrollProps[mode][0];\n var propY = scrollProps[mode][1];\n var prevX = instance.scrollElement[propX];\n var prevY = instance.scrollElement[propY];\n var scroll = function scroll() {\n var offset = instance.scrollElement[instance.options.horizontal ? propX : propY];\n cb(offset);\n };\n scroll();\n var onScroll = function onScroll(e) {\n var target = e.currentTarget;\n var scrollX = target[propX];\n var scrollY = target[propY];\n if (instance.options.horizontal ? prevX - scrollX : prevY - scrollY) {\n scroll();\n }\n prevX = scrollX;\n prevY = scrollY;\n };\n instance.scrollElement.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return function () {\n instance.scrollElement.removeEventListener('scroll', onScroll);\n };\n };\n};\nvar observeElementOffset = createOffsetObserver('element');\nvar observeWindowOffset = createOffsetObserver('window');\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 _this.scrollRect = rect;\n _this.maybeNotify();\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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"}
|
|
@@ -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 r(e,t,n){var o,r=[];return function(){var i;n.key&&null!=n.debug&&n.debug()&&(i=Date.now());var s,l=e(),a=l.length!==r.length||l.some((function(e,t){return r[t]!==e}));if(!a)return o;r=l,n.key&&null!=n.debug&&n.debug()&&(s=Date.now());for(var u=arguments.length,c=new Array(u),d=0;d<u;d++)c[d]=arguments[d];if(o=t.apply(void 0,l.concat([c])),null==n||null==n.onChange||n.onChange(o),n.key&&null!=n.debug&&n.debug()){var f=Math.round(100*(Date.now()-i))/100,h=Math.round(100*(Date.now()-s))/100,m=h/16,g=function(e,t){for(e=String(e);e.length<t;)e=" "+e;return e};console.info("%c⏱ "+g(h,5)+" /"+g(f,5)+" ms","\n font-size: .6rem;\n font-weight: bold;\n color: hsl("+Math.max(0,Math.min(120-120*m,120))+"deg 100% 31%);",null==n?void 0:n.key)}return o}}function i(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=[],r=t;r<=n;r++)o.push(r);return o},u=function(e,t){var n=new ResizeObserver((function(e){var n=e[0];if(n){var o=n.contentRect,r=o.width,i=o.height;t({width:Math.round(r),height:Math.round(i)})}else t({width:0,height:0})}));if(e.scrollElement)return t(e.scrollElement.getBoundingClientRect()),n.observe(e.scrollElement),function(){n.unobserve(e.scrollElement)}},c=function(e,t){var n=function(e,t){var n={height:-1,width:-1};return function(o){(e.options.horizontal?o.width!==n.width:o.height!==n.height)&&t(o),n=o}}(e,t),o=function(){return n({width:e.scrollElement.innerWidth,height:e.scrollElement.innerHeight})};if(e.scrollElement)return o(),e.scrollElement.addEventListener("resize",o,{capture:!1,passive:!0}),function(){e.scrollElement.removeEventListener("resize",o)}},d={element:["scrollLeft","scrollTop"],window:["scrollX","scrollY"]},f=function(e){return function(t,n){if(t.scrollElement){var o=d[e][0],r=d[e][1],i=t.scrollElement[o],s=t.scrollElement[r],l=function(){var e=t.scrollElement[t.options.horizontal?o:r];n(e)};l();var a=function(e){var n=e.currentTarget,a=n[o],u=n[r];(t.options.horizontal?i-a:s-u)&&l(),i=a,s=u};return t.scrollElement.addEventListener("scroll",a,{capture:!1,passive:!0}),function(){t.scrollElement.removeEventListener("scroll",a)}}}},h=f("element"),m=f("window"),g=function(e,t){return Math.round(e.getBoundingClientRect()[t.options.horizontal?"width":"height"])},v=function(e,t,n){var o,r,i=t.adjustments,s=void 0===i?0:i,l=t.behavior,a=e+s;null==(o=n.scrollElement)||null==o.scrollTo||o.scrollTo(((r={})[n.options.horizontal?"left":"top"]=a,r.behavior=l,r))},p=function(e,t,n){var o,r,i=t.adjustments,s=void 0===i?0:i,l=t.behavior,a=e+s;null==(o=n.scrollElement)||null==o.scrollTo||o.scrollTo(((r={})[n.options.horizontal?"left":"top"]=a,r.behavior=l,r))},b=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:g,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){n.scrollRect=e,n.calculateRange()}))),n.unsubs.push(n.options.observeElementOffset(n,(function(e){if(n.scrollAdjustments=0,n.scrollOffset!==e){null!==n.isScrollingTimeoutId&&(clearTimeout(n.isScrollingTimeoutId),n.isScrollingTimeoutId=null);var t=function(e){n.isScrolling!==e&&(n.isScrolling=e,n.notify())};n.scrollDirection=n.scrollOffset<e?"forward":"backward",n.scrollOffset=e,n.calculateRange(),t(!0),n.isScrollingTimeoutId=setTimeout((function(){n.isScrollingTimeoutId=null,n.scrollDirection=null,t(!1)}),n.options.scrollingDelay)}}))))},this.getSize=function(){return n.scrollRect[n.options.horizontal?"width":"height"]},this.getMeasurements=r((function(){return[n.options.count,n.options.paddingStart,n.options.scrollMargin,n.options.getItemKey,n.itemSizeCache]}),(function(e,t,o,r,i){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=r(a),c=i[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=r((function(){return[n.getMeasurements(),n.getSize(),n.scrollOffset]}),(function(e,t,o,r){var i=r[0],s=void 0===i||i,l=function(e){var t=e.measurements,n=e.outerSize,o=e.scrollOffset,r=t.length-1,i=function(e,t,n,o){for(;e<=t;){var r=(e+t)/2|0,i=n(r);if(i<o)e=r+1;else{if(!(i>o))return r;t=r-1}}return e>0?e-1:0}(0,r,(function(e){return t[e].start}),o),s=i;for(;s<r&&t[s].end<o+n;)s++;return{startIndex:i,endIndex:s}}({measurements:e,outerSize:t,scrollOffset:o});return l.startIndex===n.range.startIndex&&l.endIndex===n.range.endIndex||(n.range=l,s&&n.notify()),n.range}),{key:!1,debug:function(){return n.options.debug}}),this.getIndexes=r((function(){return[n.options.rangeExtractor,n.calculateRange(!1),n.options.overscan,n.options.count]}),(function(e,t,n,r){return e(o({},t,{overscan:n,count:r}))}),{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 r,i=n.indexFromElement(e),s=n.measurementsCache[i];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!=(r=n.itemSizeCache[s.key])?r:s.size);if(0!==d)s.start<n.scrollOffset&&n._scrollToOffset(n.scrollOffset,{adjustments:n.scrollAdjustments+=d,behavior:void 0}),n.pendingMeasuredCacheIndexes.push(i),n.itemSizeCache=o({},n.itemSizeCache,((u={})[s.key]=c,u)),n.notify()}},this.measureElement=function(e){e&&n._measureElement(e,!0)},this.getVirtualItems=r((function(){return[n.getIndexes(),n.getMeasurements()]}),(function(e,t){for(var n=[],o=0,r=e.length;o<r;o++){var i=t[e[o]];n.push(i)}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 r=n.options.horizontal?"scrollWidth":"scrollHeight",i=(n.scrollElement?"document"in n.scrollElement?n.scrollElement.document.documentElement[r]:n.scrollElement[r]:0)-n.getSize();return Math.max(Math.min(i,e),0)},this.scrollToOffset=function(e,t){var o=void 0===t?{}:t,r=o.align,i=void 0===r?"start":r,s=o.behavior;if(Object.keys(n.measureElementCache).length>0&&"smooth"===s)console.warn("The `smooth` scroll behavior is not supported with dynamic size.");else{var l={adjustments:void 0,behavior:s,sync:!1};n._scrollToOffset(n.getOffsetForAlignment(e,i),l)}},this.scrollToIndex=function(e,t){var o=void 0===t?{}:t,r=o.align,l=void 0===r?"auto":r,a=o.behavior;e=Math.max(0,Math.min(e,n.options.count-1)),null!==n.scrollToIndexTimeoutId&&(clearTimeout(n.scrollToIndexTimeoutId),n.scrollToIndexTimeoutId=null);var u=Object.keys(n.measureElementCache).length>0;if(u&&"smooth"===a)console.warn("The `smooth` scroll behavior is not supported with dynamic size.");else{var c=i(n.getMeasurements()[e]);if("auto"===l)if(c.end>=n.scrollOffset+n.getSize()-n.options.scrollPaddingEnd)l="end";else{if(!(c.start<=n.scrollOffset+n.options.scrollPaddingStart))return;l="start"}var d=function(e){var t="end"===l?e.end+n.options.scrollPaddingEnd:e.start-n.options.scrollPaddingStart;return n.getOffsetForAlignment(t,l)},f=d(c),h={adjustments:void 0,behavior:a};n._scrollToOffset(f,h),u&&(n.scrollToIndexTimeoutId=setTimeout((function(){if(n.scrollToIndexTimeoutId=null,!!n.measureElementCache[n.options.getItemKey(e)]){var t=d(i(n.getMeasurements()[e]));s(t,n.scrollOffset)||n.scrollToIndex(e,{align:l,behavior:a})}else n.scrollToIndex(e,{align:l,behavior:a})})))}},this.scrollBy=function(e,t){var o=(void 0===t?{}:t).behavior;Object.keys(n.measureElementCache).length>0&&"smooth"===o?console.warn("The `smooth` scroll behavior is not 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,r=t.behavior;n.options.scrollToFn(e,{behavior:r,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.calculateRange()};
|
|
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 u=Math.round(100*(Date.now()-o))/100,a=Math.round(100*(Date.now()-s))/100,c=a/16,d=function(e,t){for(e=String(e);e.length<t;)e=" "+e;return e};console.info("%c⏱ "+d(a,5)+" /"+d(u,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},u=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},a=function(e,t){var n=new ResizeObserver((function(e){var n=e[0];if(n){var o=n.contentRect,i=o.width,r=o.height;t({width:Math.round(i),height:Math.round(r)})}else t({width:0,height:0})}));if(e.scrollElement)return t(e.scrollElement.getBoundingClientRect()),n.observe(e.scrollElement),function(){n.unobserve(e.scrollElement)}},c=function(e,t){var n=function(e,t){var n={height:-1,width:-1};return function(o){(e.options.horizontal?o.width!==n.width:o.height!==n.height)&&t(o),n=o}}(e,t),o=function(){return n({width:e.scrollElement.innerWidth,height:e.scrollElement.innerHeight})};if(e.scrollElement)return o(),e.scrollElement.addEventListener("resize",o,{capture:!1,passive:!0}),function(){e.scrollElement.removeEventListener("resize",o)}},d={element:["scrollLeft","scrollTop"],window:["scrollX","scrollY"]},f=function(e){return function(t,n){if(t.scrollElement){var o=d[e][0],i=d[e][1],r=t.scrollElement[o],s=t.scrollElement[i],l=function(){var e=t.scrollElement[t.options.horizontal?o:i];n(e)};l();var u=function(e){var n=e.currentTarget,u=n[o],a=n[i];(t.options.horizontal?r-u:s-a)&&l(),r=u,s=a};return t.scrollElement.addEventListener("scroll",u,{capture:!1,passive:!0}),function(){t.scrollElement.removeEventListener("scroll",u)}}}},h=f("element"),m=f("window"),g=function(e,t){return Math.round(e.getBoundingClientRect()[t.options.horizontal?"width":"height"])},v=function(e,t,n){var o,i,r=t.adjustments,s=void 0===r?0:r,l=t.behavior,u=e+s;null==(o=n.scrollElement)||null==o.scrollTo||o.scrollTo(((i={})[n.options.horizontal?"left":"top"]=u,i.behavior=l,i))},p=function(e,t,n){var o,i,r=t.adjustments,s=void 0===r?0:r,l=t.behavior,u=e+s;null==(o=n.scrollElement)||null==o.scrollTo||o.scrollTo(((i={})[n.options.horizontal?"left":"top"]=u,i.behavior=l,i))},b=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:u,onChange:function(){},measureElement:g,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){n.scrollRect=e,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),u=s;u<e;u++){var a=i(u),c=r[a],d=l[u-1]?l[u-1].end:t+o,f="number"==typeof c?c:n.options.estimateSize(u),h=d+f;l[u]={index:u,start:d,size:f,end:h,key:a}}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],u=n.getResizeObserver();if(!e.isConnected)return null==u||u.unobserve(e),void(e===l&&delete n.measureElementCache[s.key]);if(l!==e)l&&(null==u||u.unobserve(l)),null==u||u.observe(e),n.measureElementCache[s.key]=e;else if(!t&&!l.__virtualizerSkipFirstNotSync)return void(l.__virtualizerSkipFirstNotSync=!0);var a,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,((a={})[s.key]=c,a)),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 u=n.getOffsetForIndex(e,r),a=u[0],c=u[1];n._scrollToOffset(a,{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()};
|
|
32
32
|
/**
|
|
33
33
|
* virtual-core
|
|
34
34
|
*
|
|
@@ -38,5 +38,5 @@
|
|
|
38
38
|
* LICENSE.md file in the root directory of this source tree.
|
|
39
39
|
*
|
|
40
40
|
* @license MIT
|
|
41
|
-
*/function E(e){var o=t.mergeProps(e),
|
|
41
|
+
*/function E(e){var o=t.mergeProps(e),i=new b(o),r=n.createStore(i.getVirtualItems()),s=r[0],l=r[1],u=t.createSignal(i.getTotalSize()),a=u[0],c=u[1],d=new Proxy(i,{get:function(e,t){switch(t){case"getVirtualItems":return function(){return s};case"getTotalSize":return function(){return a()};default:return Reflect.get(e,t)}}});return d.setOptions(o),t.onMount((function(){var e=d._didMount();d._willUpdate(),t.onCleanup(e)})),t.createComputed((function(){d.setOptions(t.mergeProps(o,e,{onChange:function(t){t._willUpdate(),l(n.reconcile(t.getVirtualItems(),{key:"index"})),c(t.getTotalSize()),null==e.onChange||e.onChange(t)}})),d.measure()})),d}e.Virtualizer=b,e.approxEqual=s,e.createVirtualizer=function(e){return E(t.mergeProps({observeElementRect:a,observeElementOffset:h,scrollToFn:p},e))},e.createWindowVirtualizer=function(e){return E(t.mergeProps({getScrollElement:function(){return"undefined"!=typeof window?window:null},observeElementRect:c,observeElementOffset:m,scrollToFn:v},e))},e.defaultKeyExtractor=l,e.defaultRangeExtractor=u,e.elementScroll=p,e.measureElement=g,e.memo=i,e.notUndefined=r,e.observeElementOffset=h,e.observeElementRect=a,e.observeWindowOffset=m,e.observeWindowRect=c,e.windowScroll=v,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
42
42
|
//# sourceMappingURL=index.production.js.map
|
|
@@ -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 deps = [];\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 for (var _len = arguments.length, fArgs = new Array(_len), _key = 0; _key < _len; _key++) {\n fArgs[_key] = arguments[_key];\n }\n result = fn.apply(void 0, newDeps.concat([fArgs]));\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\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 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 memoRectCallback = function memoRectCallback(instance, cb) {\n var prev = {\n height: -1,\n width: -1\n };\n return function (rect) {\n if (instance.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n cb(rect);\n }\n prev = rect;\n };\n};\nvar observeElementRect = function observeElementRect(instance, cb) {\n var observer = new ResizeObserver(function (entries) {\n var entry = entries[0];\n if (entry) {\n var _entry$contentRect = entry.contentRect,\n width = _entry$contentRect.width,\n height = _entry$contentRect.height;\n cb({\n width: Math.round(width),\n height: Math.round(height)\n });\n } else {\n cb({\n width: 0,\n height: 0\n });\n }\n });\n if (!instance.scrollElement) {\n return;\n }\n cb(instance.scrollElement.getBoundingClientRect());\n observer.observe(instance.scrollElement);\n return function () {\n observer.unobserve(instance.scrollElement);\n };\n};\nvar observeWindowRect = function observeWindowRect(instance, cb) {\n var memoizedCallback = memoRectCallback(instance, cb);\n var onResize = function onResize() {\n return memoizedCallback({\n width: instance.scrollElement.innerWidth,\n height: instance.scrollElement.innerHeight\n });\n };\n if (!instance.scrollElement) {\n return;\n }\n onResize();\n instance.scrollElement.addEventListener('resize', onResize, {\n capture: false,\n passive: true\n });\n return function () {\n instance.scrollElement.removeEventListener('resize', onResize);\n };\n};\nvar scrollProps = {\n element: ['scrollLeft', 'scrollTop'],\n window: ['scrollX', 'scrollY']\n};\nvar createOffsetObserver = function createOffsetObserver(mode) {\n return function (instance, cb) {\n if (!instance.scrollElement) {\n return;\n }\n var propX = scrollProps[mode][0];\n var propY = scrollProps[mode][1];\n var prevX = instance.scrollElement[propX];\n var prevY = instance.scrollElement[propY];\n var scroll = function scroll() {\n var offset = instance.scrollElement[instance.options.horizontal ? propX : propY];\n cb(offset);\n };\n scroll();\n var onScroll = function onScroll(e) {\n var target = e.currentTarget;\n var scrollX = target[propX];\n var scrollY = target[propY];\n if (instance.options.horizontal ? prevX - scrollX : prevY - scrollY) {\n scroll();\n }\n prevX = scrollX;\n prevY = scrollY;\n };\n instance.scrollElement.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return function () {\n instance.scrollElement.removeEventListener('scroll', onScroll);\n };\n };\n};\nvar observeElementOffset = createOffsetObserver('element');\nvar observeWindowOffset = createOffsetObserver('window');\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 _this.scrollRect = rect;\n _this.calculateRange();\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 var onIsScrollingChange = function onIsScrollingChange(isScrolling) {\n if (_this.isScrolling !== isScrolling) {\n _this.isScrolling = isScrolling;\n _this.notify();\n }\n };\n _this.scrollDirection = _this.scrollOffset < offset ? 'forward' : 'backward';\n _this.scrollOffset = offset;\n _this.calculateRange();\n onIsScrollingChange(true);\n _this.isScrollingTimeoutId = setTimeout(function () {\n _this.isScrollingTimeoutId = null;\n _this.scrollDirection = null;\n onIsScrollingChange(false);\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, _ref4) {\n var _ref4$ = _ref4[0],\n flush = _ref4$ === void 0 ? true : _ref4$;\n var range = calculateRange({\n measurements: measurements,\n outerSize: outerSize,\n scrollOffset: scrollOffset\n });\n if (range.startIndex !== _this.range.startIndex || range.endIndex !== _this.range.endIndex) {\n _this.range = range;\n if (flush) {\n _this.notify();\n }\n }\n return _this.range;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.getIndexes = memo(function () {\n return [_this.options.rangeExtractor, _this.calculateRange(false), _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.scrollToOffset = function (toOffset, _temp) {\n var _ref5 = _temp === void 0 ? {} : _temp,\n _ref5$align = _ref5.align,\n align = _ref5$align === void 0 ? 'start' : _ref5$align,\n behavior = _ref5.behavior;\n var isDynamic = Object.keys(_this.measureElementCache).length > 0;\n if (isDynamic && behavior === 'smooth') {\n console.warn('The `smooth` scroll behavior is not supported with dynamic size.');\n return;\n }\n var options = {\n adjustments: undefined,\n behavior: behavior,\n sync: false\n };\n _this._scrollToOffset(_this.getOffsetForAlignment(toOffset, align), options);\n };\n this.scrollToIndex = function (index, _temp2) {\n var _ref6 = _temp2 === void 0 ? {} : _temp2,\n _ref6$align = _ref6.align,\n align = _ref6$align === void 0 ? 'auto' : _ref6$align,\n behavior = _ref6.behavior;\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n if (_this.scrollToIndexTimeoutId !== null) {\n clearTimeout(_this.scrollToIndexTimeoutId);\n _this.scrollToIndexTimeoutId = null;\n }\n var isDynamic = Object.keys(_this.measureElementCache).length > 0;\n if (isDynamic && behavior === 'smooth') {\n console.warn('The `smooth` scroll behavior is not supported with dynamic size.');\n return;\n }\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;\n }\n }\n var getOffsetForIndexAndAlignment = function getOffsetForIndexAndAlignment(measurement) {\n var toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n return _this.getOffsetForAlignment(toOffset, align);\n };\n var toOffset = getOffsetForIndexAndAlignment(measurement);\n var options = {\n adjustments: undefined,\n behavior: behavior\n };\n _this._scrollToOffset(toOffset, options);\n if (isDynamic) {\n _this.scrollToIndexTimeoutId = setTimeout(function () {\n _this.scrollToIndexTimeoutId = null;\n var elementInDOM = !!_this.measureElementCache[_this.options.getItemKey(index)];\n if (elementInDOM) {\n var _toOffset = getOffsetForIndexAndAlignment(notUndefined(_this.getMeasurements()[index]));\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 _ref7 = _temp3 === void 0 ? {} : _temp3,\n behavior = _ref7.behavior;\n var isDynamic = Object.keys(_this.measureElementCache).length > 0;\n if (isDynamic && behavior === 'smooth') {\n console.warn('The `smooth` scroll behavior is not supported with dynamic size.');\n return;\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, _ref8) {\n var adjustments = _ref8.adjustments,\n behavior = _ref8.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.calculateRange();\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(_ref9) {\n var measurements = _ref9.measurements,\n outerSize = _ref9.outerSize,\n scrollOffset = _ref9.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","result","deps","depTime","debug","Date","now","resultTime","newDeps","depsChanged","some","dep","index","_len","fArgs","Array","_key","concat","onChange","depEndTime","Math","round","resultEndTime","resultFpsPercentage","pad","str","num","String","console","info","max","min","notUndefined","value","msg","undefined","Error","approxEqual","a","b","abs","defaultKeyExtractor","defaultRangeExtractor","range","start","startIndex","overscan","end","endIndex","count","arr","_i","push","observeElementRect","instance","cb","observer","ResizeObserver","entries","entry","_entry$contentRect","contentRect","width","height","scrollElement","getBoundingClientRect","observe","unobserve","observeWindowRect","memoizedCallback","prev","rect","options","horizontal","memoRectCallback","onResize","innerWidth","innerHeight","addEventListener","capture","passive","removeEventListener","scrollProps","element","window","createOffsetObserver","mode","propX","propY","prevX","prevY","scroll","offset","onScroll","e","currentTarget","scrollX","scrollY","observeElementOffset","observeWindowOffset","measureElement","windowScroll","_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","forEach","_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","scrollRect","calculateRange","clearTimeout","onIsScrollingChange","setTimeout","getSize","getMeasurements","measurements","slice","_i2","measuredSize","size","estimateSize","outerSize","_ref4","_ref4$","flush","_ref9","low","high","getCurrentValue","middle","currentValue","findNearestBinarySearch","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","scrollToOffset","_temp","_ref5","_ref5$align","keys","scrollToIndex","_temp2","_ref6","_ref6$align","isDynamic","getOffsetForIndexAndAlignment","_toOffset","scrollBy","_temp3","getTotalSize","_this$getMeasurements","_ref8","scrollToFn","measure","createVirtualizerBase","resolvedOptions","mergeProps","_createStore","createStore","setVirtualItems","_createSignal","createSignal","totalSize","setTotalSize","virtualizer","Proxy","get","prop","Reflect","onMount","onCleanup","createComputed","reconcile"],"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 memoRectCallback = function memoRectCallback(instance, cb) {\n var prev = {\n height: -1,\n width: -1\n };\n return function (rect) {\n if (instance.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n cb(rect);\n }\n prev = rect;\n };\n};\nvar observeElementRect = function observeElementRect(instance, cb) {\n var observer = new ResizeObserver(function (entries) {\n var entry = entries[0];\n if (entry) {\n var _entry$contentRect = entry.contentRect,\n width = _entry$contentRect.width,\n height = _entry$contentRect.height;\n cb({\n width: Math.round(width),\n height: Math.round(height)\n });\n } else {\n cb({\n width: 0,\n height: 0\n });\n }\n });\n if (!instance.scrollElement) {\n return;\n }\n cb(instance.scrollElement.getBoundingClientRect());\n observer.observe(instance.scrollElement);\n return function () {\n observer.unobserve(instance.scrollElement);\n };\n};\nvar observeWindowRect = function observeWindowRect(instance, cb) {\n var memoizedCallback = memoRectCallback(instance, cb);\n var onResize = function onResize() {\n return memoizedCallback({\n width: instance.scrollElement.innerWidth,\n height: instance.scrollElement.innerHeight\n });\n };\n if (!instance.scrollElement) {\n return;\n }\n onResize();\n instance.scrollElement.addEventListener('resize', onResize, {\n capture: false,\n passive: true\n });\n return function () {\n instance.scrollElement.removeEventListener('resize', onResize);\n };\n};\nvar scrollProps = {\n element: ['scrollLeft', 'scrollTop'],\n window: ['scrollX', 'scrollY']\n};\nvar createOffsetObserver = function createOffsetObserver(mode) {\n return function (instance, cb) {\n if (!instance.scrollElement) {\n return;\n }\n var propX = scrollProps[mode][0];\n var propY = scrollProps[mode][1];\n var prevX = instance.scrollElement[propX];\n var prevY = instance.scrollElement[propY];\n var scroll = function scroll() {\n var offset = instance.scrollElement[instance.options.horizontal ? propX : propY];\n cb(offset);\n };\n scroll();\n var onScroll = function onScroll(e) {\n var target = e.currentTarget;\n var scrollX = target[propX];\n var scrollY = target[propY];\n if (instance.options.horizontal ? prevX - scrollX : prevY - scrollY) {\n scroll();\n }\n prevX = scrollX;\n prevY = scrollY;\n };\n instance.scrollElement.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return function () {\n instance.scrollElement.removeEventListener('scroll', onScroll);\n };\n };\n};\nvar observeElementOffset = createOffsetObserver('element');\nvar observeWindowOffset = createOffsetObserver('window');\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 _this.scrollRect = rect;\n _this.maybeNotify();\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","observer","ResizeObserver","entries","entry","_entry$contentRect","contentRect","width","height","scrollElement","getBoundingClientRect","observe","unobserve","observeWindowRect","memoizedCallback","prev","rect","options","horizontal","memoRectCallback","onResize","innerWidth","innerHeight","addEventListener","capture","passive","removeEventListener","scrollProps","element","window","createOffsetObserver","mode","propX","propY","prevX","prevY","scroll","offset","onScroll","e","currentTarget","scrollX","scrollY","observeElementOffset","observeWindowOffset","measureElement","windowScroll","_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","forEach","_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","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"],"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.
|
|
4
|
+
"version": "3.0.0-beta.44",
|
|
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.
|
|
48
|
+
"@tanstack/virtual-core": "3.0.0-beta.44"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"solid-js": "^1.3.0"
|