What problem does it solve?
Keeping key columns visible while scrolling wide TanStack Table datagrids requires coordinating pinning state, numeric offsets, and sticky CSS, which is easy to get wrong and produces gaps, overlaps, or broken RTL layouts.
Core Features & Use Cases
- Logical Region Pinning: Pin columns into
start and end regions using columnPinningFeature, with direction-aware offsets via getStart and getAfter.
- Renderer-Owned Sticky CSS: Apply
position: sticky, insetInlineStart/insetInlineEnd, z-index, and background styles so pinned cells stay visible over scrolling content.
- Width Consistency: Synchronize rendered cell widths with
column.getSize() so sticky offsets match the DOM and avoid gaps or overlaps.
- Use Case: Pin a row's
name column to the start and an actions column to the end of a wide React data grid so both remain visible during horizontal scrolling, including in RTL locales.
Quick Start
Pin the name column to the start and the actions column to the end of my TanStack table with sticky positioning that works in RTL layouts.