Future Roadmap
Recently Shipped
- Cursor-Based Pagination (v0.1.4) — first-class
isCursorPaginationmode for GraphQL Relay, Stripe, and keyset APIs. Renders Prev/Next-only navigation with optional total count, page-size selector, and RTL support. See the Features and Server Integration pages for usage examples.
Planned (Config Properties Exist)
The following configuration properties are already present in the TypeScript type system — you can set them today without a type error — but their values are not yet wired into any runtime behaviour. They are reserved for upcoming releases.
performance.memoStrategy— controls how aggressively TanStack Table memoizes derived state. Planned values:smart(default, heuristic-based),aggressive(always memoize), andmanual(opt-in per column).performance.virtualizationOverscan— number of rows to render beyond the visible viewport when row virtualization is active. Has no effect until the virtualization feature is shipped.performance.batchUpdates— when enabled, coalesces multiple React state updates that originate from a single user action into a single re-render.enterprise.strictAccessibility— enforces strict ARIA compliance at runtime, emitting console warnings when required attributes are missing from rendered table markup.enterprise.errorRecovery— wraps the table in an ErrorBoundary so that a render error in a cell does not crash the surrounding page.enterprise.debugMode— enables verbose debug logging for config resolution, feature flag evaluation, and URL sync operations.search.minSearchLength— minimum number of characters a user must type before a search query is dispatched. Useful for reducing API calls in server-side search scenarios.dev.performanceHints— logs actionable suggestions to the browser console when the table detects patterns that are likely to cause performance issues (e.g. inline column definitions, large client-side datasets).dev.renderCostThresholdMs— millisecond threshold above which a render is flagged in the console as unexpectedly slow. Works in conjunction withdev.performanceHints.
Suggested Enhancements
The following features are not yet scoped or scheduled but represent the most commonly requested improvements. Community contributions for any of these are welcome.
- Row Virtualization — integrate
@tanstack/react-virtualto render only visible rows, enabling smooth scrolling through datasets of 100,000+ rows without pagination. - Column Resizing — draggable column borders that allow users to manually adjust column widths, with persistence via config or URL state.
- Column Reordering — drag-and-drop column header reordering with optional persistence to localStorage or URL params.
- Inline Cell Editing — click-to-edit cells with support for validation, optimistic updates, and a save/cancel interaction model.
- Row Grouping — collapsible group headers that aggregate rows by a shared column value, with customisable group header renderers.
- Pinned Columns — sticky first and/or last columns that remain visible during horizontal scroll on wide tables.
- Standalone Mode — an optional build target that removes all Next.js-specific dependencies, making TableCraft usable in any React application without a Next.js runtime.
- Theme Tokens — a set of CSS custom properties exposing colors, spacing, border radius, and typography so that TableCraft can be styled entirely through CSS without overriding component classes.
- Accessibility Audit Mode — a runtime mode that traverses rendered table markup and validates ARIA roles, labels, and focus management rules, surfacing violations as structured console output.
- Export Formats — extend the existing CSV export with additional formats: Excel (
.xlsx), PDF, and JSON, configurable per table instance.