A framework-agnostic data table: a shared, typed ColumnFactory core, idiomatic React and Vue
render layers on top of TanStack Table, self-sufficient default UI
primitives, and optional CRUD-dialog add-ons. Container-query responsive, ships precompiled
stylesheets, fully overridable at every layer.
Docs, guides, and live demos: donilite.github.io/Flextable
| Package | Version | Description |
|---|---|---|
@flextable/core |
Framework-agnostic ColumnFactory, pagination, error, and i18n classes |
|
@flextable/react |
FlexTable component and hooks for React |
|
@flextable/react-ui |
Default Radix-based primitives for @flextable/react |
|
@flextable/react-crud |
Entity editor and async-store glue for React | |
@flextable/vue |
FlexTable.vue and composables for Vue 3 |
|
@flextable/vue-ui |
Default reka-ui-based primitives for @flextable/vue |
|
@flextable/vue-crud |
Server pagination/filter handlers for Vue |
# React
bun add @flextable/core @flextable/react @flextable/react-ui @tanstack/react-table
# Vue
bun add @flextable/core @flextable/vue @flextable/vue-ui @tanstack/vue-tableSee the Getting started — React and Getting started — Vue guides, or the live demo for both frameworks side by side.
This is a Bun workspaces monorepo:
packages/ the 7 published packages listed above
apps/docs/ the Astro Starlight documentation site (donilite.github.io/Flextable)
bun install
bun run build # staged build: core -> react/vue/*-ui -> *-crud
bun run typecheck
bun test
bun run lintReleasing a version is a maintainer-only, two-step process (Changesets + a tag-gated publish workflow) — see RELEASING.md.