Introduction
What is TableCraft?
TableCraft is a production-ready, enterprise-grade data table component library for React. Built on top of TanStack Table v8 (headless) and designed for Next.js, it provides a fully featured, type-safe, and globally configurable data grid with first-class support for internationalization, RTL layouts, server-side operations, and advanced filtering.
TableCraft is not a fork or a thin wrapper. It is an opinionated composition layer that assembles TanStack Table's headless primitives into a cohesive, batteries-included experience while preserving full escape hatches for customization.
Core Philosophy
- Zero-config by default, infinitely configurable when needed. Every table works out of the box with sensible defaults. A 4-layer configuration system lets you override anything — globally, per-instance, or via plugins.
- Server-first, client-capable. Discriminated union props let you toggle between client-side and server-side modes for search, filtering, and pagination — without changing your component tree.
- Type safety is not optional. Every prop, config option, hook return value, and column definition is fully typed with TypeScript generics.
- Internationalization is structural, not bolted on. RTL support, locale-aware formatting, and translation injection are wired into every component from the ground up.
Design Principles
- Composition over inheritance — every layer is individually replaceable without forking the library.
- Props always win — instance-level props override global config; nothing is locked behind abstraction.
- Progressive disclosure — simple tables stay simple; complexity is opt-in and additive.
- No runtime overhead for disabled features — unused capabilities are tree-shaken and never executed.
Target Audience
- Application developers building internal tools, admin panels, and dashboards who need a capable table that works without extensive configuration.
- Enterprise teams that require consistent, auditable behavior across many tables in a large application.
- Teams with internationalization or RTL layout requirements who cannot afford to bolt these on as an afterthought.
When to Use TableCraft
- You are building a data-heavy admin interface, dashboard, or internal tool with Next.js.
- You need server-side pagination, sorting, and filtering with a consistent API across multiple tables.
- Your application serves multiple locales and requires RTL layout support.
- You want a type-safe column definition API that scales from 5 columns to 50 without losing maintainability.
- You need built-in export (CSV/Excel), row selection, expandable rows, or column visibility controls without wiring them up manually.
When NOT to Use TableCraft
Limitations to consider
- Spreadsheet-style inline cell editing is not a supported pattern. TableCraft is a read-display grid with row-level actions, not a data-entry spreadsheet. Consider AG Grid or Handsontable for that use case.
- Standalone non-Next.js React apps are not the primary target. TableCraft relies on Next.js App Router conventions and
next-intlfor its i18n plumbing. It can be adapted, but expect friction. - Massive datasets without virtualization (>50,000 rows rendered at once) are not handled. TableCraft does not bundle row virtualization. If you need to render tens of thousands of DOM rows simultaneously, integrate TanStack Virtual separately.