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

  1. 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.
  2. 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.
  3. Type safety is not optional. Every prop, config option, hook return value, and column definition is fully typed with TypeScript generics.
  4. 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-intl for 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.