Virtual List
Viewport-windowed list for large datasets.
Generated from the package's public source.
API
createVirtualizerfunction
@solidiom/virtual-list — Headless viewport-windowed list primitive. Parts: Root (scroll container), Item (positioned child). Also exports createVirtualizer() for standalone usage.
createVirtualizer(options: CreateVirtualizerOptions): VirtualizerState
CreateVirtualizerOptionsinterface
@solidiom/virtual-list — Headless viewport-windowed list primitive. Parts: Root (scroll container), Item (positioned child). Also exports createVirtualizer() for standalone usage.
Props
containerSize?Accessor<number>— Container height in pixels.itemSizenumber | (index: number) => number— Fixed item height (px), or function for variable heights.onScrollOffsetChange?(offset: number) => void— Callback when scroll offset changes (for controlled mode).overscan?number— Number of extra items rendered above/below viewport. Default: 3.port?VirtualizationPort— Custom virtualization port. Uses fixed-height fallback if omitted.scrollOffset?Accessor<number>— Controlled scroll offset.totalCountAccessor<number>— Total number of items in the list.
Itemcomponent
@solidiom/virtual-list — Headless viewport-windowed list primitive. Parts: Root (scroll container), Item (positioned child). Also exports createVirtualizer() for standalone usage.
Item(props: VirtualListItemProps): Element
Props
class?stringitemVirtualItem— The virtual item descriptor.style?string | CSSProperties
children: Element
Rootcomponent
@solidiom/virtual-list — Headless viewport-windowed list primitive. Parts: Root (scroll container), Item (positioned child). Also exports createVirtualizer() for standalone usage.
Root(props: VirtualListRootProps): Element
Props
class?string— Custom class on the scroll container.heightstring— Height of the scroll container (CSS value).itemSizenumber | (index: number) => number— Fixed item height (px), or function for variable heights.onScrollOffsetChange?(offset: number) => void— Callback when scroll offset changes.overscan?number— Extra items rendered beyond viewport. Default: 3.port?VirtualizationPort— Custom virtualization port.ref?(el: HTMLDivElement) => voidscrollOffset?Accessor<number>— Controlled scroll offset.style?string | CSSProperties— Custom styles on the scroll container.totalCountnumber— Total number of items.
children: (items: Accessor<VirtualItem[]>) => Element
VirtualConfiginterface
Configuration passed to the virtualization port for computing visible items.
Props
containerSizenumberitemSizenumber | (index: number) => numberoverscan?numberscrollOffsetnumbertotalCountnumber
VirtualIteminterface
A single virtual item with layout coordinates.
Props
endnumberindexnumbersizenumberstartnumber
VirtualizationPortinterface
Adapter port for virtualization engines (e.g. TanStack Virtual). Consumers inject a custom implementation; a built-in fallback handles fixed-height lists when no port is provided.
VirtualizerStateinterface
@solidiom/virtual-list — Headless viewport-windowed list primitive. Parts: Root (scroll container), Item (positioned child). Also exports createVirtualizer() for standalone usage.
Props
containerSizeAccessor<number>scrollOffsetAccessor<number>scrollToIndex(index: number) => voidsetScrollOffset(offset: number) => voidtotalSizeAccessor<number>virtualItemsAccessor<VirtualItem[]>
VirtualListContextValueinterface
Props
containerSizeAccessor<number>scrollOffsetAccessor<number>scrollToIndex(index: number) => voidsetScrollOffset(offset: number) => voidtotalSizeAccessor<number>virtualItemsAccessor<VirtualItem[]>
VirtualListItemPropsinterface
@solidiom/virtual-list — Headless viewport-windowed list primitive. Parts: Root (scroll container), Item (positioned child). Also exports createVirtualizer() for standalone usage.
Props
class?stringitemVirtualItem— The virtual item descriptor.style?string | CSSProperties
children: Element
VirtualListRootPropsinterface
@solidiom/virtual-list — Headless viewport-windowed list primitive. Parts: Root (scroll container), Item (positioned child). Also exports createVirtualizer() for standalone usage.
Props
class?string— Custom class on the scroll container.heightstring— Height of the scroll container (CSS value).itemSizenumber | (index: number) => number— Fixed item height (px), or function for variable heights.onScrollOffsetChange?(offset: number) => void— Callback when scroll offset changes.overscan?number— Extra items rendered beyond viewport. Default: 3.port?VirtualizationPort— Custom virtualization port.ref?(el: HTMLDivElement) => voidscrollOffset?Accessor<number>— Controlled scroll offset.style?string | CSSProperties— Custom styles on the scroll container.totalCountnumber— Total number of items.
children: (items: Accessor<VirtualItem[]>) => Element