esseal-data-table
v2.5.2
Published
[](https://www.npmjs.com/package/esseal-data-table) [](LICENSE) [ {
return (
<div style={{ height: 400 }}>
<EssealDataTable rows={rows} columns={columns} />
</div>
);
}⚠️ The table fills its parent's height by default. Always wrap it in a container with a defined height, or pass a
heightprop directly.
Features
| Feature | Notes |
|---|---|
| Virtualized rendering | Only visible rows render — handles large datasets without lag. Disabled while any row is expanded. |
| Sorting | Click any header to sort ascending / descending |
| Per-column filtering | Search inputs built into each column header |
| Client pagination | Built-in page navigation; supports a page-size selector |
| Server-side pagination | Delegate filtering, sorting, and paging to your API |
| Server-side grouping | Lazy-load group rows on expand; load-more within groups |
| Client-side grouping | Multi-level expand/collapse grouping on in-memory data |
| Column pinning | Pin columns to left or right; runtime-configurable via the pin icon |
| Column resizing | Drag-resize any column header |
| Column visibility | Toggle columns via the built-in Columns menu |
| Checkbox selection | Multi-row selection that persists across page changes |
| Row actions | Inline buttons + overflow (⋮) menu with portal positioning |
| Custom toolbar | Inject your own controls into the toolbar |
| Loading overlay | Block the table while data is in flight |
| Row expansion | Expand any row to show custom content below it via expandable.render |
| State persistence | Save and restore full table state via onStateChange / initialState |
| valueGetter | Extract display values from nested or computed fields |
| Custom cell rendering | Render any React node inside any cell |
| Conditional styling | Apply CSS classes to rows or individual cells based on row data |
| Full TypeScript support | Generic component with end-to-end type safety |
| Zero dependencies | No lodash, no date libraries, nothing — React only |
Pagination modes at a glance
| | Client (default) | Server |
|---|---|---|
| Prop | (omit paginationMode) | paginationMode="server" |
| Filtering | In-memory | Your API |
| Sorting | In-memory | Your API |
| Total count | Computed from rows | rowCount prop |
| Grouping | groupBy — client-side | serverGroups — lazy expand |
Documentation
| File | Description | |---|---| | docs/getting-started.md | Installation walkthrough and first steps | | docs/api-reference.md | Every prop, type, and interface | | docs/configuration.md | CSS variables and theming | | docs/examples/ | Runnable examples for common patterns | | docs/error-reference.md | All errors this package can produce | | docs/changelog.md | Version history | | docs/contributing.md | How to run and contribute to the project |
License
MIT © Esseal
