Wire columnResizingFeature, header.getResizeHandler, resize mode and direction, pointer or touch events, and performant CSS-variable updates. Load when resize state changes but widths do not, or large tables resize slowly.
72
89%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
This skill builds on core, table-features, and column-sizing. Resizing supplies gesture APIs and state; the renderer supplies handles and widths.
import {
columnResizingFeature,
columnSizingFeature,
tableFeatures,
} from '@tanstack/table-core'
export const features = tableFeatures({
columnSizingFeature,
columnResizingFeature,
})
export const options = {
columnResizeMode: 'onChange' as const,
columnResizeDirection: 'ltr' as const,
}const handler = header.getResizeHandler()
handle.addEventListener('mousedown', handler)
handle.addEventListener('touchstart', handler)For large grids, compute all visible sizes once per update and expose them as CSS variables.
Wrong: tableFeatures({ columnResizingFeature })
Correct: tableFeatures({ columnSizingFeature, columnResizingFeature })
Resizing modifies the sizing state and requires columnSizingFeature.
Source: packages/table-core/src/types/TableFeatures.ts#FeatureSlotPrereqs
Wrong: handle.addEventListener('pointerdown', header.getResizeHandler())
Correct:
const handler = header.getResizeHandler()
handle.addEventListener('mousedown', handler)
handle.addEventListener('touchstart', handler)The shipped handler distinguishes touchstart from the mouse path. A single
pointerdown listener does not provide working touch resizing; wire both mouse
and touch start events.
Source: docs/framework/react/guide/column-resizing.md#connect-column-resizing-apis-to-ui
Wrong: cells.forEach(cell => cell.style.width = ${cell.column.getSize()}px)
Correct: root.style.setProperty(--col-${header.id}, ${header.getSize()}px)
Caching sizes or CSS variables avoids repeated work during onChange resizing.
Source: examples/react/column-resizing-performant/src/main.tsx
Inspect node_modules/@tanstack/table-core/dist/features/column-resizing/ and the sizing feature directory for the state it updates.
9e523bc
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.