← All @molecule/* packages · App templates
@molecule/app-virtual-scroll-tanstackProvider bond · virtual-scroll · App (browser) · v1.0.1 · Apache-2.0
TanStack Virtual provider for @molecule/app-virtual-scroll
npm install @molecule/app-virtual-scroll-tanstacknpm · Source on GitHub · Implements @molecule/app-virtual-scroll
@molecule/app-virtual-scroll-tanstack is a provider bond on the app (browser) side: it implements the virtual-scroll core interface (@molecule/app-virtual-scroll) with a concrete vendor or library behind it.
Your code calls the core; you wire this provider once at startup. Swapping vendors later is one line in that wiring, not a rewrite.
import { provider } from '@molecule/app-virtual-scroll-tanstack'
import { setProvider } from '@molecule/app-virtual-scroll'
setProvider(provider)Works with: @molecule/app-virtual-scroll
Auto-generated, AI-first package reference for the molecule.dev ecosystem. It is written to be read by coding agents as much as by people, and is generated from this package's source — edit
src/index.tsJSDoc, not this file.
TanStack Virtual provider for the molecule virtual scroll interface.
Implements VirtualScrollProvider from @molecule/app-virtual-scroll using
@tanstack/virtual-core for headless virtual/infinite scrolling.
import { provider } from '@molecule/app-virtual-scroll-tanstack'
import { setProvider } from '@molecule/app-virtual-scroll'
setProvider(provider)
provider
npm install @molecule/app-virtual-scroll-tanstack @molecule/app-virtual-scroll @tanstack/virtual-core
TanStackVirtualConfigConfiguration options for the TanStack Virtual scroll provider.
interface TanStackVirtualConfig {
/**
* Whether to enable debug mode in TanStack Virtual.
* When `true`, TanStack logs internal state changes to the console.
* Defaults to `false`.
*/
debug?: boolean
/**
* Delay in milliseconds before the `isScrolling` state resets to `false`
* after scrolling stops. Defaults to `150`.
*/
isScrollingResetDelay?: number
/**
* Whether to use the native `scrollend` event instead of debouncing.
* Defaults to `false`.
*/
useScrollendEvent?: boolean
}
createTanStackProvider(config)Creates a TanStack Virtual-backed virtual scroll provider.
function createTanStackProvider(config?: TanStackVirtualConfig): VirtualScrollProvider
config — Optional TanStack-specific configuration.Returns: A VirtualScrollProvider backed by TanStack Virtual.
providerDefault TanStack Virtual provider instance.
const provider: VirtualScrollProvider
Implements @molecule/app-virtual-scroll interface.
Setup function to register this provider with the core interface:
import { setProvider } from '@molecule/app-virtual-scroll'
import { provider } from '@molecule/app-virtual-scroll-tanstack'
export function setupVirtualScrollTanstack(): void {
setProvider(provider)
}
Peer dependencies:
@molecule/app-virtual-scroll >=1.0.1@molecule/app-virtual-scroll@tanstack/virtual-coreProvide onChange in the INITIAL options — setOptions() cannot attach
one after creation (the callback is wired only at createVirtualizer time).
Integration checklist — drive the real UI (live preview, no mocks), adapt each item to this app's actual screens/flows, and check every box off one by one. A box you can't check is an integration bug to fix — not a skip: