TableAdapter is a reusable, opinionated helper/wrapper for TanStack Table (React Table v8). It much easier and faster to build advanced, production-ready tables with TanStack Table. TableAdapter provides sensible defaults, built-in UI helpers, and developer experience improvements—so you can focus on your app, not table boilerplate.
npm install @TechFusionMasters/tanstack-table-adapter
Or with yarn:
yarn add @TechFusionMasters/tanstack-table-adapter
import React from "react";
import { TableAdapter } from "@TechFusionMasters/tanstack-table-adapter";
const columns = [
{ accessorKey: "id", header: "ID" },
{ accessorKey: "name", header: "Name" },
{ accessorKey: "age", header: "Age" },
];
const data = [
{ id: 1, name: "Alice", age: 25 },
{ id: 2, name: "Bob", age: 30 },
{ id: 3, name: "Charlie", age: 22 },
];
export default function App() {
return (
<TableAdapter
data={data}
columns={columns}
enablePagination
enableSorting
className="w-full max-w-2xl"
/>
);
}
<TableAdapter />
Propsdata
: Array of row objectscolumns
: Array of column definitions (TanStack Table ColumnDef)totalRowCount?
: For server-side paginationid?
, debugTable?
, getRowId?
enablePagination?
, enableSorting?
, enableMultiSort?
, enableColumnFilters?
, enableGlobalFilter?
, enableColumnResizing?
, enableRowSelection?
, enableExpanding?
, enablePinning?
, enableStickyHeader?
, enableGrouping?
pageSize?
, pageIndex?
, sorting?
, columnFilters?
, globalFilter?
, columnVisibility?
, rowSelection?
, expanded?
, columnOrder?
, columnPinning?
, grouping?
onPaginationChange?
, onSortingChange?
, onColumnFiltersChange?
, onGlobalFilterChange?
, onColumnVisibilityChange?
, onRowSelectionChange?
, onExpandedChange?
, onColumnOrderChange?
, onColumnPinningChange?
, onGroupingChange?
manualPagination?
, manualSorting?
, manualFiltering?
, manualGrouping?
, pageCount?
, autoResetPageIndex?
, globalFilterFn?
renderTableHeader?
, renderTableFooter?
, renderPagination?
, renderNoResults?
, renderExpanded?
, renderRowSubComponent?
, renderGroupedCell?
, renderSortIcon?
onRowClick?
, onCellClick?
, onExportData?
isLoading?
, isPaginationLoading?
, loadingComponent?
, paginationLoadingComponent?
, showOverlayLoading?
ariaLabel?
, ariaLabelledBy?
, ariaDescribedBy?
className?
, tableClassName?
, headerClassName?
, bodyClassName?
, rowClassName?
, cellClassName?
, columnResizeMode?
, pageSizeOptions?
, enableSortingRemoval?
exportToCSV(data, columns, filename?)
: Export table data to CSVfuzzyFilter
: Fuzzy text filter function for global/column filteringGlobalFilterInput
: Ready-to-use global filter input componentColumnVisibilityToggle
: UI for toggling column visibilityMIT © 2025 TechFusionMasters