@tanstack/solid-virtual 3.0.0-beta.9 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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 */\nvar props = [\"bottom\", \"height\", \"left\", \"right\", \"top\", \"width\"];\n\nvar rectChanged = function rectChanged(a, b) {\n if (a === void 0) {\n a = {};\n }\n\n if (b === void 0) {\n b = {};\n }\n\n return props.some(function (prop) {\n return a[prop] !== b[prop];\n });\n};\n\nvar observedNodes = /*#__PURE__*/new Map();\nvar rafId;\n\nvar run = function run() {\n var changedStates = [];\n observedNodes.forEach(function (state, node) {\n var newRect = node.getBoundingClientRect();\n\n if (rectChanged(newRect, state.rect)) {\n state.rect = newRect;\n changedStates.push(state);\n }\n });\n changedStates.forEach(function (state) {\n state.callbacks.forEach(function (cb) {\n return cb(state.rect);\n });\n });\n rafId = window.requestAnimationFrame(run);\n};\n\nfunction observeRect(node, cb) {\n return {\n observe: function observe() {\n var wasEmpty = observedNodes.size === 0;\n\n if (observedNodes.has(node)) {\n observedNodes.get(node).callbacks.push(cb);\n } else {\n observedNodes.set(node, {\n rect: undefined,\n hasRectChanged: false,\n callbacks: [cb]\n });\n }\n\n if (wasEmpty) run();\n },\n unobserve: function unobserve() {\n var state = observedNodes.get(node);\n\n if (state) {\n // Remove the callback\n var index = state.callbacks.indexOf(cb);\n if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference\n\n if (!state.callbacks.length) observedNodes[\"delete\"](node); // Stop the loop\n\n if (!observedNodes.size) cancelAnimationFrame(rafId);\n }\n }\n };\n}\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 onResize = memoRectCallback(instance, cb);\n const observer = observeRect(instance.scrollElement, rect => {\n onResize(rect);\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n onResize(instance.scrollElement.getBoundingClientRect());\n observer.observe();\n return () => {\n observer.unobserve();\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 cb(instance.scrollElement[instance.options.horizontal ? propX : propY]);\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 element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height'];\n};\nconst windowScroll = (offset, canSmooth, instance) => {\n var _instance$scrollEleme;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: offset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nconst elementScroll = (offset, canSmooth, instance) => {\n var _instance$scrollEleme2;\n (_instance$scrollEleme2 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme2.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: offset,\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.measurementsCache = [];\n this.itemMeasurementsCache = {};\n this.pendingMeasuredCacheIndexes = [];\n this.measureElementCache = {};\n\n this.setOptions = opts => {\n Object.entries(opts).forEach(_ref => {\n let [key, value] = _ref;\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 ...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 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 this.unsubs.push(this.options.observeElementRect(this, rect => {\n this.scrollRect = rect;\n this.notify();\n }));\n this.unsubs.push(this.options.observeElementOffset(this, offset => {\n this.scrollOffset = offset;\n this.notify();\n }));\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 === 'development' && 'getMeasurements',\n debug: () => this.options.debug\n });\n this.calculateRange = memo(() => [this.getMeasurements(), this.getSize(), this.scrollOffset], (measurements, outerSize, scrollOffset) => {\n return calculateRange({\n measurements,\n outerSize,\n scrollOffset\n });\n }, {\n key: process.env.NODE_ENV === 'development' && 'calculateRange',\n debug: () => this.options.debug\n });\n this.getIndexes = memo(() => [this.options.rangeExtractor, this.calculateRange(), 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 === 'development' && 'getIndexes'\n });\n this.getVirtualItems = memo(() => [this.getIndexes(), this.getMeasurements(), this.options.measureElement], (indexes, measurements, measureElement) => {\n const makeMeasureElement = index => measurableItem => {\n var _this$itemMeasurement;\n\n const item = this.measurementsCache[index];\n\n if (!measurableItem) {\n return;\n }\n\n const measuredItemSize = measureElement(measurableItem, 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 === 'development' && this.options.debug) {\n console.info('correction', measuredItemSize - itemSize);\n }\n\n if (!this.destinationOffset) {\n this._scrollToOffset(this.scrollOffset + (measuredItemSize - itemSize), 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 const virtualItems = [];\n const currentMeasureElements = {};\n\n for (let k = 0, len = indexes.length; k < len; k++) {\n var _this$measureElementC;\n\n const i = indexes[k];\n const measurement = measurements[i];\n const item = { ...measurement,\n measureElement: currentMeasureElements[i] = (_this$measureElementC = this.measureElementCache[i]) != null ? _this$measureElementC : makeMeasureElement(i)\n };\n virtualItems.push(item);\n }\n\n this.measureElementCache = currentMeasureElements;\n return virtualItems;\n }, {\n key: process.env.NODE_ENV === 'development' && 'getIndexes'\n });\n\n this.scrollToOffset = function (toOffset, _temp) {\n let {\n align\n } = _temp === void 0 ? {\n align: 'start'\n } : _temp;\n\n const attempt = () => {\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 if (align === 'start') {\n _this._scrollToOffset(toOffset, true);\n } else if (align === 'end') {\n _this._scrollToOffset(toOffset - size, true);\n } else if (align === 'center') {\n _this._scrollToOffset(toOffset - size / 2, true);\n }\n };\n\n attempt();\n requestAnimationFrame(() => {\n attempt();\n });\n };\n\n this.scrollToIndex = function (index, _temp2) {\n let {\n align,\n ...rest\n } = _temp2 === void 0 ? {\n align: 'auto'\n } : _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 ...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, canSmooth) => {\n clearTimeout(this.scrollCheckFrame);\n this.destinationOffset = offset;\n this.options.scrollToFn(offset, this.options.enableSmoothScroll && canSmooth, 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 }\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(_ref2) {\n let {\n measurements,\n outerSize,\n scrollOffset\n } = _ref2;\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 = unknown>(\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 = unknown>(\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 = unknown>(\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/lib/_virtual/_rollupPluginBabelHelpers.mjs","../../../virtual-core/build/lib/utils.mjs","../../../virtual-core/build/lib/index.mjs","../../src/index.tsx"],"sourcesContent":["/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nexport { _extends as extends };\n//# sourceMappingURL=_rollupPluginBabelHelpers.mjs.map\n","/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction memo(getDeps, fn, opts) {\n var _opts$initialDeps;\n var deps = (_opts$initialDeps = opts.initialDeps) != null ? _opts$initialDeps : [];\n var result;\n return function () {\n var depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n var newDeps = getDeps();\n var depsChanged = newDeps.length !== deps.length || newDeps.some(function (dep, index) {\n return deps[index] !== dep;\n });\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n var resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn.apply(void 0, newDeps);\n if (opts.key && opts.debug != null && opts.debug()) {\n var depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n var resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n var resultFpsPercentage = resultEndTime / 16;\n var pad = function pad(str, num) {\n str = String(str);\n while (str.length < num) {\n str = ' ' + str;\n }\n return str;\n };\n console.info(\"%c\\u23F1 \" + pad(resultEndTime, 5) + \" /\" + pad(depEndTime, 5) + \" ms\", \"\\n font-size: .6rem;\\n font-weight: bold;\\n color: hsl(\" + Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120)) + \"deg 100% 31%);\", opts == null ? void 0 : opts.key);\n }\n opts == null || opts.onChange == null || opts.onChange(result);\n return result;\n };\n}\nfunction notUndefined(value, msg) {\n if (value === undefined) {\n throw new Error(\"Unexpected undefined\" + (msg ? \": \" + msg : ''));\n } else {\n return value;\n }\n}\nvar approxEqual = function approxEqual(a, b) {\n return Math.abs(a - b) < 1;\n};\n\nexport { approxEqual, memo, notUndefined };\n//# sourceMappingURL=utils.mjs.map\n","/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { extends as _extends } from './_virtual/_rollupPluginBabelHelpers.mjs';\nimport { memo, notUndefined, approxEqual } from './utils.mjs';\nexport { approxEqual, memo, notUndefined } from './utils.mjs';\n\n//\n\n//\n\nvar defaultKeyExtractor = function defaultKeyExtractor(index) {\n return index;\n};\nvar defaultRangeExtractor = function defaultRangeExtractor(range) {\n var start = Math.max(range.startIndex - range.overscan, 0);\n var end = Math.min(range.endIndex + range.overscan, range.count - 1);\n var arr = [];\n for (var _i = start; _i <= end; _i++) {\n arr.push(_i);\n }\n return arr;\n};\nvar observeElementRect = function observeElementRect(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler(rect) {\n var width = rect.width,\n height = rect.height;\n cb({\n width: Math.round(width),\n height: Math.round(height)\n });\n };\n handler(element.getBoundingClientRect());\n var observer = new ResizeObserver(function (entries) {\n var entry = entries[0];\n if (entry != null && entry.borderBoxSize) {\n var box = entry.borderBoxSize[0];\n if (box) {\n handler({\n width: box.inlineSize,\n height: box.blockSize\n });\n return;\n }\n }\n handler(element.getBoundingClientRect());\n });\n observer.observe(element, {\n box: 'border-box'\n });\n return function () {\n observer.unobserve(element);\n };\n};\nvar observeWindowRect = function observeWindowRect(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb({\n width: element.innerWidth,\n height: element.innerHeight\n });\n };\n handler();\n element.addEventListener('resize', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('resize', handler);\n };\n};\nvar observeElementOffset = function observeElementOffset(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb(element[instance.options.horizontal ? 'scrollLeft' : 'scrollTop']);\n };\n handler();\n element.addEventListener('scroll', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', handler);\n };\n};\nvar observeWindowOffset = function observeWindowOffset(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb(element[instance.options.horizontal ? 'scrollX' : 'scrollY']);\n };\n handler();\n element.addEventListener('scroll', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', handler);\n };\n};\nvar measureElement = function measureElement(element, entry, instance) {\n if (entry != null && entry.borderBoxSize) {\n var box = entry.borderBoxSize[0];\n if (box) {\n var size = Math.round(box[instance.options.horizontal ? 'inlineSize' : 'blockSize']);\n return size;\n }\n }\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nvar windowScroll = function windowScroll(offset, _ref, instance) {\n var _instance$scrollEleme, _instance$scrollEleme2;\n var _ref$adjustments = _ref.adjustments,\n adjustments = _ref$adjustments === void 0 ? 0 : _ref$adjustments,\n behavior = _ref.behavior;\n var toOffset = offset + adjustments;\n (_instance$scrollEleme = instance.scrollElement) == null || _instance$scrollEleme.scrollTo == null || _instance$scrollEleme.scrollTo((_instance$scrollEleme2 = {}, _instance$scrollEleme2[instance.options.horizontal ? 'left' : 'top'] = toOffset, _instance$scrollEleme2.behavior = behavior, _instance$scrollEleme2));\n};\nvar elementScroll = function elementScroll(offset, _ref2, instance) {\n var _instance$scrollEleme3, _instance$scrollEleme4;\n var _ref2$adjustments = _ref2.adjustments,\n adjustments = _ref2$adjustments === void 0 ? 0 : _ref2$adjustments,\n behavior = _ref2.behavior;\n var toOffset = offset + adjustments;\n (_instance$scrollEleme3 = instance.scrollElement) == null || _instance$scrollEleme3.scrollTo == null || _instance$scrollEleme3.scrollTo((_instance$scrollEleme4 = {}, _instance$scrollEleme4[instance.options.horizontal ? 'left' : 'top'] = toOffset, _instance$scrollEleme4.behavior = behavior, _instance$scrollEleme4));\n};\nvar Virtualizer = function Virtualizer(_opts) {\n var _this = this;\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.scrollToIndexTimeoutId = null;\n this.measurementsCache = [];\n this.itemSizeCache = new Map();\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.measureElementCache = new Map();\n this.observer = function () {\n var _ro = null;\n var get = function get() {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n _this._measureElement(entry.target, entry);\n });\n });\n } else {\n return null;\n }\n };\n return {\n disconnect: function disconnect() {\n var _get;\n return (_get = get()) == null ? void 0 : _get.disconnect();\n },\n observe: function observe(target) {\n var _get2;\n return (_get2 = get()) == null ? void 0 : _get2.observe(target, {\n box: 'border-box'\n });\n },\n unobserve: function unobserve(target) {\n var _get3;\n return (_get3 = get()) == null ? void 0 : _get3.unobserve(target);\n }\n };\n }();\n this.range = null;\n this.setOptions = function (opts) {\n Object.entries(opts).forEach(function (_ref3) {\n var key = _ref3[0],\n value = _ref3[1];\n if (typeof value === 'undefined') delete opts[key];\n });\n _this.options = _extends({\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: function onChange() {},\n measureElement: measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n initialMeasurementsCache: [],\n lanes: 1\n }, opts);\n };\n this.notify = function (sync) {\n _this.options.onChange == null || _this.options.onChange(_this, sync);\n };\n this.maybeNotify = memo(function () {\n _this.calculateRange();\n return [_this.isScrolling, _this.range ? _this.range.startIndex : null, _this.range ? _this.range.endIndex : null];\n }, function (isScrolling) {\n _this.notify(isScrolling);\n }, {\n key: process.env.NODE_ENV !== 'production' && 'maybeNotify',\n debug: function debug() {\n return _this.options.debug;\n },\n initialDeps: [this.isScrolling, this.range ? this.range.startIndex : null, this.range ? this.range.endIndex : null]\n });\n this.cleanup = function () {\n _this.unsubs.filter(Boolean).forEach(function (d) {\n return d();\n });\n _this.unsubs = [];\n _this.scrollElement = null;\n };\n this._didMount = function () {\n _this.measureElementCache.forEach(_this.observer.observe);\n return function () {\n _this.observer.disconnect();\n _this.cleanup();\n };\n };\n this._willUpdate = function () {\n var scrollElement = _this.options.getScrollElement();\n if (_this.scrollElement !== scrollElement) {\n _this.cleanup();\n _this.scrollElement = scrollElement;\n _this._scrollToOffset(_this.scrollOffset, {\n adjustments: undefined,\n behavior: undefined\n });\n _this.unsubs.push(_this.options.observeElementRect(_this, function (rect) {\n _this.scrollRect = rect;\n _this.maybeNotify();\n }));\n _this.unsubs.push(_this.options.observeElementOffset(_this, function (offset) {\n _this.scrollAdjustments = 0;\n if (_this.scrollOffset === offset) {\n return;\n }\n if (_this.isScrollingTimeoutId !== null) {\n clearTimeout(_this.isScrollingTimeoutId);\n _this.isScrollingTimeoutId = null;\n }\n _this.isScrolling = true;\n _this.scrollDirection = _this.scrollOffset < offset ? 'forward' : 'backward';\n _this.scrollOffset = offset;\n _this.maybeNotify();\n _this.isScrollingTimeoutId = setTimeout(function () {\n _this.isScrollingTimeoutId = null;\n _this.isScrolling = false;\n _this.scrollDirection = null;\n _this.maybeNotify();\n }, _this.options.scrollingDelay);\n }));\n }\n };\n this.getSize = function () {\n return _this.scrollRect[_this.options.horizontal ? 'width' : 'height'];\n };\n this.memoOptions = memo(function () {\n return [_this.options.count, _this.options.paddingStart, _this.options.scrollMargin, _this.options.getItemKey];\n }, function (count, paddingStart, scrollMargin, getItemKey) {\n _this.pendingMeasuredCacheIndexes = [];\n return {\n count: count,\n paddingStart: paddingStart,\n scrollMargin: scrollMargin,\n getItemKey: getItemKey\n };\n }, {\n key: false\n });\n this.getFurthestMeasurement = function (measurements, index) {\n var furthestMeasurementsFound = new Map();\n var furthestMeasurements = new Map();\n for (var m = index - 1; m >= 0; m--) {\n var measurement = measurements[m];\n if (furthestMeasurementsFound.has(measurement.lane)) {\n continue;\n }\n var previousFurthestMeasurement = furthestMeasurements.get(measurement.lane);\n if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {\n furthestMeasurements.set(measurement.lane, measurement);\n } else if (measurement.end < previousFurthestMeasurement.end) {\n furthestMeasurementsFound.set(measurement.lane, true);\n }\n if (furthestMeasurementsFound.size === _this.options.lanes) {\n break;\n }\n }\n return furthestMeasurements.size === _this.options.lanes ? Array.from(furthestMeasurements.values()).sort(function (a, b) {\n return a.end - b.end;\n })[0] : undefined;\n };\n this.getMeasurements = memo(function () {\n return [_this.memoOptions(), _this.itemSizeCache];\n }, function (_ref4, itemSizeCache) {\n var count = _ref4.count,\n paddingStart = _ref4.paddingStart,\n scrollMargin = _ref4.scrollMargin,\n getItemKey = _ref4.getItemKey;\n var min = _this.pendingMeasuredCacheIndexes.length > 0 ? Math.min.apply(Math, _this.pendingMeasuredCacheIndexes) : 0;\n _this.pendingMeasuredCacheIndexes = [];\n var measurements = _this.measurementsCache.slice(0, min);\n for (var _i2 = min; _i2 < count; _i2++) {\n var key = getItemKey(_i2);\n var furthestMeasurement = _this.options.lanes === 1 ? measurements[_i2 - 1] : _this.getFurthestMeasurement(measurements, _i2);\n var start = furthestMeasurement ? furthestMeasurement.end : paddingStart + scrollMargin;\n var measuredSize = itemSizeCache.get(key);\n var size = typeof measuredSize === 'number' ? measuredSize : _this.options.estimateSize(_i2);\n var end = start + size;\n var lane = furthestMeasurement ? furthestMeasurement.lane : _i2 % _this.options.lanes;\n measurements[_i2] = {\n index: _i2,\n start: start,\n size: size,\n end: end,\n key: key,\n lane: lane\n };\n }\n _this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.calculateRange = memo(function () {\n return [_this.getMeasurements(), _this.getSize(), _this.scrollOffset];\n }, function (measurements, outerSize, scrollOffset) {\n return _this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({\n measurements: measurements,\n outerSize: outerSize,\n scrollOffset: scrollOffset\n }) : null;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.getIndexes = memo(function () {\n return [_this.options.rangeExtractor, _this.calculateRange(), _this.options.overscan, _this.options.count];\n }, function (rangeExtractor, range, overscan, count) {\n return range === null ? [] : rangeExtractor(_extends({}, range, {\n overscan: overscan,\n count: count\n }));\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.indexFromElement = function (node) {\n var attributeName = _this.options.indexAttribute;\n var indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = function (node, entry) {\n var item = _this.measurementsCache[_this.indexFromElement(node)];\n if (!item || !node.isConnected) {\n _this.measureElementCache.forEach(function (cached, key) {\n if (cached === node) {\n _this.observer.unobserve(node);\n _this.measureElementCache[\"delete\"](key);\n }\n });\n return;\n }\n var prevNode = _this.measureElementCache.get(item.key);\n if (prevNode !== node) {\n if (prevNode) {\n _this.observer.unobserve(prevNode);\n }\n _this.observer.observe(node);\n _this.measureElementCache.set(item.key, node);\n }\n var measuredItemSize = _this.options.measureElement(node, entry, _this);\n _this.resizeItem(item, measuredItemSize);\n };\n this.resizeItem = function (item, size) {\n var _this$itemSizeCache$g;\n var itemSize = (_this$itemSizeCache$g = _this.itemSizeCache.get(item.key)) != null ? _this$itemSizeCache$g : item.size;\n var delta = size - itemSize;\n if (delta !== 0) {\n if (item.start < _this.scrollOffset) {\n if (process.env.NODE_ENV !== 'production' && _this.options.debug) {\n console.info('correction', delta);\n }\n _this._scrollToOffset(_this.scrollOffset, {\n adjustments: _this.scrollAdjustments += delta,\n behavior: undefined\n });\n }\n _this.pendingMeasuredCacheIndexes.push(item.index);\n _this.itemSizeCache = new Map(_this.itemSizeCache.set(item.key, size));\n _this.notify(false);\n }\n };\n this.measureElement = function (node) {\n if (!node) {\n return;\n }\n _this._measureElement(node, undefined);\n };\n this.getVirtualItems = memo(function () {\n return [_this.getIndexes(), _this.getMeasurements()];\n }, function (indexes, measurements) {\n var virtualItems = [];\n for (var k = 0, len = indexes.length; k < len; k++) {\n var _i3 = indexes[k];\n var measurement = measurements[_i3];\n virtualItems.push(measurement);\n }\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.getVirtualItemForOffset = function (offset) {\n var measurements = _this.getMeasurements();\n return notUndefined(measurements[findNearestBinarySearch(0, measurements.length - 1, function (index) {\n return notUndefined(measurements[index]).start;\n }, offset)]);\n };\n this.getOffsetForAlignment = function (toOffset, align) {\n var size = _this.getSize();\n if (align === 'auto') {\n if (toOffset <= _this.scrollOffset) {\n align = 'start';\n } else if (toOffset >= _this.scrollOffset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n if (align === 'start') {\n toOffset = toOffset;\n } else if (align === 'end') {\n toOffset = toOffset - size;\n } else if (align === 'center') {\n toOffset = toOffset - size / 2;\n }\n var scrollSizeProp = _this.options.horizontal ? 'scrollWidth' : 'scrollHeight';\n var scrollSize = _this.scrollElement ? 'document' in _this.scrollElement ? _this.scrollElement.document.documentElement[scrollSizeProp] : _this.scrollElement[scrollSizeProp] : 0;\n var maxOffset = scrollSize - _this.getSize();\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = function (index, align) {\n if (align === void 0) {\n align = 'auto';\n }\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n var measurement = notUndefined(_this.getMeasurements()[index]);\n if (align === 'auto') {\n if (measurement.end >= _this.scrollOffset + _this.getSize() - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= _this.scrollOffset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return [_this.scrollOffset, align];\n }\n }\n var toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n return [_this.getOffsetForAlignment(toOffset, align), align];\n };\n this.isDynamicMode = function () {\n return _this.measureElementCache.size > 0;\n };\n this.cancelScrollToIndex = function () {\n if (_this.scrollToIndexTimeoutId !== null) {\n clearTimeout(_this.scrollToIndexTimeoutId);\n _this.scrollToIndexTimeoutId = null;\n }\n };\n this.scrollToOffset = function (toOffset, _temp) {\n var _ref5 = _temp === void 0 ? {} : _temp,\n _ref5$align = _ref5.align,\n align = _ref5$align === void 0 ? 'start' : _ref5$align,\n behavior = _ref5.behavior;\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n _this._scrollToOffset(_this.getOffsetForAlignment(toOffset, align), {\n adjustments: undefined,\n behavior: behavior\n });\n };\n this.scrollToIndex = function (index, _temp2) {\n var _ref6 = _temp2 === void 0 ? {} : _temp2,\n _ref6$align = _ref6.align,\n initialAlign = _ref6$align === void 0 ? 'auto' : _ref6$align,\n behavior = _ref6.behavior;\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n var _this$getOffsetForInd = _this.getOffsetForIndex(index, initialAlign),\n toOffset = _this$getOffsetForInd[0],\n align = _this$getOffsetForInd[1];\n _this._scrollToOffset(toOffset, {\n adjustments: undefined,\n behavior: behavior\n });\n if (behavior !== 'smooth' && _this.isDynamicMode()) {\n _this.scrollToIndexTimeoutId = setTimeout(function () {\n _this.scrollToIndexTimeoutId = null;\n var elementInDOM = _this.measureElementCache.has(_this.options.getItemKey(index));\n if (elementInDOM) {\n var _this$getOffsetForInd2 = _this.getOffsetForIndex(index, align),\n _toOffset = _this$getOffsetForInd2[0];\n if (!approxEqual(_toOffset, _this.scrollOffset)) {\n _this.scrollToIndex(index, {\n align: align,\n behavior: behavior\n });\n }\n } else {\n _this.scrollToIndex(index, {\n align: align,\n behavior: behavior\n });\n }\n });\n }\n };\n this.scrollBy = function (delta, _temp3) {\n var _ref7 = _temp3 === void 0 ? {} : _temp3,\n behavior = _ref7.behavior;\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n _this._scrollToOffset(_this.scrollOffset + delta, {\n adjustments: undefined,\n behavior: behavior\n });\n };\n this.getTotalSize = function () {\n var _this$getMeasurements;\n return (((_this$getMeasurements = _this.getMeasurements()[_this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || _this.options.paddingStart) - _this.options.scrollMargin + _this.options.paddingEnd;\n };\n this._scrollToOffset = function (offset, _ref8) {\n var adjustments = _ref8.adjustments,\n behavior = _ref8.behavior;\n _this.options.scrollToFn(offset, {\n behavior: behavior,\n adjustments: adjustments\n }, _this);\n };\n this.measure = function () {\n _this.itemSizeCache = new Map();\n _this.notify(false);\n };\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach(function (item) {\n _this.itemSizeCache.set(item.key, item.size);\n });\n this.maybeNotify();\n};\nvar findNearestBinarySearch = function findNearestBinarySearch(low, high, getCurrentValue, value) {\n while (low <= high) {\n var middle = (low + high) / 2 | 0;\n var currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange(_ref9) {\n var measurements = _ref9.measurements,\n outerSize = _ref9.outerSize,\n scrollOffset = _ref9.scrollOffset;\n var count = measurements.length - 1;\n var getOffset = function getOffset(index) {\n return measurements[index].start;\n };\n var startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n var endIndex = startIndex;\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n return {\n startIndex: startIndex,\n endIndex: endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.mjs.map\n","import {\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n PartialKeys,\n Virtualizer,\n VirtualizerOptions,\n windowScroll,\n} from '@tanstack/virtual-core'\nexport * from '@tanstack/virtual-core'\n\nimport {\n createSignal,\n onMount,\n onCleanup,\n createComputed,\n mergeProps,\n} from 'solid-js'\nimport { createStore, reconcile } from 'solid-js/store'\n\nfunction createVirtualizerBase<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n>(\n options: VirtualizerOptions<TScrollElement, TItemElement>,\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> =\n mergeProps(options)\n\n const instance = new Virtualizer<TScrollElement, TItemElement>(\n resolvedOptions,\n )\n\n const [virtualItems, setVirtualItems] = createStore(\n instance.getVirtualItems(),\n )\n const [totalSize, setTotalSize] = createSignal(instance.getTotalSize())\n\n const handler = {\n get(\n target: Virtualizer<TScrollElement, TItemElement>,\n prop: keyof Virtualizer<TScrollElement, TItemElement>,\n ) {\n switch (prop) {\n case 'getVirtualItems':\n return () => virtualItems\n case 'getTotalSize':\n return () => totalSize()\n default:\n return Reflect.get(target, prop)\n }\n },\n }\n\n const virtualizer = new Proxy(instance, handler)\n virtualizer.setOptions(resolvedOptions)\n\n onMount(() => {\n const cleanup = virtualizer._didMount()\n virtualizer._willUpdate()\n onCleanup(cleanup)\n })\n\n createComputed(() => {\n virtualizer.setOptions(\n mergeProps(resolvedOptions, options, {\n onChange: (\n instance: Virtualizer<TScrollElement, TItemElement>,\n sync: boolean,\n ) => {\n instance._willUpdate()\n setVirtualItems(\n reconcile(instance.getVirtualItems(), {\n key: 'index',\n }),\n )\n setTotalSize(instance.getTotalSize())\n options.onChange?.(instance, sync)\n },\n }),\n )\n virtualizer.measure()\n })\n\n return virtualizer\n}\n\nexport function createVirtualizer<\n TScrollElement extends Element,\n TItemElement extends Element,\n>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >,\n): Virtualizer<TScrollElement, TItemElement> {\n return createVirtualizerBase<TScrollElement, TItemElement>(\n mergeProps(\n {\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll,\n },\n options,\n ),\n )\n}\n\nexport function createWindowVirtualizer<TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<Window, TItemElement>,\n | 'getScrollElement'\n | 'observeElementRect'\n | 'observeElementOffset'\n | 'scrollToFn'\n >,\n): Virtualizer<Window, TItemElement> {\n return createVirtualizerBase<Window, TItemElement>(\n mergeProps(\n {\n getScrollElement: () =>\n typeof document !== 'undefined' ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset:\n typeof document !== 'undefined' ? window.scrollY : undefined,\n },\n options,\n ),\n )\n}\n"],"names":["createVirtualizerBase","options","resolvedOptions","mergeProps","instance","Virtualizer","_createStore","createStore","getVirtualItems","virtualItems","setVirtualItems","_createSignal","createSignal","getTotalSize","totalSize","setTotalSize","handler","get","target","prop","Reflect","virtualizer","Proxy","setOptions","onMount","cleanup","_didMount","_willUpdate","onCleanup","createComputed","onChange","sync","reconcile","key","measure","createVirtualizer","observeElementRect","observeElementOffset","scrollToFn","elementScroll","createWindowVirtualizer","getScrollElement","document","window","observeWindowRect","observeWindowOffset","windowScroll","initialOffset","scrollY","undefined"],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * @license MIT
10
10
  */
11
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("solid-js"),require("solid-js/store")):"function"==typeof define&&define.amd?define(["exports","solid-js","solid-js/store"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).SolidVirtual={},e.Solid,e["Solid/Store"])}(this,(function(e,t,s){"use strict";
11
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("solid-js"),require("solid-js/store")):"function"==typeof define&&define.amd?define(["exports","solid-js","solid-js/store"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).SolidVirtual={},e.Solid,e.SolidStore)}(this,(function(e,n,t){"use strict";
12
12
  /**
13
13
  * virtual-core
14
14
  *
@@ -18,5 +18,25 @@
18
18
  * LICENSE.md file in the root directory of this source tree.
19
19
  *
20
20
  * @license MIT
21
- */var n,o=["bottom","height","left","right","top","width"],i=new Map,l=function e(){var t=[];i.forEach((function(e,s){var n,i,l=s.getBoundingClientRect();n=l,i=e.rect,void 0===n&&(n={}),void 0===i&&(i={}),o.some((function(e){return n[e]!==i[e]}))&&(e.rect=l,t.push(e))})),t.forEach((function(e){e.callbacks.forEach((function(t){return t(e.rect)}))})),n=window.requestAnimationFrame(e)};function r(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 a=e=>e,c=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},h=(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}},u=(e,t)=>{const s=h(e,t),o=function(e,t){return{observe:function(){var s=0===i.size;i.has(e)?i.get(e).callbacks.push(t):i.set(e,{rect:void 0,hasRectChanged:!1,callbacks:[t]}),s&&l()},unobserve:function(){var s=i.get(e);if(s){var o=s.callbacks.indexOf(t);o>=0&&s.callbacks.splice(o,1),s.callbacks.length||i.delete(e),i.size||cancelAnimationFrame(n)}}}}(e.scrollElement,(e=>{s(e)}));if(e.scrollElement)return s(e.scrollElement.getBoundingClientRect()),o.observe(),()=>{o.unobserve()}},d=(e,t)=>{const s=h(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)}},f={element:["scrollLeft","scrollTop"],window:["scrollX","scrollY"]},m=e=>(t,s)=>{if(!t.scrollElement)return;const n=f[e][0],o=f[e][1];let i=t.scrollElement[n],l=t.scrollElement[o];const r=()=>{s(t.scrollElement[t.options.horizontal?n:o])};r();const a=e=>{const s=e.currentTarget,a=s[n],c=s[o];(t.options.horizontal?i-a:l-c)&&r(),i=a,l=c};return t.scrollElement.addEventListener("scroll",a,{capture:!1,passive:!0}),()=>{t.scrollElement.removeEventListener("scroll",a)}},g=m("element"),p=m("window"),E=(e,t)=>e.getBoundingClientRect()[t.options.horizontal?"width":"height"],v=(e,t,s)=>{var n;null==(n=s.scrollElement)||n.scrollTo({[s.options.horizontal?"left":"top"]:e,behavior:t?"smooth":void 0})},b=(e,t,s)=>{var n;null==(n=s.scrollElement)||n.scrollTo({[s.options.horizontal?"left":"top"]:e,behavior:t?"smooth":void 0})};class O{constructor(e){var t=this;this.unsubs=[],this.scrollElement=null,this.measurementsCache=[],this.itemMeasurementsCache={},this.pendingMeasuredCacheIndexes=[],this.measureElementCache={},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:a,rangeExtractor:c,enableSmoothScroll:!0,onChange:()=>{},measureElement:E,initialRect:{width:0,height:0},...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=()=>()=>{this.cleanup()},this._willUpdate=()=>{const e=this.options.getScrollElement();this.scrollElement!==e&&(this.cleanup(),this.scrollElement=e,this.unsubs.push(this.options.observeElementRect(this,(e=>{this.scrollRect=e,this.notify()}))),this.unsubs.push(this.options.observeElementOffset(this,(e=>{this.scrollOffset=e,this.notify()}))))},this.getSize=()=>this.scrollRect[this.options.horizontal?"width":"height"],this.getMeasurements=r((()=>[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,a="number"==typeof o?o:this.options.estimateSize(l),c=r+a;i[l]={index:l,start:r,size:a,end:c,key:e}}return this.measurementsCache=i,i}),{key:!1,debug:()=>this.options.debug}),this.calculateRange=r((()=>[this.getMeasurements(),this.getSize(),this.scrollOffset]),((e,t,s)=>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})),{key:!1,debug:()=>this.options.debug}),this.getIndexes=r((()=>[this.options.rangeExtractor,this.calculateRange(),this.options.overscan,this.options.count]),((e,t,s,n)=>e({...t,overscan:s,count:n})),{key:!1}),this.getVirtualItems=r((()=>[this.getIndexes(),this.getMeasurements(),this.options.measureElement]),((e,t,s)=>{const n=e=>t=>{var n;const o=this.measurementsCache[e];if(!t)return;const i=s(t,this),l=null!=(n=this.itemMeasurementsCache[o.key])?n:o.size;i!==l&&(o.start<this.scrollOffset&&(this.destinationOffset||this._scrollToOffset(this.scrollOffset+(i-l),!1)),this.pendingMeasuredCacheIndexes.push(e),this.itemMeasurementsCache={...this.itemMeasurementsCache,[o.key]:i},this.notify())},o=[],i={};for(let s=0,r=e.length;s<r;s++){var l;const r=e[s],a={...t[r],measureElement:i[r]=null!=(l=this.measureElementCache[r])?l:n(r)};o.push(a)}return this.measureElementCache=i,o}),{key:!1}),this.scrollToOffset=function(e,s){let{align:n}=void 0===s?{align:"start"}:s;const o=()=>{const s=t.scrollOffset,o=t.getSize();"auto"===n&&(n=e<=s?"start":e>=s+o?"end":"start"),"start"===n?t._scrollToOffset(e,!0):"end"===n?t._scrollToOffset(e-o,!0):"center"===n&&t._scrollToOffset(e-o/2,!0)};o(),requestAnimationFrame((()=>{o()}))},this.scrollToIndex=function(e,s){let{align:n,...o}=void 0===s?{align:"auto"}:s;const i=t.getMeasurements(),l=t.scrollOffset,r=t.getSize(),{count:a}=t.options,c=i[Math.max(0,Math.min(e,a-1))];if(!c)return;if("auto"===n)if(c.end>=l+r-t.options.scrollPaddingEnd)n="end";else{if(!(c.start<=l+t.options.scrollPaddingStart))return;n="start"}const h="end"===n?c.end+t.options.scrollPaddingEnd:c.start-t.options.scrollPaddingStart;t.scrollToOffset(h,{align:n,...o})},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;clearTimeout(this.scrollCheckFrame),this.destinationOffset=e,this.options.scrollToFn(e,this.options.enableSmoothScroll&&t,this);const n=()=>{let e=this.scrollOffset;this.scrollCheckFrame=s=setTimeout((()=>{this.scrollCheckFrame===s&&(this.scrollOffset!==e?(e=this.scrollOffset,n()):this.destinationOffset=void 0)}),100)};n()},this.measure=()=>{this.itemMeasurementsCache={},this.notify()},this.setOptions(e),this.scrollRect=this.options.initialRect,this.scrollOffset=this.options.initialOffset}}function w(e){const n=t.mergeProps(e),o=new O(n),[i,l]=s.createStore(o.getVirtualItems()),[r,a]=t.createSignal(o.getTotalSize()),c=new Proxy(o,{get(e,t){switch(t){case"getVirtualItems":return()=>i;case"getTotalSize":return()=>r();default:return Reflect.get(e,t)}}});return c.setOptions(n),t.onMount((()=>{const e=c._didMount();c._willUpdate(),t.onCleanup(e)})),t.createComputed((()=>{c.setOptions(t.mergeProps(n,e,{onChange:t=>{t._willUpdate(),l(s.reconcile(t.getVirtualItems(),{key:"index"})),a(t.getTotalSize()),null==e.onChange||e.onChange(t)}})),c.measure()})),c}e.Virtualizer=O,e.createVirtualizer=function(e){return w(t.mergeProps({observeElementRect:u,observeElementOffset:g,scrollToFn:b},e))},e.createWindowVirtualizer=function(e){return w(t.mergeProps({getScrollElement:()=>"undefined"!=typeof window?window:null,observeElementRect:d,observeElementOffset:p,scrollToFn:v},e))},e.defaultKeyExtractor=a,e.defaultRangeExtractor=c,e.elementScroll=b,e.measureElement=E,e.memo=r,e.observeElementOffset=g,e.observeElementRect=u,e.observeWindowOffset=p,e.observeWindowRect=d,e.windowScroll=v,Object.defineProperty(e,"__esModule",{value:!0})}));
21
+ */function o(){return o=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},o.apply(this,arguments)}
22
+ /**
23
+ * virtual-core
24
+ *
25
+ * Copyright (c) TanStack
26
+ *
27
+ * This source code is licensed under the MIT license found in the
28
+ * LICENSE.md file in the root directory of this source tree.
29
+ *
30
+ * @license MIT
31
+ */function r(e,n,t){var o,r,i=null!=(o=t.initialDeps)?o:[];return function(){var o;t.key&&null!=t.debug&&t.debug()&&(o=Date.now());var s,l=e();if(!(l.length!==i.length||l.some((function(e,n){return i[n]!==e}))))return r;if(i=l,t.key&&null!=t.debug&&t.debug()&&(s=Date.now()),r=n.apply(void 0,l),t.key&&null!=t.debug&&t.debug()){var a=Math.round(100*(Date.now()-o))/100,u=Math.round(100*(Date.now()-s))/100,c=u/16,d=function(e,n){for(e=String(e);e.length<n;)e=" "+e;return e};console.info("%c⏱ "+d(u,5)+" /"+d(a,5)+" ms","\n font-size: .6rem;\n font-weight: bold;\n color: hsl("+Math.max(0,Math.min(120-120*c,120))+"deg 100% 31%);",null==t?void 0:t.key)}return null==t||null==t.onChange||t.onChange(r),r}}function i(e,n){if(void 0===e)throw new Error("Unexpected undefined"+(n?": "+n:""));return e}var s=function(e,n){return Math.abs(e-n)<1},l=function(e){return e},a=function(e){for(var n=Math.max(e.startIndex-e.overscan,0),t=Math.min(e.endIndex+e.overscan,e.count-1),o=[],r=n;r<=t;r++)o.push(r);return o},u=function(e,n){var t=e.scrollElement;if(t){var o=function(e){var t=e.width,o=e.height;n({width:Math.round(t),height:Math.round(o)})};o(t.getBoundingClientRect());var r=new ResizeObserver((function(e){var n=e[0];if(null!=n&&n.borderBoxSize){var r=n.borderBoxSize[0];if(r)return void o({width:r.inlineSize,height:r.blockSize})}o(t.getBoundingClientRect())}));return r.observe(t,{box:"border-box"}),function(){r.unobserve(t)}}},c=function(e,n){var t=e.scrollElement;if(t){var o=function(){n({width:t.innerWidth,height:t.innerHeight})};return o(),t.addEventListener("resize",o,{passive:!0}),function(){t.removeEventListener("resize",o)}}},d=function(e,n){var t=e.scrollElement;if(t){var o=function(){n(t[e.options.horizontal?"scrollLeft":"scrollTop"])};return o(),t.addEventListener("scroll",o,{passive:!0}),function(){t.removeEventListener("scroll",o)}}},f=function(e,n){var t=e.scrollElement;if(t){var o=function(){n(t[e.options.horizontal?"scrollX":"scrollY"])};return o(),t.addEventListener("scroll",o,{passive:!0}),function(){t.removeEventListener("scroll",o)}}},h=function(e,n,t){if(null!=n&&n.borderBoxSize){var o=n.borderBoxSize[0];if(o)return Math.round(o[t.options.horizontal?"inlineSize":"blockSize"])}return Math.round(e.getBoundingClientRect()[t.options.horizontal?"width":"height"])},m=function(e,n,t){var o,r,i=n.adjustments,s=void 0===i?0:i,l=n.behavior,a=e+s;null==(o=t.scrollElement)||null==o.scrollTo||o.scrollTo(((r={})[t.options.horizontal?"left":"top"]=a,r.behavior=l,r))},g=function(e,n,t){var o,r,i=n.adjustments,s=void 0===i?0:i,l=n.behavior,a=e+s;null==(o=t.scrollElement)||null==o.scrollTo||o.scrollTo(((r={})[t.options.horizontal?"left":"top"]=a,r.behavior=l,r))},v=function(e){var n,t,u=this;this.unsubs=[],this.scrollElement=null,this.isScrolling=!1,this.isScrollingTimeoutId=null,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollDirection=null,this.scrollAdjustments=0,this.measureElementCache=new Map,this.observer=(n=null,t=function(){return n||("undefined"!=typeof ResizeObserver?n=new ResizeObserver((function(e){e.forEach((function(e){u._measureElement(e.target,e)}))})):null)},{disconnect:function(){var e;return null==(e=t())?void 0:e.disconnect()},observe:function(e){var n;return null==(n=t())?void 0:n.observe(e,{box:"border-box"})},unobserve:function(e){var n;return null==(n=t())?void 0:n.unobserve(e)}}),this.range=null,this.setOptions=function(e){Object.entries(e).forEach((function(n){var t=n[0];void 0===n[1]&&delete e[t]})),u.options=o({debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:l,rangeExtractor:a,onChange:function(){},measureElement:h,initialRect:{width:0,height:0},scrollMargin:0,scrollingDelay:150,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1},e)},this.notify=function(e){null==u.options.onChange||u.options.onChange(u,e)},this.maybeNotify=r((function(){return u.calculateRange(),[u.isScrolling,u.range?u.range.startIndex:null,u.range?u.range.endIndex:null]}),(function(e){u.notify(e)}),{key:!1,debug:function(){return u.options.debug},initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=function(){u.unsubs.filter(Boolean).forEach((function(e){return e()})),u.unsubs=[],u.scrollElement=null},this._didMount=function(){return u.measureElementCache.forEach(u.observer.observe),function(){u.observer.disconnect(),u.cleanup()}},this._willUpdate=function(){var e=u.options.getScrollElement();u.scrollElement!==e&&(u.cleanup(),u.scrollElement=e,u._scrollToOffset(u.scrollOffset,{adjustments:void 0,behavior:void 0}),u.unsubs.push(u.options.observeElementRect(u,(function(e){u.scrollRect=e,u.maybeNotify()}))),u.unsubs.push(u.options.observeElementOffset(u,(function(e){u.scrollAdjustments=0,u.scrollOffset!==e&&(null!==u.isScrollingTimeoutId&&(clearTimeout(u.isScrollingTimeoutId),u.isScrollingTimeoutId=null),u.isScrolling=!0,u.scrollDirection=u.scrollOffset<e?"forward":"backward",u.scrollOffset=e,u.maybeNotify(),u.isScrollingTimeoutId=setTimeout((function(){u.isScrollingTimeoutId=null,u.isScrolling=!1,u.scrollDirection=null,u.maybeNotify()}),u.options.scrollingDelay))}))))},this.getSize=function(){return u.scrollRect[u.options.horizontal?"width":"height"]},this.memoOptions=r((function(){return[u.options.count,u.options.paddingStart,u.options.scrollMargin,u.options.getItemKey]}),(function(e,n,t,o){return u.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:n,scrollMargin:t,getItemKey:o}}),{key:!1}),this.getFurthestMeasurement=function(e,n){for(var t=new Map,o=new Map,r=n-1;r>=0;r--){var i=e[r];if(!t.has(i.lane)){var s=o.get(i.lane);if(null==s||i.end>s.end?o.set(i.lane,i):i.end<s.end&&t.set(i.lane,!0),t.size===u.options.lanes)break}}return o.size===u.options.lanes?Array.from(o.values()).sort((function(e,n){return e.end-n.end}))[0]:void 0},this.getMeasurements=r((function(){return[u.memoOptions(),u.itemSizeCache]}),(function(e,n){var t=e.count,o=e.paddingStart,r=e.scrollMargin,i=e.getItemKey,s=u.pendingMeasuredCacheIndexes.length>0?Math.min.apply(Math,u.pendingMeasuredCacheIndexes):0;u.pendingMeasuredCacheIndexes=[];for(var l=u.measurementsCache.slice(0,s),a=s;a<t;a++){var c=i(a),d=1===u.options.lanes?l[a-1]:u.getFurthestMeasurement(l,a),f=d?d.end:o+r,h=n.get(c),m="number"==typeof h?h:u.options.estimateSize(a),g=f+m,v=d?d.lane:a%u.options.lanes;l[a]={index:a,start:f,size:m,end:g,key:c,lane:v}}return u.measurementsCache=l,l}),{key:!1,debug:function(){return u.options.debug}}),this.calculateRange=r((function(){return[u.getMeasurements(),u.getSize(),u.scrollOffset]}),(function(e,n,t){return u.range=e.length>0&&n>0?function(e){var n=e.measurements,t=e.outerSize,o=e.scrollOffset,r=n.length-1,i=function(e){return n[e].start},s=p(0,r,i,o),l=s;for(;l<r&&n[l].end<o+t;)l++;return{startIndex:s,endIndex:l}}({measurements:e,outerSize:n,scrollOffset:t}):null}),{key:!1,debug:function(){return u.options.debug}}),this.getIndexes=r((function(){return[u.options.rangeExtractor,u.calculateRange(),u.options.overscan,u.options.count]}),(function(e,n,t,r){return null===n?[]:e(o({},n,{overscan:t,count:r}))}),{key:!1,debug:function(){return u.options.debug}}),this.indexFromElement=function(e){var n=u.options.indexAttribute,t=e.getAttribute(n);return t?parseInt(t,10):(console.warn("Missing attribute name '"+n+"={index}' on measured element."),-1)},this._measureElement=function(e,n){var t=u.measurementsCache[u.indexFromElement(e)];if(t&&e.isConnected){var o=u.measureElementCache.get(t.key);o!==e&&(o&&u.observer.unobserve(o),u.observer.observe(e),u.measureElementCache.set(t.key,e));var r=u.options.measureElement(e,n,u);u.resizeItem(t,r)}else u.measureElementCache.forEach((function(n,t){n===e&&(u.observer.unobserve(e),u.measureElementCache.delete(t))}))},this.resizeItem=function(e,n){var t,o=n-(null!=(t=u.itemSizeCache.get(e.key))?t:e.size);0!==o&&(e.start<u.scrollOffset&&u._scrollToOffset(u.scrollOffset,{adjustments:u.scrollAdjustments+=o,behavior:void 0}),u.pendingMeasuredCacheIndexes.push(e.index),u.itemSizeCache=new Map(u.itemSizeCache.set(e.key,n)),u.notify(!1))},this.measureElement=function(e){e&&u._measureElement(e,void 0)},this.getVirtualItems=r((function(){return[u.getIndexes(),u.getMeasurements()]}),(function(e,n){for(var t=[],o=0,r=e.length;o<r;o++){var i=n[e[o]];t.push(i)}return t}),{key:!1,debug:function(){return u.options.debug}}),this.getVirtualItemForOffset=function(e){var n=u.getMeasurements();return i(n[p(0,n.length-1,(function(e){return i(n[e]).start}),e)])},this.getOffsetForAlignment=function(e,n){var t=u.getSize();"auto"===n&&(n=e<=u.scrollOffset?"start":e>=u.scrollOffset+t?"end":"start"),"start"===n||("end"===n?e-=t:"center"===n&&(e-=t/2));var o=u.options.horizontal?"scrollWidth":"scrollHeight",r=(u.scrollElement?"document"in u.scrollElement?u.scrollElement.document.documentElement[o]:u.scrollElement[o]:0)-u.getSize();return Math.max(Math.min(r,e),0)},this.getOffsetForIndex=function(e,n){void 0===n&&(n="auto"),e=Math.max(0,Math.min(e,u.options.count-1));var t=i(u.getMeasurements()[e]);if("auto"===n)if(t.end>=u.scrollOffset+u.getSize()-u.options.scrollPaddingEnd)n="end";else{if(!(t.start<=u.scrollOffset+u.options.scrollPaddingStart))return[u.scrollOffset,n];n="start"}var o="end"===n?t.end+u.options.scrollPaddingEnd:t.start-u.options.scrollPaddingStart;return[u.getOffsetForAlignment(o,n),n]},this.isDynamicMode=function(){return u.measureElementCache.size>0},this.cancelScrollToIndex=function(){null!==u.scrollToIndexTimeoutId&&(clearTimeout(u.scrollToIndexTimeoutId),u.scrollToIndexTimeoutId=null)},this.scrollToOffset=function(e,n){var t=void 0===n?{}:n,o=t.align,r=void 0===o?"start":o,i=t.behavior;u.cancelScrollToIndex(),"smooth"===i&&u.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),u._scrollToOffset(u.getOffsetForAlignment(e,r),{adjustments:void 0,behavior:i})},this.scrollToIndex=function(e,n){var t=void 0===n?{}:n,o=t.align,r=void 0===o?"auto":o,i=t.behavior;e=Math.max(0,Math.min(e,u.options.count-1)),u.cancelScrollToIndex(),"smooth"===i&&u.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.");var l=u.getOffsetForIndex(e,r),a=l[0],c=l[1];u._scrollToOffset(a,{adjustments:void 0,behavior:i}),"smooth"!==i&&u.isDynamicMode()&&(u.scrollToIndexTimeoutId=setTimeout((function(){if(u.scrollToIndexTimeoutId=null,u.measureElementCache.has(u.options.getItemKey(e))){var n=u.getOffsetForIndex(e,c)[0];s(n,u.scrollOffset)||u.scrollToIndex(e,{align:c,behavior:i})}else u.scrollToIndex(e,{align:c,behavior:i})})))},this.scrollBy=function(e,n){var t=(void 0===n?{}:n).behavior;u.cancelScrollToIndex(),"smooth"===t&&u.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),u._scrollToOffset(u.scrollOffset+e,{adjustments:void 0,behavior:t})},this.getTotalSize=function(){var e;return((null==(e=u.getMeasurements()[u.options.count-1])?void 0:e.end)||u.options.paddingStart)-u.options.scrollMargin+u.options.paddingEnd},this._scrollToOffset=function(e,n){var t=n.adjustments,o=n.behavior;u.options.scrollToFn(e,{behavior:o,adjustments:t},u)},this.measure=function(){u.itemSizeCache=new Map,u.notify(!1)},this.setOptions(e),this.scrollRect=this.options.initialRect,this.scrollOffset=this.options.initialOffset,this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach((function(e){u.itemSizeCache.set(e.key,e.size)})),this.maybeNotify()},p=function(e,n,t,o){for(;e<=n;){var r=(e+n)/2|0,i=t(r);if(i<o)e=r+1;else{if(!(i>o))return r;n=r-1}}return e>0?e-1:0};
32
+ /**
33
+ * virtual-core
34
+ *
35
+ * Copyright (c) TanStack
36
+ *
37
+ * This source code is licensed under the MIT license found in the
38
+ * LICENSE.md file in the root directory of this source tree.
39
+ *
40
+ * @license MIT
41
+ */function b(e){var o=n.mergeProps(e),r=new v(o),i=t.createStore(r.getVirtualItems()),s=i[0],l=i[1],a=n.createSignal(r.getTotalSize()),u=a[0],c=a[1],d=new Proxy(r,{get:function(e,n){switch(n){case"getVirtualItems":return function(){return s};case"getTotalSize":return function(){return u()};default:return Reflect.get(e,n)}}});return d.setOptions(o),n.onMount((function(){var e=d._didMount();d._willUpdate(),n.onCleanup(e)})),n.createComputed((function(){d.setOptions(n.mergeProps(o,e,{onChange:function(n,o){n._willUpdate(),l(t.reconcile(n.getVirtualItems(),{key:"index"})),c(n.getTotalSize()),null==e.onChange||e.onChange(n,o)}})),d.measure()})),d}e.Virtualizer=v,e.approxEqual=s,e.createVirtualizer=function(e){return b(n.mergeProps({observeElementRect:u,observeElementOffset:d,scrollToFn:g},e))},e.createWindowVirtualizer=function(e){return b(n.mergeProps({getScrollElement:function(){return"undefined"!=typeof document?window:null},observeElementRect:c,observeElementOffset:f,scrollToFn:m,initialOffset:"undefined"!=typeof document?window.scrollY:void 0},e))},e.defaultKeyExtractor=l,e.defaultRangeExtractor=a,e.elementScroll=g,e.measureElement=h,e.memo=r,e.notUndefined=i,e.observeElementOffset=d,e.observeElementRect=u,e.observeWindowOffset=f,e.observeWindowRect=c,e.windowScroll=m,Object.defineProperty(e,"__esModule",{value:!0})}));
22
42
  //# 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 */\nvar props = [\"bottom\", \"height\", \"left\", \"right\", \"top\", \"width\"];\n\nvar rectChanged = function rectChanged(a, b) {\n if (a === void 0) {\n a = {};\n }\n\n if (b === void 0) {\n b = {};\n }\n\n return props.some(function (prop) {\n return a[prop] !== b[prop];\n });\n};\n\nvar observedNodes = /*#__PURE__*/new Map();\nvar rafId;\n\nvar run = function run() {\n var changedStates = [];\n observedNodes.forEach(function (state, node) {\n var newRect = node.getBoundingClientRect();\n\n if (rectChanged(newRect, state.rect)) {\n state.rect = newRect;\n changedStates.push(state);\n }\n });\n changedStates.forEach(function (state) {\n state.callbacks.forEach(function (cb) {\n return cb(state.rect);\n });\n });\n rafId = window.requestAnimationFrame(run);\n};\n\nfunction observeRect(node, cb) {\n return {\n observe: function observe() {\n var wasEmpty = observedNodes.size === 0;\n\n if (observedNodes.has(node)) {\n observedNodes.get(node).callbacks.push(cb);\n } else {\n observedNodes.set(node, {\n rect: undefined,\n hasRectChanged: false,\n callbacks: [cb]\n });\n }\n\n if (wasEmpty) run();\n },\n unobserve: function unobserve() {\n var state = observedNodes.get(node);\n\n if (state) {\n // Remove the callback\n var index = state.callbacks.indexOf(cb);\n if (index >= 0) state.callbacks.splice(index, 1); // Remove the node reference\n\n if (!state.callbacks.length) observedNodes[\"delete\"](node); // Stop the loop\n\n if (!observedNodes.size) cancelAnimationFrame(rafId);\n }\n }\n };\n}\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 onResize = memoRectCallback(instance, cb);\n const observer = observeRect(instance.scrollElement, rect => {\n onResize(rect);\n });\n\n if (!instance.scrollElement) {\n return;\n }\n\n onResize(instance.scrollElement.getBoundingClientRect());\n observer.observe();\n return () => {\n observer.unobserve();\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 cb(instance.scrollElement[instance.options.horizontal ? propX : propY]);\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 element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height'];\n};\nconst windowScroll = (offset, canSmooth, instance) => {\n var _instance$scrollEleme;\n (_instance$scrollEleme = instance.scrollElement) == null ? void 0 : _instance$scrollEleme.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: offset,\n behavior: canSmooth ? 'smooth' : undefined\n });\n};\nconst elementScroll = (offset, canSmooth, instance) => {\n var _instance$scrollEleme2;\n (_instance$scrollEleme2 = instance.scrollElement) == null ? void 0 : _instance$scrollEleme2.scrollTo({\n [instance.options.horizontal ? 'left' : 'top']: offset,\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.measurementsCache = [];\n this.itemMeasurementsCache = {};\n this.pendingMeasuredCacheIndexes = [];\n this.measureElementCache = {};\n\n this.setOptions = opts => {\n Object.entries(opts).forEach(_ref => {\n let [key, value] = _ref;\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 ...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 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 this.unsubs.push(this.options.observeElementRect(this, rect => {\n this.scrollRect = rect;\n this.notify();\n }));\n this.unsubs.push(this.options.observeElementOffset(this, offset => {\n this.scrollOffset = offset;\n this.notify();\n }));\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 === 'development' && 'getMeasurements',\n debug: () => this.options.debug\n });\n this.calculateRange = memo(() => [this.getMeasurements(), this.getSize(), this.scrollOffset], (measurements, outerSize, scrollOffset) => {\n return calculateRange({\n measurements,\n outerSize,\n scrollOffset\n });\n }, {\n key: process.env.NODE_ENV === 'development' && 'calculateRange',\n debug: () => this.options.debug\n });\n this.getIndexes = memo(() => [this.options.rangeExtractor, this.calculateRange(), 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 === 'development' && 'getIndexes'\n });\n this.getVirtualItems = memo(() => [this.getIndexes(), this.getMeasurements(), this.options.measureElement], (indexes, measurements, measureElement) => {\n const makeMeasureElement = index => measurableItem => {\n var _this$itemMeasurement;\n\n const item = this.measurementsCache[index];\n\n if (!measurableItem) {\n return;\n }\n\n const measuredItemSize = measureElement(measurableItem, 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 === 'development' && this.options.debug) {\n console.info('correction', measuredItemSize - itemSize);\n }\n\n if (!this.destinationOffset) {\n this._scrollToOffset(this.scrollOffset + (measuredItemSize - itemSize), 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 const virtualItems = [];\n const currentMeasureElements = {};\n\n for (let k = 0, len = indexes.length; k < len; k++) {\n var _this$measureElementC;\n\n const i = indexes[k];\n const measurement = measurements[i];\n const item = { ...measurement,\n measureElement: currentMeasureElements[i] = (_this$measureElementC = this.measureElementCache[i]) != null ? _this$measureElementC : makeMeasureElement(i)\n };\n virtualItems.push(item);\n }\n\n this.measureElementCache = currentMeasureElements;\n return virtualItems;\n }, {\n key: process.env.NODE_ENV === 'development' && 'getIndexes'\n });\n\n this.scrollToOffset = function (toOffset, _temp) {\n let {\n align\n } = _temp === void 0 ? {\n align: 'start'\n } : _temp;\n\n const attempt = () => {\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 if (align === 'start') {\n _this._scrollToOffset(toOffset, true);\n } else if (align === 'end') {\n _this._scrollToOffset(toOffset - size, true);\n } else if (align === 'center') {\n _this._scrollToOffset(toOffset - size / 2, true);\n }\n };\n\n attempt();\n requestAnimationFrame(() => {\n attempt();\n });\n };\n\n this.scrollToIndex = function (index, _temp2) {\n let {\n align,\n ...rest\n } = _temp2 === void 0 ? {\n align: 'auto'\n } : _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 ...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, canSmooth) => {\n clearTimeout(this.scrollCheckFrame);\n this.destinationOffset = offset;\n this.options.scrollToFn(offset, this.options.enableSmoothScroll && canSmooth, 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 }\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(_ref2) {\n let {\n measurements,\n outerSize,\n scrollOffset\n } = _ref2;\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 = unknown>(\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 = unknown>(\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 = unknown>(\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":["rafId","props","observedNodes","Map","run","changedStates","forEach","state","node","a","b","newRect","getBoundingClientRect","rect","some","prop","push","callbacks","cb","window","requestAnimationFrame","memo","getDeps","fn","opts","result","deps","depTime","key","debug","Date","now","newDeps","length","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","memoRectCallback","instance","prev","height","width","options","horizontal","observeElementRect","onResize","observer","observe","wasEmpty","size","has","get","set","undefined","hasRectChanged","unobserve","indexOf","splice","cancelAnimationFrame","observeRect","scrollElement","observeWindowRect","memoizedCallback","innerWidth","innerHeight","addEventListener","capture","passive","removeEventListener","scrollProps","element","createOffsetObserver","mode","propX","propY","prevX","prevY","scroll","onScroll","e","target","currentTarget","scrollX","scrollY","observeElementOffset","observeWindowOffset","measureElement","windowScroll","offset","canSmooth","_instance$scrollEleme","scrollTo","behavior","elementScroll","_instance$scrollEleme2","Virtualizer","constructor","_opts","_this","this","unsubs","measurementsCache","itemMeasurementsCache","pendingMeasuredCacheIndexes","measureElementCache","setOptions","Object","entries","_ref","value","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","getItemKey","rangeExtractor","enableSmoothScroll","initialRect","notify","_this$options$onChang","_this$options","call","cleanup","filter","Boolean","d","_didMount","_willUpdate","getScrollElement","scrollRect","scrollOffset","getSize","getMeasurements","measurements","slice","measuredSize","estimateSize","calculateRange","outerSize","_ref2","low","high","getCurrentValue","middle","currentValue","findNearestBinarySearch","getIndexes","getVirtualItems","indexes","makeMeasureElement","measurableItem","_this$itemMeasurement","item","measuredItemSize","itemSize","destinationOffset","_scrollToOffset","virtualItems","currentMeasureElements","k","len","_this$measureElementC","scrollToOffset","toOffset","_temp","align","attempt","scrollToIndex","_temp2","rest","measurement","getTotalSize","_this$getMeasurements","scrollCheckFrame","clearTimeout","scrollToFn","check","lastOffset","setTimeout","measure","createVirtualizerBase","resolvedOptions","mergeProps","setVirtualItems","createStore","totalSize","setTotalSize","createSignal","virtualizer","Proxy","Reflect","onMount","onCleanup","createComputed","reconcile"],"mappings":"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"}
1
+ {"version":3,"file":"index.production.js","sources":["../../../virtual-core/build/lib/_virtual/_rollupPluginBabelHelpers.mjs","../../../virtual-core/build/lib/utils.mjs","../../../virtual-core/build/lib/index.mjs","../../src/index.tsx"],"sourcesContent":["/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nexport { _extends as extends };\n//# sourceMappingURL=_rollupPluginBabelHelpers.mjs.map\n","/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction memo(getDeps, fn, opts) {\n var _opts$initialDeps;\n var deps = (_opts$initialDeps = opts.initialDeps) != null ? _opts$initialDeps : [];\n var result;\n return function () {\n var depTime;\n if (opts.key && opts.debug != null && opts.debug()) depTime = Date.now();\n var newDeps = getDeps();\n var depsChanged = newDeps.length !== deps.length || newDeps.some(function (dep, index) {\n return deps[index] !== dep;\n });\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n var resultTime;\n if (opts.key && opts.debug != null && opts.debug()) resultTime = Date.now();\n result = fn.apply(void 0, newDeps);\n if (opts.key && opts.debug != null && opts.debug()) {\n var depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n var resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n var resultFpsPercentage = resultEndTime / 16;\n var pad = function pad(str, num) {\n str = String(str);\n while (str.length < num) {\n str = ' ' + str;\n }\n return str;\n };\n console.info(\"%c\\u23F1 \" + pad(resultEndTime, 5) + \" /\" + pad(depEndTime, 5) + \" ms\", \"\\n font-size: .6rem;\\n font-weight: bold;\\n color: hsl(\" + Math.max(0, Math.min(120 - 120 * resultFpsPercentage, 120)) + \"deg 100% 31%);\", opts == null ? void 0 : opts.key);\n }\n opts == null || opts.onChange == null || opts.onChange(result);\n return result;\n };\n}\nfunction notUndefined(value, msg) {\n if (value === undefined) {\n throw new Error(\"Unexpected undefined\" + (msg ? \": \" + msg : ''));\n } else {\n return value;\n }\n}\nvar approxEqual = function approxEqual(a, b) {\n return Math.abs(a - b) < 1;\n};\n\nexport { approxEqual, memo, notUndefined };\n//# sourceMappingURL=utils.mjs.map\n","/**\n * virtual-core\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { extends as _extends } from './_virtual/_rollupPluginBabelHelpers.mjs';\nimport { memo, notUndefined, approxEqual } from './utils.mjs';\nexport { approxEqual, memo, notUndefined } from './utils.mjs';\n\n//\n\n//\n\nvar defaultKeyExtractor = function defaultKeyExtractor(index) {\n return index;\n};\nvar defaultRangeExtractor = function defaultRangeExtractor(range) {\n var start = Math.max(range.startIndex - range.overscan, 0);\n var end = Math.min(range.endIndex + range.overscan, range.count - 1);\n var arr = [];\n for (var _i = start; _i <= end; _i++) {\n arr.push(_i);\n }\n return arr;\n};\nvar observeElementRect = function observeElementRect(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler(rect) {\n var width = rect.width,\n height = rect.height;\n cb({\n width: Math.round(width),\n height: Math.round(height)\n });\n };\n handler(element.getBoundingClientRect());\n var observer = new ResizeObserver(function (entries) {\n var entry = entries[0];\n if (entry != null && entry.borderBoxSize) {\n var box = entry.borderBoxSize[0];\n if (box) {\n handler({\n width: box.inlineSize,\n height: box.blockSize\n });\n return;\n }\n }\n handler(element.getBoundingClientRect());\n });\n observer.observe(element, {\n box: 'border-box'\n });\n return function () {\n observer.unobserve(element);\n };\n};\nvar observeWindowRect = function observeWindowRect(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb({\n width: element.innerWidth,\n height: element.innerHeight\n });\n };\n handler();\n element.addEventListener('resize', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('resize', handler);\n };\n};\nvar observeElementOffset = function observeElementOffset(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb(element[instance.options.horizontal ? 'scrollLeft' : 'scrollTop']);\n };\n handler();\n element.addEventListener('scroll', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', handler);\n };\n};\nvar observeWindowOffset = function observeWindowOffset(instance, cb) {\n var element = instance.scrollElement;\n if (!element) {\n return;\n }\n var handler = function handler() {\n cb(element[instance.options.horizontal ? 'scrollX' : 'scrollY']);\n };\n handler();\n element.addEventListener('scroll', handler, {\n passive: true\n });\n return function () {\n element.removeEventListener('scroll', handler);\n };\n};\nvar measureElement = function measureElement(element, entry, instance) {\n if (entry != null && entry.borderBoxSize) {\n var box = entry.borderBoxSize[0];\n if (box) {\n var size = Math.round(box[instance.options.horizontal ? 'inlineSize' : 'blockSize']);\n return size;\n }\n }\n return Math.round(element.getBoundingClientRect()[instance.options.horizontal ? 'width' : 'height']);\n};\nvar windowScroll = function windowScroll(offset, _ref, instance) {\n var _instance$scrollEleme, _instance$scrollEleme2;\n var _ref$adjustments = _ref.adjustments,\n adjustments = _ref$adjustments === void 0 ? 0 : _ref$adjustments,\n behavior = _ref.behavior;\n var toOffset = offset + adjustments;\n (_instance$scrollEleme = instance.scrollElement) == null || _instance$scrollEleme.scrollTo == null || _instance$scrollEleme.scrollTo((_instance$scrollEleme2 = {}, _instance$scrollEleme2[instance.options.horizontal ? 'left' : 'top'] = toOffset, _instance$scrollEleme2.behavior = behavior, _instance$scrollEleme2));\n};\nvar elementScroll = function elementScroll(offset, _ref2, instance) {\n var _instance$scrollEleme3, _instance$scrollEleme4;\n var _ref2$adjustments = _ref2.adjustments,\n adjustments = _ref2$adjustments === void 0 ? 0 : _ref2$adjustments,\n behavior = _ref2.behavior;\n var toOffset = offset + adjustments;\n (_instance$scrollEleme3 = instance.scrollElement) == null || _instance$scrollEleme3.scrollTo == null || _instance$scrollEleme3.scrollTo((_instance$scrollEleme4 = {}, _instance$scrollEleme4[instance.options.horizontal ? 'left' : 'top'] = toOffset, _instance$scrollEleme4.behavior = behavior, _instance$scrollEleme4));\n};\nvar Virtualizer = function Virtualizer(_opts) {\n var _this = this;\n this.unsubs = [];\n this.scrollElement = null;\n this.isScrolling = false;\n this.isScrollingTimeoutId = null;\n this.scrollToIndexTimeoutId = null;\n this.measurementsCache = [];\n this.itemSizeCache = new Map();\n this.pendingMeasuredCacheIndexes = [];\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.measureElementCache = new Map();\n this.observer = function () {\n var _ro = null;\n var get = function get() {\n if (_ro) {\n return _ro;\n } else if (typeof ResizeObserver !== 'undefined') {\n return _ro = new ResizeObserver(function (entries) {\n entries.forEach(function (entry) {\n _this._measureElement(entry.target, entry);\n });\n });\n } else {\n return null;\n }\n };\n return {\n disconnect: function disconnect() {\n var _get;\n return (_get = get()) == null ? void 0 : _get.disconnect();\n },\n observe: function observe(target) {\n var _get2;\n return (_get2 = get()) == null ? void 0 : _get2.observe(target, {\n box: 'border-box'\n });\n },\n unobserve: function unobserve(target) {\n var _get3;\n return (_get3 = get()) == null ? void 0 : _get3.unobserve(target);\n }\n };\n }();\n this.range = null;\n this.setOptions = function (opts) {\n Object.entries(opts).forEach(function (_ref3) {\n var key = _ref3[0],\n value = _ref3[1];\n if (typeof value === 'undefined') delete opts[key];\n });\n _this.options = _extends({\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: function onChange() {},\n measureElement: measureElement,\n initialRect: {\n width: 0,\n height: 0\n },\n scrollMargin: 0,\n scrollingDelay: 150,\n indexAttribute: 'data-index',\n initialMeasurementsCache: [],\n lanes: 1\n }, opts);\n };\n this.notify = function (sync) {\n _this.options.onChange == null || _this.options.onChange(_this, sync);\n };\n this.maybeNotify = memo(function () {\n _this.calculateRange();\n return [_this.isScrolling, _this.range ? _this.range.startIndex : null, _this.range ? _this.range.endIndex : null];\n }, function (isScrolling) {\n _this.notify(isScrolling);\n }, {\n key: process.env.NODE_ENV !== 'production' && 'maybeNotify',\n debug: function debug() {\n return _this.options.debug;\n },\n initialDeps: [this.isScrolling, this.range ? this.range.startIndex : null, this.range ? this.range.endIndex : null]\n });\n this.cleanup = function () {\n _this.unsubs.filter(Boolean).forEach(function (d) {\n return d();\n });\n _this.unsubs = [];\n _this.scrollElement = null;\n };\n this._didMount = function () {\n _this.measureElementCache.forEach(_this.observer.observe);\n return function () {\n _this.observer.disconnect();\n _this.cleanup();\n };\n };\n this._willUpdate = function () {\n var scrollElement = _this.options.getScrollElement();\n if (_this.scrollElement !== scrollElement) {\n _this.cleanup();\n _this.scrollElement = scrollElement;\n _this._scrollToOffset(_this.scrollOffset, {\n adjustments: undefined,\n behavior: undefined\n });\n _this.unsubs.push(_this.options.observeElementRect(_this, function (rect) {\n _this.scrollRect = rect;\n _this.maybeNotify();\n }));\n _this.unsubs.push(_this.options.observeElementOffset(_this, function (offset) {\n _this.scrollAdjustments = 0;\n if (_this.scrollOffset === offset) {\n return;\n }\n if (_this.isScrollingTimeoutId !== null) {\n clearTimeout(_this.isScrollingTimeoutId);\n _this.isScrollingTimeoutId = null;\n }\n _this.isScrolling = true;\n _this.scrollDirection = _this.scrollOffset < offset ? 'forward' : 'backward';\n _this.scrollOffset = offset;\n _this.maybeNotify();\n _this.isScrollingTimeoutId = setTimeout(function () {\n _this.isScrollingTimeoutId = null;\n _this.isScrolling = false;\n _this.scrollDirection = null;\n _this.maybeNotify();\n }, _this.options.scrollingDelay);\n }));\n }\n };\n this.getSize = function () {\n return _this.scrollRect[_this.options.horizontal ? 'width' : 'height'];\n };\n this.memoOptions = memo(function () {\n return [_this.options.count, _this.options.paddingStart, _this.options.scrollMargin, _this.options.getItemKey];\n }, function (count, paddingStart, scrollMargin, getItemKey) {\n _this.pendingMeasuredCacheIndexes = [];\n return {\n count: count,\n paddingStart: paddingStart,\n scrollMargin: scrollMargin,\n getItemKey: getItemKey\n };\n }, {\n key: false\n });\n this.getFurthestMeasurement = function (measurements, index) {\n var furthestMeasurementsFound = new Map();\n var furthestMeasurements = new Map();\n for (var m = index - 1; m >= 0; m--) {\n var measurement = measurements[m];\n if (furthestMeasurementsFound.has(measurement.lane)) {\n continue;\n }\n var previousFurthestMeasurement = furthestMeasurements.get(measurement.lane);\n if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {\n furthestMeasurements.set(measurement.lane, measurement);\n } else if (measurement.end < previousFurthestMeasurement.end) {\n furthestMeasurementsFound.set(measurement.lane, true);\n }\n if (furthestMeasurementsFound.size === _this.options.lanes) {\n break;\n }\n }\n return furthestMeasurements.size === _this.options.lanes ? Array.from(furthestMeasurements.values()).sort(function (a, b) {\n return a.end - b.end;\n })[0] : undefined;\n };\n this.getMeasurements = memo(function () {\n return [_this.memoOptions(), _this.itemSizeCache];\n }, function (_ref4, itemSizeCache) {\n var count = _ref4.count,\n paddingStart = _ref4.paddingStart,\n scrollMargin = _ref4.scrollMargin,\n getItemKey = _ref4.getItemKey;\n var min = _this.pendingMeasuredCacheIndexes.length > 0 ? Math.min.apply(Math, _this.pendingMeasuredCacheIndexes) : 0;\n _this.pendingMeasuredCacheIndexes = [];\n var measurements = _this.measurementsCache.slice(0, min);\n for (var _i2 = min; _i2 < count; _i2++) {\n var key = getItemKey(_i2);\n var furthestMeasurement = _this.options.lanes === 1 ? measurements[_i2 - 1] : _this.getFurthestMeasurement(measurements, _i2);\n var start = furthestMeasurement ? furthestMeasurement.end : paddingStart + scrollMargin;\n var measuredSize = itemSizeCache.get(key);\n var size = typeof measuredSize === 'number' ? measuredSize : _this.options.estimateSize(_i2);\n var end = start + size;\n var lane = furthestMeasurement ? furthestMeasurement.lane : _i2 % _this.options.lanes;\n measurements[_i2] = {\n index: _i2,\n start: start,\n size: size,\n end: end,\n key: key,\n lane: lane\n };\n }\n _this.measurementsCache = measurements;\n return measurements;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getMeasurements',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.calculateRange = memo(function () {\n return [_this.getMeasurements(), _this.getSize(), _this.scrollOffset];\n }, function (measurements, outerSize, scrollOffset) {\n return _this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({\n measurements: measurements,\n outerSize: outerSize,\n scrollOffset: scrollOffset\n }) : null;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'calculateRange',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.getIndexes = memo(function () {\n return [_this.options.rangeExtractor, _this.calculateRange(), _this.options.overscan, _this.options.count];\n }, function (rangeExtractor, range, overscan, count) {\n return range === null ? [] : rangeExtractor(_extends({}, range, {\n overscan: overscan,\n count: count\n }));\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.indexFromElement = function (node) {\n var attributeName = _this.options.indexAttribute;\n var indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\"Missing attribute name '\" + attributeName + \"={index}' on measured element.\");\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = function (node, entry) {\n var item = _this.measurementsCache[_this.indexFromElement(node)];\n if (!item || !node.isConnected) {\n _this.measureElementCache.forEach(function (cached, key) {\n if (cached === node) {\n _this.observer.unobserve(node);\n _this.measureElementCache[\"delete\"](key);\n }\n });\n return;\n }\n var prevNode = _this.measureElementCache.get(item.key);\n if (prevNode !== node) {\n if (prevNode) {\n _this.observer.unobserve(prevNode);\n }\n _this.observer.observe(node);\n _this.measureElementCache.set(item.key, node);\n }\n var measuredItemSize = _this.options.measureElement(node, entry, _this);\n _this.resizeItem(item, measuredItemSize);\n };\n this.resizeItem = function (item, size) {\n var _this$itemSizeCache$g;\n var itemSize = (_this$itemSizeCache$g = _this.itemSizeCache.get(item.key)) != null ? _this$itemSizeCache$g : item.size;\n var delta = size - itemSize;\n if (delta !== 0) {\n if (item.start < _this.scrollOffset) {\n if (process.env.NODE_ENV !== 'production' && _this.options.debug) {\n console.info('correction', delta);\n }\n _this._scrollToOffset(_this.scrollOffset, {\n adjustments: _this.scrollAdjustments += delta,\n behavior: undefined\n });\n }\n _this.pendingMeasuredCacheIndexes.push(item.index);\n _this.itemSizeCache = new Map(_this.itemSizeCache.set(item.key, size));\n _this.notify(false);\n }\n };\n this.measureElement = function (node) {\n if (!node) {\n return;\n }\n _this._measureElement(node, undefined);\n };\n this.getVirtualItems = memo(function () {\n return [_this.getIndexes(), _this.getMeasurements()];\n }, function (indexes, measurements) {\n var virtualItems = [];\n for (var k = 0, len = indexes.length; k < len; k++) {\n var _i3 = indexes[k];\n var measurement = measurements[_i3];\n virtualItems.push(measurement);\n }\n return virtualItems;\n }, {\n key: process.env.NODE_ENV !== 'production' && 'getIndexes',\n debug: function debug() {\n return _this.options.debug;\n }\n });\n this.getVirtualItemForOffset = function (offset) {\n var measurements = _this.getMeasurements();\n return notUndefined(measurements[findNearestBinarySearch(0, measurements.length - 1, function (index) {\n return notUndefined(measurements[index]).start;\n }, offset)]);\n };\n this.getOffsetForAlignment = function (toOffset, align) {\n var size = _this.getSize();\n if (align === 'auto') {\n if (toOffset <= _this.scrollOffset) {\n align = 'start';\n } else if (toOffset >= _this.scrollOffset + size) {\n align = 'end';\n } else {\n align = 'start';\n }\n }\n if (align === 'start') {\n toOffset = toOffset;\n } else if (align === 'end') {\n toOffset = toOffset - size;\n } else if (align === 'center') {\n toOffset = toOffset - size / 2;\n }\n var scrollSizeProp = _this.options.horizontal ? 'scrollWidth' : 'scrollHeight';\n var scrollSize = _this.scrollElement ? 'document' in _this.scrollElement ? _this.scrollElement.document.documentElement[scrollSizeProp] : _this.scrollElement[scrollSizeProp] : 0;\n var maxOffset = scrollSize - _this.getSize();\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = function (index, align) {\n if (align === void 0) {\n align = 'auto';\n }\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n var measurement = notUndefined(_this.getMeasurements()[index]);\n if (align === 'auto') {\n if (measurement.end >= _this.scrollOffset + _this.getSize() - _this.options.scrollPaddingEnd) {\n align = 'end';\n } else if (measurement.start <= _this.scrollOffset + _this.options.scrollPaddingStart) {\n align = 'start';\n } else {\n return [_this.scrollOffset, align];\n }\n }\n var toOffset = align === 'end' ? measurement.end + _this.options.scrollPaddingEnd : measurement.start - _this.options.scrollPaddingStart;\n return [_this.getOffsetForAlignment(toOffset, align), align];\n };\n this.isDynamicMode = function () {\n return _this.measureElementCache.size > 0;\n };\n this.cancelScrollToIndex = function () {\n if (_this.scrollToIndexTimeoutId !== null) {\n clearTimeout(_this.scrollToIndexTimeoutId);\n _this.scrollToIndexTimeoutId = null;\n }\n };\n this.scrollToOffset = function (toOffset, _temp) {\n var _ref5 = _temp === void 0 ? {} : _temp,\n _ref5$align = _ref5.align,\n align = _ref5$align === void 0 ? 'start' : _ref5$align,\n behavior = _ref5.behavior;\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n _this._scrollToOffset(_this.getOffsetForAlignment(toOffset, align), {\n adjustments: undefined,\n behavior: behavior\n });\n };\n this.scrollToIndex = function (index, _temp2) {\n var _ref6 = _temp2 === void 0 ? {} : _temp2,\n _ref6$align = _ref6.align,\n initialAlign = _ref6$align === void 0 ? 'auto' : _ref6$align,\n behavior = _ref6.behavior;\n index = Math.max(0, Math.min(index, _this.options.count - 1));\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n var _this$getOffsetForInd = _this.getOffsetForIndex(index, initialAlign),\n toOffset = _this$getOffsetForInd[0],\n align = _this$getOffsetForInd[1];\n _this._scrollToOffset(toOffset, {\n adjustments: undefined,\n behavior: behavior\n });\n if (behavior !== 'smooth' && _this.isDynamicMode()) {\n _this.scrollToIndexTimeoutId = setTimeout(function () {\n _this.scrollToIndexTimeoutId = null;\n var elementInDOM = _this.measureElementCache.has(_this.options.getItemKey(index));\n if (elementInDOM) {\n var _this$getOffsetForInd2 = _this.getOffsetForIndex(index, align),\n _toOffset = _this$getOffsetForInd2[0];\n if (!approxEqual(_toOffset, _this.scrollOffset)) {\n _this.scrollToIndex(index, {\n align: align,\n behavior: behavior\n });\n }\n } else {\n _this.scrollToIndex(index, {\n align: align,\n behavior: behavior\n });\n }\n });\n }\n };\n this.scrollBy = function (delta, _temp3) {\n var _ref7 = _temp3 === void 0 ? {} : _temp3,\n behavior = _ref7.behavior;\n _this.cancelScrollToIndex();\n if (behavior === 'smooth' && _this.isDynamicMode()) {\n console.warn('The `smooth` scroll behavior is not fully supported with dynamic size.');\n }\n _this._scrollToOffset(_this.scrollOffset + delta, {\n adjustments: undefined,\n behavior: behavior\n });\n };\n this.getTotalSize = function () {\n var _this$getMeasurements;\n return (((_this$getMeasurements = _this.getMeasurements()[_this.options.count - 1]) == null ? void 0 : _this$getMeasurements.end) || _this.options.paddingStart) - _this.options.scrollMargin + _this.options.paddingEnd;\n };\n this._scrollToOffset = function (offset, _ref8) {\n var adjustments = _ref8.adjustments,\n behavior = _ref8.behavior;\n _this.options.scrollToFn(offset, {\n behavior: behavior,\n adjustments: adjustments\n }, _this);\n };\n this.measure = function () {\n _this.itemSizeCache = new Map();\n _this.notify(false);\n };\n this.setOptions(_opts);\n this.scrollRect = this.options.initialRect;\n this.scrollOffset = this.options.initialOffset;\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach(function (item) {\n _this.itemSizeCache.set(item.key, item.size);\n });\n this.maybeNotify();\n};\nvar findNearestBinarySearch = function findNearestBinarySearch(low, high, getCurrentValue, value) {\n while (low <= high) {\n var middle = (low + high) / 2 | 0;\n var currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange(_ref9) {\n var measurements = _ref9.measurements,\n outerSize = _ref9.outerSize,\n scrollOffset = _ref9.scrollOffset;\n var count = measurements.length - 1;\n var getOffset = function getOffset(index) {\n return measurements[index].start;\n };\n var startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n var endIndex = startIndex;\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n return {\n startIndex: startIndex,\n endIndex: endIndex\n };\n}\n\nexport { Virtualizer, defaultKeyExtractor, defaultRangeExtractor, elementScroll, measureElement, observeElementOffset, observeElementRect, observeWindowOffset, observeWindowRect, windowScroll };\n//# sourceMappingURL=index.mjs.map\n","import {\n elementScroll,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n PartialKeys,\n Virtualizer,\n VirtualizerOptions,\n windowScroll,\n} from '@tanstack/virtual-core'\nexport * from '@tanstack/virtual-core'\n\nimport {\n createSignal,\n onMount,\n onCleanup,\n createComputed,\n mergeProps,\n} from 'solid-js'\nimport { createStore, reconcile } from 'solid-js/store'\n\nfunction createVirtualizerBase<\n TScrollElement extends Element | Window,\n TItemElement extends Element,\n>(\n options: VirtualizerOptions<TScrollElement, TItemElement>,\n): Virtualizer<TScrollElement, TItemElement> {\n const resolvedOptions: VirtualizerOptions<TScrollElement, TItemElement> =\n mergeProps(options)\n\n const instance = new Virtualizer<TScrollElement, TItemElement>(\n resolvedOptions,\n )\n\n const [virtualItems, setVirtualItems] = createStore(\n instance.getVirtualItems(),\n )\n const [totalSize, setTotalSize] = createSignal(instance.getTotalSize())\n\n const handler = {\n get(\n target: Virtualizer<TScrollElement, TItemElement>,\n prop: keyof Virtualizer<TScrollElement, TItemElement>,\n ) {\n switch (prop) {\n case 'getVirtualItems':\n return () => virtualItems\n case 'getTotalSize':\n return () => totalSize()\n default:\n return Reflect.get(target, prop)\n }\n },\n }\n\n const virtualizer = new Proxy(instance, handler)\n virtualizer.setOptions(resolvedOptions)\n\n onMount(() => {\n const cleanup = virtualizer._didMount()\n virtualizer._willUpdate()\n onCleanup(cleanup)\n })\n\n createComputed(() => {\n virtualizer.setOptions(\n mergeProps(resolvedOptions, options, {\n onChange: (\n instance: Virtualizer<TScrollElement, TItemElement>,\n sync: boolean,\n ) => {\n instance._willUpdate()\n setVirtualItems(\n reconcile(instance.getVirtualItems(), {\n key: 'index',\n }),\n )\n setTotalSize(instance.getTotalSize())\n options.onChange?.(instance, sync)\n },\n }),\n )\n virtualizer.measure()\n })\n\n return virtualizer\n}\n\nexport function createVirtualizer<\n TScrollElement extends Element,\n TItemElement extends Element,\n>(\n options: PartialKeys<\n VirtualizerOptions<TScrollElement, TItemElement>,\n 'observeElementRect' | 'observeElementOffset' | 'scrollToFn'\n >,\n): Virtualizer<TScrollElement, TItemElement> {\n return createVirtualizerBase<TScrollElement, TItemElement>(\n mergeProps(\n {\n observeElementRect: observeElementRect,\n observeElementOffset: observeElementOffset,\n scrollToFn: elementScroll,\n },\n options,\n ),\n )\n}\n\nexport function createWindowVirtualizer<TItemElement extends Element>(\n options: PartialKeys<\n VirtualizerOptions<Window, TItemElement>,\n | 'getScrollElement'\n | 'observeElementRect'\n | 'observeElementOffset'\n | 'scrollToFn'\n >,\n): Virtualizer<Window, TItemElement> {\n return createVirtualizerBase<Window, TItemElement>(\n mergeProps(\n {\n getScrollElement: () =>\n typeof document !== 'undefined' ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset:\n typeof document !== 'undefined' ? window.scrollY : undefined,\n },\n options,\n ),\n )\n}\n"],"names":["_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","memo","getDeps","fn","opts","_opts$initialDeps","result","deps","initialDeps","depTime","debug","Date","now","resultTime","newDeps","some","dep","index","depEndTime","Math","round","resultEndTime","resultFpsPercentage","pad","str","num","String","console","info","max","min","onChange","notUndefined","value","msg","undefined","Error","approxEqual","a","b","abs","defaultKeyExtractor","defaultRangeExtractor","range","start","startIndex","overscan","end","endIndex","count","arr","_i","push","observeElementRect","instance","cb","element","scrollElement","handler","rect","width","height","getBoundingClientRect","observer","ResizeObserver","entries","entry","borderBoxSize","box","inlineSize","blockSize","observe","unobserve","observeWindowRect","innerWidth","innerHeight","addEventListener","passive","removeEventListener","observeElementOffset","options","horizontal","observeWindowOffset","measureElement","windowScroll","offset","_ref","_instance$scrollEleme","_instance$scrollEleme2","_ref$adjustments","adjustments","behavior","toOffset","scrollTo","elementScroll","_ref2","_instance$scrollEleme3","_instance$scrollEleme4","_ref2$adjustments","Virtualizer","_opts","_ro","get","_this","unsubs","isScrolling","isScrollingTimeoutId","scrollToIndexTimeoutId","measurementsCache","itemSizeCache","Map","pendingMeasuredCacheIndexes","scrollDirection","scrollAdjustments","measureElementCache","forEach","_measureElement","disconnect","_get","_get2","_get3","setOptions","_ref3","initialOffset","paddingStart","paddingEnd","scrollPaddingStart","scrollPaddingEnd","getItemKey","rangeExtractor","initialRect","scrollMargin","scrollingDelay","indexAttribute","initialMeasurementsCache","lanes","notify","sync","maybeNotify","calculateRange","cleanup","filter","Boolean","d","_didMount","_willUpdate","getScrollElement","_scrollToOffset","scrollOffset","scrollRect","clearTimeout","setTimeout","getSize","memoOptions","getFurthestMeasurement","measurements","furthestMeasurementsFound","furthestMeasurements","m","measurement","has","lane","previousFurthestMeasurement","set","size","Array","from","values","sort","getMeasurements","_ref4","slice","_i2","furthestMeasurement","measuredSize","estimateSize","outerSize","_ref9","getOffset","findNearestBinarySearch","getIndexes","indexFromElement","node","attributeName","indexStr","getAttribute","parseInt","warn","item","isConnected","prevNode","measuredItemSize","resizeItem","cached","_this$itemSizeCache$g","delta","getVirtualItems","indexes","virtualItems","k","len","getVirtualItemForOffset","getOffsetForAlignment","align","scrollSizeProp","maxOffset","document","documentElement","getOffsetForIndex","isDynamicMode","cancelScrollToIndex","scrollToOffset","_temp","_ref5","_ref5$align","scrollToIndex","_temp2","_ref6","_ref6$align","initialAlign","_this$getOffsetForInd","_toOffset","scrollBy","_temp3","getTotalSize","_this$getMeasurements","_ref8","scrollToFn","measure","low","high","getCurrentValue","middle","currentValue","createVirtualizerBase","resolvedOptions","mergeProps","_createStore","createStore","setVirtualItems","_createSignal","createSignal","totalSize","setTotalSize","virtualizer","Proxy","prop","Reflect","onMount","onCleanup","createComputed","reconcile","window","scrollY"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tanstack/solid-virtual",
3
3
  "author": "Tanner Linsley",
4
- "version": "3.0.0-beta.9",
4
+ "version": "3.0.0",
5
5
  "description": "Headless UI for virtualizing scrollable elements in Solid",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/tanstack/virtual#readme",
@@ -24,19 +24,30 @@
24
24
  "type": "github",
25
25
  "url": "https://github.com/sponsors/tannerlinsley"
26
26
  },
27
- "module": "build/esm/index.js",
28
- "main": "build/cjs/solid-virtual/src/index.js",
29
- "browser": "build/umd/index.production.js",
30
- "types": "build/types/index.d.ts",
31
- "sideEffects": false,
32
- "engines": {
33
- "node": ">=12"
27
+ "types": "build/lib/index.d.ts",
28
+ "main": "build/lib/index.js",
29
+ "module": "build/lib/index.esm.js",
30
+ "exports": {
31
+ ".": {
32
+ "types": "./build/lib/index.d.ts",
33
+ "import": "./build/lib/index.mjs",
34
+ "default": "./build/lib/index.js"
35
+ },
36
+ "./package.json": "./package.json"
34
37
  },
38
+ "sideEffects": false,
35
39
  "files": [
36
- "build",
40
+ "build/lib/*",
41
+ "build/umd/*",
37
42
  "src"
38
43
  ],
44
+ "devDependencies": {
45
+ "solid-js": "^1.3.15"
46
+ },
39
47
  "dependencies": {
40
- "@reach/observe-rect": "^1.1.0"
48
+ "@tanstack/virtual-core": "3.0.0"
49
+ },
50
+ "peerDependencies": {
51
+ "solid-js": "^1.3.0"
41
52
  }
42
- }
53
+ }