diff --git a/.changeset/clamped-commit-survives.md b/.changeset/clamped-commit-survives.md deleted file mode 100644 index 988490c79..000000000 --- a/.changeset/clamped-commit-survives.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/virtual-core': patch ---- - -fix(virtual-core): keep an instant scroll command clamped at a max the sizer committed outside a row resize - -Before an instant scroll command's write is reported, the browser can clamp it at a smaller scroll max that the sizer moves to without a row resize: an append or prepend, `measure()`, or a resize the sizer had not committed when the command was written. The virtualizer now also records the max at each commit, so such an event is read as its own clamped write and the command lands. A clamped write reported with `isScrolling` false is now written again too. diff --git a/.changeset/clamped-end-survives.md b/.changeset/clamped-end-survives.md deleted file mode 100644 index 50c85358f..000000000 --- a/.changeset/clamped-end-survives.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/virtual-core': patch ---- - -fix(virtual-core): keep an instant scroll command when the browser clamps its write before rows grow back - -Rows measured right after an instant `scrollToEnd()` (or `scrollToIndex`) can first shrink the sizer below the written position and then grow it again in the same task. The browser clamps the write to the smaller max, and the scroll event reports that position. It was read as the user scrolling away, so the command was cancelled and the list stopped short of the end (a chat opened with `estimateSize` larger than its rows). The virtualizer now follows the scroll max through those measurements and reads such an event as its own clamped write, so the command retargets and lands at the end. diff --git a/.changeset/ios-27-fling-and-command-stalls.md b/.changeset/ios-27-fling-and-command-stalls.md deleted file mode 100644 index bca081484..000000000 --- a/.changeset/ios-27-fling-and-command-stalls.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -'@tanstack/virtual-core': patch ---- - -fix(virtual-core): scroll commands and corrections that stalled or were lost (#1307) - -- On iOS 27 and later a `scrollTop` write no longer stops a fling but is overridden by it within a frame. A `scrollToIndex`, `scrollToOffset` or `scrollToEnd` issued during a fling now waits for the fling to end instead of being lost. The user taking over before then cancels it: a drag, a second flick, or a finger stopping the fling (iOS reports none of these with touch events while the fling runs). Corrections keep being held through the gesture as on every version. -- `scrollToOffset` / `scrollBy`: a row above the viewport growing after the write's read-back moved the element off the fixed target, and the command kept reconciling until the 5s safety valve. The target now moves with the correction. -- A prepend (`anchorTo: 'end'`) before the read-back of a scroll command was anchored against the stale offset and written over the command. It is now left to reconcile, like a resize in that window. -- A scroll event between the prepend's options change and the adapter's commit no longer loses the anchor (one blank frame when the element could not be written by commit time). -- A command's write clamped by a sizer that shrank below it before the read-back no longer reads as a user scroll; the command reaches its fresh target. diff --git a/.changeset/ios-fling-stop.md b/.changeset/ios-fling-stop.md deleted file mode 100644 index 43d1ae045..000000000 --- a/.changeset/ios-fling-stop.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/virtual-core': patch ---- - -fix(virtual-core): on iOS 27 and later, a scroll command issued during a fling takes effect at once - -A `scrollToIndex`, `scrollToOffset` or `scrollToEnd` issued during a fling waited for the fling to end, so a button outside the list (such as "jump to latest") did nothing until the list stopped. The command now stops the fling by hiding the scroll element's overflow for two frames, then restores the element's own inline value and writes. The user taking over before the write still cancels the command. diff --git a/.changeset/ios-gesture.md b/.changeset/ios-gesture.md deleted file mode 100644 index 3da4d8c33..000000000 --- a/.changeset/ios-gesture.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/virtual-core': patch ---- - -refactor(virtual-core): move the iOS touch gesture tracking into its own internal module. One fix along the way: changing the scroll element no longer carries over a pending iOS late-fling window, which could defer corrections on the new element for 150ms. diff --git a/.changeset/ios-touch-only-deferral.md b/.changeset/ios-touch-only-deferral.md deleted file mode 100644 index bd799ebdb..000000000 --- a/.changeset/ios-touch-only-deferral.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@tanstack/virtual-core': patch ---- - -fix(virtual-core): on iOS, defer scroll corrections only for touch-driven scrolls (a finger down, or the momentum after it), so a programmatic landing like `scrollToOffset` compensates before paint instead of snapping later diff --git a/.changeset/quiet-rows-hold.md b/.changeset/quiet-rows-hold.md deleted file mode 100644 index d856953bc..000000000 --- a/.changeset/quiet-rows-hold.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -'@tanstack/virtual-core': patch ---- - -fix(virtual-core): hold a scroll correction the element cannot take instead of writing it (#1287) - -A prepend's anchor delta or an above-viewport size change that lands while a `scrollTop` write is impossible (iOS during a touch gesture or its momentum tail, any WebKit while the element is rubber-banding past an edge) is now held: `scrollOffset` carries the corrected position, the rows and the total size are exposed shifted back by the held amount so every adapter keeps the reader's row where it is, and one write moves the element once a write is possible. Before, the write was discarded during the bounce on desktop Safari (the bounce stalled with the new rows and a blank top on screen), and on iOS the new rows showed through the bounce and snapped back at the flush. diff --git a/.changeset/scroll-state-refactor.md b/.changeset/scroll-state-refactor.md deleted file mode 100644 index ef7f885fc..000000000 --- a/.changeset/scroll-state-refactor.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -'@tanstack/virtual-core': patch ---- - -refactor(virtual-core): simplify the scroll-correction state (no behaviour change) - -- A scroll event is classified once (spurious re-emit, our own write's read-back, a clamped read-back or echo, or external) before the handler acts on it, a scroll command waiting for the iOS 27 momentum tail is a phase of its own, and the iOS touch gesture tracks a single `moved` flag. -- `scrollAdjustments` is deprecated: a correction is folded into `scrollOffset` at once, so it is always 0. Read `scrollOffset` alone; the getter stays. -- One edge case changes: corrections made while `enabled: false` used to accumulate, and a correction made after re-enabling but before the next update was added on top of them. They are no longer carried over. diff --git a/benchmarks/CHANGELOG.md b/benchmarks/CHANGELOG.md index ec841699e..1ef29643c 100644 --- a/benchmarks/CHANGELOG.md +++ b/benchmarks/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/virtual-benchmarks +## 0.0.23 + +### Patch Changes + +- Updated dependencies []: + - @tanstack/react-virtual@3.14.20 + ## 0.0.22 ### Patch Changes diff --git a/benchmarks/package.json b/benchmarks/package.json index 4eefdb6e2..6a6782a77 100644 --- a/benchmarks/package.json +++ b/benchmarks/package.json @@ -1,7 +1,7 @@ { "name": "@tanstack/virtual-benchmarks", "private": true, - "version": "0.0.22", + "version": "0.0.23", "type": "module", "scripts": { "dev": "vite", diff --git a/examples/angular/chat/package.json b/examples/angular/chat/package.json index d46de3d46..23c32e39b 100644 --- a/examples/angular/chat/package.json +++ b/examples/angular/chat/package.json @@ -17,7 +17,7 @@ "@angular/platform-browser": "^20.2.0", "@angular/platform-browser-dynamic": "^20.2.0", "@angular/router": "^20.2.0", - "@tanstack/angular-virtual": "^6.1.5", + "@tanstack/angular-virtual": "^6.1.6", "rxjs": "^7.8.2", "tslib": "^2.8.1", "zone.js": "0.15.1" diff --git a/examples/angular/dynamic/package.json b/examples/angular/dynamic/package.json index d958361d4..53ab83e14 100644 --- a/examples/angular/dynamic/package.json +++ b/examples/angular/dynamic/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser-dynamic": "^20.2.0", "@angular/router": "^20.2.0", "@faker-js/faker": "^8.4.1", - "@tanstack/angular-virtual": "^6.1.5", + "@tanstack/angular-virtual": "^6.1.6", "rxjs": "^7.8.2", "tslib": "^2.8.1", "zone.js": "0.15.1" diff --git a/examples/angular/fixed/package.json b/examples/angular/fixed/package.json index 7a539cab9..fb901148f 100644 --- a/examples/angular/fixed/package.json +++ b/examples/angular/fixed/package.json @@ -17,7 +17,7 @@ "@angular/platform-browser": "^20.2.0", "@angular/platform-browser-dynamic": "^20.2.0", "@angular/router": "^20.2.0", - "@tanstack/angular-virtual": "^6.1.5", + "@tanstack/angular-virtual": "^6.1.6", "rxjs": "^7.8.2", "tslib": "^2.8.1", "zone.js": "0.15.1" diff --git a/examples/angular/infinite-scroll/package.json b/examples/angular/infinite-scroll/package.json index a769185cb..2f8b126aa 100644 --- a/examples/angular/infinite-scroll/package.json +++ b/examples/angular/infinite-scroll/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser-dynamic": "^20.2.0", "@angular/router": "^20.2.0", "@tanstack/angular-query-experimental": "5.80.7", - "@tanstack/angular-virtual": "^6.1.5", + "@tanstack/angular-virtual": "^6.1.6", "rxjs": "^7.8.2", "tslib": "^2.8.1", "zone.js": "0.15.1" diff --git a/examples/angular/padding/package.json b/examples/angular/padding/package.json index e508efb44..23d3cae4a 100644 --- a/examples/angular/padding/package.json +++ b/examples/angular/padding/package.json @@ -17,7 +17,7 @@ "@angular/platform-browser": "^20.2.0", "@angular/platform-browser-dynamic": "^20.2.0", "@angular/router": "^20.2.0", - "@tanstack/angular-virtual": "^6.1.5", + "@tanstack/angular-virtual": "^6.1.6", "rxjs": "^7.8.2", "tslib": "^2.8.1", "zone.js": "0.15.1" diff --git a/examples/angular/smooth-scroll/package.json b/examples/angular/smooth-scroll/package.json index b778dea75..81696520a 100644 --- a/examples/angular/smooth-scroll/package.json +++ b/examples/angular/smooth-scroll/package.json @@ -17,7 +17,7 @@ "@angular/platform-browser": "^20.2.0", "@angular/platform-browser-dynamic": "^20.2.0", "@angular/router": "^20.2.0", - "@tanstack/angular-virtual": "^6.1.5", + "@tanstack/angular-virtual": "^6.1.6", "rxjs": "^7.8.2", "tslib": "^2.8.1", "zone.js": "0.15.1" diff --git a/examples/angular/sticky/package.json b/examples/angular/sticky/package.json index 22461be81..b984fb586 100644 --- a/examples/angular/sticky/package.json +++ b/examples/angular/sticky/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser-dynamic": "^20.2.0", "@angular/router": "^20.2.0", "@faker-js/faker": "^8.4.1", - "@tanstack/angular-virtual": "^6.1.5", + "@tanstack/angular-virtual": "^6.1.6", "rxjs": "^7.8.2", "tslib": "^2.8.1", "zone.js": "0.15.1" diff --git a/examples/angular/table/package.json b/examples/angular/table/package.json index 56be3f423..54a12d44f 100644 --- a/examples/angular/table/package.json +++ b/examples/angular/table/package.json @@ -19,7 +19,7 @@ "@angular/router": "^20.2.0", "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "8.21.3", - "@tanstack/angular-virtual": "^6.1.5", + "@tanstack/angular-virtual": "^6.1.6", "rxjs": "^7.8.2", "tslib": "^2.8.1", "zone.js": "0.15.1" diff --git a/examples/angular/variable/package.json b/examples/angular/variable/package.json index 3b12638b1..3d6e110fa 100644 --- a/examples/angular/variable/package.json +++ b/examples/angular/variable/package.json @@ -17,7 +17,7 @@ "@angular/platform-browser": "^20.2.0", "@angular/platform-browser-dynamic": "^20.2.0", "@angular/router": "^20.2.0", - "@tanstack/angular-virtual": "^6.1.5", + "@tanstack/angular-virtual": "^6.1.6", "rxjs": "^7.8.2", "tslib": "^2.8.1", "zone.js": "0.15.1" diff --git a/examples/angular/window/package.json b/examples/angular/window/package.json index fbec7ffa1..07d060876 100644 --- a/examples/angular/window/package.json +++ b/examples/angular/window/package.json @@ -17,7 +17,7 @@ "@angular/platform-browser": "^20.2.0", "@angular/platform-browser-dynamic": "^20.2.0", "@angular/router": "^20.2.0", - "@tanstack/angular-virtual": "^6.1.5", + "@tanstack/angular-virtual": "^6.1.6", "rxjs": "^7.8.2", "tslib": "^2.8.1", "zone.js": "0.15.1" diff --git a/examples/lit/dynamic/package.json b/examples/lit/dynamic/package.json index 2a7f9a4ee..3be1cb438 100644 --- a/examples/lit/dynamic/package.json +++ b/examples/lit/dynamic/package.json @@ -9,8 +9,8 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/lit-virtual": "^3.14.8", - "@tanstack/virtual-core": "^3.19.4", + "@tanstack/lit-virtual": "^3.14.9", + "@tanstack/virtual-core": "^3.19.5", "lit": "^3.3.0" }, "devDependencies": { diff --git a/examples/lit/fixed/package.json b/examples/lit/fixed/package.json index bcef5124d..8a22fde66 100644 --- a/examples/lit/fixed/package.json +++ b/examples/lit/fixed/package.json @@ -9,8 +9,8 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/lit-virtual": "^3.14.8", - "@tanstack/virtual-core": "^3.19.4", + "@tanstack/lit-virtual": "^3.14.9", + "@tanstack/virtual-core": "^3.19.5", "lit": "^3.3.0" }, "devDependencies": { diff --git a/examples/marko/chat-pretext/package.json b/examples/marko/chat-pretext/package.json index a953ef168..c573851d6 100644 --- a/examples/marko/chat-pretext/package.json +++ b/examples/marko/chat-pretext/package.json @@ -11,7 +11,7 @@ "dependencies": { "@chenglou/pretext": "^0.0.7", "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/chat/package.json b/examples/marko/chat/package.json index 3edc398c0..264cb5bd5 100644 --- a/examples/marko/chat/package.json +++ b/examples/marko/chat/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/dynamic/package.json b/examples/marko/dynamic/package.json index 4c5173fa4..bb869c435 100644 --- a/examples/marko/dynamic/package.json +++ b/examples/marko/dynamic/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/fixed/package.json b/examples/marko/fixed/package.json index e687930fa..97a00cc8a 100644 --- a/examples/marko/fixed/package.json +++ b/examples/marko/fixed/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/grid/package.json b/examples/marko/grid/package.json index 7616cbd10..d82d7ab10 100644 --- a/examples/marko/grid/package.json +++ b/examples/marko/grid/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/infinite-scroll/package.json b/examples/marko/infinite-scroll/package.json index 269ab81f8..7d09c810d 100644 --- a/examples/marko/infinite-scroll/package.json +++ b/examples/marko/infinite-scroll/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/padding/package.json b/examples/marko/padding/package.json index a36a28fb5..a38a348a4 100644 --- a/examples/marko/padding/package.json +++ b/examples/marko/padding/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/pretext/package.json b/examples/marko/pretext/package.json index 408061510..7fb812ab9 100644 --- a/examples/marko/pretext/package.json +++ b/examples/marko/pretext/package.json @@ -11,7 +11,7 @@ "dependencies": { "@chenglou/pretext": "^0.0.7", "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/scroll-padding/package.json b/examples/marko/scroll-padding/package.json index 0a808baae..c254a2ba8 100644 --- a/examples/marko/scroll-padding/package.json +++ b/examples/marko/scroll-padding/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/smooth-scroll/package.json b/examples/marko/smooth-scroll/package.json index fa96d4d28..6e94b6925 100644 --- a/examples/marko/smooth-scroll/package.json +++ b/examples/marko/smooth-scroll/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/ssr-fetch/package.json b/examples/marko/ssr-fetch/package.json index de466910b..24678cb5d 100644 --- a/examples/marko/ssr-fetch/package.json +++ b/examples/marko/ssr-fetch/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/ssr-restore/package.json b/examples/marko/ssr-restore/package.json index a86a6d5be..16d72d5ad 100644 --- a/examples/marko/ssr-restore/package.json +++ b/examples/marko/ssr-restore/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/ssr-slice/package.json b/examples/marko/ssr-slice/package.json index 9e02cd9b7..e739c2833 100644 --- a/examples/marko/ssr-slice/package.json +++ b/examples/marko/ssr-slice/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/ssr/package.json b/examples/marko/ssr/package.json index 50e376ca5..75a173f77 100644 --- a/examples/marko/ssr/package.json +++ b/examples/marko/ssr/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/sticky/package.json b/examples/marko/sticky/package.json index b8f0399fc..e606136ed 100644 --- a/examples/marko/sticky/package.json +++ b/examples/marko/sticky/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/table/package.json b/examples/marko/table/package.json index fcd1307bf..fe5178ff3 100644 --- a/examples/marko/table/package.json +++ b/examples/marko/table/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/variable/package.json b/examples/marko/variable/package.json index 38d26d10c..65fbe2bc0 100644 --- a/examples/marko/variable/package.json +++ b/examples/marko/variable/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/window-ssr-slice/package.json b/examples/marko/window-ssr-slice/package.json index f62284b3b..e200d461a 100644 --- a/examples/marko/window-ssr-slice/package.json +++ b/examples/marko/window-ssr-slice/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/marko/window/package.json b/examples/marko/window/package.json index ff1266e84..77e721a4c 100644 --- a/examples/marko/window/package.json +++ b/examples/marko/window/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@marko/run": "^0.10.0", - "@tanstack/marko-virtual": "^3.16.5", + "@tanstack/marko-virtual": "^3.16.6", "marko": "^6.2.2" }, "devDependencies": { diff --git a/examples/react/chat/package.json b/examples/react/chat/package.json index f1959bcc3..fb48b9877 100644 --- a/examples/react/chat/package.json +++ b/examples/react/chat/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@tanstack/react-query": "^5.80.7", - "@tanstack/react-virtual": "^3.14.19", + "@tanstack/react-virtual": "^3.14.20", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/dynamic/package.json b/examples/react/dynamic/package.json index 815876b35..22d54f244 100644 --- a/examples/react/dynamic/package.json +++ b/examples/react/dynamic/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/react-virtual": "^3.14.19", + "@tanstack/react-virtual": "^3.14.20", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/fixed/package.json b/examples/react/fixed/package.json index 0750df9e7..6a73083cc 100644 --- a/examples/react/fixed/package.json +++ b/examples/react/fixed/package.json @@ -8,7 +8,7 @@ "serve": "vite preview" }, "dependencies": { - "@tanstack/react-virtual": "^3.14.19", + "@tanstack/react-virtual": "^3.14.20", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/infinite-scroll/package.json b/examples/react/infinite-scroll/package.json index d31cbf47e..168e8d790 100644 --- a/examples/react/infinite-scroll/package.json +++ b/examples/react/infinite-scroll/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@tanstack/react-query": "^5.80.7", - "@tanstack/react-virtual": "^3.14.19", + "@tanstack/react-virtual": "^3.14.20", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/padding/package.json b/examples/react/padding/package.json index f26cbb9ce..69c2bf18d 100644 --- a/examples/react/padding/package.json +++ b/examples/react/padding/package.json @@ -9,7 +9,7 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-virtual": "^3.14.19", + "@tanstack/react-virtual": "^3.14.20", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/pretext/package.json b/examples/react/pretext/package.json index ffa1784b8..2cbbeb63a 100644 --- a/examples/react/pretext/package.json +++ b/examples/react/pretext/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@chenglou/pretext": "^0.0.7", - "@tanstack/react-virtual": "^3.14.19", + "@tanstack/react-virtual": "^3.14.20", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/scroll-padding/package.json b/examples/react/scroll-padding/package.json index ce29337d7..8129e0066 100644 --- a/examples/react/scroll-padding/package.json +++ b/examples/react/scroll-padding/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@react-hookz/web": "^25.1.1", - "@tanstack/react-virtual": "^3.14.19", + "@tanstack/react-virtual": "^3.14.20", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/smooth-scroll/package.json b/examples/react/smooth-scroll/package.json index 6ff15aa9f..99099fb3c 100644 --- a/examples/react/smooth-scroll/package.json +++ b/examples/react/smooth-scroll/package.json @@ -9,7 +9,7 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-virtual": "^3.14.19", + "@tanstack/react-virtual": "^3.14.20", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/sticky/package.json b/examples/react/sticky/package.json index a1084e831..8f5d798db 100644 --- a/examples/react/sticky/package.json +++ b/examples/react/sticky/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/react-virtual": "^3.14.19", + "@tanstack/react-virtual": "^3.14.20", "lodash": "^4.17.21", "react": "^19.2.7", "react-dom": "^19.2.7" diff --git a/examples/react/table/package.json b/examples/react/table/package.json index 5f4a4c607..9f3b6e88c 100644 --- a/examples/react/table/package.json +++ b/examples/react/table/package.json @@ -11,7 +11,7 @@ "dependencies": { "@faker-js/faker": "^8.4.1", "@tanstack/react-table": "^8.21.3", - "@tanstack/react-virtual": "^3.14.19", + "@tanstack/react-virtual": "^3.14.20", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/variable/package.json b/examples/react/variable/package.json index e213e1c4e..1934ffd93 100644 --- a/examples/react/variable/package.json +++ b/examples/react/variable/package.json @@ -9,7 +9,7 @@ "start": "vite" }, "dependencies": { - "@tanstack/react-virtual": "^3.14.19", + "@tanstack/react-virtual": "^3.14.20", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/react/window/package.json b/examples/react/window/package.json index 560ce09cf..6cf24c32e 100644 --- a/examples/react/window/package.json +++ b/examples/react/window/package.json @@ -8,7 +8,7 @@ "serve": "vite preview" }, "dependencies": { - "@tanstack/react-virtual": "^3.14.19", + "@tanstack/react-virtual": "^3.14.20", "react": "^19.2.7", "react-dom": "^19.2.7" }, diff --git a/examples/svelte/dynamic/package.json b/examples/svelte/dynamic/package.json index dfb6b95e6..16cefdd7a 100644 --- a/examples/svelte/dynamic/package.json +++ b/examples/svelte/dynamic/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/svelte-virtual": "^3.13.45" + "@tanstack/svelte-virtual": "^3.13.46" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.1.2", diff --git a/examples/svelte/fixed/package.json b/examples/svelte/fixed/package.json index 616c67a6b..d31ba4486 100644 --- a/examples/svelte/fixed/package.json +++ b/examples/svelte/fixed/package.json @@ -9,7 +9,7 @@ "check": "svelte-check --tsconfig ./tsconfig.json" }, "dependencies": { - "@tanstack/svelte-virtual": "^3.13.45" + "@tanstack/svelte-virtual": "^3.13.46" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.1.2", diff --git a/examples/svelte/infinite-scroll/package.json b/examples/svelte/infinite-scroll/package.json index c5d8a28fd..d2570afda 100644 --- a/examples/svelte/infinite-scroll/package.json +++ b/examples/svelte/infinite-scroll/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@tanstack/svelte-query": "^5.80.7", - "@tanstack/svelte-virtual": "^3.13.45" + "@tanstack/svelte-virtual": "^3.13.46" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.1.2", diff --git a/examples/svelte/smooth-scroll/package.json b/examples/svelte/smooth-scroll/package.json index 653ef6b29..adb25efc8 100644 --- a/examples/svelte/smooth-scroll/package.json +++ b/examples/svelte/smooth-scroll/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/svelte-virtual": "^3.13.45" + "@tanstack/svelte-virtual": "^3.13.46" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.1.2", diff --git a/examples/svelte/sticky/package.json b/examples/svelte/sticky/package.json index 5fe990588..9973ba0f0 100644 --- a/examples/svelte/sticky/package.json +++ b/examples/svelte/sticky/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/svelte-virtual": "^3.13.45", + "@tanstack/svelte-virtual": "^3.13.46", "lodash": "^4.17.21" }, "devDependencies": { diff --git a/examples/svelte/table/package.json b/examples/svelte/table/package.json index aae2acf3a..43b6117d9 100644 --- a/examples/svelte/table/package.json +++ b/examples/svelte/table/package.json @@ -11,7 +11,7 @@ "dependencies": { "@faker-js/faker": "^8.4.1", "@tanstack/svelte-table": "^8.21.3", - "@tanstack/svelte-virtual": "^3.13.45" + "@tanstack/svelte-virtual": "^3.13.46" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.1.2", diff --git a/examples/vue/dynamic/package.json b/examples/vue/dynamic/package.json index 030ce326f..d6ff56918 100644 --- a/examples/vue/dynamic/package.json +++ b/examples/vue/dynamic/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/vue-virtual": "^3.13.45", + "@tanstack/vue-virtual": "^3.13.46", "vue": "^3.5.16" }, "devDependencies": { diff --git a/examples/vue/fixed/package.json b/examples/vue/fixed/package.json index 92f4044f6..cb922f97a 100644 --- a/examples/vue/fixed/package.json +++ b/examples/vue/fixed/package.json @@ -8,7 +8,7 @@ "preview": "vite preview" }, "dependencies": { - "@tanstack/vue-virtual": "^3.13.45", + "@tanstack/vue-virtual": "^3.13.46", "vue": "^3.5.16" }, "devDependencies": { diff --git a/examples/vue/infinite-scroll/package.json b/examples/vue/infinite-scroll/package.json index a64f273a4..8c5bd3059 100644 --- a/examples/vue/infinite-scroll/package.json +++ b/examples/vue/infinite-scroll/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@tanstack/vue-query": "^5.80.7", - "@tanstack/vue-virtual": "^3.13.45", + "@tanstack/vue-virtual": "^3.13.46", "vue": "^3.5.16" }, "devDependencies": { diff --git a/examples/vue/padding/package.json b/examples/vue/padding/package.json index 294895d7b..7fd7e82ed 100644 --- a/examples/vue/padding/package.json +++ b/examples/vue/padding/package.json @@ -8,7 +8,7 @@ "preview": "vite preview" }, "dependencies": { - "@tanstack/vue-virtual": "^3.13.45", + "@tanstack/vue-virtual": "^3.13.46", "vue": "^3.5.16" }, "devDependencies": { diff --git a/examples/vue/scroll-padding/package.json b/examples/vue/scroll-padding/package.json index 270e18239..64e7f979f 100644 --- a/examples/vue/scroll-padding/package.json +++ b/examples/vue/scroll-padding/package.json @@ -8,7 +8,7 @@ "preview": "vite preview" }, "dependencies": { - "@tanstack/vue-virtual": "^3.13.45", + "@tanstack/vue-virtual": "^3.13.46", "@vueuse/core": "^12.8.2", "vue": "^3.5.16" }, diff --git a/examples/vue/smooth-scroll/package.json b/examples/vue/smooth-scroll/package.json index 472eeb9b4..9c64c09d5 100644 --- a/examples/vue/smooth-scroll/package.json +++ b/examples/vue/smooth-scroll/package.json @@ -8,7 +8,7 @@ "preview": "vite preview" }, "dependencies": { - "@tanstack/vue-virtual": "^3.13.45", + "@tanstack/vue-virtual": "^3.13.46", "vue": "^3.5.16" }, "devDependencies": { diff --git a/examples/vue/sticky/package.json b/examples/vue/sticky/package.json index d4d685bd8..6279ac165 100644 --- a/examples/vue/sticky/package.json +++ b/examples/vue/sticky/package.json @@ -9,7 +9,7 @@ }, "dependencies": { "@faker-js/faker": "^8.4.1", - "@tanstack/vue-virtual": "^3.13.45", + "@tanstack/vue-virtual": "^3.13.46", "lodash": "^4.17.21", "vue": "^3.5.16" }, diff --git a/examples/vue/table/package.json b/examples/vue/table/package.json index 6e31afc68..f1ada166a 100644 --- a/examples/vue/table/package.json +++ b/examples/vue/table/package.json @@ -10,7 +10,7 @@ "dependencies": { "@faker-js/faker": "^8.4.1", "@tanstack/vue-table": "^8.21.3", - "@tanstack/vue-virtual": "^3.13.45", + "@tanstack/vue-virtual": "^3.13.46", "vue": "^3.5.16" }, "devDependencies": { diff --git a/examples/vue/variable/package.json b/examples/vue/variable/package.json index 98da4ebff..d5e0af99e 100644 --- a/examples/vue/variable/package.json +++ b/examples/vue/variable/package.json @@ -8,7 +8,7 @@ "preview": "vite preview" }, "dependencies": { - "@tanstack/vue-virtual": "^3.13.45", + "@tanstack/vue-virtual": "^3.13.46", "vue": "^3.5.16" }, "devDependencies": { diff --git a/packages/angular-virtual/CHANGELOG.md b/packages/angular-virtual/CHANGELOG.md index c3affd7df..527c8cddb 100644 --- a/packages/angular-virtual/CHANGELOG.md +++ b/packages/angular-virtual/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/angular-virtual +## 6.1.6 + +### Patch Changes + +- Updated dependencies [[`56b2a63`](https://github.com/TanStack/virtual/commit/56b2a63d2336907659d87125b072fa11e4ac9046), [`d2c7911`](https://github.com/TanStack/virtual/commit/d2c7911d6b749aaa47e9aab1dc10125040363bd0), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5), [`6789f7a`](https://github.com/TanStack/virtual/commit/6789f7affc32c3fe77d8ed5b3b9d7c274d158be9), [`77cb05e`](https://github.com/TanStack/virtual/commit/77cb05eef131699bcef0f0a5877b60503e54a366), [`4a1a4fd`](https://github.com/TanStack/virtual/commit/4a1a4fdae1fa86cdda6603194876399f6651630d), [`3c61b6e`](https://github.com/TanStack/virtual/commit/3c61b6e30723e6af24d375ea1c5221d12a2e894d), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5)]: + - @tanstack/virtual-core@3.19.5 + ## 6.1.5 ### Patch Changes diff --git a/packages/angular-virtual/package.json b/packages/angular-virtual/package.json index 313b96cfa..8f472d37b 100644 --- a/packages/angular-virtual/package.json +++ b/packages/angular-virtual/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/angular-virtual", - "version": "6.1.5", + "version": "6.1.6", "description": "Headless UI for virtualizing scrollable elements in Angular", "author": "Garrett Darnell", "license": "MIT", diff --git a/packages/lit-virtual/CHANGELOG.md b/packages/lit-virtual/CHANGELOG.md index 3de041107..dad9568fb 100644 --- a/packages/lit-virtual/CHANGELOG.md +++ b/packages/lit-virtual/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/lit-virtual +## 3.14.9 + +### Patch Changes + +- Updated dependencies [[`56b2a63`](https://github.com/TanStack/virtual/commit/56b2a63d2336907659d87125b072fa11e4ac9046), [`d2c7911`](https://github.com/TanStack/virtual/commit/d2c7911d6b749aaa47e9aab1dc10125040363bd0), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5), [`6789f7a`](https://github.com/TanStack/virtual/commit/6789f7affc32c3fe77d8ed5b3b9d7c274d158be9), [`77cb05e`](https://github.com/TanStack/virtual/commit/77cb05eef131699bcef0f0a5877b60503e54a366), [`4a1a4fd`](https://github.com/TanStack/virtual/commit/4a1a4fdae1fa86cdda6603194876399f6651630d), [`3c61b6e`](https://github.com/TanStack/virtual/commit/3c61b6e30723e6af24d375ea1c5221d12a2e894d), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5)]: + - @tanstack/virtual-core@3.19.5 + ## 3.14.8 ### Patch Changes diff --git a/packages/lit-virtual/package.json b/packages/lit-virtual/package.json index 8637687f0..123b62987 100644 --- a/packages/lit-virtual/package.json +++ b/packages/lit-virtual/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/lit-virtual", - "version": "3.14.8", + "version": "3.14.9", "description": "Headless UI for virtualizing scrollable elements in Lit", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/marko-virtual/CHANGELOG.md b/packages/marko-virtual/CHANGELOG.md index 6bc257852..04be1fe06 100644 --- a/packages/marko-virtual/CHANGELOG.md +++ b/packages/marko-virtual/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/marko-virtual +## 3.16.6 + +### Patch Changes + +- Updated dependencies [[`56b2a63`](https://github.com/TanStack/virtual/commit/56b2a63d2336907659d87125b072fa11e4ac9046), [`d2c7911`](https://github.com/TanStack/virtual/commit/d2c7911d6b749aaa47e9aab1dc10125040363bd0), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5), [`6789f7a`](https://github.com/TanStack/virtual/commit/6789f7affc32c3fe77d8ed5b3b9d7c274d158be9), [`77cb05e`](https://github.com/TanStack/virtual/commit/77cb05eef131699bcef0f0a5877b60503e54a366), [`4a1a4fd`](https://github.com/TanStack/virtual/commit/4a1a4fdae1fa86cdda6603194876399f6651630d), [`3c61b6e`](https://github.com/TanStack/virtual/commit/3c61b6e30723e6af24d375ea1c5221d12a2e894d), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5)]: + - @tanstack/virtual-core@3.19.5 + ## 3.16.5 ### Patch Changes diff --git a/packages/marko-virtual/package.json b/packages/marko-virtual/package.json index aa07c0dfa..a4cc04d65 100644 --- a/packages/marko-virtual/package.json +++ b/packages/marko-virtual/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/marko-virtual", - "version": "3.16.5", + "version": "3.16.6", "description": "Headless UI for virtualizing scrollable elements in Marko 6", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/react-virtual/CHANGELOG.md b/packages/react-virtual/CHANGELOG.md index 5d67a737e..e9bade0f9 100644 --- a/packages/react-virtual/CHANGELOG.md +++ b/packages/react-virtual/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/react-virtual +## 3.14.20 + +### Patch Changes + +- Updated dependencies [[`56b2a63`](https://github.com/TanStack/virtual/commit/56b2a63d2336907659d87125b072fa11e4ac9046), [`d2c7911`](https://github.com/TanStack/virtual/commit/d2c7911d6b749aaa47e9aab1dc10125040363bd0), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5), [`6789f7a`](https://github.com/TanStack/virtual/commit/6789f7affc32c3fe77d8ed5b3b9d7c274d158be9), [`77cb05e`](https://github.com/TanStack/virtual/commit/77cb05eef131699bcef0f0a5877b60503e54a366), [`4a1a4fd`](https://github.com/TanStack/virtual/commit/4a1a4fdae1fa86cdda6603194876399f6651630d), [`3c61b6e`](https://github.com/TanStack/virtual/commit/3c61b6e30723e6af24d375ea1c5221d12a2e894d), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5)]: + - @tanstack/virtual-core@3.19.5 + ## 3.14.19 ### Patch Changes diff --git a/packages/react-virtual/package.json b/packages/react-virtual/package.json index b59f1e9c7..4209585ce 100644 --- a/packages/react-virtual/package.json +++ b/packages/react-virtual/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/react-virtual", - "version": "3.14.19", + "version": "3.14.20", "description": "Headless UI for virtualizing scrollable elements in React", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/solid-virtual/CHANGELOG.md b/packages/solid-virtual/CHANGELOG.md index 3f731e654..695c9f938 100644 --- a/packages/solid-virtual/CHANGELOG.md +++ b/packages/solid-virtual/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/solid-virtual +## 3.13.47 + +### Patch Changes + +- Updated dependencies [[`56b2a63`](https://github.com/TanStack/virtual/commit/56b2a63d2336907659d87125b072fa11e4ac9046), [`d2c7911`](https://github.com/TanStack/virtual/commit/d2c7911d6b749aaa47e9aab1dc10125040363bd0), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5), [`6789f7a`](https://github.com/TanStack/virtual/commit/6789f7affc32c3fe77d8ed5b3b9d7c274d158be9), [`77cb05e`](https://github.com/TanStack/virtual/commit/77cb05eef131699bcef0f0a5877b60503e54a366), [`4a1a4fd`](https://github.com/TanStack/virtual/commit/4a1a4fdae1fa86cdda6603194876399f6651630d), [`3c61b6e`](https://github.com/TanStack/virtual/commit/3c61b6e30723e6af24d375ea1c5221d12a2e894d), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5)]: + - @tanstack/virtual-core@3.19.5 + ## 3.13.46 ### Patch Changes diff --git a/packages/solid-virtual/package.json b/packages/solid-virtual/package.json index af7088535..a01ca39be 100644 --- a/packages/solid-virtual/package.json +++ b/packages/solid-virtual/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/solid-virtual", - "version": "3.13.46", + "version": "3.13.47", "description": "Headless UI for virtualizing scrollable elements in Solid", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/svelte-virtual/CHANGELOG.md b/packages/svelte-virtual/CHANGELOG.md index 0bc74b1b5..036a6d3f9 100644 --- a/packages/svelte-virtual/CHANGELOG.md +++ b/packages/svelte-virtual/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/svelte-virtual +## 3.13.46 + +### Patch Changes + +- Updated dependencies [[`56b2a63`](https://github.com/TanStack/virtual/commit/56b2a63d2336907659d87125b072fa11e4ac9046), [`d2c7911`](https://github.com/TanStack/virtual/commit/d2c7911d6b749aaa47e9aab1dc10125040363bd0), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5), [`6789f7a`](https://github.com/TanStack/virtual/commit/6789f7affc32c3fe77d8ed5b3b9d7c274d158be9), [`77cb05e`](https://github.com/TanStack/virtual/commit/77cb05eef131699bcef0f0a5877b60503e54a366), [`4a1a4fd`](https://github.com/TanStack/virtual/commit/4a1a4fdae1fa86cdda6603194876399f6651630d), [`3c61b6e`](https://github.com/TanStack/virtual/commit/3c61b6e30723e6af24d375ea1c5221d12a2e894d), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5)]: + - @tanstack/virtual-core@3.19.5 + ## 3.13.45 ### Patch Changes diff --git a/packages/svelte-virtual/package.json b/packages/svelte-virtual/package.json index f818c9d8f..f5909d2cf 100644 --- a/packages/svelte-virtual/package.json +++ b/packages/svelte-virtual/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/svelte-virtual", - "version": "3.13.45", + "version": "3.13.46", "description": "Headless UI for virtualizing scrollable elements in Svelte", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/virtual-core/CHANGELOG.md b/packages/virtual-core/CHANGELOG.md index 2e24807db..55b968e7c 100644 --- a/packages/virtual-core/CHANGELOG.md +++ b/packages/virtual-core/CHANGELOG.md @@ -1,5 +1,41 @@ # @tanstack/virtual-core +## 3.19.5 + +### Patch Changes + +- [#1330](https://github.com/TanStack/virtual/pull/1330) [`56b2a63`](https://github.com/TanStack/virtual/commit/56b2a63d2336907659d87125b072fa11e4ac9046) - fix(virtual-core): keep an instant scroll command clamped at a max the sizer committed outside a row resize + + Before an instant scroll command's write is reported, the browser can clamp it at a smaller scroll max that the sizer moves to without a row resize: an append or prepend, `measure()`, or a resize the sizer had not committed when the command was written. The virtualizer now also records the max at each commit, so such an event is read as its own clamped write and the command lands. A clamped write reported with `isScrolling` false is now written again too. + +- [#1329](https://github.com/TanStack/virtual/pull/1329) [`d2c7911`](https://github.com/TanStack/virtual/commit/d2c7911d6b749aaa47e9aab1dc10125040363bd0) - fix(virtual-core): keep an instant scroll command when the browser clamps its write before rows grow back + + Rows measured right after an instant `scrollToEnd()` (or `scrollToIndex`) can first shrink the sizer below the written position and then grow it again in the same task. The browser clamps the write to the smaller max, and the scroll event reports that position. It was read as the user scrolling away, so the command was cancelled and the list stopped short of the end (a chat opened with `estimateSize` larger than its rows). The virtualizer now follows the scroll max through those measurements and reads such an event as its own clamped write, so the command retargets and lands at the end. + +- [#1324](https://github.com/TanStack/virtual/pull/1324) [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5) - fix(virtual-core): scroll commands and corrections that stalled or were lost ([#1307](https://github.com/TanStack/virtual/issues/1307)) + - On iOS 27 and later a `scrollTop` write no longer stops a fling but is overridden by it within a frame. A `scrollToIndex`, `scrollToOffset` or `scrollToEnd` issued during a fling now waits for the fling to end instead of being lost. The user taking over before then cancels it: a drag, a second flick, or a finger stopping the fling (iOS reports none of these with touch events while the fling runs). Corrections keep being held through the gesture as on every version. + - `scrollToOffset` / `scrollBy`: a row above the viewport growing after the write's read-back moved the element off the fixed target, and the command kept reconciling until the 5s safety valve. The target now moves with the correction. + - A prepend (`anchorTo: 'end'`) before the read-back of a scroll command was anchored against the stale offset and written over the command. It is now left to reconcile, like a resize in that window. + - A scroll event between the prepend's options change and the adapter's commit no longer loses the anchor (one blank frame when the element could not be written by commit time). + - A command's write clamped by a sizer that shrank below it before the read-back no longer reads as a user scroll; the command reaches its fresh target. + +- [#1332](https://github.com/TanStack/virtual/pull/1332) [`6789f7a`](https://github.com/TanStack/virtual/commit/6789f7affc32c3fe77d8ed5b3b9d7c274d158be9) - fix(virtual-core): on iOS 27 and later, a scroll command issued during a fling takes effect at once + + A `scrollToIndex`, `scrollToOffset` or `scrollToEnd` issued during a fling waited for the fling to end, so a button outside the list (such as "jump to latest") did nothing until the list stopped. The command now stops the fling by hiding the scroll element's overflow for two frames, then restores the element's own inline value and writes. The user taking over before the write still cancels the command. + +- [#1325](https://github.com/TanStack/virtual/pull/1325) [`77cb05e`](https://github.com/TanStack/virtual/commit/77cb05eef131699bcef0f0a5877b60503e54a366) - refactor(virtual-core): move the iOS touch gesture tracking into its own internal module. One fix along the way: changing the scroll element no longer carries over a pending iOS late-fling window, which could defer corrections on the new element for 150ms. + +- [#1318](https://github.com/TanStack/virtual/pull/1318) [`4a1a4fd`](https://github.com/TanStack/virtual/commit/4a1a4fdae1fa86cdda6603194876399f6651630d) - fix(virtual-core): on iOS, defer scroll corrections only for touch-driven scrolls (a finger down, or the momentum after it), so a programmatic landing like `scrollToOffset` compensates before paint instead of snapping later + +- [#1319](https://github.com/TanStack/virtual/pull/1319) [`3c61b6e`](https://github.com/TanStack/virtual/commit/3c61b6e30723e6af24d375ea1c5221d12a2e894d) - fix(virtual-core): hold a scroll correction the element cannot take instead of writing it ([#1287](https://github.com/TanStack/virtual/issues/1287)) + + A prepend's anchor delta or an above-viewport size change that lands while a `scrollTop` write is impossible (iOS during a touch gesture or its momentum tail, any WebKit while the element is rubber-banding past an edge) is now held: `scrollOffset` carries the corrected position, the rows and the total size are exposed shifted back by the held amount so every adapter keeps the reader's row where it is, and one write moves the element once a write is possible. Before, the write was discarded during the bounce on desktop Safari (the bounce stalled with the new rows and a blank top on screen), and on iOS the new rows showed through the bounce and snapped back at the flush. + +- [#1324](https://github.com/TanStack/virtual/pull/1324) [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5) - refactor(virtual-core): simplify the scroll-correction state (no behaviour change) + - A scroll event is classified once (spurious re-emit, our own write's read-back, a clamped read-back or echo, or external) before the handler acts on it, a scroll command waiting for the iOS 27 momentum tail is a phase of its own, and the iOS touch gesture tracks a single `moved` flag. + - `scrollAdjustments` is deprecated: a correction is folded into `scrollOffset` at once, so it is always 0. Read `scrollOffset` alone; the getter stays. + - One edge case changes: corrections made while `enabled: false` used to accumulate, and a correction made after re-enabling but before the next update was added on top of them. They are no longer carried over. + ## 3.19.4 ### Patch Changes diff --git a/packages/virtual-core/package.json b/packages/virtual-core/package.json index ced4c4f85..e43b91e74 100644 --- a/packages/virtual-core/package.json +++ b/packages/virtual-core/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/virtual-core", - "version": "3.19.4", + "version": "3.19.5", "description": "Headless UI for virtualizing scrollable elements in TS/JS + Frameworks", "author": "Tanner Linsley", "license": "MIT", diff --git a/packages/vue-virtual/CHANGELOG.md b/packages/vue-virtual/CHANGELOG.md index 857b5224a..d68202a14 100644 --- a/packages/vue-virtual/CHANGELOG.md +++ b/packages/vue-virtual/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/vue-virtual +## 3.13.46 + +### Patch Changes + +- Updated dependencies [[`56b2a63`](https://github.com/TanStack/virtual/commit/56b2a63d2336907659d87125b072fa11e4ac9046), [`d2c7911`](https://github.com/TanStack/virtual/commit/d2c7911d6b749aaa47e9aab1dc10125040363bd0), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5), [`6789f7a`](https://github.com/TanStack/virtual/commit/6789f7affc32c3fe77d8ed5b3b9d7c274d158be9), [`77cb05e`](https://github.com/TanStack/virtual/commit/77cb05eef131699bcef0f0a5877b60503e54a366), [`4a1a4fd`](https://github.com/TanStack/virtual/commit/4a1a4fdae1fa86cdda6603194876399f6651630d), [`3c61b6e`](https://github.com/TanStack/virtual/commit/3c61b6e30723e6af24d375ea1c5221d12a2e894d), [`9c762fe`](https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5)]: + - @tanstack/virtual-core@3.19.5 + ## 3.13.45 ### Patch Changes diff --git a/packages/vue-virtual/package.json b/packages/vue-virtual/package.json index 3362c6340..1d5e07688 100644 --- a/packages/vue-virtual/package.json +++ b/packages/vue-virtual/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/vue-virtual", - "version": "3.13.45", + "version": "3.13.46", "description": "Headless UI for virtualizing scrollable elements in Vue", "author": "Tanner Linsley", "license": "MIT", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9fa8a648..b08ea7802 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -145,7 +145,7 @@ importers: specifier: ^20.2.0 version: 20.3.26(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.26(@angular/animations@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-virtual': - specifier: ^6.1.5 + specifier: ^6.1.6 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -200,7 +200,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-virtual': - specifier: ^6.1.5 + specifier: ^6.1.6 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -252,7 +252,7 @@ importers: specifier: ^20.2.0 version: 20.3.26(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.26(@angular/animations@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-virtual': - specifier: ^6.1.5 + specifier: ^6.1.6 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -307,7 +307,7 @@ importers: specifier: 5.80.7 version: 5.80.7(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)) '@tanstack/angular-virtual': - specifier: ^6.1.5 + specifier: ^6.1.6 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -359,7 +359,7 @@ importers: specifier: ^20.2.0 version: 20.3.26(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.26(@angular/animations@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-virtual': - specifier: ^6.1.5 + specifier: ^6.1.6 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -411,7 +411,7 @@ importers: specifier: ^20.2.0 version: 20.3.26(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.26(@angular/animations@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-virtual': - specifier: ^6.1.5 + specifier: ^6.1.6 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -466,7 +466,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-virtual': - specifier: ^6.1.5 + specifier: ^6.1.6 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -524,7 +524,7 @@ importers: specifier: 8.21.3 version: 8.21.3(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)) '@tanstack/angular-virtual': - specifier: ^6.1.5 + specifier: ^6.1.6 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -576,7 +576,7 @@ importers: specifier: ^20.2.0 version: 20.3.26(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.26(@angular/animations@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-virtual': - specifier: ^6.1.5 + specifier: ^6.1.6 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -628,7 +628,7 @@ importers: specifier: ^20.2.0 version: 20.3.26(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.26(@angular/animations@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.26(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.26(@angular/compiler@20.3.26)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-virtual': - specifier: ^6.1.5 + specifier: ^6.1.6 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -659,10 +659,10 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/lit-virtual': - specifier: ^3.14.8 + specifier: ^3.14.9 version: link:../../../packages/lit-virtual '@tanstack/virtual-core': - specifier: ^3.19.4 + specifier: ^3.19.5 version: link:../../../packages/virtual-core lit: specifier: ^3.3.0 @@ -684,10 +684,10 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/lit-virtual': - specifier: ^3.14.8 + specifier: ^3.14.9 version: link:../../../packages/lit-virtual '@tanstack/virtual-core': - specifier: ^3.19.4 + specifier: ^3.19.5 version: link:../../../packages/virtual-core lit: specifier: ^3.3.0 @@ -709,7 +709,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -737,7 +737,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -762,7 +762,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -787,7 +787,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -812,7 +812,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -837,7 +837,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -862,7 +862,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -890,7 +890,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -915,7 +915,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -940,7 +940,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -965,7 +965,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -990,7 +990,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -1015,7 +1015,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -1040,7 +1040,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -1065,7 +1065,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -1090,7 +1090,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -1115,7 +1115,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -1140,7 +1140,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -1165,7 +1165,7 @@ importers: specifier: ^0.10.0 version: 0.10.0(@marko/compiler@5.40.0)(@types/node@24.9.2)(esbuild@0.28.1)(jiti@2.6.1)(less@4.4.0)(marko@6.3.15)(sass@1.90.0)(terser@5.43.1)(yaml@2.8.1) '@tanstack/marko-virtual': - specifier: ^3.16.5 + specifier: ^3.16.6 version: link:../../../packages/marko-virtual marko: specifier: ^6.2.2 @@ -1190,7 +1190,7 @@ importers: specifier: ^5.80.7 version: 5.90.5(react@19.2.7) '@tanstack/react-virtual': - specifier: ^3.14.19 + specifier: ^3.14.20 version: link:../../../packages/react-virtual react: specifier: ^19.2.7 @@ -1221,7 +1221,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/react-virtual': - specifier: ^3.14.19 + specifier: ^3.14.20 version: link:../../../packages/react-virtual react: specifier: ^19.2.7 @@ -1252,7 +1252,7 @@ importers: examples/react/fixed: dependencies: '@tanstack/react-virtual': - specifier: ^3.14.19 + specifier: ^3.14.20 version: link:../../../packages/react-virtual react: specifier: ^19.2.7 @@ -1286,7 +1286,7 @@ importers: specifier: ^5.80.7 version: 5.90.5(react@19.2.7) '@tanstack/react-virtual': - specifier: ^3.14.19 + specifier: ^3.14.20 version: link:../../../packages/react-virtual react: specifier: ^19.2.7 @@ -1311,7 +1311,7 @@ importers: examples/react/padding: dependencies: '@tanstack/react-virtual': - specifier: ^3.14.19 + specifier: ^3.14.20 version: link:../../../packages/react-virtual react: specifier: ^19.2.7 @@ -1339,7 +1339,7 @@ importers: specifier: ^0.0.7 version: 0.0.7 '@tanstack/react-virtual': - specifier: ^3.14.19 + specifier: ^3.14.20 version: link:../../../packages/react-virtual react: specifier: ^19.2.7 @@ -1373,7 +1373,7 @@ importers: specifier: ^25.1.1 version: 25.1.1(react-dom@19.2.7(react@19.2.7))(react@19.2.7) '@tanstack/react-virtual': - specifier: ^3.14.19 + specifier: ^3.14.20 version: link:../../../packages/react-virtual react: specifier: ^19.2.7 @@ -1398,7 +1398,7 @@ importers: examples/react/smooth-scroll: dependencies: '@tanstack/react-virtual': - specifier: ^3.14.19 + specifier: ^3.14.20 version: link:../../../packages/react-virtual react: specifier: ^19.2.7 @@ -1426,7 +1426,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/react-virtual': - specifier: ^3.14.19 + specifier: ^3.14.20 version: link:../../../packages/react-virtual lodash: specifier: ^4.17.21 @@ -1463,7 +1463,7 @@ importers: specifier: ^8.21.3 version: 8.21.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7) '@tanstack/react-virtual': - specifier: ^3.14.19 + specifier: ^3.14.20 version: link:../../../packages/react-virtual react: specifier: ^19.2.7 @@ -1488,7 +1488,7 @@ importers: examples/react/variable: dependencies: '@tanstack/react-virtual': - specifier: ^3.14.19 + specifier: ^3.14.20 version: link:../../../packages/react-virtual react: specifier: ^19.2.7 @@ -1513,7 +1513,7 @@ importers: examples/react/window: dependencies: '@tanstack/react-virtual': - specifier: ^3.14.19 + specifier: ^3.14.20 version: link:../../../packages/react-virtual react: specifier: ^19.2.7 @@ -1547,7 +1547,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/svelte-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/svelte-virtual devDependencies: '@sveltejs/vite-plugin-svelte': @@ -1575,7 +1575,7 @@ importers: examples/svelte/fixed: dependencies: '@tanstack/svelte-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/svelte-virtual devDependencies: '@sveltejs/vite-plugin-svelte': @@ -1606,7 +1606,7 @@ importers: specifier: ^5.80.7 version: 5.90.2(svelte@4.2.20) '@tanstack/svelte-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/svelte-virtual devDependencies: '@sveltejs/vite-plugin-svelte': @@ -1637,7 +1637,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/svelte-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/svelte-virtual devDependencies: '@sveltejs/vite-plugin-svelte': @@ -1668,7 +1668,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/svelte-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/svelte-virtual lodash: specifier: ^4.17.21 @@ -1705,7 +1705,7 @@ importers: specifier: ^8.21.3 version: 8.21.3(svelte@4.2.20) '@tanstack/svelte-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/svelte-virtual devDependencies: '@sveltejs/vite-plugin-svelte': @@ -1736,7 +1736,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/vue-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -1761,7 +1761,7 @@ importers: examples/vue/fixed: dependencies: '@tanstack/vue-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -1789,7 +1789,7 @@ importers: specifier: ^5.80.7 version: 5.90.5(vue@3.5.22(typescript@5.9.3)) '@tanstack/vue-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -1814,7 +1814,7 @@ importers: examples/vue/padding: dependencies: '@tanstack/vue-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -1839,7 +1839,7 @@ importers: examples/vue/scroll-padding: dependencies: '@tanstack/vue-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/vue-virtual '@vueuse/core': specifier: ^12.8.2 @@ -1867,7 +1867,7 @@ importers: examples/vue/smooth-scroll: dependencies: '@tanstack/vue-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -1895,7 +1895,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/vue-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/vue-virtual lodash: specifier: ^4.17.21 @@ -1932,7 +1932,7 @@ importers: specifier: ^8.21.3 version: 8.21.3(vue@3.5.22(typescript@5.9.3)) '@tanstack/vue-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -1957,7 +1957,7 @@ importers: examples/vue/variable: dependencies: '@tanstack/vue-virtual': - specifier: ^3.13.45 + specifier: ^3.13.46 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16