@alaarab/ogrid
v1.9.0
Published
OGrid default (Radix) – Data grid with sorting, filtering, pagination, column chooser, and CSV export. Packed with Radix UI; no Fluent or Material required.
Maintainers
Readme
This is the default OGrid package built with Radix UI primitives — lightweight, no Fluent/Material dependency. Also available for Fluent UI and Material UI. Same API, just swap the import.
Why OGrid?
| | OGrid | AG Grid Community | AG Grid Enterprise | |---|---|---|---| | Spreadsheet selection | Built-in | - | $999/dev/year | | Clipboard (copy/paste) | Built-in | - | $999/dev/year | | Fill handle | Built-in | - | $999/dev/year | | Undo/redo | Built-in | - | $999/dev/year | | Context menu | Built-in | - | $999/dev/year | | Status bar | Built-in | - | $999/dev/year | | Side bar | Built-in | - | $999/dev/year | | Cell editing | Built-in | Built-in | Built-in | | Sorting & filtering | Built-in | Built-in | Built-in | | License | MIT (free) | MIT | Commercial |
Features
Sorting · Filtering (text, multi-select, date range, people picker) · Pagination · Cell editing (inline, select, checkbox, rich select, date, custom popover) · Spreadsheet selection · Clipboard · Fill handle · Undo/redo · Row selection · Column groups · Column pinning · Column resize · Column chooser · Side bar · Context menu · Status bar with aggregations · CSV export · Grid API · Server-side data · Column state persistence · Keyboard navigation (Excel-style Ctrl+Arrow) · Built-in column types (text, numeric, date, boolean) · React 17/18/19 · TypeScript strict
Install
npm install @alaarab/ogridRadix UI primitives are bundled as regular dependencies — only react and react-dom are peer deps.
Quick Start
import { OGrid, type IColumnDef } from '@alaarab/ogrid';
const columns: IColumnDef<Employee>[] = [
{ columnId: 'name', name: 'Name', sortable: true, editable: true },
{ columnId: 'department', name: 'Department',
filterable: { type: 'multiSelect' },
cellEditor: 'richSelect', cellEditorParams: { values: ['Engineering', 'Sales', 'Marketing'] } },
{ columnId: 'salary', name: 'Salary', type: 'numeric', editable: true,
valueFormatter: (v) => `$${Number(v).toLocaleString()}` },
];
<OGrid
columns={columns}
data={employees}
getRowId={(e) => e.id}
editable
cellSelection
statusBar
sideBar
/>Documentation
Full docs, API reference, and interactive examples at alaarab.github.io/ogrid.
License
MIT — Free forever. No enterprise tiers. No feature paywalls.
