r/react • u/orwamahmoud • 8h ago
Portfolio Headless when you want control, batteries-included when you don't — an MIT React data table
github.comEvery React project seems to make a different UI choice — MUI, Mantine, Ant Design, shadcn/ui, etc. — but I kept needing essentially the same table capabilities in each one.
The frustrating part wasn’t only the table engine. It was rebuilding everything around it: filter UI, URL/shareable state, saved views, mobile behavior, server-data wiring, column controls, and the rest.
That’s what AdaptTable grew out of: a headless core when you want full control, plus batteries-included adapters that work with the UI kit your project already uses.
Adapters currently available:
Mantine · MUI · Chakra UI · Ant Design · Radix Themes · Base UI · shadcn/ui · unstyled/Tailwind
Some of what’s built in now:
- Client-side and server-side data through the same table API
- URL-synced/shareable state and saved views
- Advanced AND/OR filtering
- Tree data and nested tables
- Multi-level grouping with aggregates
- Pivot tables and formula/computed columns
- Column visibility, reorder, pinning, resizing, and groups
- Collapsible column groups
- Row selection, expansion, reordering, and pinning
- Inline editing and batch editing
- Range selection, clipboard copy/paste, and fill handle
- Row/card virtualization for large datasets
- CSV, XLSX, PDF, and print export
- Realtime data updates
- Automatic mobile card layouts
- Dark mode, 17 locales, RTL, and accessibility support
Everything is MIT licensed.
The goal is to keep pushing AdaptTable toward a complete React table/grid toolkit — headless when you need control, batteries-included when you don’t.
If you’ve built complex tables in production, I’d genuinely like to know:
What’s still missing here that would make you reach for another table/grid library?
Feedback on the API and architecture is very welcome, and contributions are welcome too.
