diff --git a/.changeset/angry-poets-visit.md b/.changeset/angry-poets-visit.md deleted file mode 100644 index 4958cbfa6..000000000 --- a/.changeset/angry-poets-visit.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -'@tanstack/react-virtual': patch ---- - -feat(react-virtual): add `useFlushSync` option - -Adds a React-specific `useFlushSync` option to control whether `flushSync` is used for synchronous scroll correction during measurement. - -The default behavior remains unchanged (`useFlushSync: true`) to preserve the best scrolling experience. -Disabling it avoids the React 19 warning about calling `flushSync` during render, at the cost of potentially increased visible whitespace during fast scrolling with dynamically sized items. diff --git a/examples/angular/dynamic/package.json b/examples/angular/dynamic/package.json index 99211c20c..2e6ec2c71 100644 --- a/examples/angular/dynamic/package.json +++ b/examples/angular/dynamic/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser-dynamic": "^18.1.0", "@angular/router": "^18.1.0", "@faker-js/faker": "^8.4.1", - "@tanstack/angular-virtual": "^4.0.2", + "@tanstack/angular-virtual": "^4.0.3", "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 72c483980..f855b9eff 100644 --- a/examples/angular/fixed/package.json +++ b/examples/angular/fixed/package.json @@ -17,7 +17,7 @@ "@angular/platform-browser": "^18.1.0", "@angular/platform-browser-dynamic": "^18.1.0", "@angular/router": "^18.1.0", - "@tanstack/angular-virtual": "^4.0.2", + "@tanstack/angular-virtual": "^4.0.3", "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 a5a6def5b..3f39180c6 100644 --- a/examples/angular/infinite-scroll/package.json +++ b/examples/angular/infinite-scroll/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser-dynamic": "^18.1.0", "@angular/router": "^18.1.0", "@tanstack/angular-query-experimental": "5.80.7", - "@tanstack/angular-virtual": "^4.0.2", + "@tanstack/angular-virtual": "^4.0.3", "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 d4b2255b1..7ce246a03 100644 --- a/examples/angular/padding/package.json +++ b/examples/angular/padding/package.json @@ -17,7 +17,7 @@ "@angular/platform-browser": "^18.1.0", "@angular/platform-browser-dynamic": "^18.1.0", "@angular/router": "^18.1.0", - "@tanstack/angular-virtual": "^4.0.2", + "@tanstack/angular-virtual": "^4.0.3", "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 53711a684..d3aa21083 100644 --- a/examples/angular/smooth-scroll/package.json +++ b/examples/angular/smooth-scroll/package.json @@ -17,7 +17,7 @@ "@angular/platform-browser": "^18.1.0", "@angular/platform-browser-dynamic": "^18.1.0", "@angular/router": "^18.1.0", - "@tanstack/angular-virtual": "^4.0.2", + "@tanstack/angular-virtual": "^4.0.3", "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 023e64ea0..96b2dddd3 100644 --- a/examples/angular/sticky/package.json +++ b/examples/angular/sticky/package.json @@ -18,7 +18,7 @@ "@angular/platform-browser-dynamic": "^18.1.0", "@angular/router": "^18.1.0", "@faker-js/faker": "^8.4.1", - "@tanstack/angular-virtual": "^4.0.2", + "@tanstack/angular-virtual": "^4.0.3", "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 851361563..a3974e464 100644 --- a/examples/angular/table/package.json +++ b/examples/angular/table/package.json @@ -19,7 +19,7 @@ "@angular/router": "^18.1.0", "@faker-js/faker": "^8.4.1", "@tanstack/angular-table": "8.21.3", - "@tanstack/angular-virtual": "^4.0.2", + "@tanstack/angular-virtual": "^4.0.3", "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 4417fe516..1ee62e7c6 100644 --- a/examples/angular/variable/package.json +++ b/examples/angular/variable/package.json @@ -17,7 +17,7 @@ "@angular/platform-browser": "^18.1.0", "@angular/platform-browser-dynamic": "^18.1.0", "@angular/router": "^18.1.0", - "@tanstack/angular-virtual": "^4.0.2", + "@tanstack/angular-virtual": "^4.0.3", "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 ca64a517c..ec08bde65 100644 --- a/examples/angular/window/package.json +++ b/examples/angular/window/package.json @@ -17,7 +17,7 @@ "@angular/platform-browser": "^18.1.0", "@angular/platform-browser-dynamic": "^18.1.0", "@angular/router": "^18.1.0", - "@tanstack/angular-virtual": "^4.0.2", + "@tanstack/angular-virtual": "^4.0.3", "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 bf96a36c5..6f74b97b4 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.13.15", - "@tanstack/virtual-core": "^3.13.14", + "@tanstack/lit-virtual": "^3.13.16", + "@tanstack/virtual-core": "^3.13.15", "lit": "^3.3.0" }, "devDependencies": { diff --git a/examples/lit/fixed/package.json b/examples/lit/fixed/package.json index 82fb92ddb..4b8739964 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.13.15", - "@tanstack/virtual-core": "^3.13.14", + "@tanstack/lit-virtual": "^3.13.16", + "@tanstack/virtual-core": "^3.13.15", "lit": "^3.3.0" }, "devDependencies": { diff --git a/examples/react/dynamic/package.json b/examples/react/dynamic/package.json index ba039357e..86a2255d9 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.13.14", + "@tanstack/react-virtual": "^3.13.15", "react": "^18.3.1", "react-dom": "^18.3.1" }, diff --git a/examples/react/dynamic/src/main.tsx b/examples/react/dynamic/src/main.tsx index 813901309..dd8aa4511 100644 --- a/examples/react/dynamic/src/main.tsx +++ b/examples/react/dynamic/src/main.tsx @@ -70,6 +70,7 @@ function RowVirtualizerDynamic() { width: 400, overflowY: 'auto', contain: 'strict', + overflowAnchor: 'none', }} >
{ + if (!this.scrollElement) return 0 + + if ('scrollHeight' in this.scrollElement) { + // Element + return this.options.horizontal + ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth + : this.scrollElement.scrollHeight - this.scrollElement.clientHeight + } else { + // Window + const doc = this.scrollElement.document.documentElement + return this.options.horizontal + ? doc.scrollWidth - this.scrollElement.innerWidth + : doc.scrollHeight - this.scrollElement.innerHeight + } + } + getOffsetForAlignment = ( toOffset: number, align: ScrollAlignment, itemSize = 0, ) => { + if (!this.scrollElement) return 0 + const size = this.getSize() const scrollOffset = this.getScrollOffset() @@ -992,7 +1011,7 @@ export class Virtualizer< toOffset -= size } - const maxOffset = this.getTotalSize() + this.options.scrollMargin - size + const maxOffset = this.getMaxScrollOffset() return Math.max(Math.min(maxOffset, toOffset), 0) } @@ -1014,10 +1033,18 @@ export class Virtualizer< } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) { align = 'start' } else { - return [scrollOffset, align] as const + // Item is already visible, return current position with concrete alignment + // to avoid infinite retry loop if measurements change + return [scrollOffset, 'start'] as const } } + // For the last item with 'end' alignment, use browser's actual max scroll + // to account for borders/padding that aren't in our measurements + if (align === 'end' && index === this.options.count - 1) { + return [this.getMaxScrollOffset(), align] as const + } + const toOffset = align === 'end' ? item.end + this.options.scrollPaddingEnd diff --git a/packages/vue-virtual/CHANGELOG.md b/packages/vue-virtual/CHANGELOG.md index 4c1c8c33f..dac81f816 100644 --- a/packages/vue-virtual/CHANGELOG.md +++ b/packages/vue-virtual/CHANGELOG.md @@ -1,5 +1,12 @@ # @tanstack/vue-virtual +## 3.13.15 + +### Patch Changes + +- Updated dependencies [[`5a273bf`](https://github.com/TanStack/virtual/commit/5a273bf0c0bc0255ca172929f021c3b6e50cb69d)]: + - @tanstack/virtual-core@3.13.15 + ## 3.13.14 ### Patch Changes diff --git a/packages/vue-virtual/package.json b/packages/vue-virtual/package.json index 501d232ba..a716c5796 100644 --- a/packages/vue-virtual/package.json +++ b/packages/vue-virtual/package.json @@ -1,6 +1,6 @@ { "name": "@tanstack/vue-virtual", - "version": "3.13.14", + "version": "3.13.15", "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 ca85e1a44..6d52c8d37 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -102,7 +102,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-virtual': - specifier: ^4.0.2 + specifier: ^4.0.3 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -154,7 +154,7 @@ importers: specifier: ^18.1.0 version: 18.2.14(@angular/common@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@18.2.14(@angular/animations@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-virtual': - specifier: ^4.0.2 + specifier: ^4.0.3 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -209,7 +209,7 @@ importers: specifier: 5.80.7 version: 5.80.7(@angular/common@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)) '@tanstack/angular-virtual': - specifier: ^4.0.2 + specifier: ^4.0.3 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -261,7 +261,7 @@ importers: specifier: ^18.1.0 version: 18.2.14(@angular/common@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@18.2.14(@angular/animations@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-virtual': - specifier: ^4.0.2 + specifier: ^4.0.3 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -313,7 +313,7 @@ importers: specifier: ^18.1.0 version: 18.2.14(@angular/common@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@18.2.14(@angular/animations@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-virtual': - specifier: ^4.0.2 + specifier: ^4.0.3 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -368,7 +368,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/angular-virtual': - specifier: ^4.0.2 + specifier: ^4.0.3 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -426,7 +426,7 @@ importers: specifier: 8.21.3 version: 8.21.3(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)) '@tanstack/angular-virtual': - specifier: ^4.0.2 + specifier: ^4.0.3 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -478,7 +478,7 @@ importers: specifier: ^18.1.0 version: 18.2.14(@angular/common@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@18.2.14(@angular/animations@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-virtual': - specifier: ^4.0.2 + specifier: ^4.0.3 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -530,7 +530,7 @@ importers: specifier: ^18.1.0 version: 18.2.14(@angular/common@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@18.2.14(@angular/animations@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@tanstack/angular-virtual': - specifier: ^4.0.2 + specifier: ^4.0.3 version: link:../../../packages/angular-virtual rxjs: specifier: ^7.8.2 @@ -561,10 +561,10 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/lit-virtual': - specifier: ^3.13.15 + specifier: ^3.13.16 version: link:../../../packages/lit-virtual '@tanstack/virtual-core': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/virtual-core lit: specifier: ^3.3.0 @@ -586,10 +586,10 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/lit-virtual': - specifier: ^3.13.15 + specifier: ^3.13.16 version: link:../../../packages/lit-virtual '@tanstack/virtual-core': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/virtual-core lit: specifier: ^3.3.0 @@ -611,7 +611,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/react-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/react-virtual react: specifier: ^18.3.1 @@ -642,7 +642,7 @@ importers: examples/react/fixed: dependencies: '@tanstack/react-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/react-virtual react: specifier: ^18.3.1 @@ -676,7 +676,7 @@ importers: specifier: ^5.80.7 version: 5.90.5(react@18.3.1) '@tanstack/react-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/react-virtual react: specifier: ^18.3.1 @@ -701,7 +701,7 @@ importers: examples/react/padding: dependencies: '@tanstack/react-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/react-virtual react: specifier: ^18.3.1 @@ -729,7 +729,7 @@ importers: specifier: ^25.1.1 version: 25.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/react-virtual react: specifier: ^18.3.1 @@ -754,7 +754,7 @@ importers: examples/react/smooth-scroll: dependencies: '@tanstack/react-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/react-virtual react: specifier: ^18.3.1 @@ -782,7 +782,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/react-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/react-virtual lodash: specifier: ^4.17.21 @@ -819,7 +819,7 @@ importers: specifier: ^8.21.3 version: 8.21.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/react-virtual react: specifier: ^18.3.1 @@ -844,7 +844,7 @@ importers: examples/react/variable: dependencies: '@tanstack/react-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/react-virtual react: specifier: ^18.3.1 @@ -869,7 +869,7 @@ importers: examples/react/window: dependencies: '@tanstack/react-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/react-virtual react: specifier: ^18.3.1 @@ -903,7 +903,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/svelte-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/svelte-virtual devDependencies: '@sveltejs/vite-plugin-svelte': @@ -931,7 +931,7 @@ importers: examples/svelte/fixed: dependencies: '@tanstack/svelte-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/svelte-virtual devDependencies: '@sveltejs/vite-plugin-svelte': @@ -962,7 +962,7 @@ importers: specifier: ^5.80.7 version: 5.90.2(svelte@4.2.20) '@tanstack/svelte-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/svelte-virtual devDependencies: '@sveltejs/vite-plugin-svelte': @@ -993,7 +993,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/svelte-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/svelte-virtual devDependencies: '@sveltejs/vite-plugin-svelte': @@ -1024,7 +1024,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/svelte-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/svelte-virtual lodash: specifier: ^4.17.21 @@ -1061,7 +1061,7 @@ importers: specifier: ^8.21.3 version: 8.21.3(svelte@4.2.20) '@tanstack/svelte-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/svelte-virtual devDependencies: '@sveltejs/vite-plugin-svelte': @@ -1092,7 +1092,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/vue-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -1117,7 +1117,7 @@ importers: examples/vue/fixed: dependencies: '@tanstack/vue-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -1145,7 +1145,7 @@ importers: specifier: ^5.80.7 version: 5.90.5(vue@3.5.22(typescript@5.4.5)) '@tanstack/vue-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -1170,7 +1170,7 @@ importers: examples/vue/padding: dependencies: '@tanstack/vue-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -1195,7 +1195,7 @@ importers: examples/vue/scroll-padding: dependencies: '@tanstack/vue-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/vue-virtual '@vueuse/core': specifier: ^12.8.2 @@ -1223,7 +1223,7 @@ importers: examples/vue/smooth-scroll: dependencies: '@tanstack/vue-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -1251,7 +1251,7 @@ importers: specifier: ^8.4.1 version: 8.4.1 '@tanstack/vue-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/vue-virtual lodash: specifier: ^4.17.21 @@ -1288,7 +1288,7 @@ importers: specifier: ^8.21.3 version: 8.21.3(vue@3.5.22(typescript@5.4.5)) '@tanstack/vue-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -1313,7 +1313,7 @@ importers: examples/vue/variable: dependencies: '@tanstack/vue-virtual': - specifier: ^3.13.14 + specifier: ^3.13.15 version: link:../../../packages/vue-virtual vue: specifier: ^3.5.16 @@ -8386,7 +8386,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1802.21(chokidar@3.6.0) - '@angular-devkit/build-webpack': 0.1802.21(chokidar@3.6.0)(webpack-dev-server@5.2.2(webpack@5.94.0(esbuild@0.23.0)))(webpack@5.94.0(esbuild@0.23.0)) + '@angular-devkit/build-webpack': 0.1802.21(chokidar@3.6.0)(webpack-dev-server@5.2.2(webpack@5.94.0))(webpack@5.94.0) '@angular-devkit/core': 18.2.21(chokidar@3.6.0) '@angular/build': 18.2.21(@angular/compiler-cli@18.2.14(@angular/compiler@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.4.5))(@types/node@24.9.2)(chokidar@3.6.0)(less@4.2.0)(postcss@8.4.41)(terser@5.31.6)(typescript@5.4.5) '@angular/compiler-cli': 18.2.14(@angular/compiler@18.2.14(@angular/core@18.2.14(rxjs@7.8.2)(zone.js@0.15.1)))(typescript@5.4.5) @@ -8442,8 +8442,8 @@ snapshots: typescript: 5.4.5 watchpack: 2.4.1 webpack: 5.94.0(esbuild@0.23.0) - webpack-dev-middleware: 7.4.2(webpack@5.94.0(esbuild@0.23.0)) - webpack-dev-server: 5.2.2(webpack@5.94.0(esbuild@0.23.0)) + webpack-dev-middleware: 7.4.2(webpack@5.94.0) + webpack-dev-server: 5.2.2(webpack@5.94.0) webpack-merge: 6.0.1 webpack-subresource-integrity: 5.1.0(webpack@5.94.0) optionalDependencies: @@ -8467,12 +8467,12 @@ snapshots: - utf-8-validate - webpack-cli - '@angular-devkit/build-webpack@0.1802.21(chokidar@3.6.0)(webpack-dev-server@5.2.2(webpack@5.94.0(esbuild@0.23.0)))(webpack@5.94.0(esbuild@0.23.0))': + '@angular-devkit/build-webpack@0.1802.21(chokidar@3.6.0)(webpack-dev-server@5.2.2(webpack@5.94.0))(webpack@5.94.0)': dependencies: '@angular-devkit/architect': 0.1802.21(chokidar@3.6.0) rxjs: 7.8.1 webpack: 5.94.0(esbuild@0.23.0) - webpack-dev-server: 5.2.2(webpack@5.94.0(esbuild@0.23.0)) + webpack-dev-server: 5.2.2(webpack@5.94.0) transitivePeerDependencies: - chokidar @@ -15719,7 +15719,7 @@ snapshots: webidl-conversions@8.0.0: {} - webpack-dev-middleware@7.4.2(webpack@5.94.0(esbuild@0.23.0)): + webpack-dev-middleware@7.4.2(webpack@5.94.0): dependencies: colorette: 2.0.20 memfs: 4.50.0 @@ -15730,7 +15730,7 @@ snapshots: optionalDependencies: webpack: 5.94.0(esbuild@0.23.0) - webpack-dev-server@5.2.2(webpack@5.94.0(esbuild@0.23.0)): + webpack-dev-server@5.2.2(webpack@5.94.0): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -15758,7 +15758,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.94.0(esbuild@0.23.0)) + webpack-dev-middleware: 7.4.2(webpack@5.94.0) ws: 8.18.3 optionalDependencies: webpack: 5.94.0(esbuild@0.23.0)