Search documentation

Search all pages, headings and text, in the current package or topic or in all documentation.

active-grid

A styled, standalone React data grid with filtering, sorting, paging, virtualization, editing and export, in client and server mode.

@workspace/active-grid 11.0.0Status unknowncontent differs from the recorded release 11.0.0baseline ce081dc3

@workspace/active-grid is a React data grid with its own kernel, its own plain-CSS stylesheet and its own internal controls. It runs on React and React DOM alone: no framework, no design system, no Tailwind and no provider is required. Your application gives it columns, data (or a function that fetches data), a presentation and a translator.

Orders in client modeClient

Skip past grid rows
Order
Customer
Category
Qty
Total
Ordered
Status
End of grid rows

What it does#

  • Two modes. Client mode sorts, filters and pages rows that are in the browser. Server mode asks your fetchFn for one block of rows at a time, with the sorting, filters and search to apply.
  • Columns. Resize, reorder, pin, hide, a column chooser, auto-size; column types for text, numbers, amounts, percentages, dates, badges and booleans.
  • Filtering. Text, number, date, select and boolean filters with operator presets, a global search, server-side facets, and an opt-in AND/OR filter builder.
  • Rows. Selection (also "select all" in server mode), pinning, expanding with detail panels, grouping with aggregation.
  • Editing. Cell, row and batch modes with validation, and undo and redo.
  • Export. CSV, JSON, Excel, PDF and the clipboard, as data or as presentation.
  • Keyboard and direction. Cell-level keyboard navigation with roving focus; right to left with logical pinning; any language Intl formats.

What it does not do#

  • No data access. In server mode the server is yours: the grid sends a request and renders the answer. It has no query language, no database adapter and no authorization.
  • No language of its own. Every word goes through the translator you pass (t); englishGridTranslator is the package's English, which you pass on purpose. The presentation (locale) is required.
  • No brand. A neutral baseline; your application maps the --grid-* tokens to its own (see Host styling).

What your application provides#

You provideWhere
the presentation and the translatorlocale and t, per grid or once on <GridDefaults>
the stylesheet, onceimport '@workspace/active-grid/styles.css'
the token mapping to your brandyour global CSS (optional)
in server mode: the server and fetchFna route of your own; the grid sends its request shape
a link component, export fonts, a sink<GridDefaults ui={{linkComponent}}>, export options, diagnostics
the optional export librariesxlsx for Excel, jspdf and jspdf-autotable for PDF

Dependencies#

@workspace/active-format, @workspace/active-virtual and @workspace/active-helpers (owners that come along with it), @base-ui/react, clsx, date-fns, @date-fns/tz, lucide-react and react-day-picker. react and react-dom 19 are peers.

Next#

This page as Markdown