@tanstack/solid-virtual 3.0.0-beta.22 → 3.0.0-beta.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/virtual-core/build/esm/index.js +10 -11
- package/build/cjs/virtual-core/build/esm/index.js.map +1 -1
- package/build/esm/index.js +10 -11
- package/build/esm/index.js.map +1 -1
- package/build/stats.html +1 -1
- package/build/stats.json +20 -20
- package/build/umd/index.development.js +10 -11
- package/build/umd/index.development.js.map +1 -1
- package/build/umd/index.production.js +1 -1
- package/build/umd/index.production.js.map +1 -1
- package/package.json +2 -2
|
@@ -443,22 +443,21 @@ class Virtualizer {
|
|
|
443
443
|
|
|
444
444
|
const measuredItemSize = this.options.measureElement(node, this);
|
|
445
445
|
const itemSize = (_this$itemMeasurement = this.itemMeasurementsCache[item.key]) != null ? _this$itemMeasurement : item.size;
|
|
446
|
+
const delta = measuredItemSize - itemSize;
|
|
446
447
|
|
|
447
|
-
if (
|
|
448
|
-
if (item.start < this.scrollOffset) {
|
|
448
|
+
if (delta !== 0) {
|
|
449
|
+
if (item.start < this.scrollOffset && this.isScrolling && this.destinationOffset === undefined) {
|
|
449
450
|
if (process.env.NODE_ENV !== 'production' && this.options.debug) {
|
|
450
|
-
console.info('correction',
|
|
451
|
+
console.info('correction', delta);
|
|
451
452
|
}
|
|
452
453
|
|
|
453
|
-
|
|
454
|
-
this.scrollDelta += measuredItemSize - itemSize;
|
|
454
|
+
this.scrollDelta += delta;
|
|
455
455
|
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
}
|
|
456
|
+
this._scrollToOffset(this.scrollOffset + this.scrollDelta, {
|
|
457
|
+
canSmooth: false,
|
|
458
|
+
sync: false,
|
|
459
|
+
requested: false
|
|
460
|
+
});
|
|
462
461
|
}
|
|
463
462
|
|
|
464
463
|
this.pendingMeasuredCacheIndexes.push(index);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../virtual-core/build/esm/index.js"],"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 memo(getDeps, fn, opts) {\n let deps = [];\n let result;\n return () => {\n let depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n\n if (!depsChanged) {\n return result;\n }\n\n deps = newDeps;\n let resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn(...newDeps);\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\n\n if (opts.key && opts.debug != null && opts.debug()) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n\n const pad = (str, num) => {\n str = String(str);\n\n while (str.length < num) {\n str = ' ' + str;\n }\n\n return str;\n };\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\n return result;\n };\n}\n\n//\nconst defaultKeyExtractor = index => index;\nconst defaultRangeExtractor = range => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n\n return arr;\n};\n\nconst memoRectCallback = (instance, cb) => {\n let prev = {\n height: -1,\n width: -1\n };\n return rect => {\n if (instance.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n cb(rect);\n }\n\n prev = rect;\n };\n};\n\nconst observeElementRect = (instance, cb) => {\n const observer = new ResizeObserver(entries => {\n var _entries$, _entries$2;\n\n cb({\n width: (_entries$ = entries[0]) == null ? void 0 : _entries$.contentRect.width,\n height: (_entries$2 = entries[0]) == null ? void 0 : _entries$2.contentRect.height\n });\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n cb(instance.scrollElement.getBoundingClientRect());\n observer.observe(instance.scrollElement);\n return () => {\n observer.unobserve(instance.scrollElement);\n };\n};\nconst observeWindowRect = (instance, cb) => {\n const memoizedCallback = memoRectCallback(instance, cb);\n\n const onResize = () => memoizedCallback({\n width: instance.scrollElement.innerWidth,\n height: instance.scrollElement.innerHeight\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n onResize();\n instance.scrollElement.addEventListener('resize', onResize, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('resize', onResize);\n };\n};\nconst scrollProps = {\n element: ['scrollLeft', 'scrollTop'],\n window: ['scrollX', 'scrollY']\n};\n\nconst createOffsetObserver = mode => {\n return (instance, cb) => {\n if (!instance.scrollElement) {\n return;\n }\n\n const propX = scrollProps[mode][0];\n const propY = scrollProps[mode][1];\n let prevX = instance.scrollElement[propX];\n let prevY = instance.scrollElement[propY];\n\n const scroll = () => {\n const offset = instance.scrollElement[instance.options.horizontal ? propX : propY];\n cb(Math.max(0, offset - instance.options.scrollMargin));\n };\n\n scroll();\n\n const onScroll = e => {\n const target = e.currentTarget;\n const scrollX = target[propX];\n const scrollY = target[propY];\n\n if (instance.options.horizontal ? prevX - scrollX : prevY - scrollY) {\n scroll();\n }\n\n prevX = scrollX;\n prevY = scrollY;\n };\n\n instance.scrollElement.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('scroll', onScroll);\n };\n };\n};\n\nconst observeElementOffset = createOffsetObserver('element');\nconst observeWindowOffset = createOffsetObserver('window');\nconst measureElement = (element, instance) => {\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nconst windowScroll = (offset, _ref, instance) => {\n var _instance$scrollEleme;\n\n let {\n canSmooth,\n sync\n } = _ref;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo == null ? void 0 : _instance$scrollEleme.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nconst elementScroll = (offset, _ref2, instance) => {\n var _instance$scrollEleme2;\n\n let {\n canSmooth,\n sync\n } = _ref2;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme2 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme2.scrollTo == null ? void 0 : _instance$scrollEleme2.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nclass Virtualizer {\n constructor(_opts) {\n var _this = this;\n\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.measurementsCache = [];\n this.itemMeasurementsCache = {};\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDelta = 0;\n this.measureElementCache = {};\n\n this.getResizeObserver = (() => {\n let _ro = null;\n return () => {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(entries => {\n entries.forEach(entry => {\n this._measureElement(entry.target, false);\n });\n });\n } else {\n return null;\n }\n };\n })();\n\n this.range = {\n startIndex: 0,\n endIndex: 0\n };\n\n this.setOptions = opts => {\n Object.entries(opts).forEach(_ref3 => {\n let [key, value] = _ref3;\n if (typeof value === 'undefined') delete opts[key];\n });\n this.options = {\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 enableSmoothScroll: true,\n onChange: () => {},\n measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n ...opts\n };\n };\n\n this.notify = () => {\n var _this$options$onChang, _this$options;\n\n (_this$options$onChang = (_this$options = this.options).onChange) == null ? void 0 : _this$options$onChang.call(_this$options, this);\n };\n\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach(d => d());\n this.unsubs = [];\n this.scrollElement = null;\n };\n\n this._didMount = () => {\n return () => {\n var _this$getResizeObserv;\n\n (_this$getResizeObserv = this.getResizeObserver()) == null ? void 0 : _this$getResizeObserv.disconnect();\n this.measureElementCache = {};\n this.cleanup();\n };\n };\n\n this._willUpdate = () => {\n const scrollElement = this.options.getScrollElement();\n\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n this.scrollElement = scrollElement;\n\n this._scrollToOffset(this.scrollOffset, {\n canSmooth: false,\n sync: true,\n requested: false\n });\n\n this.unsubs.push(this.options.observeElementRect(this, rect => {\n this.scrollRect = rect;\n this.calculateRange();\n }));\n this.unsubs.push(this.options.observeElementOffset(this, offset => {\n if (this.isScrollingTimeoutId !== null) {\n clearTimeout(this.isScrollingTimeoutId);\n this.isScrollingTimeoutId = null;\n }\n\n if (this.scrollOffset !== offset) {\n this.scrollOffset = offset;\n this.isScrolling = true;\n this.scrollDelta = 0;\n this.isScrollingTimeoutId = setTimeout(() => {\n this.isScrollingTimeoutId = null;\n this.isScrolling = false;\n this.notify();\n }, this.options.scrollingDelay);\n } else {\n this.isScrolling = false;\n this.scrollDelta = 0;\n }\n\n this.calculateRange();\n }));\n } else if (!this.isScrolling) {\n this.calculateRange();\n }\n };\n\n this.getSize = () => {\n return this.scrollRect[this.options.horizontal ? 'width' : 'height'];\n };\n\n this.getMeasurements = memo(() => [this.options.count, this.options.paddingStart, this.options.getItemKey, this.itemMeasurementsCache], (count, paddingStart, getItemKey, measurementsCache) => {\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const measuredSize = measurementsCache[key];\n const start = measurements[i - 1] ? measurements[i - 1].end : paddingStart;\n const size = typeof measuredSize === 'number' ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key\n };\n }\n\n this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: () => this.options.debug\n });\n this.calculateRange = memo(() => [this.getMeasurements(), this.getSize(), this.scrollOffset], (measurements, outerSize, scrollOffset) => {\n const range = calculateRange({\n measurements,\n outerSize,\n scrollOffset\n });\n\n if (range.startIndex !== this.range.startIndex || range.endIndex !== this.range.endIndex) {\n this.range = range;\n this.notify();\n }\n\n return this.range;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: () => this.options.debug\n });\n this.getIndexes = memo(() => [this.options.rangeExtractor, this.range, this.options.overscan, this.options.count], (rangeExtractor, range, overscan, count) => {\n return rangeExtractor({ ...range,\n overscan,\n count: count\n });\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.indexFromElement = node => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n\n return parseInt(indexStr, 10);\n };\n\n this._measureElement = (node, _sync) => {\n var _this$itemMeasurement;\n\n const index = this.indexFromElement(node);\n const item = this.measurementsCache[index];\n\n if (!item) {\n return;\n }\n\n const prevNode = this.measureElementCache[item.key];\n const ro = this.getResizeObserver();\n\n if (!node.isConnected) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n delete this.measureElementCache[item.key];\n }\n\n return;\n }\n\n if (!prevNode || prevNode !== node) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n }\n\n this.measureElementCache[item.key] = node;\n ro == null ? void 0 : ro.observe(node);\n }\n\n const measuredItemSize = this.options.measureElement(node, this);\n const itemSize = (_this$itemMeasurement = this.itemMeasurementsCache[item.key]) != null ? _this$itemMeasurement : item.size;\n\n if (measuredItemSize !== itemSize) {\n if (item.start < this.scrollOffset) {\n if (process.env.NODE_ENV !== 'production' && this.options.debug) {\n console.info('correction', measuredItemSize - itemSize);\n }\n\n if (this.destinationOffset === undefined) {\n this.scrollDelta += measuredItemSize - itemSize;\n\n this._scrollToOffset(this.scrollOffset + this.scrollDelta, {\n canSmooth: false,\n sync: false,\n requested: false\n });\n }\n }\n\n this.pendingMeasuredCacheIndexes.push(index);\n this.itemMeasurementsCache = { ...this.itemMeasurementsCache,\n [item.key]: measuredItemSize\n };\n this.notify();\n }\n };\n\n this.measureElement = node => {\n if (!node) {\n return;\n }\n\n this._measureElement(node, true);\n };\n\n this.getVirtualItems = memo(() => [this.getIndexes(), this.getMeasurements()], (indexes, measurements) => {\n const virtualItems = [];\n\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.scrollToOffset = function (toOffset, _temp) {\n let {\n align = 'start',\n smoothScroll = _this.options.enableSmoothScroll\n } = _temp === void 0 ? {} : _temp;\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n if (align === 'auto') {\n if (toOffset <= offset) {\n align = 'start';\n } else if (toOffset >= offset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n\n const options = {\n canSmooth: smoothScroll,\n sync: false,\n requested: true\n };\n\n if (align === 'start') {\n _this._scrollToOffset(toOffset, options);\n } else if (align === 'end') {\n _this._scrollToOffset(toOffset - size, options);\n } else if (align === 'center') {\n _this._scrollToOffset(toOffset - size / 2, options);\n }\n };\n\n this.scrollToIndex = function (index, _temp2) {\n let {\n align = 'auto',\n smoothScroll = _this.options.enableSmoothScroll,\n ...rest\n } = _temp2 === void 0 ? {} : _temp2;\n\n const measurements = _this.getMeasurements();\n\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n const {\n count\n } = _this.options;\n const measurement = measurements[Math.max(0, Math.min(index, count - 1))];\n\n if (!measurement) {\n return;\n }\n\n if (align === 'auto') {\n if (measurement.end >= offset + size - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= offset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return;\n }\n }\n\n const toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n\n _this.scrollToOffset(toOffset, {\n align,\n smoothScroll,\n ...rest\n });\n };\n\n this.getTotalSize = () => {\n var _this$getMeasurements;\n\n return (((_this$getMeasurements = this.getMeasurements()[this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || this.options.paddingStart) + this.options.paddingEnd;\n };\n\n this._scrollToOffset = (offset, _ref4) => {\n let {\n requested,\n canSmooth,\n sync\n } = _ref4;\n clearTimeout(this.scrollCheckFrame);\n\n if (requested) {\n this.destinationOffset = offset;\n }\n\n this.options.scrollToFn(offset, {\n canSmooth,\n sync\n }, this);\n let scrollCheckFrame;\n\n const check = () => {\n let lastOffset = this.scrollOffset;\n this.scrollCheckFrame = scrollCheckFrame = setTimeout(() => {\n if (this.scrollCheckFrame !== scrollCheckFrame) {\n return;\n }\n\n if (this.scrollOffset === lastOffset) {\n this.destinationOffset = undefined;\n return;\n }\n\n lastOffset = this.scrollOffset;\n check();\n }, 100);\n };\n\n check();\n };\n\n this.measure = () => {\n this.itemMeasurementsCache = {};\n this.notify();\n };\n\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.calculateRange();\n }\n\n}\n\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n\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\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nfunction calculateRange(_ref5) {\n let {\n measurements,\n outerSize,\n scrollOffset\n } = _ref5;\n const count = measurements.length - 1;\n\n const getOffset = index => measurements[index].start;\n\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n let endIndex = startIndex;\n\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n\n return {\n startIndex,\n endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, memo, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.js.map\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../virtual-core/build/esm/index.js"],"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 memo(getDeps, fn, opts) {\n let deps = [];\n let result;\n return () => {\n let depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n\n if (!depsChanged) {\n return result;\n }\n\n deps = newDeps;\n let resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn(...newDeps);\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\n\n if (opts.key && opts.debug != null && opts.debug()) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n\n const pad = (str, num) => {\n str = String(str);\n\n while (str.length < num) {\n str = ' ' + str;\n }\n\n return str;\n };\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\n return result;\n };\n}\n\n//\nconst defaultKeyExtractor = index => index;\nconst defaultRangeExtractor = range => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n\n return arr;\n};\n\nconst memoRectCallback = (instance, cb) => {\n let prev = {\n height: -1,\n width: -1\n };\n return rect => {\n if (instance.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n cb(rect);\n }\n\n prev = rect;\n };\n};\n\nconst observeElementRect = (instance, cb) => {\n const observer = new ResizeObserver(entries => {\n var _entries$, _entries$2;\n\n cb({\n width: (_entries$ = entries[0]) == null ? void 0 : _entries$.contentRect.width,\n height: (_entries$2 = entries[0]) == null ? void 0 : _entries$2.contentRect.height\n });\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n cb(instance.scrollElement.getBoundingClientRect());\n observer.observe(instance.scrollElement);\n return () => {\n observer.unobserve(instance.scrollElement);\n };\n};\nconst observeWindowRect = (instance, cb) => {\n const memoizedCallback = memoRectCallback(instance, cb);\n\n const onResize = () => memoizedCallback({\n width: instance.scrollElement.innerWidth,\n height: instance.scrollElement.innerHeight\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n onResize();\n instance.scrollElement.addEventListener('resize', onResize, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('resize', onResize);\n };\n};\nconst scrollProps = {\n element: ['scrollLeft', 'scrollTop'],\n window: ['scrollX', 'scrollY']\n};\n\nconst createOffsetObserver = mode => {\n return (instance, cb) => {\n if (!instance.scrollElement) {\n return;\n }\n\n const propX = scrollProps[mode][0];\n const propY = scrollProps[mode][1];\n let prevX = instance.scrollElement[propX];\n let prevY = instance.scrollElement[propY];\n\n const scroll = () => {\n const offset = instance.scrollElement[instance.options.horizontal ? propX : propY];\n cb(Math.max(0, offset - instance.options.scrollMargin));\n };\n\n scroll();\n\n const onScroll = e => {\n const target = e.currentTarget;\n const scrollX = target[propX];\n const scrollY = target[propY];\n\n if (instance.options.horizontal ? prevX - scrollX : prevY - scrollY) {\n scroll();\n }\n\n prevX = scrollX;\n prevY = scrollY;\n };\n\n instance.scrollElement.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('scroll', onScroll);\n };\n };\n};\n\nconst observeElementOffset = createOffsetObserver('element');\nconst observeWindowOffset = createOffsetObserver('window');\nconst measureElement = (element, instance) => {\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nconst windowScroll = (offset, _ref, instance) => {\n var _instance$scrollEleme;\n\n let {\n canSmooth,\n sync\n } = _ref;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo == null ? void 0 : _instance$scrollEleme.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nconst elementScroll = (offset, _ref2, instance) => {\n var _instance$scrollEleme2;\n\n let {\n canSmooth,\n sync\n } = _ref2;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme2 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme2.scrollTo == null ? void 0 : _instance$scrollEleme2.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nclass Virtualizer {\n constructor(_opts) {\n var _this = this;\n\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.measurementsCache = [];\n this.itemMeasurementsCache = {};\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDelta = 0;\n this.measureElementCache = {};\n\n this.getResizeObserver = (() => {\n let _ro = null;\n return () => {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(entries => {\n entries.forEach(entry => {\n this._measureElement(entry.target, false);\n });\n });\n } else {\n return null;\n }\n };\n })();\n\n this.range = {\n startIndex: 0,\n endIndex: 0\n };\n\n this.setOptions = opts => {\n Object.entries(opts).forEach(_ref3 => {\n let [key, value] = _ref3;\n if (typeof value === 'undefined') delete opts[key];\n });\n this.options = {\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 enableSmoothScroll: true,\n onChange: () => {},\n measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n ...opts\n };\n };\n\n this.notify = () => {\n var _this$options$onChang, _this$options;\n\n (_this$options$onChang = (_this$options = this.options).onChange) == null ? void 0 : _this$options$onChang.call(_this$options, this);\n };\n\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach(d => d());\n this.unsubs = [];\n this.scrollElement = null;\n };\n\n this._didMount = () => {\n return () => {\n var _this$getResizeObserv;\n\n (_this$getResizeObserv = this.getResizeObserver()) == null ? void 0 : _this$getResizeObserv.disconnect();\n this.measureElementCache = {};\n this.cleanup();\n };\n };\n\n this._willUpdate = () => {\n const scrollElement = this.options.getScrollElement();\n\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n this.scrollElement = scrollElement;\n\n this._scrollToOffset(this.scrollOffset, {\n canSmooth: false,\n sync: true,\n requested: false\n });\n\n this.unsubs.push(this.options.observeElementRect(this, rect => {\n this.scrollRect = rect;\n this.calculateRange();\n }));\n this.unsubs.push(this.options.observeElementOffset(this, offset => {\n if (this.isScrollingTimeoutId !== null) {\n clearTimeout(this.isScrollingTimeoutId);\n this.isScrollingTimeoutId = null;\n }\n\n if (this.scrollOffset !== offset) {\n this.scrollOffset = offset;\n this.isScrolling = true;\n this.scrollDelta = 0;\n this.isScrollingTimeoutId = setTimeout(() => {\n this.isScrollingTimeoutId = null;\n this.isScrolling = false;\n this.notify();\n }, this.options.scrollingDelay);\n } else {\n this.isScrolling = false;\n this.scrollDelta = 0;\n }\n\n this.calculateRange();\n }));\n } else if (!this.isScrolling) {\n this.calculateRange();\n }\n };\n\n this.getSize = () => {\n return this.scrollRect[this.options.horizontal ? 'width' : 'height'];\n };\n\n this.getMeasurements = memo(() => [this.options.count, this.options.paddingStart, this.options.getItemKey, this.itemMeasurementsCache], (count, paddingStart, getItemKey, measurementsCache) => {\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const measuredSize = measurementsCache[key];\n const start = measurements[i - 1] ? measurements[i - 1].end : paddingStart;\n const size = typeof measuredSize === 'number' ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key\n };\n }\n\n this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: () => this.options.debug\n });\n this.calculateRange = memo(() => [this.getMeasurements(), this.getSize(), this.scrollOffset], (measurements, outerSize, scrollOffset) => {\n const range = calculateRange({\n measurements,\n outerSize,\n scrollOffset\n });\n\n if (range.startIndex !== this.range.startIndex || range.endIndex !== this.range.endIndex) {\n this.range = range;\n this.notify();\n }\n\n return this.range;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: () => this.options.debug\n });\n this.getIndexes = memo(() => [this.options.rangeExtractor, this.range, this.options.overscan, this.options.count], (rangeExtractor, range, overscan, count) => {\n return rangeExtractor({ ...range,\n overscan,\n count: count\n });\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.indexFromElement = node => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n\n return parseInt(indexStr, 10);\n };\n\n this._measureElement = (node, _sync) => {\n var _this$itemMeasurement;\n\n const index = this.indexFromElement(node);\n const item = this.measurementsCache[index];\n\n if (!item) {\n return;\n }\n\n const prevNode = this.measureElementCache[item.key];\n const ro = this.getResizeObserver();\n\n if (!node.isConnected) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n delete this.measureElementCache[item.key];\n }\n\n return;\n }\n\n if (!prevNode || prevNode !== node) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n }\n\n this.measureElementCache[item.key] = node;\n ro == null ? void 0 : ro.observe(node);\n }\n\n const measuredItemSize = this.options.measureElement(node, this);\n const itemSize = (_this$itemMeasurement = this.itemMeasurementsCache[item.key]) != null ? _this$itemMeasurement : item.size;\n const delta = measuredItemSize - itemSize;\n\n if (delta !== 0) {\n if (item.start < this.scrollOffset && this.isScrolling && this.destinationOffset === undefined) {\n if (process.env.NODE_ENV !== 'production' && this.options.debug) {\n console.info('correction', delta);\n }\n\n this.scrollDelta += delta;\n\n this._scrollToOffset(this.scrollOffset + this.scrollDelta, {\n canSmooth: false,\n sync: false,\n requested: false\n });\n }\n\n this.pendingMeasuredCacheIndexes.push(index);\n this.itemMeasurementsCache = { ...this.itemMeasurementsCache,\n [item.key]: measuredItemSize\n };\n this.notify();\n }\n };\n\n this.measureElement = node => {\n if (!node) {\n return;\n }\n\n this._measureElement(node, true);\n };\n\n this.getVirtualItems = memo(() => [this.getIndexes(), this.getMeasurements()], (indexes, measurements) => {\n const virtualItems = [];\n\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.scrollToOffset = function (toOffset, _temp) {\n let {\n align = 'start',\n smoothScroll = _this.options.enableSmoothScroll\n } = _temp === void 0 ? {} : _temp;\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n if (align === 'auto') {\n if (toOffset <= offset) {\n align = 'start';\n } else if (toOffset >= offset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n\n const options = {\n canSmooth: smoothScroll,\n sync: false,\n requested: true\n };\n\n if (align === 'start') {\n _this._scrollToOffset(toOffset, options);\n } else if (align === 'end') {\n _this._scrollToOffset(toOffset - size, options);\n } else if (align === 'center') {\n _this._scrollToOffset(toOffset - size / 2, options);\n }\n };\n\n this.scrollToIndex = function (index, _temp2) {\n let {\n align = 'auto',\n smoothScroll = _this.options.enableSmoothScroll,\n ...rest\n } = _temp2 === void 0 ? {} : _temp2;\n\n const measurements = _this.getMeasurements();\n\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n const {\n count\n } = _this.options;\n const measurement = measurements[Math.max(0, Math.min(index, count - 1))];\n\n if (!measurement) {\n return;\n }\n\n if (align === 'auto') {\n if (measurement.end >= offset + size - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= offset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return;\n }\n }\n\n const toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n\n _this.scrollToOffset(toOffset, {\n align,\n smoothScroll,\n ...rest\n });\n };\n\n this.getTotalSize = () => {\n var _this$getMeasurements;\n\n return (((_this$getMeasurements = this.getMeasurements()[this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || this.options.paddingStart) + this.options.paddingEnd;\n };\n\n this._scrollToOffset = (offset, _ref4) => {\n let {\n requested,\n canSmooth,\n sync\n } = _ref4;\n clearTimeout(this.scrollCheckFrame);\n\n if (requested) {\n this.destinationOffset = offset;\n }\n\n this.options.scrollToFn(offset, {\n canSmooth,\n sync\n }, this);\n let scrollCheckFrame;\n\n const check = () => {\n let lastOffset = this.scrollOffset;\n this.scrollCheckFrame = scrollCheckFrame = setTimeout(() => {\n if (this.scrollCheckFrame !== scrollCheckFrame) {\n return;\n }\n\n if (this.scrollOffset === lastOffset) {\n this.destinationOffset = undefined;\n return;\n }\n\n lastOffset = this.scrollOffset;\n check();\n }, 100);\n };\n\n check();\n };\n\n this.measure = () => {\n this.itemMeasurementsCache = {};\n this.notify();\n };\n\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.calculateRange();\n }\n\n}\n\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n\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\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nfunction calculateRange(_ref5) {\n let {\n measurements,\n outerSize,\n scrollOffset\n } = _ref5;\n const count = measurements.length - 1;\n\n const getOffset = index => measurements[index].start;\n\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n let endIndex = startIndex;\n\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n\n return {\n startIndex,\n endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, memo, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.js.map\n"],"names":[],"mappings":"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"}
|
package/build/esm/index.js
CHANGED
|
@@ -442,22 +442,21 @@ class Virtualizer {
|
|
|
442
442
|
|
|
443
443
|
const measuredItemSize = this.options.measureElement(node, this);
|
|
444
444
|
const itemSize = (_this$itemMeasurement = this.itemMeasurementsCache[item.key]) != null ? _this$itemMeasurement : item.size;
|
|
445
|
+
const delta = measuredItemSize - itemSize;
|
|
445
446
|
|
|
446
|
-
if (
|
|
447
|
-
if (item.start < this.scrollOffset) {
|
|
447
|
+
if (delta !== 0) {
|
|
448
|
+
if (item.start < this.scrollOffset && this.isScrolling && this.destinationOffset === undefined) {
|
|
448
449
|
if (process.env.NODE_ENV !== 'production' && this.options.debug) {
|
|
449
|
-
console.info('correction',
|
|
450
|
+
console.info('correction', delta);
|
|
450
451
|
}
|
|
451
452
|
|
|
452
|
-
|
|
453
|
-
this.scrollDelta += measuredItemSize - itemSize;
|
|
453
|
+
this.scrollDelta += delta;
|
|
454
454
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
}
|
|
455
|
+
this._scrollToOffset(this.scrollOffset + this.scrollDelta, {
|
|
456
|
+
canSmooth: false,
|
|
457
|
+
sync: false,
|
|
458
|
+
requested: false
|
|
459
|
+
});
|
|
461
460
|
}
|
|
462
461
|
|
|
463
462
|
this.pendingMeasuredCacheIndexes.push(index);
|
package/build/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../virtual-core/build/esm/index.js","../../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 memo(getDeps, fn, opts) {\n let deps = [];\n let result;\n return () => {\n let depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n\n if (!depsChanged) {\n return result;\n }\n\n deps = newDeps;\n let resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn(...newDeps);\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\n\n if (opts.key && opts.debug != null && opts.debug()) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n\n const pad = (str, num) => {\n str = String(str);\n\n while (str.length < num) {\n str = ' ' + str;\n }\n\n return str;\n };\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\n return result;\n };\n}\n\n//\nconst defaultKeyExtractor = index => index;\nconst defaultRangeExtractor = range => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n\n return arr;\n};\n\nconst memoRectCallback = (instance, cb) => {\n let prev = {\n height: -1,\n width: -1\n };\n return rect => {\n if (instance.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n cb(rect);\n }\n\n prev = rect;\n };\n};\n\nconst observeElementRect = (instance, cb) => {\n const observer = new ResizeObserver(entries => {\n var _entries$, _entries$2;\n\n cb({\n width: (_entries$ = entries[0]) == null ? void 0 : _entries$.contentRect.width,\n height: (_entries$2 = entries[0]) == null ? void 0 : _entries$2.contentRect.height\n });\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n cb(instance.scrollElement.getBoundingClientRect());\n observer.observe(instance.scrollElement);\n return () => {\n observer.unobserve(instance.scrollElement);\n };\n};\nconst observeWindowRect = (instance, cb) => {\n const memoizedCallback = memoRectCallback(instance, cb);\n\n const onResize = () => memoizedCallback({\n width: instance.scrollElement.innerWidth,\n height: instance.scrollElement.innerHeight\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n onResize();\n instance.scrollElement.addEventListener('resize', onResize, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('resize', onResize);\n };\n};\nconst scrollProps = {\n element: ['scrollLeft', 'scrollTop'],\n window: ['scrollX', 'scrollY']\n};\n\nconst createOffsetObserver = mode => {\n return (instance, cb) => {\n if (!instance.scrollElement) {\n return;\n }\n\n const propX = scrollProps[mode][0];\n const propY = scrollProps[mode][1];\n let prevX = instance.scrollElement[propX];\n let prevY = instance.scrollElement[propY];\n\n const scroll = () => {\n const offset = instance.scrollElement[instance.options.horizontal ? propX : propY];\n cb(Math.max(0, offset - instance.options.scrollMargin));\n };\n\n scroll();\n\n const onScroll = e => {\n const target = e.currentTarget;\n const scrollX = target[propX];\n const scrollY = target[propY];\n\n if (instance.options.horizontal ? prevX - scrollX : prevY - scrollY) {\n scroll();\n }\n\n prevX = scrollX;\n prevY = scrollY;\n };\n\n instance.scrollElement.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('scroll', onScroll);\n };\n };\n};\n\nconst observeElementOffset = createOffsetObserver('element');\nconst observeWindowOffset = createOffsetObserver('window');\nconst measureElement = (element, instance) => {\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nconst windowScroll = (offset, _ref, instance) => {\n var _instance$scrollEleme;\n\n let {\n canSmooth,\n sync\n } = _ref;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo == null ? void 0 : _instance$scrollEleme.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nconst elementScroll = (offset, _ref2, instance) => {\n var _instance$scrollEleme2;\n\n let {\n canSmooth,\n sync\n } = _ref2;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme2 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme2.scrollTo == null ? void 0 : _instance$scrollEleme2.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nclass Virtualizer {\n constructor(_opts) {\n var _this = this;\n\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.measurementsCache = [];\n this.itemMeasurementsCache = {};\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDelta = 0;\n this.measureElementCache = {};\n\n this.getResizeObserver = (() => {\n let _ro = null;\n return () => {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(entries => {\n entries.forEach(entry => {\n this._measureElement(entry.target, false);\n });\n });\n } else {\n return null;\n }\n };\n })();\n\n this.range = {\n startIndex: 0,\n endIndex: 0\n };\n\n this.setOptions = opts => {\n Object.entries(opts).forEach(_ref3 => {\n let [key, value] = _ref3;\n if (typeof value === 'undefined') delete opts[key];\n });\n this.options = {\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 enableSmoothScroll: true,\n onChange: () => {},\n measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n ...opts\n };\n };\n\n this.notify = () => {\n var _this$options$onChang, _this$options;\n\n (_this$options$onChang = (_this$options = this.options).onChange) == null ? void 0 : _this$options$onChang.call(_this$options, this);\n };\n\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach(d => d());\n this.unsubs = [];\n this.scrollElement = null;\n };\n\n this._didMount = () => {\n return () => {\n var _this$getResizeObserv;\n\n (_this$getResizeObserv = this.getResizeObserver()) == null ? void 0 : _this$getResizeObserv.disconnect();\n this.measureElementCache = {};\n this.cleanup();\n };\n };\n\n this._willUpdate = () => {\n const scrollElement = this.options.getScrollElement();\n\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n this.scrollElement = scrollElement;\n\n this._scrollToOffset(this.scrollOffset, {\n canSmooth: false,\n sync: true,\n requested: false\n });\n\n this.unsubs.push(this.options.observeElementRect(this, rect => {\n this.scrollRect = rect;\n this.calculateRange();\n }));\n this.unsubs.push(this.options.observeElementOffset(this, offset => {\n if (this.isScrollingTimeoutId !== null) {\n clearTimeout(this.isScrollingTimeoutId);\n this.isScrollingTimeoutId = null;\n }\n\n if (this.scrollOffset !== offset) {\n this.scrollOffset = offset;\n this.isScrolling = true;\n this.scrollDelta = 0;\n this.isScrollingTimeoutId = setTimeout(() => {\n this.isScrollingTimeoutId = null;\n this.isScrolling = false;\n this.notify();\n }, this.options.scrollingDelay);\n } else {\n this.isScrolling = false;\n this.scrollDelta = 0;\n }\n\n this.calculateRange();\n }));\n } else if (!this.isScrolling) {\n this.calculateRange();\n }\n };\n\n this.getSize = () => {\n return this.scrollRect[this.options.horizontal ? 'width' : 'height'];\n };\n\n this.getMeasurements = memo(() => [this.options.count, this.options.paddingStart, this.options.getItemKey, this.itemMeasurementsCache], (count, paddingStart, getItemKey, measurementsCache) => {\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const measuredSize = measurementsCache[key];\n const start = measurements[i - 1] ? measurements[i - 1].end : paddingStart;\n const size = typeof measuredSize === 'number' ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key\n };\n }\n\n this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: () => this.options.debug\n });\n this.calculateRange = memo(() => [this.getMeasurements(), this.getSize(), this.scrollOffset], (measurements, outerSize, scrollOffset) => {\n const range = calculateRange({\n measurements,\n outerSize,\n scrollOffset\n });\n\n if (range.startIndex !== this.range.startIndex || range.endIndex !== this.range.endIndex) {\n this.range = range;\n this.notify();\n }\n\n return this.range;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: () => this.options.debug\n });\n this.getIndexes = memo(() => [this.options.rangeExtractor, this.range, this.options.overscan, this.options.count], (rangeExtractor, range, overscan, count) => {\n return rangeExtractor({ ...range,\n overscan,\n count: count\n });\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.indexFromElement = node => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n\n return parseInt(indexStr, 10);\n };\n\n this._measureElement = (node, _sync) => {\n var _this$itemMeasurement;\n\n const index = this.indexFromElement(node);\n const item = this.measurementsCache[index];\n\n if (!item) {\n return;\n }\n\n const prevNode = this.measureElementCache[item.key];\n const ro = this.getResizeObserver();\n\n if (!node.isConnected) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n delete this.measureElementCache[item.key];\n }\n\n return;\n }\n\n if (!prevNode || prevNode !== node) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n }\n\n this.measureElementCache[item.key] = node;\n ro == null ? void 0 : ro.observe(node);\n }\n\n const measuredItemSize = this.options.measureElement(node, this);\n const itemSize = (_this$itemMeasurement = this.itemMeasurementsCache[item.key]) != null ? _this$itemMeasurement : item.size;\n\n if (measuredItemSize !== itemSize) {\n if (item.start < this.scrollOffset) {\n if (process.env.NODE_ENV !== 'production' && this.options.debug) {\n console.info('correction', measuredItemSize - itemSize);\n }\n\n if (this.destinationOffset === undefined) {\n this.scrollDelta += measuredItemSize - itemSize;\n\n this._scrollToOffset(this.scrollOffset + this.scrollDelta, {\n canSmooth: false,\n sync: false,\n requested: false\n });\n }\n }\n\n this.pendingMeasuredCacheIndexes.push(index);\n this.itemMeasurementsCache = { ...this.itemMeasurementsCache,\n [item.key]: measuredItemSize\n };\n this.notify();\n }\n };\n\n this.measureElement = node => {\n if (!node) {\n return;\n }\n\n this._measureElement(node, true);\n };\n\n this.getVirtualItems = memo(() => [this.getIndexes(), this.getMeasurements()], (indexes, measurements) => {\n const virtualItems = [];\n\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.scrollToOffset = function (toOffset, _temp) {\n let {\n align = 'start',\n smoothScroll = _this.options.enableSmoothScroll\n } = _temp === void 0 ? {} : _temp;\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n if (align === 'auto') {\n if (toOffset <= offset) {\n align = 'start';\n } else if (toOffset >= offset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n\n const options = {\n canSmooth: smoothScroll,\n sync: false,\n requested: true\n };\n\n if (align === 'start') {\n _this._scrollToOffset(toOffset, options);\n } else if (align === 'end') {\n _this._scrollToOffset(toOffset - size, options);\n } else if (align === 'center') {\n _this._scrollToOffset(toOffset - size / 2, options);\n }\n };\n\n this.scrollToIndex = function (index, _temp2) {\n let {\n align = 'auto',\n smoothScroll = _this.options.enableSmoothScroll,\n ...rest\n } = _temp2 === void 0 ? {} : _temp2;\n\n const measurements = _this.getMeasurements();\n\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n const {\n count\n } = _this.options;\n const measurement = measurements[Math.max(0, Math.min(index, count - 1))];\n\n if (!measurement) {\n return;\n }\n\n if (align === 'auto') {\n if (measurement.end >= offset + size - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= offset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return;\n }\n }\n\n const toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n\n _this.scrollToOffset(toOffset, {\n align,\n smoothScroll,\n ...rest\n });\n };\n\n this.getTotalSize = () => {\n var _this$getMeasurements;\n\n return (((_this$getMeasurements = this.getMeasurements()[this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || this.options.paddingStart) + this.options.paddingEnd;\n };\n\n this._scrollToOffset = (offset, _ref4) => {\n let {\n requested,\n canSmooth,\n sync\n } = _ref4;\n clearTimeout(this.scrollCheckFrame);\n\n if (requested) {\n this.destinationOffset = offset;\n }\n\n this.options.scrollToFn(offset, {\n canSmooth,\n sync\n }, this);\n let scrollCheckFrame;\n\n const check = () => {\n let lastOffset = this.scrollOffset;\n this.scrollCheckFrame = scrollCheckFrame = setTimeout(() => {\n if (this.scrollCheckFrame !== scrollCheckFrame) {\n return;\n }\n\n if (this.scrollOffset === lastOffset) {\n this.destinationOffset = undefined;\n return;\n }\n\n lastOffset = this.scrollOffset;\n check();\n }, 100);\n };\n\n check();\n };\n\n this.measure = () => {\n this.itemMeasurementsCache = {};\n this.notify();\n };\n\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.calculateRange();\n }\n\n}\n\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n\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\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nfunction calculateRange(_ref5) {\n let {\n measurements,\n outerSize,\n scrollOffset\n } = _ref5;\n const count = measurements.length - 1;\n\n const getOffset = index => measurements[index].start;\n\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n let endIndex = startIndex;\n\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n\n return {\n startIndex,\n endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, memo, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.js.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 { createSignal, onMount, onCleanup, createComputed, mergeProps } from 'solid-js';\nimport { createStore, reconcile } from 'solid-js/store';\n\nfunction createVirtualizerBase<TScrollElement, TItemElement extends Element>(\n options: VirtualizerOptions<TScrollElement, TItemElement>\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> = 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(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 virtualizer.measure()\n })\n\n return virtualizer;\n}\n\nexport function createVirtualizer<TScrollElement, TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >\n): Virtualizer<TScrollElement, TItemElement> {\n \n return createVirtualizerBase<TScrollElement, TItemElement>(mergeProps({\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll\n }, options));\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>(mergeProps({\n getScrollElement: () => (typeof window !== 'undefined' ? window : null!),\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n },options,\n ));\n}\n"],"names":["createVirtualizerBase","options","resolvedOptions","mergeProps","instance","Virtualizer","virtualItems","setVirtualItems","createStore","getVirtualItems","totalSize","setTotalSize","createSignal","getTotalSize","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.js","sources":["../../../virtual-core/build/esm/index.js","../../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 memo(getDeps, fn, opts) {\n let deps = [];\n let result;\n return () => {\n let depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n\n if (!depsChanged) {\n return result;\n }\n\n deps = newDeps;\n let resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn(...newDeps);\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\n\n if (opts.key && opts.debug != null && opts.debug()) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n\n const pad = (str, num) => {\n str = String(str);\n\n while (str.length < num) {\n str = ' ' + str;\n }\n\n return str;\n };\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\n return result;\n };\n}\n\n//\nconst defaultKeyExtractor = index => index;\nconst defaultRangeExtractor = range => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n\n return arr;\n};\n\nconst memoRectCallback = (instance, cb) => {\n let prev = {\n height: -1,\n width: -1\n };\n return rect => {\n if (instance.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n cb(rect);\n }\n\n prev = rect;\n };\n};\n\nconst observeElementRect = (instance, cb) => {\n const observer = new ResizeObserver(entries => {\n var _entries$, _entries$2;\n\n cb({\n width: (_entries$ = entries[0]) == null ? void 0 : _entries$.contentRect.width,\n height: (_entries$2 = entries[0]) == null ? void 0 : _entries$2.contentRect.height\n });\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n cb(instance.scrollElement.getBoundingClientRect());\n observer.observe(instance.scrollElement);\n return () => {\n observer.unobserve(instance.scrollElement);\n };\n};\nconst observeWindowRect = (instance, cb) => {\n const memoizedCallback = memoRectCallback(instance, cb);\n\n const onResize = () => memoizedCallback({\n width: instance.scrollElement.innerWidth,\n height: instance.scrollElement.innerHeight\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n onResize();\n instance.scrollElement.addEventListener('resize', onResize, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('resize', onResize);\n };\n};\nconst scrollProps = {\n element: ['scrollLeft', 'scrollTop'],\n window: ['scrollX', 'scrollY']\n};\n\nconst createOffsetObserver = mode => {\n return (instance, cb) => {\n if (!instance.scrollElement) {\n return;\n }\n\n const propX = scrollProps[mode][0];\n const propY = scrollProps[mode][1];\n let prevX = instance.scrollElement[propX];\n let prevY = instance.scrollElement[propY];\n\n const scroll = () => {\n const offset = instance.scrollElement[instance.options.horizontal ? propX : propY];\n cb(Math.max(0, offset - instance.options.scrollMargin));\n };\n\n scroll();\n\n const onScroll = e => {\n const target = e.currentTarget;\n const scrollX = target[propX];\n const scrollY = target[propY];\n\n if (instance.options.horizontal ? prevX - scrollX : prevY - scrollY) {\n scroll();\n }\n\n prevX = scrollX;\n prevY = scrollY;\n };\n\n instance.scrollElement.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('scroll', onScroll);\n };\n };\n};\n\nconst observeElementOffset = createOffsetObserver('element');\nconst observeWindowOffset = createOffsetObserver('window');\nconst measureElement = (element, instance) => {\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nconst windowScroll = (offset, _ref, instance) => {\n var _instance$scrollEleme;\n\n let {\n canSmooth,\n sync\n } = _ref;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo == null ? void 0 : _instance$scrollEleme.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nconst elementScroll = (offset, _ref2, instance) => {\n var _instance$scrollEleme2;\n\n let {\n canSmooth,\n sync\n } = _ref2;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme2 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme2.scrollTo == null ? void 0 : _instance$scrollEleme2.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nclass Virtualizer {\n constructor(_opts) {\n var _this = this;\n\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.measurementsCache = [];\n this.itemMeasurementsCache = {};\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDelta = 0;\n this.measureElementCache = {};\n\n this.getResizeObserver = (() => {\n let _ro = null;\n return () => {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(entries => {\n entries.forEach(entry => {\n this._measureElement(entry.target, false);\n });\n });\n } else {\n return null;\n }\n };\n })();\n\n this.range = {\n startIndex: 0,\n endIndex: 0\n };\n\n this.setOptions = opts => {\n Object.entries(opts).forEach(_ref3 => {\n let [key, value] = _ref3;\n if (typeof value === 'undefined') delete opts[key];\n });\n this.options = {\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 enableSmoothScroll: true,\n onChange: () => {},\n measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n ...opts\n };\n };\n\n this.notify = () => {\n var _this$options$onChang, _this$options;\n\n (_this$options$onChang = (_this$options = this.options).onChange) == null ? void 0 : _this$options$onChang.call(_this$options, this);\n };\n\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach(d => d());\n this.unsubs = [];\n this.scrollElement = null;\n };\n\n this._didMount = () => {\n return () => {\n var _this$getResizeObserv;\n\n (_this$getResizeObserv = this.getResizeObserver()) == null ? void 0 : _this$getResizeObserv.disconnect();\n this.measureElementCache = {};\n this.cleanup();\n };\n };\n\n this._willUpdate = () => {\n const scrollElement = this.options.getScrollElement();\n\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n this.scrollElement = scrollElement;\n\n this._scrollToOffset(this.scrollOffset, {\n canSmooth: false,\n sync: true,\n requested: false\n });\n\n this.unsubs.push(this.options.observeElementRect(this, rect => {\n this.scrollRect = rect;\n this.calculateRange();\n }));\n this.unsubs.push(this.options.observeElementOffset(this, offset => {\n if (this.isScrollingTimeoutId !== null) {\n clearTimeout(this.isScrollingTimeoutId);\n this.isScrollingTimeoutId = null;\n }\n\n if (this.scrollOffset !== offset) {\n this.scrollOffset = offset;\n this.isScrolling = true;\n this.scrollDelta = 0;\n this.isScrollingTimeoutId = setTimeout(() => {\n this.isScrollingTimeoutId = null;\n this.isScrolling = false;\n this.notify();\n }, this.options.scrollingDelay);\n } else {\n this.isScrolling = false;\n this.scrollDelta = 0;\n }\n\n this.calculateRange();\n }));\n } else if (!this.isScrolling) {\n this.calculateRange();\n }\n };\n\n this.getSize = () => {\n return this.scrollRect[this.options.horizontal ? 'width' : 'height'];\n };\n\n this.getMeasurements = memo(() => [this.options.count, this.options.paddingStart, this.options.getItemKey, this.itemMeasurementsCache], (count, paddingStart, getItemKey, measurementsCache) => {\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const measuredSize = measurementsCache[key];\n const start = measurements[i - 1] ? measurements[i - 1].end : paddingStart;\n const size = typeof measuredSize === 'number' ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key\n };\n }\n\n this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: () => this.options.debug\n });\n this.calculateRange = memo(() => [this.getMeasurements(), this.getSize(), this.scrollOffset], (measurements, outerSize, scrollOffset) => {\n const range = calculateRange({\n measurements,\n outerSize,\n scrollOffset\n });\n\n if (range.startIndex !== this.range.startIndex || range.endIndex !== this.range.endIndex) {\n this.range = range;\n this.notify();\n }\n\n return this.range;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: () => this.options.debug\n });\n this.getIndexes = memo(() => [this.options.rangeExtractor, this.range, this.options.overscan, this.options.count], (rangeExtractor, range, overscan, count) => {\n return rangeExtractor({ ...range,\n overscan,\n count: count\n });\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.indexFromElement = node => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n\n return parseInt(indexStr, 10);\n };\n\n this._measureElement = (node, _sync) => {\n var _this$itemMeasurement;\n\n const index = this.indexFromElement(node);\n const item = this.measurementsCache[index];\n\n if (!item) {\n return;\n }\n\n const prevNode = this.measureElementCache[item.key];\n const ro = this.getResizeObserver();\n\n if (!node.isConnected) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n delete this.measureElementCache[item.key];\n }\n\n return;\n }\n\n if (!prevNode || prevNode !== node) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n }\n\n this.measureElementCache[item.key] = node;\n ro == null ? void 0 : ro.observe(node);\n }\n\n const measuredItemSize = this.options.measureElement(node, this);\n const itemSize = (_this$itemMeasurement = this.itemMeasurementsCache[item.key]) != null ? _this$itemMeasurement : item.size;\n const delta = measuredItemSize - itemSize;\n\n if (delta !== 0) {\n if (item.start < this.scrollOffset && this.isScrolling && this.destinationOffset === undefined) {\n if (process.env.NODE_ENV !== 'production' && this.options.debug) {\n console.info('correction', delta);\n }\n\n this.scrollDelta += delta;\n\n this._scrollToOffset(this.scrollOffset + this.scrollDelta, {\n canSmooth: false,\n sync: false,\n requested: false\n });\n }\n\n this.pendingMeasuredCacheIndexes.push(index);\n this.itemMeasurementsCache = { ...this.itemMeasurementsCache,\n [item.key]: measuredItemSize\n };\n this.notify();\n }\n };\n\n this.measureElement = node => {\n if (!node) {\n return;\n }\n\n this._measureElement(node, true);\n };\n\n this.getVirtualItems = memo(() => [this.getIndexes(), this.getMeasurements()], (indexes, measurements) => {\n const virtualItems = [];\n\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.scrollToOffset = function (toOffset, _temp) {\n let {\n align = 'start',\n smoothScroll = _this.options.enableSmoothScroll\n } = _temp === void 0 ? {} : _temp;\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n if (align === 'auto') {\n if (toOffset <= offset) {\n align = 'start';\n } else if (toOffset >= offset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n\n const options = {\n canSmooth: smoothScroll,\n sync: false,\n requested: true\n };\n\n if (align === 'start') {\n _this._scrollToOffset(toOffset, options);\n } else if (align === 'end') {\n _this._scrollToOffset(toOffset - size, options);\n } else if (align === 'center') {\n _this._scrollToOffset(toOffset - size / 2, options);\n }\n };\n\n this.scrollToIndex = function (index, _temp2) {\n let {\n align = 'auto',\n smoothScroll = _this.options.enableSmoothScroll,\n ...rest\n } = _temp2 === void 0 ? {} : _temp2;\n\n const measurements = _this.getMeasurements();\n\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n const {\n count\n } = _this.options;\n const measurement = measurements[Math.max(0, Math.min(index, count - 1))];\n\n if (!measurement) {\n return;\n }\n\n if (align === 'auto') {\n if (measurement.end >= offset + size - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= offset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return;\n }\n }\n\n const toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n\n _this.scrollToOffset(toOffset, {\n align,\n smoothScroll,\n ...rest\n });\n };\n\n this.getTotalSize = () => {\n var _this$getMeasurements;\n\n return (((_this$getMeasurements = this.getMeasurements()[this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || this.options.paddingStart) + this.options.paddingEnd;\n };\n\n this._scrollToOffset = (offset, _ref4) => {\n let {\n requested,\n canSmooth,\n sync\n } = _ref4;\n clearTimeout(this.scrollCheckFrame);\n\n if (requested) {\n this.destinationOffset = offset;\n }\n\n this.options.scrollToFn(offset, {\n canSmooth,\n sync\n }, this);\n let scrollCheckFrame;\n\n const check = () => {\n let lastOffset = this.scrollOffset;\n this.scrollCheckFrame = scrollCheckFrame = setTimeout(() => {\n if (this.scrollCheckFrame !== scrollCheckFrame) {\n return;\n }\n\n if (this.scrollOffset === lastOffset) {\n this.destinationOffset = undefined;\n return;\n }\n\n lastOffset = this.scrollOffset;\n check();\n }, 100);\n };\n\n check();\n };\n\n this.measure = () => {\n this.itemMeasurementsCache = {};\n this.notify();\n };\n\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.calculateRange();\n }\n\n}\n\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n\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\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nfunction calculateRange(_ref5) {\n let {\n measurements,\n outerSize,\n scrollOffset\n } = _ref5;\n const count = measurements.length - 1;\n\n const getOffset = index => measurements[index].start;\n\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n let endIndex = startIndex;\n\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n\n return {\n startIndex,\n endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, memo, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.js.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 { createSignal, onMount, onCleanup, createComputed, mergeProps } from 'solid-js';\nimport { createStore, reconcile } from 'solid-js/store';\n\nfunction createVirtualizerBase<TScrollElement, TItemElement extends Element>(\n options: VirtualizerOptions<TScrollElement, TItemElement>\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> = 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(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 virtualizer.measure()\n })\n\n return virtualizer;\n}\n\nexport function createVirtualizer<TScrollElement, TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >\n): Virtualizer<TScrollElement, TItemElement> {\n \n return createVirtualizerBase<TScrollElement, TItemElement>(mergeProps({\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll\n }, options));\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>(mergeProps({\n getScrollElement: () => (typeof window !== 'undefined' ? window : null!),\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n },options,\n ));\n}\n"],"names":["createVirtualizerBase","options","resolvedOptions","mergeProps","instance","Virtualizer","virtualItems","setVirtualItems","createStore","getVirtualItems","totalSize","setTotalSize","createSignal","getTotalSize","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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"}
|
package/build/stats.html
CHANGED
|
@@ -2669,7 +2669,7 @@ var drawChart = (function (exports) {
|
|
|
2669
2669
|
</script>
|
|
2670
2670
|
<script>
|
|
2671
2671
|
/*<!--*/
|
|
2672
|
-
const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.production.js","children":[{"name":"packages","children":[{"name":"virtual-core/build/esm/index.js","uid":"
|
|
2672
|
+
const data = {"version":2,"tree":{"name":"root","children":[{"name":"index.production.js","children":[{"name":"packages","children":[{"name":"virtual-core/build/esm/index.js","uid":"e978-19"},{"name":"solid-virtual/src/index.tsx","uid":"e978-21"}]}]}],"isRoot":true},"nodeParts":{"e978-19":{"renderedLength":19129,"gzipLength":4405,"brotliLength":0,"mainUid":"e978-18"},"e978-21":{"renderedLength":1957,"gzipLength":617,"brotliLength":0,"mainUid":"e978-20"}},"nodeMetas":{"e978-18":{"id":"/packages/virtual-core/build/esm/index.js","moduleParts":{"index.production.js":"e978-19"},"imported":[],"importedBy":[{"uid":"e978-20"}]},"e978-20":{"id":"/packages/solid-virtual/src/index.tsx","moduleParts":{"index.production.js":"e978-21"},"imported":[{"uid":"e978-18"},{"uid":"e978-22"},{"uid":"e978-23"}],"importedBy":[],"isEntry":true},"e978-22":{"id":"solid-js","moduleParts":{},"imported":[],"importedBy":[{"uid":"e978-20"}],"isExternal":true},"e978-23":{"id":"solid-js/store","moduleParts":{},"imported":[],"importedBy":[{"uid":"e978-20"}],"isExternal":true}},"env":{"rollup":"2.75.4"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
|
|
2673
2673
|
|
|
2674
2674
|
const run = () => {
|
|
2675
2675
|
const width = window.innerWidth;
|
package/build/stats.json
CHANGED
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
"children": [
|
|
12
12
|
{
|
|
13
13
|
"name": "virtual-core/build/esm/index.js",
|
|
14
|
-
"uid": "
|
|
14
|
+
"uid": "e978-25"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
17
|
"name": "solid-virtual/src/index.tsx",
|
|
18
|
-
"uid": "
|
|
18
|
+
"uid": "e978-27"
|
|
19
19
|
}
|
|
20
20
|
]
|
|
21
21
|
}
|
|
@@ -25,69 +25,69 @@
|
|
|
25
25
|
"isRoot": true
|
|
26
26
|
},
|
|
27
27
|
"nodeParts": {
|
|
28
|
-
"
|
|
29
|
-
"renderedLength":
|
|
30
|
-
"gzipLength":
|
|
28
|
+
"e978-25": {
|
|
29
|
+
"renderedLength": 19129,
|
|
30
|
+
"gzipLength": 4405,
|
|
31
31
|
"brotliLength": 0,
|
|
32
|
-
"mainUid": "
|
|
32
|
+
"mainUid": "e978-24"
|
|
33
33
|
},
|
|
34
|
-
"
|
|
34
|
+
"e978-27": {
|
|
35
35
|
"renderedLength": 1957,
|
|
36
36
|
"gzipLength": 617,
|
|
37
37
|
"brotliLength": 0,
|
|
38
|
-
"mainUid": "
|
|
38
|
+
"mainUid": "e978-26"
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"nodeMetas": {
|
|
42
|
-
"
|
|
42
|
+
"e978-24": {
|
|
43
43
|
"id": "/packages/virtual-core/build/esm/index.js",
|
|
44
44
|
"moduleParts": {
|
|
45
|
-
"index.production.js": "
|
|
45
|
+
"index.production.js": "e978-25"
|
|
46
46
|
},
|
|
47
47
|
"imported": [],
|
|
48
48
|
"importedBy": [
|
|
49
49
|
{
|
|
50
|
-
"uid": "
|
|
50
|
+
"uid": "e978-26"
|
|
51
51
|
}
|
|
52
52
|
]
|
|
53
53
|
},
|
|
54
|
-
"
|
|
54
|
+
"e978-26": {
|
|
55
55
|
"id": "/packages/solid-virtual/src/index.tsx",
|
|
56
56
|
"moduleParts": {
|
|
57
|
-
"index.production.js": "
|
|
57
|
+
"index.production.js": "e978-27"
|
|
58
58
|
},
|
|
59
59
|
"imported": [
|
|
60
60
|
{
|
|
61
|
-
"uid": "
|
|
61
|
+
"uid": "e978-24"
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
|
-
"uid": "
|
|
64
|
+
"uid": "e978-28"
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
|
-
"uid": "
|
|
67
|
+
"uid": "e978-29"
|
|
68
68
|
}
|
|
69
69
|
],
|
|
70
70
|
"importedBy": [],
|
|
71
71
|
"isEntry": true
|
|
72
72
|
},
|
|
73
|
-
"
|
|
73
|
+
"e978-28": {
|
|
74
74
|
"id": "solid-js",
|
|
75
75
|
"moduleParts": {},
|
|
76
76
|
"imported": [],
|
|
77
77
|
"importedBy": [
|
|
78
78
|
{
|
|
79
|
-
"uid": "
|
|
79
|
+
"uid": "e978-26"
|
|
80
80
|
}
|
|
81
81
|
],
|
|
82
82
|
"isExternal": true
|
|
83
83
|
},
|
|
84
|
-
"
|
|
84
|
+
"e978-29": {
|
|
85
85
|
"id": "solid-js/store",
|
|
86
86
|
"moduleParts": {},
|
|
87
87
|
"imported": [],
|
|
88
88
|
"importedBy": [
|
|
89
89
|
{
|
|
90
|
-
"uid": "
|
|
90
|
+
"uid": "e978-26"
|
|
91
91
|
}
|
|
92
92
|
],
|
|
93
93
|
"isExternal": true
|
|
@@ -445,22 +445,21 @@
|
|
|
445
445
|
|
|
446
446
|
const measuredItemSize = this.options.measureElement(node, this);
|
|
447
447
|
const itemSize = (_this$itemMeasurement = this.itemMeasurementsCache[item.key]) != null ? _this$itemMeasurement : item.size;
|
|
448
|
+
const delta = measuredItemSize - itemSize;
|
|
448
449
|
|
|
449
|
-
if (
|
|
450
|
-
if (item.start < this.scrollOffset) {
|
|
450
|
+
if (delta !== 0) {
|
|
451
|
+
if (item.start < this.scrollOffset && this.isScrolling && this.destinationOffset === undefined) {
|
|
451
452
|
if (this.options.debug) {
|
|
452
|
-
console.info('correction',
|
|
453
|
+
console.info('correction', delta);
|
|
453
454
|
}
|
|
454
455
|
|
|
455
|
-
|
|
456
|
-
this.scrollDelta += measuredItemSize - itemSize;
|
|
456
|
+
this.scrollDelta += delta;
|
|
457
457
|
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
}
|
|
458
|
+
this._scrollToOffset(this.scrollOffset + this.scrollDelta, {
|
|
459
|
+
canSmooth: false,
|
|
460
|
+
sync: false,
|
|
461
|
+
requested: false
|
|
462
|
+
});
|
|
464
463
|
}
|
|
465
464
|
|
|
466
465
|
this.pendingMeasuredCacheIndexes.push(index);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.development.js","sources":["../../../virtual-core/build/esm/index.js","../../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 memo(getDeps, fn, opts) {\n let deps = [];\n let result;\n return () => {\n let depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n\n if (!depsChanged) {\n return result;\n }\n\n deps = newDeps;\n let resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn(...newDeps);\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\n\n if (opts.key && opts.debug != null && opts.debug()) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n\n const pad = (str, num) => {\n str = String(str);\n\n while (str.length < num) {\n str = ' ' + str;\n }\n\n return str;\n };\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\n return result;\n };\n}\n\n//\nconst defaultKeyExtractor = index => index;\nconst defaultRangeExtractor = range => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n\n return arr;\n};\n\nconst memoRectCallback = (instance, cb) => {\n let prev = {\n height: -1,\n width: -1\n };\n return rect => {\n if (instance.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n cb(rect);\n }\n\n prev = rect;\n };\n};\n\nconst observeElementRect = (instance, cb) => {\n const observer = new ResizeObserver(entries => {\n var _entries$, _entries$2;\n\n cb({\n width: (_entries$ = entries[0]) == null ? void 0 : _entries$.contentRect.width,\n height: (_entries$2 = entries[0]) == null ? void 0 : _entries$2.contentRect.height\n });\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n cb(instance.scrollElement.getBoundingClientRect());\n observer.observe(instance.scrollElement);\n return () => {\n observer.unobserve(instance.scrollElement);\n };\n};\nconst observeWindowRect = (instance, cb) => {\n const memoizedCallback = memoRectCallback(instance, cb);\n\n const onResize = () => memoizedCallback({\n width: instance.scrollElement.innerWidth,\n height: instance.scrollElement.innerHeight\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n onResize();\n instance.scrollElement.addEventListener('resize', onResize, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('resize', onResize);\n };\n};\nconst scrollProps = {\n element: ['scrollLeft', 'scrollTop'],\n window: ['scrollX', 'scrollY']\n};\n\nconst createOffsetObserver = mode => {\n return (instance, cb) => {\n if (!instance.scrollElement) {\n return;\n }\n\n const propX = scrollProps[mode][0];\n const propY = scrollProps[mode][1];\n let prevX = instance.scrollElement[propX];\n let prevY = instance.scrollElement[propY];\n\n const scroll = () => {\n const offset = instance.scrollElement[instance.options.horizontal ? propX : propY];\n cb(Math.max(0, offset - instance.options.scrollMargin));\n };\n\n scroll();\n\n const onScroll = e => {\n const target = e.currentTarget;\n const scrollX = target[propX];\n const scrollY = target[propY];\n\n if (instance.options.horizontal ? prevX - scrollX : prevY - scrollY) {\n scroll();\n }\n\n prevX = scrollX;\n prevY = scrollY;\n };\n\n instance.scrollElement.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('scroll', onScroll);\n };\n };\n};\n\nconst observeElementOffset = createOffsetObserver('element');\nconst observeWindowOffset = createOffsetObserver('window');\nconst measureElement = (element, instance) => {\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nconst windowScroll = (offset, _ref, instance) => {\n var _instance$scrollEleme;\n\n let {\n canSmooth,\n sync\n } = _ref;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo == null ? void 0 : _instance$scrollEleme.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nconst elementScroll = (offset, _ref2, instance) => {\n var _instance$scrollEleme2;\n\n let {\n canSmooth,\n sync\n } = _ref2;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme2 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme2.scrollTo == null ? void 0 : _instance$scrollEleme2.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nclass Virtualizer {\n constructor(_opts) {\n var _this = this;\n\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.measurementsCache = [];\n this.itemMeasurementsCache = {};\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDelta = 0;\n this.measureElementCache = {};\n\n this.getResizeObserver = (() => {\n let _ro = null;\n return () => {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(entries => {\n entries.forEach(entry => {\n this._measureElement(entry.target, false);\n });\n });\n } else {\n return null;\n }\n };\n })();\n\n this.range = {\n startIndex: 0,\n endIndex: 0\n };\n\n this.setOptions = opts => {\n Object.entries(opts).forEach(_ref3 => {\n let [key, value] = _ref3;\n if (typeof value === 'undefined') delete opts[key];\n });\n this.options = {\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 enableSmoothScroll: true,\n onChange: () => {},\n measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n ...opts\n };\n };\n\n this.notify = () => {\n var _this$options$onChang, _this$options;\n\n (_this$options$onChang = (_this$options = this.options).onChange) == null ? void 0 : _this$options$onChang.call(_this$options, this);\n };\n\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach(d => d());\n this.unsubs = [];\n this.scrollElement = null;\n };\n\n this._didMount = () => {\n return () => {\n var _this$getResizeObserv;\n\n (_this$getResizeObserv = this.getResizeObserver()) == null ? void 0 : _this$getResizeObserv.disconnect();\n this.measureElementCache = {};\n this.cleanup();\n };\n };\n\n this._willUpdate = () => {\n const scrollElement = this.options.getScrollElement();\n\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n this.scrollElement = scrollElement;\n\n this._scrollToOffset(this.scrollOffset, {\n canSmooth: false,\n sync: true,\n requested: false\n });\n\n this.unsubs.push(this.options.observeElementRect(this, rect => {\n this.scrollRect = rect;\n this.calculateRange();\n }));\n this.unsubs.push(this.options.observeElementOffset(this, offset => {\n if (this.isScrollingTimeoutId !== null) {\n clearTimeout(this.isScrollingTimeoutId);\n this.isScrollingTimeoutId = null;\n }\n\n if (this.scrollOffset !== offset) {\n this.scrollOffset = offset;\n this.isScrolling = true;\n this.scrollDelta = 0;\n this.isScrollingTimeoutId = setTimeout(() => {\n this.isScrollingTimeoutId = null;\n this.isScrolling = false;\n this.notify();\n }, this.options.scrollingDelay);\n } else {\n this.isScrolling = false;\n this.scrollDelta = 0;\n }\n\n this.calculateRange();\n }));\n } else if (!this.isScrolling) {\n this.calculateRange();\n }\n };\n\n this.getSize = () => {\n return this.scrollRect[this.options.horizontal ? 'width' : 'height'];\n };\n\n this.getMeasurements = memo(() => [this.options.count, this.options.paddingStart, this.options.getItemKey, this.itemMeasurementsCache], (count, paddingStart, getItemKey, measurementsCache) => {\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const measuredSize = measurementsCache[key];\n const start = measurements[i - 1] ? measurements[i - 1].end : paddingStart;\n const size = typeof measuredSize === 'number' ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key\n };\n }\n\n this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: () => this.options.debug\n });\n this.calculateRange = memo(() => [this.getMeasurements(), this.getSize(), this.scrollOffset], (measurements, outerSize, scrollOffset) => {\n const range = calculateRange({\n measurements,\n outerSize,\n scrollOffset\n });\n\n if (range.startIndex !== this.range.startIndex || range.endIndex !== this.range.endIndex) {\n this.range = range;\n this.notify();\n }\n\n return this.range;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: () => this.options.debug\n });\n this.getIndexes = memo(() => [this.options.rangeExtractor, this.range, this.options.overscan, this.options.count], (rangeExtractor, range, overscan, count) => {\n return rangeExtractor({ ...range,\n overscan,\n count: count\n });\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.indexFromElement = node => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n\n return parseInt(indexStr, 10);\n };\n\n this._measureElement = (node, _sync) => {\n var _this$itemMeasurement;\n\n const index = this.indexFromElement(node);\n const item = this.measurementsCache[index];\n\n if (!item) {\n return;\n }\n\n const prevNode = this.measureElementCache[item.key];\n const ro = this.getResizeObserver();\n\n if (!node.isConnected) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n delete this.measureElementCache[item.key];\n }\n\n return;\n }\n\n if (!prevNode || prevNode !== node) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n }\n\n this.measureElementCache[item.key] = node;\n ro == null ? void 0 : ro.observe(node);\n }\n\n const measuredItemSize = this.options.measureElement(node, this);\n const itemSize = (_this$itemMeasurement = this.itemMeasurementsCache[item.key]) != null ? _this$itemMeasurement : item.size;\n\n if (measuredItemSize !== itemSize) {\n if (item.start < this.scrollOffset) {\n if (process.env.NODE_ENV !== 'production' && this.options.debug) {\n console.info('correction', measuredItemSize - itemSize);\n }\n\n if (this.destinationOffset === undefined) {\n this.scrollDelta += measuredItemSize - itemSize;\n\n this._scrollToOffset(this.scrollOffset + this.scrollDelta, {\n canSmooth: false,\n sync: false,\n requested: false\n });\n }\n }\n\n this.pendingMeasuredCacheIndexes.push(index);\n this.itemMeasurementsCache = { ...this.itemMeasurementsCache,\n [item.key]: measuredItemSize\n };\n this.notify();\n }\n };\n\n this.measureElement = node => {\n if (!node) {\n return;\n }\n\n this._measureElement(node, true);\n };\n\n this.getVirtualItems = memo(() => [this.getIndexes(), this.getMeasurements()], (indexes, measurements) => {\n const virtualItems = [];\n\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.scrollToOffset = function (toOffset, _temp) {\n let {\n align = 'start',\n smoothScroll = _this.options.enableSmoothScroll\n } = _temp === void 0 ? {} : _temp;\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n if (align === 'auto') {\n if (toOffset <= offset) {\n align = 'start';\n } else if (toOffset >= offset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n\n const options = {\n canSmooth: smoothScroll,\n sync: false,\n requested: true\n };\n\n if (align === 'start') {\n _this._scrollToOffset(toOffset, options);\n } else if (align === 'end') {\n _this._scrollToOffset(toOffset - size, options);\n } else if (align === 'center') {\n _this._scrollToOffset(toOffset - size / 2, options);\n }\n };\n\n this.scrollToIndex = function (index, _temp2) {\n let {\n align = 'auto',\n smoothScroll = _this.options.enableSmoothScroll,\n ...rest\n } = _temp2 === void 0 ? {} : _temp2;\n\n const measurements = _this.getMeasurements();\n\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n const {\n count\n } = _this.options;\n const measurement = measurements[Math.max(0, Math.min(index, count - 1))];\n\n if (!measurement) {\n return;\n }\n\n if (align === 'auto') {\n if (measurement.end >= offset + size - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= offset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return;\n }\n }\n\n const toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n\n _this.scrollToOffset(toOffset, {\n align,\n smoothScroll,\n ...rest\n });\n };\n\n this.getTotalSize = () => {\n var _this$getMeasurements;\n\n return (((_this$getMeasurements = this.getMeasurements()[this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || this.options.paddingStart) + this.options.paddingEnd;\n };\n\n this._scrollToOffset = (offset, _ref4) => {\n let {\n requested,\n canSmooth,\n sync\n } = _ref4;\n clearTimeout(this.scrollCheckFrame);\n\n if (requested) {\n this.destinationOffset = offset;\n }\n\n this.options.scrollToFn(offset, {\n canSmooth,\n sync\n }, this);\n let scrollCheckFrame;\n\n const check = () => {\n let lastOffset = this.scrollOffset;\n this.scrollCheckFrame = scrollCheckFrame = setTimeout(() => {\n if (this.scrollCheckFrame !== scrollCheckFrame) {\n return;\n }\n\n if (this.scrollOffset === lastOffset) {\n this.destinationOffset = undefined;\n return;\n }\n\n lastOffset = this.scrollOffset;\n check();\n }, 100);\n };\n\n check();\n };\n\n this.measure = () => {\n this.itemMeasurementsCache = {};\n this.notify();\n };\n\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.calculateRange();\n }\n\n}\n\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n\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\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nfunction calculateRange(_ref5) {\n let {\n measurements,\n outerSize,\n scrollOffset\n } = _ref5;\n const count = measurements.length - 1;\n\n const getOffset = index => measurements[index].start;\n\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n let endIndex = startIndex;\n\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n\n return {\n startIndex,\n endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, memo, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.js.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 { createSignal, onMount, onCleanup, createComputed, mergeProps } from 'solid-js';\nimport { createStore, reconcile } from 'solid-js/store';\n\nfunction createVirtualizerBase<TScrollElement, TItemElement extends Element>(\n options: VirtualizerOptions<TScrollElement, TItemElement>\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> = 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(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 virtualizer.measure()\n })\n\n return virtualizer;\n}\n\nexport function createVirtualizer<TScrollElement, TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >\n): Virtualizer<TScrollElement, TItemElement> {\n \n return createVirtualizerBase<TScrollElement, TItemElement>(mergeProps({\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll\n }, options));\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>(mergeProps({\n getScrollElement: () => (typeof window !== 'undefined' ? window : null!),\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n },options,\n ));\n}\n"],"names":["createVirtualizerBase","options","resolvedOptions","mergeProps","instance","Virtualizer","virtualItems","setVirtualItems","createStore","getVirtualItems","totalSize","setTotalSize","createSignal","getTotalSize","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/esm/index.js","../../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 memo(getDeps, fn, opts) {\n let deps = [];\n let result;\n return () => {\n let depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n\n if (!depsChanged) {\n return result;\n }\n\n deps = newDeps;\n let resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn(...newDeps);\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\n\n if (opts.key && opts.debug != null && opts.debug()) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n\n const pad = (str, num) => {\n str = String(str);\n\n while (str.length < num) {\n str = ' ' + str;\n }\n\n return str;\n };\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\n return result;\n };\n}\n\n//\nconst defaultKeyExtractor = index => index;\nconst defaultRangeExtractor = range => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n\n return arr;\n};\n\nconst memoRectCallback = (instance, cb) => {\n let prev = {\n height: -1,\n width: -1\n };\n return rect => {\n if (instance.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n cb(rect);\n }\n\n prev = rect;\n };\n};\n\nconst observeElementRect = (instance, cb) => {\n const observer = new ResizeObserver(entries => {\n var _entries$, _entries$2;\n\n cb({\n width: (_entries$ = entries[0]) == null ? void 0 : _entries$.contentRect.width,\n height: (_entries$2 = entries[0]) == null ? void 0 : _entries$2.contentRect.height\n });\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n cb(instance.scrollElement.getBoundingClientRect());\n observer.observe(instance.scrollElement);\n return () => {\n observer.unobserve(instance.scrollElement);\n };\n};\nconst observeWindowRect = (instance, cb) => {\n const memoizedCallback = memoRectCallback(instance, cb);\n\n const onResize = () => memoizedCallback({\n width: instance.scrollElement.innerWidth,\n height: instance.scrollElement.innerHeight\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n onResize();\n instance.scrollElement.addEventListener('resize', onResize, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('resize', onResize);\n };\n};\nconst scrollProps = {\n element: ['scrollLeft', 'scrollTop'],\n window: ['scrollX', 'scrollY']\n};\n\nconst createOffsetObserver = mode => {\n return (instance, cb) => {\n if (!instance.scrollElement) {\n return;\n }\n\n const propX = scrollProps[mode][0];\n const propY = scrollProps[mode][1];\n let prevX = instance.scrollElement[propX];\n let prevY = instance.scrollElement[propY];\n\n const scroll = () => {\n const offset = instance.scrollElement[instance.options.horizontal ? propX : propY];\n cb(Math.max(0, offset - instance.options.scrollMargin));\n };\n\n scroll();\n\n const onScroll = e => {\n const target = e.currentTarget;\n const scrollX = target[propX];\n const scrollY = target[propY];\n\n if (instance.options.horizontal ? prevX - scrollX : prevY - scrollY) {\n scroll();\n }\n\n prevX = scrollX;\n prevY = scrollY;\n };\n\n instance.scrollElement.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('scroll', onScroll);\n };\n };\n};\n\nconst observeElementOffset = createOffsetObserver('element');\nconst observeWindowOffset = createOffsetObserver('window');\nconst measureElement = (element, instance) => {\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nconst windowScroll = (offset, _ref, instance) => {\n var _instance$scrollEleme;\n\n let {\n canSmooth,\n sync\n } = _ref;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo == null ? void 0 : _instance$scrollEleme.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nconst elementScroll = (offset, _ref2, instance) => {\n var _instance$scrollEleme2;\n\n let {\n canSmooth,\n sync\n } = _ref2;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme2 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme2.scrollTo == null ? void 0 : _instance$scrollEleme2.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nclass Virtualizer {\n constructor(_opts) {\n var _this = this;\n\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.measurementsCache = [];\n this.itemMeasurementsCache = {};\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDelta = 0;\n this.measureElementCache = {};\n\n this.getResizeObserver = (() => {\n let _ro = null;\n return () => {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(entries => {\n entries.forEach(entry => {\n this._measureElement(entry.target, false);\n });\n });\n } else {\n return null;\n }\n };\n })();\n\n this.range = {\n startIndex: 0,\n endIndex: 0\n };\n\n this.setOptions = opts => {\n Object.entries(opts).forEach(_ref3 => {\n let [key, value] = _ref3;\n if (typeof value === 'undefined') delete opts[key];\n });\n this.options = {\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 enableSmoothScroll: true,\n onChange: () => {},\n measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n ...opts\n };\n };\n\n this.notify = () => {\n var _this$options$onChang, _this$options;\n\n (_this$options$onChang = (_this$options = this.options).onChange) == null ? void 0 : _this$options$onChang.call(_this$options, this);\n };\n\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach(d => d());\n this.unsubs = [];\n this.scrollElement = null;\n };\n\n this._didMount = () => {\n return () => {\n var _this$getResizeObserv;\n\n (_this$getResizeObserv = this.getResizeObserver()) == null ? void 0 : _this$getResizeObserv.disconnect();\n this.measureElementCache = {};\n this.cleanup();\n };\n };\n\n this._willUpdate = () => {\n const scrollElement = this.options.getScrollElement();\n\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n this.scrollElement = scrollElement;\n\n this._scrollToOffset(this.scrollOffset, {\n canSmooth: false,\n sync: true,\n requested: false\n });\n\n this.unsubs.push(this.options.observeElementRect(this, rect => {\n this.scrollRect = rect;\n this.calculateRange();\n }));\n this.unsubs.push(this.options.observeElementOffset(this, offset => {\n if (this.isScrollingTimeoutId !== null) {\n clearTimeout(this.isScrollingTimeoutId);\n this.isScrollingTimeoutId = null;\n }\n\n if (this.scrollOffset !== offset) {\n this.scrollOffset = offset;\n this.isScrolling = true;\n this.scrollDelta = 0;\n this.isScrollingTimeoutId = setTimeout(() => {\n this.isScrollingTimeoutId = null;\n this.isScrolling = false;\n this.notify();\n }, this.options.scrollingDelay);\n } else {\n this.isScrolling = false;\n this.scrollDelta = 0;\n }\n\n this.calculateRange();\n }));\n } else if (!this.isScrolling) {\n this.calculateRange();\n }\n };\n\n this.getSize = () => {\n return this.scrollRect[this.options.horizontal ? 'width' : 'height'];\n };\n\n this.getMeasurements = memo(() => [this.options.count, this.options.paddingStart, this.options.getItemKey, this.itemMeasurementsCache], (count, paddingStart, getItemKey, measurementsCache) => {\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const measuredSize = measurementsCache[key];\n const start = measurements[i - 1] ? measurements[i - 1].end : paddingStart;\n const size = typeof measuredSize === 'number' ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key\n };\n }\n\n this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: () => this.options.debug\n });\n this.calculateRange = memo(() => [this.getMeasurements(), this.getSize(), this.scrollOffset], (measurements, outerSize, scrollOffset) => {\n const range = calculateRange({\n measurements,\n outerSize,\n scrollOffset\n });\n\n if (range.startIndex !== this.range.startIndex || range.endIndex !== this.range.endIndex) {\n this.range = range;\n this.notify();\n }\n\n return this.range;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: () => this.options.debug\n });\n this.getIndexes = memo(() => [this.options.rangeExtractor, this.range, this.options.overscan, this.options.count], (rangeExtractor, range, overscan, count) => {\n return rangeExtractor({ ...range,\n overscan,\n count: count\n });\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.indexFromElement = node => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n\n return parseInt(indexStr, 10);\n };\n\n this._measureElement = (node, _sync) => {\n var _this$itemMeasurement;\n\n const index = this.indexFromElement(node);\n const item = this.measurementsCache[index];\n\n if (!item) {\n return;\n }\n\n const prevNode = this.measureElementCache[item.key];\n const ro = this.getResizeObserver();\n\n if (!node.isConnected) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n delete this.measureElementCache[item.key];\n }\n\n return;\n }\n\n if (!prevNode || prevNode !== node) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n }\n\n this.measureElementCache[item.key] = node;\n ro == null ? void 0 : ro.observe(node);\n }\n\n const measuredItemSize = this.options.measureElement(node, this);\n const itemSize = (_this$itemMeasurement = this.itemMeasurementsCache[item.key]) != null ? _this$itemMeasurement : item.size;\n const delta = measuredItemSize - itemSize;\n\n if (delta !== 0) {\n if (item.start < this.scrollOffset && this.isScrolling && this.destinationOffset === undefined) {\n if (process.env.NODE_ENV !== 'production' && this.options.debug) {\n console.info('correction', delta);\n }\n\n this.scrollDelta += delta;\n\n this._scrollToOffset(this.scrollOffset + this.scrollDelta, {\n canSmooth: false,\n sync: false,\n requested: false\n });\n }\n\n this.pendingMeasuredCacheIndexes.push(index);\n this.itemMeasurementsCache = { ...this.itemMeasurementsCache,\n [item.key]: measuredItemSize\n };\n this.notify();\n }\n };\n\n this.measureElement = node => {\n if (!node) {\n return;\n }\n\n this._measureElement(node, true);\n };\n\n this.getVirtualItems = memo(() => [this.getIndexes(), this.getMeasurements()], (indexes, measurements) => {\n const virtualItems = [];\n\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.scrollToOffset = function (toOffset, _temp) {\n let {\n align = 'start',\n smoothScroll = _this.options.enableSmoothScroll\n } = _temp === void 0 ? {} : _temp;\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n if (align === 'auto') {\n if (toOffset <= offset) {\n align = 'start';\n } else if (toOffset >= offset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n\n const options = {\n canSmooth: smoothScroll,\n sync: false,\n requested: true\n };\n\n if (align === 'start') {\n _this._scrollToOffset(toOffset, options);\n } else if (align === 'end') {\n _this._scrollToOffset(toOffset - size, options);\n } else if (align === 'center') {\n _this._scrollToOffset(toOffset - size / 2, options);\n }\n };\n\n this.scrollToIndex = function (index, _temp2) {\n let {\n align = 'auto',\n smoothScroll = _this.options.enableSmoothScroll,\n ...rest\n } = _temp2 === void 0 ? {} : _temp2;\n\n const measurements = _this.getMeasurements();\n\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n const {\n count\n } = _this.options;\n const measurement = measurements[Math.max(0, Math.min(index, count - 1))];\n\n if (!measurement) {\n return;\n }\n\n if (align === 'auto') {\n if (measurement.end >= offset + size - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= offset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return;\n }\n }\n\n const toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n\n _this.scrollToOffset(toOffset, {\n align,\n smoothScroll,\n ...rest\n });\n };\n\n this.getTotalSize = () => {\n var _this$getMeasurements;\n\n return (((_this$getMeasurements = this.getMeasurements()[this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || this.options.paddingStart) + this.options.paddingEnd;\n };\n\n this._scrollToOffset = (offset, _ref4) => {\n let {\n requested,\n canSmooth,\n sync\n } = _ref4;\n clearTimeout(this.scrollCheckFrame);\n\n if (requested) {\n this.destinationOffset = offset;\n }\n\n this.options.scrollToFn(offset, {\n canSmooth,\n sync\n }, this);\n let scrollCheckFrame;\n\n const check = () => {\n let lastOffset = this.scrollOffset;\n this.scrollCheckFrame = scrollCheckFrame = setTimeout(() => {\n if (this.scrollCheckFrame !== scrollCheckFrame) {\n return;\n }\n\n if (this.scrollOffset === lastOffset) {\n this.destinationOffset = undefined;\n return;\n }\n\n lastOffset = this.scrollOffset;\n check();\n }, 100);\n };\n\n check();\n };\n\n this.measure = () => {\n this.itemMeasurementsCache = {};\n this.notify();\n };\n\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.calculateRange();\n }\n\n}\n\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n\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\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nfunction calculateRange(_ref5) {\n let {\n measurements,\n outerSize,\n scrollOffset\n } = _ref5;\n const count = measurements.length - 1;\n\n const getOffset = index => measurements[index].start;\n\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n let endIndex = startIndex;\n\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n\n return {\n startIndex,\n endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, memo, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.js.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 { createSignal, onMount, onCleanup, createComputed, mergeProps } from 'solid-js';\nimport { createStore, reconcile } from 'solid-js/store';\n\nfunction createVirtualizerBase<TScrollElement, TItemElement extends Element>(\n options: VirtualizerOptions<TScrollElement, TItemElement>\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> = 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(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 virtualizer.measure()\n })\n\n return virtualizer;\n}\n\nexport function createVirtualizer<TScrollElement, TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >\n): Virtualizer<TScrollElement, TItemElement> {\n \n return createVirtualizerBase<TScrollElement, TItemElement>(mergeProps({\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll\n }, options));\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>(mergeProps({\n getScrollElement: () => (typeof window !== 'undefined' ? window : null!),\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n },options,\n ));\n}\n"],"names":["createVirtualizerBase","options","resolvedOptions","mergeProps","instance","Virtualizer","virtualItems","setVirtualItems","createStore","getVirtualItems","totalSize","setTotalSize","createSignal","getTotalSize","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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"}
|
|
@@ -18,5 +18,5 @@
|
|
|
18
18
|
* LICENSE.md file in the root directory of this source tree.
|
|
19
19
|
*
|
|
20
20
|
* @license MIT
|
|
21
|
-
*/function n(e,t,s){let n,o=[];return()=>{let i;s.key&&null!=s.debug&&s.debug()&&(i=Date.now());const l=e();if(!(l.length!==o.length||l.some(((e,t)=>o[t]!==e))))return n;let r;if(o=l,s.key&&null!=s.debug&&s.debug()&&(r=Date.now()),n=t(...l),null==s||null==s.onChange||s.onChange(n),s.key&&null!=s.debug&&s.debug()){const e=Math.round(100*(Date.now()-i))/100,t=Math.round(100*(Date.now()-r))/100,n=t/16,o=(e,t)=>{for(e=String(e);e.length<t;)e=" "+e;return e};console.info("%c⏱ "+o(t,5)+" /"+o(e,5)+" ms","\n font-size: .6rem;\n font-weight: bold;\n color: hsl("+Math.max(0,Math.min(120-120*n,120))+"deg 100% 31%);",null==s?void 0:s.key)}return n}}const o=e=>e,i=e=>{const t=Math.max(e.startIndex-e.overscan,0),s=Math.min(e.endIndex+e.overscan,e.count-1),n=[];for(let e=t;e<=s;e++)n.push(e);return n},l=(e,t)=>{const s=new ResizeObserver((e=>{var s,n;t({width:null==(s=e[0])?void 0:s.contentRect.width,height:null==(n=e[0])?void 0:n.contentRect.height})}));if(e.scrollElement)return t(e.scrollElement.getBoundingClientRect()),s.observe(e.scrollElement),()=>{s.unobserve(e.scrollElement)}},r=(e,t)=>{const s=((e,t)=>{let s={height:-1,width:-1};return n=>{(e.options.horizontal?n.width!==s.width:n.height!==s.height)&&t(n),s=n}})(e,t),n=()=>s({width:e.scrollElement.innerWidth,height:e.scrollElement.innerHeight});if(e.scrollElement)return n(),e.scrollElement.addEventListener("resize",n,{capture:!1,passive:!0}),()=>{e.scrollElement.removeEventListener("resize",n)}},c={element:["scrollLeft","scrollTop"],window:["scrollX","scrollY"]},a=e=>(t,s)=>{if(!t.scrollElement)return;const n=c[e][0],o=c[e][1];let i=t.scrollElement[n],l=t.scrollElement[o];const r=()=>{const e=t.scrollElement[t.options.horizontal?n:o];s(Math.max(0,e-t.options.scrollMargin))};r();const a=e=>{const s=e.currentTarget,c=s[n],a=s[o];(t.options.horizontal?i-c:l-a)&&r(),i=c,l=a};return t.scrollElement.addEventListener("scroll",a,{capture:!1,passive:!0}),()=>{t.scrollElement.removeEventListener("scroll",a)}},h=a("element"),u=a("window"),d=(e,t)=>Math.round(e.getBoundingClientRect()[t.options.horizontal?"width":"height"]),m=(e,t,s)=>{var n;let{canSmooth:o,sync:i}=t;const l=i?e:e+s.options.scrollMargin;null==(n=s.scrollElement)||null==n.scrollTo||n.scrollTo({[s.options.horizontal?"left":"top"]:l,behavior:o?"smooth":void 0})},g=(e,t,s)=>{var n;let{canSmooth:o,sync:i}=t;const l=i?e:e+s.options.scrollMargin;null==(n=s.scrollElement)||null==n.scrollTo||n.scrollTo({[s.options.horizontal?"left":"top"]:l,behavior:o?"smooth":void 0})};class f{constructor(e){var t=this;this.unsubs=[],this.scrollElement=null,this.isScrolling=!1,this.isScrollingTimeoutId=null,this.measurementsCache=[],this.itemMeasurementsCache={},this.pendingMeasuredCacheIndexes=[],this.scrollDelta=0,this.measureElementCache={},this.getResizeObserver=(()=>{let e=null;return()=>e||("undefined"!=typeof ResizeObserver?e=new ResizeObserver((e=>{e.forEach((e=>{this._measureElement(e.target,!1)}))})):null)})(),this.range={startIndex:0,endIndex:0},this.setOptions=e=>{Object.entries(e).forEach((t=>{let[s,n]=t;void 0===n&&delete e[s]})),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:o,rangeExtractor:i,enableSmoothScroll:!0,onChange:()=>{},measureElement:d,initialRect:{width:0,height:0},scrollMargin:0,scrollingDelay:150,indexAttribute:"data-index",...e}},this.notify=()=>{var e,t;null==(e=(t=this.options).onChange)||e.call(t,this)},this.cleanup=()=>{this.unsubs.filter(Boolean).forEach((e=>e())),this.unsubs=[],this.scrollElement=null},this._didMount=()=>()=>{var e;null==(e=this.getResizeObserver())||e.disconnect(),this.measureElementCache={},this.cleanup()},this._willUpdate=()=>{const e=this.options.getScrollElement();this.scrollElement!==e?(this.cleanup(),this.scrollElement=e,this._scrollToOffset(this.scrollOffset,{canSmooth:!1,sync:!0,requested:!1}),this.unsubs.push(this.options.observeElementRect(this,(e=>{this.scrollRect=e,this.calculateRange()}))),this.unsubs.push(this.options.observeElementOffset(this,(e=>{null!==this.isScrollingTimeoutId&&(clearTimeout(this.isScrollingTimeoutId),this.isScrollingTimeoutId=null),this.scrollOffset!==e?(this.scrollOffset=e,this.isScrolling=!0,this.scrollDelta=0,this.isScrollingTimeoutId=setTimeout((()=>{this.isScrollingTimeoutId=null,this.isScrolling=!1,this.notify()}),this.options.scrollingDelay)):(this.isScrolling=!1,this.scrollDelta=0),this.calculateRange()})))):this.isScrolling||this.calculateRange()},this.getSize=()=>this.scrollRect[this.options.horizontal?"width":"height"],this.getMeasurements=n((()=>[this.options.count,this.options.paddingStart,this.options.getItemKey,this.itemMeasurementsCache]),((e,t,s,n)=>{const o=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];const i=this.measurementsCache.slice(0,o);for(let l=o;l<e;l++){const e=s(l),o=n[e],r=i[l-1]?i[l-1].end:t,c="number"==typeof o?o:this.options.estimateSize(l),a=r+c;i[l]={index:l,start:r,size:c,end:a,key:e}}return this.measurementsCache=i,i}),{key:!1,debug:()=>this.options.debug}),this.calculateRange=n((()=>[this.getMeasurements(),this.getSize(),this.scrollOffset]),((e,t,s)=>{const n=function(e){let{measurements:t,outerSize:s,scrollOffset:n}=e;const o=t.length-1,i=((e,t,s,n)=>{for(;e<=t;){const o=(e+t)/2|0,i=s(o);if(i<n)e=o+1;else{if(!(i>n))return o;t=o-1}}return e>0?e-1:0})(0,o,(e=>t[e].start),n);let l=i;for(;l<o&&t[l].end<n+s;)l++;return{startIndex:i,endIndex:l}}({measurements:e,outerSize:t,scrollOffset:s});return n.startIndex===this.range.startIndex&&n.endIndex===this.range.endIndex||(this.range=n,this.notify()),this.range}),{key:!1,debug:()=>this.options.debug}),this.getIndexes=n((()=>[this.options.rangeExtractor,this.range,this.options.overscan,this.options.count]),((e,t,s,n)=>e({...t,overscan:s,count:n})),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{const t=this.options.indexAttribute,s=e.getAttribute(t);return s?parseInt(s,10):(console.warn("Missing attribute name '"+t+"={index}' on measured element."),-1)},this._measureElement=(e,t)=>{var s;const n=this.indexFromElement(e),o=this.measurementsCache[n];if(!o)return;const i=this.measureElementCache[o.key],l=this.getResizeObserver();if(!e.isConnected)return void(i&&(null==l||l.unobserve(i),delete this.measureElementCache[o.key]));i&&i===e||(i&&(null==l||l.unobserve(i)),this.measureElementCache[o.key]=e,null==l||l.observe(e));const r=this.options.measureElement(e,this),c=null!=(s=this.itemMeasurementsCache[o.key])?s:o.size;
|
|
21
|
+
*/function n(e,t,s){let n,o=[];return()=>{let i;s.key&&null!=s.debug&&s.debug()&&(i=Date.now());const l=e();if(!(l.length!==o.length||l.some(((e,t)=>o[t]!==e))))return n;let r;if(o=l,s.key&&null!=s.debug&&s.debug()&&(r=Date.now()),n=t(...l),null==s||null==s.onChange||s.onChange(n),s.key&&null!=s.debug&&s.debug()){const e=Math.round(100*(Date.now()-i))/100,t=Math.round(100*(Date.now()-r))/100,n=t/16,o=(e,t)=>{for(e=String(e);e.length<t;)e=" "+e;return e};console.info("%c⏱ "+o(t,5)+" /"+o(e,5)+" ms","\n font-size: .6rem;\n font-weight: bold;\n color: hsl("+Math.max(0,Math.min(120-120*n,120))+"deg 100% 31%);",null==s?void 0:s.key)}return n}}const o=e=>e,i=e=>{const t=Math.max(e.startIndex-e.overscan,0),s=Math.min(e.endIndex+e.overscan,e.count-1),n=[];for(let e=t;e<=s;e++)n.push(e);return n},l=(e,t)=>{const s=new ResizeObserver((e=>{var s,n;t({width:null==(s=e[0])?void 0:s.contentRect.width,height:null==(n=e[0])?void 0:n.contentRect.height})}));if(e.scrollElement)return t(e.scrollElement.getBoundingClientRect()),s.observe(e.scrollElement),()=>{s.unobserve(e.scrollElement)}},r=(e,t)=>{const s=((e,t)=>{let s={height:-1,width:-1};return n=>{(e.options.horizontal?n.width!==s.width:n.height!==s.height)&&t(n),s=n}})(e,t),n=()=>s({width:e.scrollElement.innerWidth,height:e.scrollElement.innerHeight});if(e.scrollElement)return n(),e.scrollElement.addEventListener("resize",n,{capture:!1,passive:!0}),()=>{e.scrollElement.removeEventListener("resize",n)}},c={element:["scrollLeft","scrollTop"],window:["scrollX","scrollY"]},a=e=>(t,s)=>{if(!t.scrollElement)return;const n=c[e][0],o=c[e][1];let i=t.scrollElement[n],l=t.scrollElement[o];const r=()=>{const e=t.scrollElement[t.options.horizontal?n:o];s(Math.max(0,e-t.options.scrollMargin))};r();const a=e=>{const s=e.currentTarget,c=s[n],a=s[o];(t.options.horizontal?i-c:l-a)&&r(),i=c,l=a};return t.scrollElement.addEventListener("scroll",a,{capture:!1,passive:!0}),()=>{t.scrollElement.removeEventListener("scroll",a)}},h=a("element"),u=a("window"),d=(e,t)=>Math.round(e.getBoundingClientRect()[t.options.horizontal?"width":"height"]),m=(e,t,s)=>{var n;let{canSmooth:o,sync:i}=t;const l=i?e:e+s.options.scrollMargin;null==(n=s.scrollElement)||null==n.scrollTo||n.scrollTo({[s.options.horizontal?"left":"top"]:l,behavior:o?"smooth":void 0})},g=(e,t,s)=>{var n;let{canSmooth:o,sync:i}=t;const l=i?e:e+s.options.scrollMargin;null==(n=s.scrollElement)||null==n.scrollTo||n.scrollTo({[s.options.horizontal?"left":"top"]:l,behavior:o?"smooth":void 0})};class f{constructor(e){var t=this;this.unsubs=[],this.scrollElement=null,this.isScrolling=!1,this.isScrollingTimeoutId=null,this.measurementsCache=[],this.itemMeasurementsCache={},this.pendingMeasuredCacheIndexes=[],this.scrollDelta=0,this.measureElementCache={},this.getResizeObserver=(()=>{let e=null;return()=>e||("undefined"!=typeof ResizeObserver?e=new ResizeObserver((e=>{e.forEach((e=>{this._measureElement(e.target,!1)}))})):null)})(),this.range={startIndex:0,endIndex:0},this.setOptions=e=>{Object.entries(e).forEach((t=>{let[s,n]=t;void 0===n&&delete e[s]})),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:o,rangeExtractor:i,enableSmoothScroll:!0,onChange:()=>{},measureElement:d,initialRect:{width:0,height:0},scrollMargin:0,scrollingDelay:150,indexAttribute:"data-index",...e}},this.notify=()=>{var e,t;null==(e=(t=this.options).onChange)||e.call(t,this)},this.cleanup=()=>{this.unsubs.filter(Boolean).forEach((e=>e())),this.unsubs=[],this.scrollElement=null},this._didMount=()=>()=>{var e;null==(e=this.getResizeObserver())||e.disconnect(),this.measureElementCache={},this.cleanup()},this._willUpdate=()=>{const e=this.options.getScrollElement();this.scrollElement!==e?(this.cleanup(),this.scrollElement=e,this._scrollToOffset(this.scrollOffset,{canSmooth:!1,sync:!0,requested:!1}),this.unsubs.push(this.options.observeElementRect(this,(e=>{this.scrollRect=e,this.calculateRange()}))),this.unsubs.push(this.options.observeElementOffset(this,(e=>{null!==this.isScrollingTimeoutId&&(clearTimeout(this.isScrollingTimeoutId),this.isScrollingTimeoutId=null),this.scrollOffset!==e?(this.scrollOffset=e,this.isScrolling=!0,this.scrollDelta=0,this.isScrollingTimeoutId=setTimeout((()=>{this.isScrollingTimeoutId=null,this.isScrolling=!1,this.notify()}),this.options.scrollingDelay)):(this.isScrolling=!1,this.scrollDelta=0),this.calculateRange()})))):this.isScrolling||this.calculateRange()},this.getSize=()=>this.scrollRect[this.options.horizontal?"width":"height"],this.getMeasurements=n((()=>[this.options.count,this.options.paddingStart,this.options.getItemKey,this.itemMeasurementsCache]),((e,t,s,n)=>{const o=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];const i=this.measurementsCache.slice(0,o);for(let l=o;l<e;l++){const e=s(l),o=n[e],r=i[l-1]?i[l-1].end:t,c="number"==typeof o?o:this.options.estimateSize(l),a=r+c;i[l]={index:l,start:r,size:c,end:a,key:e}}return this.measurementsCache=i,i}),{key:!1,debug:()=>this.options.debug}),this.calculateRange=n((()=>[this.getMeasurements(),this.getSize(),this.scrollOffset]),((e,t,s)=>{const n=function(e){let{measurements:t,outerSize:s,scrollOffset:n}=e;const o=t.length-1,i=((e,t,s,n)=>{for(;e<=t;){const o=(e+t)/2|0,i=s(o);if(i<n)e=o+1;else{if(!(i>n))return o;t=o-1}}return e>0?e-1:0})(0,o,(e=>t[e].start),n);let l=i;for(;l<o&&t[l].end<n+s;)l++;return{startIndex:i,endIndex:l}}({measurements:e,outerSize:t,scrollOffset:s});return n.startIndex===this.range.startIndex&&n.endIndex===this.range.endIndex||(this.range=n,this.notify()),this.range}),{key:!1,debug:()=>this.options.debug}),this.getIndexes=n((()=>[this.options.rangeExtractor,this.range,this.options.overscan,this.options.count]),((e,t,s,n)=>e({...t,overscan:s,count:n})),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{const t=this.options.indexAttribute,s=e.getAttribute(t);return s?parseInt(s,10):(console.warn("Missing attribute name '"+t+"={index}' on measured element."),-1)},this._measureElement=(e,t)=>{var s;const n=this.indexFromElement(e),o=this.measurementsCache[n];if(!o)return;const i=this.measureElementCache[o.key],l=this.getResizeObserver();if(!e.isConnected)return void(i&&(null==l||l.unobserve(i),delete this.measureElementCache[o.key]));i&&i===e||(i&&(null==l||l.unobserve(i)),this.measureElementCache[o.key]=e,null==l||l.observe(e));const r=this.options.measureElement(e,this),c=r-(null!=(s=this.itemMeasurementsCache[o.key])?s:o.size);0!==c&&(o.start<this.scrollOffset&&this.isScrolling&&void 0===this.destinationOffset&&(this.scrollDelta+=c,this._scrollToOffset(this.scrollOffset+this.scrollDelta,{canSmooth:!1,sync:!1,requested:!1})),this.pendingMeasuredCacheIndexes.push(n),this.itemMeasurementsCache={...this.itemMeasurementsCache,[o.key]:r},this.notify())},this.measureElement=e=>{e&&this._measureElement(e,!0)},this.getVirtualItems=n((()=>[this.getIndexes(),this.getMeasurements()]),((e,t)=>{const s=[];for(let n=0,o=e.length;n<o;n++){const o=t[e[n]];s.push(o)}return s}),{key:!1,debug:()=>this.options.debug}),this.scrollToOffset=function(e,s){let{align:n="start",smoothScroll:o=t.options.enableSmoothScroll}=void 0===s?{}:s;const i=t.scrollOffset,l=t.getSize();"auto"===n&&(n=e<=i?"start":e>=i+l?"end":"start");const r={canSmooth:o,sync:!1,requested:!0};"start"===n?t._scrollToOffset(e,r):"end"===n?t._scrollToOffset(e-l,r):"center"===n&&t._scrollToOffset(e-l/2,r)},this.scrollToIndex=function(e,s){let{align:n="auto",smoothScroll:o=t.options.enableSmoothScroll,...i}=void 0===s?{}:s;const l=t.getMeasurements(),r=t.scrollOffset,c=t.getSize(),{count:a}=t.options,h=l[Math.max(0,Math.min(e,a-1))];if(!h)return;if("auto"===n)if(h.end>=r+c-t.options.scrollPaddingEnd)n="end";else{if(!(h.start<=r+t.options.scrollPaddingStart))return;n="start"}const u="end"===n?h.end+t.options.scrollPaddingEnd:h.start-t.options.scrollPaddingStart;t.scrollToOffset(u,{align:n,smoothScroll:o,...i})},this.getTotalSize=()=>{var e;return((null==(e=this.getMeasurements()[this.options.count-1])?void 0:e.end)||this.options.paddingStart)+this.options.paddingEnd},this._scrollToOffset=(e,t)=>{let s,{requested:n,canSmooth:o,sync:i}=t;clearTimeout(this.scrollCheckFrame),n&&(this.destinationOffset=e),this.options.scrollToFn(e,{canSmooth:o,sync:i},this);const l=()=>{let e=this.scrollOffset;this.scrollCheckFrame=s=setTimeout((()=>{this.scrollCheckFrame===s&&(this.scrollOffset!==e?(e=this.scrollOffset,l()):this.destinationOffset=void 0)}),100)};l()},this.measure=()=>{this.itemMeasurementsCache={},this.notify()},this.setOptions(e),this.scrollRect=this.options.initialRect,this.scrollOffset=this.options.initialOffset,this.calculateRange()}}function p(e){const n=t.mergeProps(e),o=new f(n),[i,l]=s.createStore(o.getVirtualItems()),[r,c]=t.createSignal(o.getTotalSize()),a=new Proxy(o,{get(e,t){switch(t){case"getVirtualItems":return()=>i;case"getTotalSize":return()=>r();default:return Reflect.get(e,t)}}});return a.setOptions(n),t.onMount((()=>{const e=a._didMount();a._willUpdate(),t.onCleanup(e)})),t.createComputed((()=>{a.setOptions(t.mergeProps(n,e,{onChange:t=>{t._willUpdate(),l(s.reconcile(t.getVirtualItems(),{key:"index"})),c(t.getTotalSize()),null==e.onChange||e.onChange(t)}})),a.measure()})),a}e.Virtualizer=f,e.createVirtualizer=function(e){return p(t.mergeProps({observeElementRect:l,observeElementOffset:h,scrollToFn:g},e))},e.createWindowVirtualizer=function(e){return p(t.mergeProps({getScrollElement:()=>"undefined"!=typeof window?window:null,observeElementRect:r,observeElementOffset:u,scrollToFn:m},e))},e.defaultKeyExtractor=o,e.defaultRangeExtractor=i,e.elementScroll=g,e.measureElement=d,e.memo=n,e.observeElementOffset=h,e.observeElementRect=l,e.observeWindowOffset=u,e.observeWindowRect=r,e.windowScroll=m,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
22
22
|
//# sourceMappingURL=index.production.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.production.js","sources":["../../../virtual-core/build/esm/index.js","../../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 memo(getDeps, fn, opts) {\n let deps = [];\n let result;\n return () => {\n let depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n\n if (!depsChanged) {\n return result;\n }\n\n deps = newDeps;\n let resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn(...newDeps);\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\n\n if (opts.key && opts.debug != null && opts.debug()) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n\n const pad = (str, num) => {\n str = String(str);\n\n while (str.length < num) {\n str = ' ' + str;\n }\n\n return str;\n };\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\n return result;\n };\n}\n\n//\nconst defaultKeyExtractor = index => index;\nconst defaultRangeExtractor = range => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n\n return arr;\n};\n\nconst memoRectCallback = (instance, cb) => {\n let prev = {\n height: -1,\n width: -1\n };\n return rect => {\n if (instance.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n cb(rect);\n }\n\n prev = rect;\n };\n};\n\nconst observeElementRect = (instance, cb) => {\n const observer = new ResizeObserver(entries => {\n var _entries$, _entries$2;\n\n cb({\n width: (_entries$ = entries[0]) == null ? void 0 : _entries$.contentRect.width,\n height: (_entries$2 = entries[0]) == null ? void 0 : _entries$2.contentRect.height\n });\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n cb(instance.scrollElement.getBoundingClientRect());\n observer.observe(instance.scrollElement);\n return () => {\n observer.unobserve(instance.scrollElement);\n };\n};\nconst observeWindowRect = (instance, cb) => {\n const memoizedCallback = memoRectCallback(instance, cb);\n\n const onResize = () => memoizedCallback({\n width: instance.scrollElement.innerWidth,\n height: instance.scrollElement.innerHeight\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n onResize();\n instance.scrollElement.addEventListener('resize', onResize, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('resize', onResize);\n };\n};\nconst scrollProps = {\n element: ['scrollLeft', 'scrollTop'],\n window: ['scrollX', 'scrollY']\n};\n\nconst createOffsetObserver = mode => {\n return (instance, cb) => {\n if (!instance.scrollElement) {\n return;\n }\n\n const propX = scrollProps[mode][0];\n const propY = scrollProps[mode][1];\n let prevX = instance.scrollElement[propX];\n let prevY = instance.scrollElement[propY];\n\n const scroll = () => {\n const offset = instance.scrollElement[instance.options.horizontal ? propX : propY];\n cb(Math.max(0, offset - instance.options.scrollMargin));\n };\n\n scroll();\n\n const onScroll = e => {\n const target = e.currentTarget;\n const scrollX = target[propX];\n const scrollY = target[propY];\n\n if (instance.options.horizontal ? prevX - scrollX : prevY - scrollY) {\n scroll();\n }\n\n prevX = scrollX;\n prevY = scrollY;\n };\n\n instance.scrollElement.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('scroll', onScroll);\n };\n };\n};\n\nconst observeElementOffset = createOffsetObserver('element');\nconst observeWindowOffset = createOffsetObserver('window');\nconst measureElement = (element, instance) => {\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nconst windowScroll = (offset, _ref, instance) => {\n var _instance$scrollEleme;\n\n let {\n canSmooth,\n sync\n } = _ref;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo == null ? void 0 : _instance$scrollEleme.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nconst elementScroll = (offset, _ref2, instance) => {\n var _instance$scrollEleme2;\n\n let {\n canSmooth,\n sync\n } = _ref2;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme2 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme2.scrollTo == null ? void 0 : _instance$scrollEleme2.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nclass Virtualizer {\n constructor(_opts) {\n var _this = this;\n\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.measurementsCache = [];\n this.itemMeasurementsCache = {};\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDelta = 0;\n this.measureElementCache = {};\n\n this.getResizeObserver = (() => {\n let _ro = null;\n return () => {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(entries => {\n entries.forEach(entry => {\n this._measureElement(entry.target, false);\n });\n });\n } else {\n return null;\n }\n };\n })();\n\n this.range = {\n startIndex: 0,\n endIndex: 0\n };\n\n this.setOptions = opts => {\n Object.entries(opts).forEach(_ref3 => {\n let [key, value] = _ref3;\n if (typeof value === 'undefined') delete opts[key];\n });\n this.options = {\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 enableSmoothScroll: true,\n onChange: () => {},\n measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n ...opts\n };\n };\n\n this.notify = () => {\n var _this$options$onChang, _this$options;\n\n (_this$options$onChang = (_this$options = this.options).onChange) == null ? void 0 : _this$options$onChang.call(_this$options, this);\n };\n\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach(d => d());\n this.unsubs = [];\n this.scrollElement = null;\n };\n\n this._didMount = () => {\n return () => {\n var _this$getResizeObserv;\n\n (_this$getResizeObserv = this.getResizeObserver()) == null ? void 0 : _this$getResizeObserv.disconnect();\n this.measureElementCache = {};\n this.cleanup();\n };\n };\n\n this._willUpdate = () => {\n const scrollElement = this.options.getScrollElement();\n\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n this.scrollElement = scrollElement;\n\n this._scrollToOffset(this.scrollOffset, {\n canSmooth: false,\n sync: true,\n requested: false\n });\n\n this.unsubs.push(this.options.observeElementRect(this, rect => {\n this.scrollRect = rect;\n this.calculateRange();\n }));\n this.unsubs.push(this.options.observeElementOffset(this, offset => {\n if (this.isScrollingTimeoutId !== null) {\n clearTimeout(this.isScrollingTimeoutId);\n this.isScrollingTimeoutId = null;\n }\n\n if (this.scrollOffset !== offset) {\n this.scrollOffset = offset;\n this.isScrolling = true;\n this.scrollDelta = 0;\n this.isScrollingTimeoutId = setTimeout(() => {\n this.isScrollingTimeoutId = null;\n this.isScrolling = false;\n this.notify();\n }, this.options.scrollingDelay);\n } else {\n this.isScrolling = false;\n this.scrollDelta = 0;\n }\n\n this.calculateRange();\n }));\n } else if (!this.isScrolling) {\n this.calculateRange();\n }\n };\n\n this.getSize = () => {\n return this.scrollRect[this.options.horizontal ? 'width' : 'height'];\n };\n\n this.getMeasurements = memo(() => [this.options.count, this.options.paddingStart, this.options.getItemKey, this.itemMeasurementsCache], (count, paddingStart, getItemKey, measurementsCache) => {\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const measuredSize = measurementsCache[key];\n const start = measurements[i - 1] ? measurements[i - 1].end : paddingStart;\n const size = typeof measuredSize === 'number' ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key\n };\n }\n\n this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: () => this.options.debug\n });\n this.calculateRange = memo(() => [this.getMeasurements(), this.getSize(), this.scrollOffset], (measurements, outerSize, scrollOffset) => {\n const range = calculateRange({\n measurements,\n outerSize,\n scrollOffset\n });\n\n if (range.startIndex !== this.range.startIndex || range.endIndex !== this.range.endIndex) {\n this.range = range;\n this.notify();\n }\n\n return this.range;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: () => this.options.debug\n });\n this.getIndexes = memo(() => [this.options.rangeExtractor, this.range, this.options.overscan, this.options.count], (rangeExtractor, range, overscan, count) => {\n return rangeExtractor({ ...range,\n overscan,\n count: count\n });\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.indexFromElement = node => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n\n return parseInt(indexStr, 10);\n };\n\n this._measureElement = (node, _sync) => {\n var _this$itemMeasurement;\n\n const index = this.indexFromElement(node);\n const item = this.measurementsCache[index];\n\n if (!item) {\n return;\n }\n\n const prevNode = this.measureElementCache[item.key];\n const ro = this.getResizeObserver();\n\n if (!node.isConnected) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n delete this.measureElementCache[item.key];\n }\n\n return;\n }\n\n if (!prevNode || prevNode !== node) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n }\n\n this.measureElementCache[item.key] = node;\n ro == null ? void 0 : ro.observe(node);\n }\n\n const measuredItemSize = this.options.measureElement(node, this);\n const itemSize = (_this$itemMeasurement = this.itemMeasurementsCache[item.key]) != null ? _this$itemMeasurement : item.size;\n\n if (measuredItemSize !== itemSize) {\n if (item.start < this.scrollOffset) {\n if (process.env.NODE_ENV !== 'production' && this.options.debug) {\n console.info('correction', measuredItemSize - itemSize);\n }\n\n if (this.destinationOffset === undefined) {\n this.scrollDelta += measuredItemSize - itemSize;\n\n this._scrollToOffset(this.scrollOffset + this.scrollDelta, {\n canSmooth: false,\n sync: false,\n requested: false\n });\n }\n }\n\n this.pendingMeasuredCacheIndexes.push(index);\n this.itemMeasurementsCache = { ...this.itemMeasurementsCache,\n [item.key]: measuredItemSize\n };\n this.notify();\n }\n };\n\n this.measureElement = node => {\n if (!node) {\n return;\n }\n\n this._measureElement(node, true);\n };\n\n this.getVirtualItems = memo(() => [this.getIndexes(), this.getMeasurements()], (indexes, measurements) => {\n const virtualItems = [];\n\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.scrollToOffset = function (toOffset, _temp) {\n let {\n align = 'start',\n smoothScroll = _this.options.enableSmoothScroll\n } = _temp === void 0 ? {} : _temp;\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n if (align === 'auto') {\n if (toOffset <= offset) {\n align = 'start';\n } else if (toOffset >= offset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n\n const options = {\n canSmooth: smoothScroll,\n sync: false,\n requested: true\n };\n\n if (align === 'start') {\n _this._scrollToOffset(toOffset, options);\n } else if (align === 'end') {\n _this._scrollToOffset(toOffset - size, options);\n } else if (align === 'center') {\n _this._scrollToOffset(toOffset - size / 2, options);\n }\n };\n\n this.scrollToIndex = function (index, _temp2) {\n let {\n align = 'auto',\n smoothScroll = _this.options.enableSmoothScroll,\n ...rest\n } = _temp2 === void 0 ? {} : _temp2;\n\n const measurements = _this.getMeasurements();\n\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n const {\n count\n } = _this.options;\n const measurement = measurements[Math.max(0, Math.min(index, count - 1))];\n\n if (!measurement) {\n return;\n }\n\n if (align === 'auto') {\n if (measurement.end >= offset + size - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= offset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return;\n }\n }\n\n const toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n\n _this.scrollToOffset(toOffset, {\n align,\n smoothScroll,\n ...rest\n });\n };\n\n this.getTotalSize = () => {\n var _this$getMeasurements;\n\n return (((_this$getMeasurements = this.getMeasurements()[this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || this.options.paddingStart) + this.options.paddingEnd;\n };\n\n this._scrollToOffset = (offset, _ref4) => {\n let {\n requested,\n canSmooth,\n sync\n } = _ref4;\n clearTimeout(this.scrollCheckFrame);\n\n if (requested) {\n this.destinationOffset = offset;\n }\n\n this.options.scrollToFn(offset, {\n canSmooth,\n sync\n }, this);\n let scrollCheckFrame;\n\n const check = () => {\n let lastOffset = this.scrollOffset;\n this.scrollCheckFrame = scrollCheckFrame = setTimeout(() => {\n if (this.scrollCheckFrame !== scrollCheckFrame) {\n return;\n }\n\n if (this.scrollOffset === lastOffset) {\n this.destinationOffset = undefined;\n return;\n }\n\n lastOffset = this.scrollOffset;\n check();\n }, 100);\n };\n\n check();\n };\n\n this.measure = () => {\n this.itemMeasurementsCache = {};\n this.notify();\n };\n\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.calculateRange();\n }\n\n}\n\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n\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\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nfunction calculateRange(_ref5) {\n let {\n measurements,\n outerSize,\n scrollOffset\n } = _ref5;\n const count = measurements.length - 1;\n\n const getOffset = index => measurements[index].start;\n\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n let endIndex = startIndex;\n\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n\n return {\n startIndex,\n endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, memo, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.js.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 { createSignal, onMount, onCleanup, createComputed, mergeProps } from 'solid-js';\nimport { createStore, reconcile } from 'solid-js/store';\n\nfunction createVirtualizerBase<TScrollElement, TItemElement extends Element>(\n options: VirtualizerOptions<TScrollElement, TItemElement>\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> = 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(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 virtualizer.measure()\n })\n\n return virtualizer;\n}\n\nexport function createVirtualizer<TScrollElement, TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >\n): Virtualizer<TScrollElement, TItemElement> {\n \n return createVirtualizerBase<TScrollElement, TItemElement>(mergeProps({\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll\n }, options));\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>(mergeProps({\n getScrollElement: () => (typeof window !== 'undefined' ? window : null!),\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n },options,\n ));\n}\n"],"names":["memo","getDeps","fn","opts","result","deps","depTime","key","debug","Date","now","newDeps","length","some","dep","index","resultTime","onChange","depEndTime","Math","round","resultEndTime","resultFpsPercentage","pad","str","num","String","console","info","max","min","defaultKeyExtractor","defaultRangeExtractor","range","start","startIndex","overscan","end","endIndex","count","arr","i","push","observeElementRect","instance","cb","observer","ResizeObserver","entries","_entries$","_entries$2","width","contentRect","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","scrollMargin","onScroll","e","target","currentTarget","scrollX","scrollY","observeElementOffset","observeWindowOffset","measureElement","windowScroll","_ref","_instance$scrollEleme","canSmooth","sync","toOffset","scrollTo","behavior","undefined","elementScroll","_ref2","_instance$scrollEleme2","Virtualizer","constructor","_opts","_this","this","unsubs","isScrolling","isScrollingTimeoutId","measurementsCache","itemMeasurementsCache","pendingMeasuredCacheIndexes","scrollDelta","measureElementCache","getResizeObserver","_ro","forEach","entry","_measureElement","setOptions","Object","_ref3","value","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","getItemKey","rangeExtractor","enableSmoothScroll","initialRect","scrollingDelay","indexAttribute","notify","_this$options$onChang","_this$options","call","cleanup","filter","Boolean","d","_didMount","_this$getResizeObserv","disconnect","_willUpdate","getScrollElement","_scrollToOffset","scrollOffset","requested","scrollRect","calculateRange","clearTimeout","setTimeout","getSize","getMeasurements","measurements","slice","measuredSize","size","estimateSize","outerSize","_ref5","low","high","getCurrentValue","middle","currentValue","findNearestBinarySearch","getIndexes","indexFromElement","node","attributeName","indexStr","getAttribute","parseInt","warn","_sync","_this$itemMeasurement","item","prevNode","ro","isConnected","measuredItemSize","itemSize","destinationOffset","getVirtualItems","indexes","virtualItems","k","len","measurement","scrollToOffset","_temp","align","smoothScroll","scrollToIndex","_temp2","rest","getTotalSize","_this$getMeasurements","_ref4","scrollCheckFrame","scrollToFn","check","lastOffset","measure","createVirtualizerBase","resolvedOptions","mergeProps","setVirtualItems","createStore","totalSize","setTotalSize","createSignal","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/esm/index.js","../../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 memo(getDeps, fn, opts) {\n let deps = [];\n let result;\n return () => {\n let depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n\n if (!depsChanged) {\n return result;\n }\n\n deps = newDeps;\n let resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn(...newDeps);\n opts == null ? void 0 : opts.onChange == null ? void 0 : opts.onChange(result);\n\n if (opts.key && opts.debug != null && opts.debug()) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n\n const pad = (str, num) => {\n str = String(str);\n\n while (str.length < num) {\n str = ' ' + str;\n }\n\n return str;\n };\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\n return result;\n };\n}\n\n//\nconst defaultKeyExtractor = index => index;\nconst defaultRangeExtractor = range => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n\n return arr;\n};\n\nconst memoRectCallback = (instance, cb) => {\n let prev = {\n height: -1,\n width: -1\n };\n return rect => {\n if (instance.options.horizontal ? rect.width !== prev.width : rect.height !== prev.height) {\n cb(rect);\n }\n\n prev = rect;\n };\n};\n\nconst observeElementRect = (instance, cb) => {\n const observer = new ResizeObserver(entries => {\n var _entries$, _entries$2;\n\n cb({\n width: (_entries$ = entries[0]) == null ? void 0 : _entries$.contentRect.width,\n height: (_entries$2 = entries[0]) == null ? void 0 : _entries$2.contentRect.height\n });\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n cb(instance.scrollElement.getBoundingClientRect());\n observer.observe(instance.scrollElement);\n return () => {\n observer.unobserve(instance.scrollElement);\n };\n};\nconst observeWindowRect = (instance, cb) => {\n const memoizedCallback = memoRectCallback(instance, cb);\n\n const onResize = () => memoizedCallback({\n width: instance.scrollElement.innerWidth,\n height: instance.scrollElement.innerHeight\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n onResize();\n instance.scrollElement.addEventListener('resize', onResize, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('resize', onResize);\n };\n};\nconst scrollProps = {\n element: ['scrollLeft', 'scrollTop'],\n window: ['scrollX', 'scrollY']\n};\n\nconst createOffsetObserver = mode => {\n return (instance, cb) => {\n if (!instance.scrollElement) {\n return;\n }\n\n const propX = scrollProps[mode][0];\n const propY = scrollProps[mode][1];\n let prevX = instance.scrollElement[propX];\n let prevY = instance.scrollElement[propY];\n\n const scroll = () => {\n const offset = instance.scrollElement[instance.options.horizontal ? propX : propY];\n cb(Math.max(0, offset - instance.options.scrollMargin));\n };\n\n scroll();\n\n const onScroll = e => {\n const target = e.currentTarget;\n const scrollX = target[propX];\n const scrollY = target[propY];\n\n if (instance.options.horizontal ? prevX - scrollX : prevY - scrollY) {\n scroll();\n }\n\n prevX = scrollX;\n prevY = scrollY;\n };\n\n instance.scrollElement.addEventListener('scroll', onScroll, {\n capture: false,\n passive: true\n });\n return () => {\n instance.scrollElement.removeEventListener('scroll', onScroll);\n };\n };\n};\n\nconst observeElementOffset = createOffsetObserver('element');\nconst observeWindowOffset = createOffsetObserver('window');\nconst measureElement = (element, instance) => {\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nconst windowScroll = (offset, _ref, instance) => {\n var _instance$scrollEleme;\n\n let {\n canSmooth,\n sync\n } = _ref;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo == null ? void 0 : _instance$scrollEleme.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nconst elementScroll = (offset, _ref2, instance) => {\n var _instance$scrollEleme2;\n\n let {\n canSmooth,\n sync\n } = _ref2;\n const toOffset = sync ? offset : offset + instance.options.scrollMargin;\n (_instance$scrollEleme2 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme2.scrollTo == null ? void 0 : _instance$scrollEleme2.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: toOffset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nclass Virtualizer {\n constructor(_opts) {\n var _this = this;\n\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.measurementsCache = [];\n this.itemMeasurementsCache = {};\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDelta = 0;\n this.measureElementCache = {};\n\n this.getResizeObserver = (() => {\n let _ro = null;\n return () => {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(entries => {\n entries.forEach(entry => {\n this._measureElement(entry.target, false);\n });\n });\n } else {\n return null;\n }\n };\n })();\n\n this.range = {\n startIndex: 0,\n endIndex: 0\n };\n\n this.setOptions = opts => {\n Object.entries(opts).forEach(_ref3 => {\n let [key, value] = _ref3;\n if (typeof value === 'undefined') delete opts[key];\n });\n this.options = {\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 enableSmoothScroll: true,\n onChange: () => {},\n measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n ...opts\n };\n };\n\n this.notify = () => {\n var _this$options$onChang, _this$options;\n\n (_this$options$onChang = (_this$options = this.options).onChange) == null ? void 0 : _this$options$onChang.call(_this$options, this);\n };\n\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach(d => d());\n this.unsubs = [];\n this.scrollElement = null;\n };\n\n this._didMount = () => {\n return () => {\n var _this$getResizeObserv;\n\n (_this$getResizeObserv = this.getResizeObserver()) == null ? void 0 : _this$getResizeObserv.disconnect();\n this.measureElementCache = {};\n this.cleanup();\n };\n };\n\n this._willUpdate = () => {\n const scrollElement = this.options.getScrollElement();\n\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n this.scrollElement = scrollElement;\n\n this._scrollToOffset(this.scrollOffset, {\n canSmooth: false,\n sync: true,\n requested: false\n });\n\n this.unsubs.push(this.options.observeElementRect(this, rect => {\n this.scrollRect = rect;\n this.calculateRange();\n }));\n this.unsubs.push(this.options.observeElementOffset(this, offset => {\n if (this.isScrollingTimeoutId !== null) {\n clearTimeout(this.isScrollingTimeoutId);\n this.isScrollingTimeoutId = null;\n }\n\n if (this.scrollOffset !== offset) {\n this.scrollOffset = offset;\n this.isScrolling = true;\n this.scrollDelta = 0;\n this.isScrollingTimeoutId = setTimeout(() => {\n this.isScrollingTimeoutId = null;\n this.isScrolling = false;\n this.notify();\n }, this.options.scrollingDelay);\n } else {\n this.isScrolling = false;\n this.scrollDelta = 0;\n }\n\n this.calculateRange();\n }));\n } else if (!this.isScrolling) {\n this.calculateRange();\n }\n };\n\n this.getSize = () => {\n return this.scrollRect[this.options.horizontal ? 'width' : 'height'];\n };\n\n this.getMeasurements = memo(() => [this.options.count, this.options.paddingStart, this.options.getItemKey, this.itemMeasurementsCache], (count, paddingStart, getItemKey, measurementsCache) => {\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const measuredSize = measurementsCache[key];\n const start = measurements[i - 1] ? measurements[i - 1].end : paddingStart;\n const size = typeof measuredSize === 'number' ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key\n };\n }\n\n this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: () => this.options.debug\n });\n this.calculateRange = memo(() => [this.getMeasurements(), this.getSize(), this.scrollOffset], (measurements, outerSize, scrollOffset) => {\n const range = calculateRange({\n measurements,\n outerSize,\n scrollOffset\n });\n\n if (range.startIndex !== this.range.startIndex || range.endIndex !== this.range.endIndex) {\n this.range = range;\n this.notify();\n }\n\n return this.range;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: () => this.options.debug\n });\n this.getIndexes = memo(() => [this.options.rangeExtractor, this.range, this.options.overscan, this.options.count], (rangeExtractor, range, overscan, count) => {\n return rangeExtractor({ ...range,\n overscan,\n count: count\n });\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.indexFromElement = node => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n\n return parseInt(indexStr, 10);\n };\n\n this._measureElement = (node, _sync) => {\n var _this$itemMeasurement;\n\n const index = this.indexFromElement(node);\n const item = this.measurementsCache[index];\n\n if (!item) {\n return;\n }\n\n const prevNode = this.measureElementCache[item.key];\n const ro = this.getResizeObserver();\n\n if (!node.isConnected) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n delete this.measureElementCache[item.key];\n }\n\n return;\n }\n\n if (!prevNode || prevNode !== node) {\n if (prevNode) {\n ro == null ? void 0 : ro.unobserve(prevNode);\n }\n\n this.measureElementCache[item.key] = node;\n ro == null ? void 0 : ro.observe(node);\n }\n\n const measuredItemSize = this.options.measureElement(node, this);\n const itemSize = (_this$itemMeasurement = this.itemMeasurementsCache[item.key]) != null ? _this$itemMeasurement : item.size;\n const delta = measuredItemSize - itemSize;\n\n if (delta !== 0) {\n if (item.start < this.scrollOffset && this.isScrolling && this.destinationOffset === undefined) {\n if (process.env.NODE_ENV !== 'production' && this.options.debug) {\n console.info('correction', delta);\n }\n\n this.scrollDelta += delta;\n\n this._scrollToOffset(this.scrollOffset + this.scrollDelta, {\n canSmooth: false,\n sync: false,\n requested: false\n });\n }\n\n this.pendingMeasuredCacheIndexes.push(index);\n this.itemMeasurementsCache = { ...this.itemMeasurementsCache,\n [item.key]: measuredItemSize\n };\n this.notify();\n }\n };\n\n this.measureElement = node => {\n if (!node) {\n return;\n }\n\n this._measureElement(node, true);\n };\n\n this.getVirtualItems = memo(() => [this.getIndexes(), this.getMeasurements()], (indexes, measurements) => {\n const virtualItems = [];\n\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: () => this.options.debug\n });\n\n this.scrollToOffset = function (toOffset, _temp) {\n let {\n align = 'start',\n smoothScroll = _this.options.enableSmoothScroll\n } = _temp === void 0 ? {} : _temp;\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n if (align === 'auto') {\n if (toOffset <= offset) {\n align = 'start';\n } else if (toOffset >= offset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n\n const options = {\n canSmooth: smoothScroll,\n sync: false,\n requested: true\n };\n\n if (align === 'start') {\n _this._scrollToOffset(toOffset, options);\n } else if (align === 'end') {\n _this._scrollToOffset(toOffset - size, options);\n } else if (align === 'center') {\n _this._scrollToOffset(toOffset - size / 2, options);\n }\n };\n\n this.scrollToIndex = function (index, _temp2) {\n let {\n align = 'auto',\n smoothScroll = _this.options.enableSmoothScroll,\n ...rest\n } = _temp2 === void 0 ? {} : _temp2;\n\n const measurements = _this.getMeasurements();\n\n const offset = _this.scrollOffset;\n\n const size = _this.getSize();\n\n const {\n count\n } = _this.options;\n const measurement = measurements[Math.max(0, Math.min(index, count - 1))];\n\n if (!measurement) {\n return;\n }\n\n if (align === 'auto') {\n if (measurement.end >= offset + size - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= offset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return;\n }\n }\n\n const toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n\n _this.scrollToOffset(toOffset, {\n align,\n smoothScroll,\n ...rest\n });\n };\n\n this.getTotalSize = () => {\n var _this$getMeasurements;\n\n return (((_this$getMeasurements = this.getMeasurements()[this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || this.options.paddingStart) + this.options.paddingEnd;\n };\n\n this._scrollToOffset = (offset, _ref4) => {\n let {\n requested,\n canSmooth,\n sync\n } = _ref4;\n clearTimeout(this.scrollCheckFrame);\n\n if (requested) {\n this.destinationOffset = offset;\n }\n\n this.options.scrollToFn(offset, {\n canSmooth,\n sync\n }, this);\n let scrollCheckFrame;\n\n const check = () => {\n let lastOffset = this.scrollOffset;\n this.scrollCheckFrame = scrollCheckFrame = setTimeout(() => {\n if (this.scrollCheckFrame !== scrollCheckFrame) {\n return;\n }\n\n if (this.scrollOffset === lastOffset) {\n this.destinationOffset = undefined;\n return;\n }\n\n lastOffset = this.scrollOffset;\n check();\n }, 100);\n };\n\n check();\n };\n\n this.measure = () => {\n this.itemMeasurementsCache = {};\n this.notify();\n };\n\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.calculateRange();\n }\n\n}\n\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n\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\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\n\nfunction calculateRange(_ref5) {\n let {\n measurements,\n outerSize,\n scrollOffset\n } = _ref5;\n const count = measurements.length - 1;\n\n const getOffset = index => measurements[index].start;\n\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n let endIndex = startIndex;\n\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n\n return {\n startIndex,\n endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, memo, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.js.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 { createSignal, onMount, onCleanup, createComputed, mergeProps } from 'solid-js';\nimport { createStore, reconcile } from 'solid-js/store';\n\nfunction createVirtualizerBase<TScrollElement, TItemElement extends Element>(\n options: VirtualizerOptions<TScrollElement, TItemElement>\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> = 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(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 virtualizer.measure()\n })\n\n return virtualizer;\n}\n\nexport function createVirtualizer<TScrollElement, TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >\n): Virtualizer<TScrollElement, TItemElement> {\n \n return createVirtualizerBase<TScrollElement, TItemElement>(mergeProps({\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll\n }, options));\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>(mergeProps({\n getScrollElement: () => (typeof window !== 'undefined' ? window : null!),\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n },options,\n ));\n}\n"],"names":["memo","getDeps","fn","opts","result","deps","depTime","key","debug","Date","now","newDeps","length","some","dep","index","resultTime","onChange","depEndTime","Math","round","resultEndTime","resultFpsPercentage","pad","str","num","String","console","info","max","min","defaultKeyExtractor","defaultRangeExtractor","range","start","startIndex","overscan","end","endIndex","count","arr","i","push","observeElementRect","instance","cb","observer","ResizeObserver","entries","_entries$","_entries$2","width","contentRect","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","scrollMargin","onScroll","e","target","currentTarget","scrollX","scrollY","observeElementOffset","observeWindowOffset","measureElement","windowScroll","_ref","_instance$scrollEleme","canSmooth","sync","toOffset","scrollTo","behavior","undefined","elementScroll","_ref2","_instance$scrollEleme2","Virtualizer","constructor","_opts","_this","this","unsubs","isScrolling","isScrollingTimeoutId","measurementsCache","itemMeasurementsCache","pendingMeasuredCacheIndexes","scrollDelta","measureElementCache","getResizeObserver","_ro","forEach","entry","_measureElement","setOptions","Object","_ref3","value","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","getItemKey","rangeExtractor","enableSmoothScroll","initialRect","scrollingDelay","indexAttribute","notify","_this$options$onChang","_this$options","call","cleanup","filter","Boolean","d","_didMount","_this$getResizeObserv","disconnect","_willUpdate","getScrollElement","_scrollToOffset","scrollOffset","requested","scrollRect","calculateRange","clearTimeout","setTimeout","getSize","getMeasurements","measurements","slice","measuredSize","size","estimateSize","outerSize","_ref5","low","high","getCurrentValue","middle","currentValue","findNearestBinarySearch","getIndexes","indexFromElement","node","attributeName","indexStr","getAttribute","parseInt","warn","_sync","_this$itemMeasurement","item","prevNode","ro","isConnected","measuredItemSize","delta","destinationOffset","getVirtualItems","indexes","virtualItems","k","len","measurement","scrollToOffset","_temp","align","smoothScroll","scrollToIndex","_temp2","rest","getTotalSize","_this$getMeasurements","_ref4","scrollCheckFrame","scrollToFn","check","lastOffset","measure","createVirtualizerBase","resolvedOptions","mergeProps","setVirtualItems","createStore","totalSize","setTotalSize","createSignal","virtualizer","Proxy","get","prop","Reflect","onMount","onCleanup","createComputed","reconcile"],"mappings":";;;;;;;;;;;;;;;;;;;;KAUA,SAASA,EAAKC,EAASC,EAAIC,GACzB,IACIC,EADAC,EAAO,GAEX,MAAO,KACL,IAAIC,EACAH,EAAKI,KAAqB,MAAdJ,EAAKK,OAAiBL,EAAKK,UAASF,EAAUG,KAAKC,OACnE,MAAMC,EAAUV,IAGhB,KAFoBU,EAAQC,SAAWP,EAAKO,QAAUD,EAAQE,MAAK,CAACC,EAAKC,IAAUV,EAAKU,KAAWD,KAGjG,OAAOV,EAIT,IAAIY,EAKJ,GANAX,EAAOM,EAEHR,EAAKI,KAAqB,MAAdJ,EAAKK,OAAiBL,EAAKK,UAASQ,EAAaP,KAAKC,OACtEN,EAASF,KAAMS,GACP,MAARR,GAAyC,MAAjBA,EAAKc,UAA4Bd,EAAKc,SAASb,GAEnED,EAAKI,KAAqB,MAAdJ,EAAKK,OAAiBL,EAAKK,QAAS,CAClD,MAAMU,EAAaC,KAAKC,MAA+B,KAAxBX,KAAKC,MAAQJ,IAAkB,IACxDe,EAAgBF,KAAKC,MAAkC,KAA3BX,KAAKC,MAAQM,IAAqB,IAC9DM,EAAsBD,EAAgB,GAEtCE,EAAM,CAACC,EAAKC,KAGhB,IAFAD,EAAME,OAAOF,GAENA,EAAIZ,OAASa,GAClBD,EAAM,IAAMA,EAGd,OAAOA,CAAG,EAGZG,QAAQC,KAAK,OAAcL,EAAIF,EAAe,GAAK,KAAOE,EAAIL,EAAY,GAAK,MAAO,2FAA6FC,KAAKU,IAAI,EAAGV,KAAKW,IAAI,IAAM,IAAMR,EAAqB,MAAQ,iBAA0B,MAARnB,OAAe,EAASA,EAAKI,IACjS,CAED,OAAOH,CAAM,CAEjB,CAGK,MAAC2B,EAAsBhB,GAASA,EAC/BiB,EAAwBC,IAC5B,MAAMC,EAAQf,KAAKU,IAAII,EAAME,WAAaF,EAAMG,SAAU,GACpDC,EAAMlB,KAAKW,IAAIG,EAAMK,SAAWL,EAAMG,SAAUH,EAAMM,MAAQ,GAC9DC,EAAM,GAEZ,IAAK,IAAIC,EAAIP,EAAOO,GAAKJ,EAAKI,IAC5BD,EAAIE,KAAKD,GAGX,OAAOD,CAAG,EAiBNG,EAAqB,CAACC,EAAUC,KACpC,MAAMC,EAAW,IAAIC,gBAAeC,IAClC,IAAIC,EAAWC,EAEfL,EAAG,CACDM,MAAmC,OAA3BF,EAAYD,EAAQ,SAAc,EAASC,EAAUG,YAAYD,MACzEE,OAAqC,OAA5BH,EAAaF,EAAQ,SAAc,EAASE,EAAWE,YAAYC,QAC5E,IAGJ,GAAKT,EAASU,cAMd,OAFAT,EAAGD,EAASU,cAAcC,yBAC1BT,EAASU,QAAQZ,EAASU,eACnB,KACLR,EAASW,UAAUb,EAASU,cAAc,CAC3C,EAEGI,EAAoB,CAACd,EAAUC,KACnC,MAAMc,EAnCiB,EAACf,EAAUC,KAClC,IAAIe,EAAO,CACTP,QAAS,EACTF,OAAQ,GAEV,OAAOU,KACDjB,EAASkB,QAAQC,WAAaF,EAAKV,QAAUS,EAAKT,MAAQU,EAAKR,SAAWO,EAAKP,SACjFR,EAAGgB,GAGLD,EAAOC,CAAI,CACZ,EAwBwBG,CAAiBpB,EAAUC,GAE9CoB,EAAW,IAAMN,EAAiB,CACtCR,MAAOP,EAASU,cAAcY,WAC9Bb,OAAQT,EAASU,cAAca,cAGjC,GAAKvB,EAASU,cASd,OALAW,IACArB,EAASU,cAAcc,iBAAiB,SAAUH,EAAU,CAC1DI,SAAS,EACTC,SAAS,IAEJ,KACL1B,EAASU,cAAciB,oBAAoB,SAAUN,EAAS,CAC/D,EAEGO,EAAc,CAClBC,QAAS,CAAC,aAAc,aACxBC,OAAQ,CAAC,UAAW,YAGhBC,EAAuBC,GACpB,CAAChC,EAAUC,KAChB,IAAKD,EAASU,cACZ,OAGF,MAAMuB,EAAQL,EAAYI,GAAM,GAC1BE,EAAQN,EAAYI,GAAM,GAChC,IAAIG,EAAQnC,EAASU,cAAcuB,GAC/BG,EAAQpC,EAASU,cAAcwB,GAEnC,MAAMG,EAAS,KACb,MAAMC,EAAStC,EAASU,cAAcV,EAASkB,QAAQC,WAAac,EAAQC,GAC5EjC,EAAG1B,KAAKU,IAAI,EAAGqD,EAAStC,EAASkB,QAAQqB,cAAc,EAGzDF,IAEA,MAAMG,EAAWC,IACf,MAAMC,EAASD,EAAEE,cACXC,EAAUF,EAAOT,GACjBY,EAAUH,EAAOR,IAEnBlC,EAASkB,QAAQC,WAAagB,EAAQS,EAAUR,EAAQS,IAC1DR,IAGFF,EAAQS,EACRR,EAAQS,CAAO,EAOjB,OAJA7C,EAASU,cAAcc,iBAAiB,SAAUgB,EAAU,CAC1Df,SAAS,EACTC,SAAS,IAEJ,KACL1B,EAASU,cAAciB,oBAAoB,SAAUa,EAAS,CAC/D,EAICM,EAAuBf,EAAqB,WAC5CgB,EAAsBhB,EAAqB,UAC3CiB,EAAiB,CAACnB,EAAS7B,IACxBzB,KAAKC,MAAMqD,EAAQlB,wBAAwBX,EAASkB,QAAQC,WAAa,QAAU,WAEtF8B,EAAe,CAACX,EAAQY,EAAMlD,KAClC,IAAImD,EAEJ,IAAIC,UACFA,EAASC,KACTA,GACEH,EACJ,MAAMI,EAAWD,EAAOf,EAASA,EAAStC,EAASkB,QAAQqB,aACP,OAAnDY,EAAwBnD,EAASU,gBAAoE,MAAlCyC,EAAsBI,UAA4BJ,EAAsBI,SAAS,CACnJ,CAACvD,EAASkB,QAAQC,WAAa,OAAS,OAAQmC,EAChDE,SAAUJ,EAAY,cAAWK,GACjC,EAEEC,EAAgB,CAACpB,EAAQqB,EAAO3D,KACpC,IAAI4D,EAEJ,IAAIR,UACFA,EAASC,KACTA,GACEM,EACJ,MAAML,EAAWD,EAAOf,EAASA,EAAStC,EAASkB,QAAQqB,aACN,OAApDqB,EAAyB5D,EAASU,gBAAqE,MAAnCkD,EAAuBL,UAA4BK,EAAuBL,SAAS,CACtJ,CAACvD,EAASkB,QAAQC,WAAa,OAAS,OAAQmC,EAChDE,SAAUJ,EAAY,cAAWK,GACjC,EAEJ,MAAMI,EACJC,YAAYC,GACV,IAAIC,EAAQC,KAEZA,KAAKC,OAAS,GACdD,KAAKvD,cAAgB,KACrBuD,KAAKE,aAAc,EACnBF,KAAKG,qBAAuB,KAC5BH,KAAKI,kBAAoB,GACzBJ,KAAKK,sBAAwB,GAC7BL,KAAKM,4BAA8B,GACnCN,KAAKO,YAAc,EACnBP,KAAKQ,oBAAsB,GAE3BR,KAAKS,kBAAoB,MACvB,IAAIC,EAAM,KACV,MAAO,IACDA,IAEiC,oBAAnBxE,eACTwE,EAAM,IAAIxE,gBAAeC,IAC9BA,EAAQwE,SAAQC,IACdZ,KAAKa,gBAAgBD,EAAMnC,QAAQ,EAAM,GACzC,IAGG,KAGZ,EAfwB,GAiBzBuB,KAAK5E,MAAQ,CACXE,WAAY,EACZG,SAAU,GAGZuE,KAAKc,WAAaxH,IAChByH,OAAO5E,QAAQ7C,GAAMqH,SAAQK,IAC3B,IAAKtH,EAAKuH,GAASD,OACE,IAAVC,UAA8B3H,EAAKI,EAAI,IAEpDsG,KAAK/C,QAAU,CACbtD,OAAO,EACPuH,cAAe,EACf3F,SAAU,EACV4F,aAAc,EACdC,WAAY,EACZC,mBAAoB,EACpBC,iBAAkB,EAClBpE,YAAY,EACZqE,WAAYrG,EACZsG,eAAgBrG,EAChBsG,oBAAoB,EACpBrH,SAAU,OACV2E,iBACA2C,YAAa,CACXpF,MAAO,EACPE,OAAQ,GAEV8B,aAAc,EACdqD,eAAgB,IAChBC,eAAgB,gBACbtI,EACJ,EAGH0G,KAAK6B,OAAS,KACZ,IAAIC,EAAuBC,EAE0C,OAApED,GAAyBC,EAAgB/B,KAAK/C,SAAS7C,WAA6B0H,EAAsBE,KAAKD,EAAe/B,KAAK,EAGtIA,KAAKiC,QAAU,KACbjC,KAAKC,OAAOiC,OAAOC,SAASxB,SAAQyB,GAAKA,MACzCpC,KAAKC,OAAS,GACdD,KAAKvD,cAAgB,IAAI,EAG3BuD,KAAKqC,UAAY,IACR,KACL,IAAIC,EAEkD,OAArDA,EAAwBtC,KAAKS,sBAAwC6B,EAAsBC,aAC5FvC,KAAKQ,oBAAsB,GAC3BR,KAAKiC,SAAS,EAIlBjC,KAAKwC,YAAc,KACjB,MAAM/F,EAAgBuD,KAAK/C,QAAQwF,mBAE/BzC,KAAKvD,gBAAkBA,GACzBuD,KAAKiC,UACLjC,KAAKvD,cAAgBA,EAErBuD,KAAK0C,gBAAgB1C,KAAK2C,aAAc,CACtCxD,WAAW,EACXC,MAAM,EACNwD,WAAW,IAGb5C,KAAKC,OAAOpE,KAAKmE,KAAK/C,QAAQnB,mBAAmBkE,MAAMhD,IACrDgD,KAAK6C,WAAa7F,EAClBgD,KAAK8C,gBAAgB,KAEvB9C,KAAKC,OAAOpE,KAAKmE,KAAK/C,QAAQ4B,qBAAqBmB,MAAM3B,IACrB,OAA9B2B,KAAKG,uBACP4C,aAAa/C,KAAKG,sBAClBH,KAAKG,qBAAuB,MAG1BH,KAAK2C,eAAiBtE,GACxB2B,KAAK2C,aAAetE,EACpB2B,KAAKE,aAAc,EACnBF,KAAKO,YAAc,EACnBP,KAAKG,qBAAuB6C,YAAW,KACrChD,KAAKG,qBAAuB,KAC5BH,KAAKE,aAAc,EACnBF,KAAK6B,QAAQ,GACZ7B,KAAK/C,QAAQ0E,kBAEhB3B,KAAKE,aAAc,EACnBF,KAAKO,YAAc,GAGrBP,KAAK8C,gBAAgB,MAEb9C,KAAKE,aACfF,KAAK8C,gBACN,EAGH9C,KAAKiD,QAAU,IACNjD,KAAK6C,WAAW7C,KAAK/C,QAAQC,WAAa,QAAU,UAG7D8C,KAAKkD,gBAAkB/J,GAAK,IAAM,CAAC6G,KAAK/C,QAAQvB,MAAOsE,KAAK/C,QAAQkE,aAAcnB,KAAK/C,QAAQsE,WAAYvB,KAAKK,yBAAwB,CAAC3E,EAAOyF,EAAcI,EAAYnB,KACxK,MAAMnF,EAAM+E,KAAKM,4BAA4BvG,OAAS,EAAIO,KAAKW,OAAO+E,KAAKM,6BAA+B,EAC1GN,KAAKM,4BAA8B,GACnC,MAAM6C,EAAenD,KAAKI,kBAAkBgD,MAAM,EAAGnI,GAErD,IAAK,IAAIW,EAAIX,EAAKW,EAAIF,EAAOE,IAAK,CAChC,MAAMlC,EAAM6H,EAAW3F,GACjByH,EAAejD,EAAkB1G,GACjC2B,EAAQ8H,EAAavH,EAAI,GAAKuH,EAAavH,EAAI,GAAGJ,IAAM2F,EACxDmC,EAA+B,iBAAjBD,EAA4BA,EAAerD,KAAK/C,QAAQsG,aAAa3H,GACnFJ,EAAMH,EAAQiI,EACpBH,EAAavH,GAAK,CAChB1B,MAAO0B,EACPP,QACAiI,OACA9H,MACA9B,MAEH,CAGD,OADAsG,KAAKI,kBAAoB+C,EAClBA,CAAY,GAClB,CACDzJ,KAAK,EACLC,MAAO,IAAMqG,KAAK/C,QAAQtD,QAE5BqG,KAAK8C,eAAiB3J,GAAK,IAAM,CAAC6G,KAAKkD,kBAAmBlD,KAAKiD,UAAWjD,KAAK2C,gBAAe,CAACQ,EAAcK,EAAWb,KACtH,MAAMvH,EAgRZ,SAAwBqI,GACtB,IAAIN,aACFA,EAAYK,UACZA,EAASb,aACTA,GACEc,EACJ,MAAM/H,EAAQyH,EAAapJ,OAAS,EAI9BuB,EA/BwB,EAACoI,EAAKC,EAAMC,EAAiB3C,KAC3D,KAAOyC,GAAOC,GAAM,CAClB,MAAME,GAAUH,EAAMC,GAAQ,EAAI,EAC5BG,EAAeF,EAAgBC,GAErC,GAAIC,EAAe7C,EACjByC,EAAMG,EAAS,MACV,MAAIC,EAAe7C,GAGxB,OAAO4C,EAFPF,EAAOE,EAAS,CAGjB,CACF,CAED,OAAIH,EAAM,EACDA,EAAM,EAEN,CACR,EAakBK,CAAwB,EAAGrI,GAF5BxB,GAASiJ,EAAajJ,GAAOmB,OAEiBsH,GAChE,IAAIlH,EAAWH,EAEf,KAAOG,EAAWC,GAASyH,EAAa1H,GAAUD,IAAMmH,EAAea,GACrE/H,IAGF,MAAO,CACLH,aACAG,WAEJ,CArSoBqH,CAAe,CAC3BK,eACAK,YACAb,iBAQF,OALIvH,EAAME,aAAe0E,KAAK5E,MAAME,YAAcF,EAAMK,WAAauE,KAAK5E,MAAMK,WAC9EuE,KAAK5E,MAAQA,EACb4E,KAAK6B,UAGA7B,KAAK5E,KAAK,GAChB,CACD1B,KAAK,EACLC,MAAO,IAAMqG,KAAK/C,QAAQtD,QAE5BqG,KAAKgE,WAAa7K,GAAK,IAAM,CAAC6G,KAAK/C,QAAQuE,eAAgBxB,KAAK5E,MAAO4E,KAAK/C,QAAQ1B,SAAUyE,KAAK/C,QAAQvB,SAAQ,CAAC8F,EAAgBpG,EAAOG,EAAUG,IAC5I8F,EAAe,IAAKpG,EACzBG,WACAG,MAAOA,KAER,CACDhC,KAAK,EACLC,MAAO,IAAMqG,KAAK/C,QAAQtD,QAG5BqG,KAAKiE,iBAAmBC,IACtB,MAAMC,EAAgBnE,KAAK/C,QAAQ2E,eAC7BwC,EAAWF,EAAKG,aAAaF,GAEnC,OAAKC,EAKEE,SAASF,EAAU,KAJxBtJ,QAAQyJ,KAAK,2BAA6BJ,EAAgB,mCAClD,EAGmB,EAG/BnE,KAAKa,gBAAkB,CAACqD,EAAMM,KAC5B,IAAIC,EAEJ,MAAMvK,EAAQ8F,KAAKiE,iBAAiBC,GAC9BQ,EAAO1E,KAAKI,kBAAkBlG,GAEpC,IAAKwK,EACH,OAGF,MAAMC,EAAW3E,KAAKQ,oBAAoBkE,EAAKhL,KACzCkL,EAAK5E,KAAKS,oBAEhB,IAAKyD,EAAKW,YAMR,YALIF,IACI,MAANC,GAAsBA,EAAGhI,UAAU+H,UAC5B3E,KAAKQ,oBAAoBkE,EAAKhL,OAMpCiL,GAAYA,IAAaT,IACxBS,IACI,MAANC,GAAsBA,EAAGhI,UAAU+H,IAGrC3E,KAAKQ,oBAAoBkE,EAAKhL,KAAOwK,EAC/B,MAANU,GAAsBA,EAAGjI,QAAQuH,IAGnC,MAAMY,EAAmB9E,KAAK/C,QAAQ8B,eAAemF,EAAMlE,MAErD+E,EAAQD,GADqE,OAAjEL,EAAwBzE,KAAKK,sBAAsBqE,EAAKhL,MAAgB+K,EAAwBC,EAAKpB,MAGzG,IAAVyB,IACEL,EAAKrJ,MAAQ2E,KAAK2C,cAAgB3C,KAAKE,kBAA0CV,IAA3BQ,KAAKgF,oBAK7DhF,KAAKO,aAAewE,EAEpB/E,KAAK0C,gBAAgB1C,KAAK2C,aAAe3C,KAAKO,YAAa,CACzDpB,WAAW,EACXC,MAAM,EACNwD,WAAW,KAIf5C,KAAKM,4BAA4BzE,KAAK3B,GACtC8F,KAAKK,sBAAwB,IAAKL,KAAKK,sBACrC,CAACqE,EAAKhL,KAAMoL,GAEd9E,KAAK6B,SACN,EAGH7B,KAAKjB,eAAiBmF,IACfA,GAILlE,KAAKa,gBAAgBqD,GAAM,EAAK,EAGlClE,KAAKiF,gBAAkB9L,GAAK,IAAM,CAAC6G,KAAKgE,aAAchE,KAAKkD,qBAAoB,CAACgC,EAAS/B,KACvF,MAAMgC,EAAe,GAErB,IAAK,IAAIC,EAAI,EAAGC,EAAMH,EAAQnL,OAAQqL,EAAIC,EAAKD,IAAK,CAClD,MACME,EAAcnC,EADV+B,EAAQE,IAElBD,EAAatJ,KAAKyJ,EACnB,CAED,OAAOH,CAAY,GAClB,CACDzL,KAAK,EACLC,MAAO,IAAMqG,KAAK/C,QAAQtD,QAG5BqG,KAAKuF,eAAiB,SAAUlG,EAAUmG,GACxC,IAAIC,MACFA,EAAQ,QAAOC,aACfA,EAAe3F,EAAM9C,QAAQwE,yBACjB,IAAV+D,EAAmB,CAAA,EAAKA,EAC5B,MAAMnH,EAAS0B,EAAM4C,aAEfW,EAAOvD,EAAMkD,UAEL,SAAVwC,IAEAA,EADEpG,GAAYhB,EACN,QACCgB,GAAYhB,EAASiF,EACtB,MAEA,SAIZ,MAAMrG,EAAU,CACdkC,UAAWuG,EACXtG,MAAM,EACNwD,WAAW,GAGC,UAAV6C,EACF1F,EAAM2C,gBAAgBrD,EAAUpC,GACb,QAAVwI,EACT1F,EAAM2C,gBAAgBrD,EAAWiE,EAAMrG,GACpB,WAAVwI,GACT1F,EAAM2C,gBAAgBrD,EAAWiE,EAAO,EAAGrG,EAEnD,EAEI+C,KAAK2F,cAAgB,SAAUzL,EAAO0L,GACpC,IAAIH,MACFA,EAAQ,OAAMC,aACdA,EAAe3F,EAAM9C,QAAQwE,sBAC1BoE,QACU,IAAXD,EAAoB,CAAA,EAAKA,EAE7B,MAAMzC,EAAepD,EAAMmD,kBAErB7E,EAAS0B,EAAM4C,aAEfW,EAAOvD,EAAMkD,WAEbvH,MACJA,GACEqE,EAAM9C,QACJqI,EAAcnC,EAAa7I,KAAKU,IAAI,EAAGV,KAAKW,IAAIf,EAAOwB,EAAQ,KAErE,IAAK4J,EACH,OAGF,GAAc,SAAVG,EACF,GAAIH,EAAY9J,KAAO6C,EAASiF,EAAOvD,EAAM9C,QAAQqE,iBACnDmE,EAAQ,UACH,MAAIH,EAAYjK,OAASgD,EAAS0B,EAAM9C,QAAQoE,oBAGrD,OAFAoE,EAAQ,OAGT,CAGH,MAAMpG,EAAqB,QAAVoG,EAAkBH,EAAY9J,IAAMuE,EAAM9C,QAAQqE,iBAAmBgE,EAAYjK,MAAQ0E,EAAM9C,QAAQoE,mBAExHtB,EAAMwF,eAAelG,EAAU,CAC7BoG,QACAC,kBACGG,GAEX,EAEI7F,KAAK8F,aAAe,KAClB,IAAIC,EAEJ,QAAqF,OAA3EA,EAAwB/F,KAAKkD,kBAAkBlD,KAAK/C,QAAQvB,MAAQ,SAAc,EAASqK,EAAsBvK,MAAQwE,KAAK/C,QAAQkE,cAAgBnB,KAAK/C,QAAQmE,UAAU,EAGzLpB,KAAK0C,gBAAkB,CAACrE,EAAQ2H,KAC9B,IAeIC,GAfArD,UACFA,EAASzD,UACTA,EAASC,KACTA,GACE4G,EACJjD,aAAa/C,KAAKiG,kBAEdrD,IACF5C,KAAKgF,kBAAoB3G,GAG3B2B,KAAK/C,QAAQiJ,WAAW7H,EAAQ,CAC9Bc,YACAC,QACCY,MAGH,MAAMmG,EAAQ,KACZ,IAAIC,EAAapG,KAAK2C,aACtB3C,KAAKiG,iBAAmBA,EAAmBjD,YAAW,KAChDhD,KAAKiG,mBAAqBA,IAI1BjG,KAAK2C,eAAiByD,GAK1BA,EAAapG,KAAK2C,aAClBwD,KALEnG,KAAKgF,uBAAoBxF,EAKpB,GACN,IAAI,EAGT2G,GAAO,EAGTnG,KAAKqG,QAAU,KACbrG,KAAKK,sBAAwB,GAC7BL,KAAK6B,QAAQ,EAGf7B,KAAKc,WAAWhB,GAChBE,KAAK6C,WAAa7C,KAAK/C,QAAQyE,YAC/B1B,KAAK2C,aAAe3C,KAAK/C,QAAQiE,cACjClB,KAAK8C,gBACN,EC/kBH,SAASwD,EACPrJ,GAEA,MAAMsJ,EAAoEC,aAAWvJ,GAE/ElB,EAAW,IAAI6D,EACnB2G,IAGKpB,EAAcsB,GAAmBC,EAAWA,YACjD3K,EAASkJ,oBAEJ0B,EAAWC,GAAgBC,EAAYA,aAAC9K,EAAS+J,gBAkBlDgB,EAAc,IAAIC,MAAMhL,EAhBd,CACdiL,IACEvI,EACAwI,GAEA,OAAQA,GACN,IAAK,kBACH,MAAO,IAAM9B,EACf,IAAK,eACH,MAAO,IAAMwB,IACf,QACE,OAAOO,QAAQF,IAAIvI,EAAQwI,GAEhC,IA2BH,OAvBAH,EAAYhG,WAAWyF,GAEvBY,EAAAA,SAAQ,KACN,MAAMlF,EAAU6E,EAAYzE,YAC5ByE,EAAYtE,cACZ4E,EAASA,UAACnF,EAAV,IAGFoF,EAAAA,gBAAe,KACbP,EAAYhG,WAAW0F,aAAWD,EAAiBtJ,EAAS,CAC1D7C,SAAW2B,IACXA,EAASyG,cACTiE,EACEa,EAASA,UAACvL,EAASkJ,kBAAmB,CACpCvL,IAAK,WAGTkN,EAAa7K,EAAS+J,gBACtB,MAAA7I,EAAQ7C,UAAR6C,EAAQ7C,SAAW2B,EAAnB,KAEF+K,EAAYT,SAAZ,IAGKS,CACR,qCAEM,SACL7J,GAMA,OAAOqJ,EAAoDE,EAAAA,WAAW,CACpE1K,mBAAoBA,EACpB+C,qBAAsBA,EACtBqH,WAAYzG,GACXxC,GACJ,4BAEM,SACLA,GAQA,OAAOqJ,EAA4CE,EAAAA,WAAW,CAC5D/D,iBAAkB,IAAyB,oBAAX5E,OAAyBA,OAAS,KAClE/B,mBAAoBe,EACpBgC,qBAAsBC,EACtBoH,WAAYlH,GACZ/B,GAEH"}
|
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.23",
|
|
5
5
|
"description": "Headless UI for virtualizing scrollable elements in Solid",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"homepage": "https://github.com/tanstack/virtual#readme",
|
|
@@ -37,6 +37,6 @@
|
|
|
37
37
|
"src"
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@tanstack/virtual-core": "3.0.0-beta.
|
|
40
|
+
"@tanstack/virtual-core": "3.0.0-beta.23"
|
|
41
41
|
}
|
|
42
42
|
}
|