@alaarab/ogrid-mcp 2.5.4 → 2.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -51
- package/bundled-docs/api/README.md +11 -11
- package/bundled-docs/api/components-column-chooser.mdx +21 -21
- package/bundled-docs/api/components-column-header-filter.mdx +23 -23
- package/bundled-docs/api/components-datagrid-table.mdx +27 -27
- package/bundled-docs/api/components-pagination-controls.mdx +21 -21
- package/bundled-docs/api/components-sidebar.mdx +27 -27
- package/bundled-docs/api/components-status-bar.mdx +12 -12
- package/bundled-docs/api/js-api.mdx +13 -13
- package/bundled-docs/api/types.mdx +4 -4
- package/bundled-docs/features/column-chooser.mdx +4 -4
- package/bundled-docs/features/column-groups.mdx +4 -4
- package/bundled-docs/features/column-pinning.mdx +5 -5
- package/bundled-docs/features/column-reordering.mdx +5 -5
- package/bundled-docs/features/column-types.mdx +7 -7
- package/bundled-docs/features/context-menu.mdx +4 -4
- package/bundled-docs/features/csv-export.mdx +4 -4
- package/bundled-docs/features/editing.mdx +78 -68
- package/bundled-docs/features/filtering.mdx +83 -67
- package/bundled-docs/features/formulas.mdx +135 -139
- package/bundled-docs/features/grid-api.mdx +4 -4
- package/bundled-docs/features/keyboard-navigation.mdx +6 -6
- package/bundled-docs/features/mobile-touch.mdx +9 -9
- package/bundled-docs/features/pagination.mdx +4 -4
- package/bundled-docs/features/performance.mdx +97 -100
- package/bundled-docs/features/premium-inputs.mdx +579 -0
- package/bundled-docs/features/responsive-columns.mdx +1 -1
- package/bundled-docs/features/row-selection.mdx +8 -8
- package/bundled-docs/features/server-side-data.mdx +4 -4
- package/bundled-docs/features/sidebar.mdx +6 -6
- package/bundled-docs/features/sorting.mdx +87 -44
- package/bundled-docs/features/spreadsheet-selection.mdx +9 -9
- package/bundled-docs/features/status-bar.mdx +4 -4
- package/bundled-docs/features/toolbar.mdx +9 -9
- package/bundled-docs/features/virtual-scrolling.mdx +13 -13
- package/bundled-docs/getting-started/overview.mdx +9 -9
- package/bundled-docs/getting-started/quick-start.mdx +47 -47
- package/bundled-docs/getting-started/vanilla-js.mdx +98 -74
- package/bundled-docs/guides/accessibility.mdx +113 -421
- package/bundled-docs/guides/framework-showcase.mdx +98 -52
- package/bundled-docs/guides/mcp-live-testing.mdx +12 -12
- package/bundled-docs/guides/mcp.mdx +47 -46
- package/dist/esm/bridge-client.d.ts +3 -3
- package/dist/esm/index.js +9 -9
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,68 +1,23 @@
|
|
|
1
1
|
# @alaarab/ogrid-mcp
|
|
2
2
|
|
|
3
|
-
MCP
|
|
3
|
+
MCP server that lets AI editors search and retrieve OGrid documentation across all supported frameworks.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Install
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Add this to your Claude Desktop config (`claude_desktop_config.json`):
|
|
7
|
+
Add to your editor's MCP configuration:
|
|
10
8
|
|
|
11
9
|
```json
|
|
12
10
|
{
|
|
13
11
|
"mcpServers": {
|
|
14
|
-
"ogrid": {
|
|
15
|
-
"command": "npx",
|
|
16
|
-
"args": ["-y", "@alaarab/ogrid-mcp"]
|
|
17
|
-
}
|
|
12
|
+
"ogrid": { "command": "npx", "args": ["-y", "@alaarab/ogrid-mcp"] }
|
|
18
13
|
}
|
|
19
14
|
}
|
|
20
15
|
```
|
|
21
16
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
claude mcp add ogrid -- npx -y @alaarab/ogrid-mcp
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
### Direct execution
|
|
17
|
+
Or run directly:
|
|
29
18
|
|
|
30
19
|
```bash
|
|
31
20
|
npx @alaarab/ogrid-mcp
|
|
32
21
|
```
|
|
33
22
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
The server exposes 5 tools:
|
|
37
|
-
|
|
38
|
-
| Tool | Description |
|
|
39
|
-
|------|-------------|
|
|
40
|
-
| `search_docs` | Search OGrid documentation by keyword. Returns matching docs with title, description, and content excerpt. |
|
|
41
|
-
| `list_docs` | List available documentation pages, optionally filtered by category (`features`, `getting-started`, `guides`, `api`). |
|
|
42
|
-
| `get_docs` | Get the full content of a documentation page by its path. |
|
|
43
|
-
| `get_code_example` | Find code examples matching a query, optionally filtered by framework (`react`, `angular`, `vue`, `js`). |
|
|
44
|
-
| `detect_version` | Detect which OGrid version and framework is installed in the user's project by reading their package.json. |
|
|
45
|
-
|
|
46
|
-
## Resources
|
|
47
|
-
|
|
48
|
-
| URI | Description |
|
|
49
|
-
|-----|-------------|
|
|
50
|
-
| `ogrid://quick-reference` | Key props, install commands, and common patterns. |
|
|
51
|
-
| `ogrid://migration-guide` | Full migration guide from AG Grid to OGrid with side-by-side API mapping. |
|
|
52
|
-
| `ogrid://docs/{path}` | Any documentation page by path (e.g. `ogrid://docs/features/sorting`). |
|
|
53
|
-
|
|
54
|
-
## Prompts
|
|
55
|
-
|
|
56
|
-
| Name | Description |
|
|
57
|
-
|------|-------------|
|
|
58
|
-
| `migrate-from-ag-grid` | Step-by-step guide to migrate from AG Grid to OGrid. Returns the full migration guide with instructions for the AI to analyze your AG Grid usage and provide specific migration steps. |
|
|
59
|
-
|
|
60
|
-
## Environment Variables
|
|
61
|
-
|
|
62
|
-
| Variable | Description | Default |
|
|
63
|
-
|----------|-------------|---------|
|
|
64
|
-
| `OGRID_DOCS_PATH` | Absolute path to the docs directory containing `.mdx`/`.md` files. | `packages/docs/docs` relative to the package install location |
|
|
65
|
-
|
|
66
|
-
## How it works
|
|
67
|
-
|
|
68
|
-
On startup, the server indexes all `.mdx` and `.md` files from the docs directory. It parses frontmatter (title, description), extracts fenced code blocks with framework detection, and builds a searchable in-memory index. Search results are ranked by title match, description match, content density, and category relevance.
|
|
23
|
+
See the [OGrid docs](https://alaarab.github.io/ogrid/) for full documentation.
|
|
@@ -4,23 +4,23 @@ Complete API documentation for OGrid components, types, and interfaces.
|
|
|
4
4
|
|
|
5
5
|
## Components
|
|
6
6
|
|
|
7
|
-
- **[DataGridTable](./components-datagrid-table.mdx)**
|
|
8
|
-
- **[ColumnHeaderFilter](./components-column-header-filter.mdx)**
|
|
9
|
-
- **[ColumnChooser](./components-column-chooser.mdx)**
|
|
10
|
-
- **[PaginationControls](./components-pagination-controls.mdx)**
|
|
11
|
-
- **[StatusBar](./components-status-bar.mdx)**
|
|
12
|
-
- **[SideBar](./components-sidebar.mdx)**
|
|
7
|
+
- **[DataGridTable](./components-datagrid-table.mdx)** - Core data grid component that renders the table, headers, rows, and cells
|
|
8
|
+
- **[ColumnHeaderFilter](./components-column-header-filter.mdx)** - Column header with sorting and filtering UI (text, multi-select, people, date)
|
|
9
|
+
- **[ColumnChooser](./components-column-chooser.mdx)** - Dropdown for showing/hiding columns
|
|
10
|
+
- **[PaginationControls](./components-pagination-controls.mdx)** - Pagination UI with page navigation and page size selector
|
|
11
|
+
- **[StatusBar](./components-status-bar.mdx)** - Status bar with row counts and cell aggregations
|
|
12
|
+
- **[SideBar](./components-sidebar.mdx)** - Collapsible sidebar with columns and filters panels
|
|
13
13
|
|
|
14
14
|
## Configuration
|
|
15
15
|
|
|
16
|
-
- **[OGrid Props](./ogrid-props.mdx)**
|
|
17
|
-
- **[Column Definition](./column-def.mdx)**
|
|
18
|
-
- **[Grid API](./grid-api.mdx)**
|
|
19
|
-
- **[JS API](./js-api.mdx)**
|
|
16
|
+
- **[OGrid Props](./ogrid-props.mdx)** - Top-level OGrid component props (client-side and server-side modes)
|
|
17
|
+
- **[Column Definition](./column-def.mdx)** - Complete column definition reference (IColumnDef, IColumnGroupDef, cell editors, filters)
|
|
18
|
+
- **[Grid API](./grid-api.mdx)** - Imperative grid API (IOGridApi) for programmatic control
|
|
19
|
+
- **[JS API](./js-api.mdx)** - Vanilla JS API reference (OGrid class, state classes, components)
|
|
20
20
|
|
|
21
21
|
## Types
|
|
22
22
|
|
|
23
|
-
- **[Types Reference](./types.mdx)**
|
|
23
|
+
- **[Types Reference](./types.mdx)** - All shared TypeScript types:
|
|
24
24
|
- **Data Types:** `RowId`, `FilterValue`, `IFilters`, `IDataSource`, `IFetchParams`, `IPageResult`
|
|
25
25
|
- **Selection:** `RowSelectionMode`, `IActiveCell`, `ISelectionRange`, `IRowSelectionChangeEvent`
|
|
26
26
|
- **Editing:** `ICellEditorProps`, `ICellValueChangedEvent`, `CellEditorParams`
|
|
@@ -211,8 +211,8 @@ const handleVisibilityChange = (columnKey: string, visible: boolean) => {
|
|
|
211
211
|
### Select All / Clear All
|
|
212
212
|
|
|
213
213
|
The dropdown includes two action buttons:
|
|
214
|
-
- **Select All**
|
|
215
|
-
- **Clear All**
|
|
214
|
+
- **Select All** - Shows all columns (except those marked as `required: false` - these remain hidden)
|
|
215
|
+
- **Clear All** - Hides all optional columns (required columns remain visible)
|
|
216
216
|
|
|
217
217
|
### Visual Indicator
|
|
218
218
|
|
|
@@ -220,9 +220,9 @@ The trigger button shows the current visibility count: `"Column Visibility (3 of
|
|
|
220
220
|
|
|
221
221
|
### Checkbox States
|
|
222
222
|
|
|
223
|
-
- **Checked**
|
|
224
|
-
- **Unchecked**
|
|
225
|
-
- **Disabled + Checked**
|
|
223
|
+
- **Checked** - Column is visible
|
|
224
|
+
- **Unchecked** - Column is hidden
|
|
225
|
+
- **Disabled + Checked** - Column is required and cannot be hidden
|
|
226
226
|
|
|
227
227
|
## Accessibility
|
|
228
228
|
|
|
@@ -251,11 +251,11 @@ The trigger button shows the current visibility count: `"Column Visibility (3 of
|
|
|
251
251
|
|
|
252
252
|
### Keyboard Navigation
|
|
253
253
|
|
|
254
|
-
- `Enter` / `Space` (on trigger button)
|
|
255
|
-
- `Tab` / `Shift+Tab`
|
|
256
|
-
- `Space`
|
|
257
|
-
- `Enter` (on action buttons)
|
|
258
|
-
- `Escape`
|
|
254
|
+
- `Enter` / `Space` (on trigger button) - Open/close dropdown
|
|
255
|
+
- `Tab` / `Shift+Tab` - Navigate between checkboxes and action buttons
|
|
256
|
+
- `Space` - Toggle focused checkbox
|
|
257
|
+
- `Enter` (on action buttons) - Execute "Select All" or "Clear All"
|
|
258
|
+
- `Escape` - Close dropdown
|
|
259
259
|
|
|
260
260
|
### Focus Management
|
|
261
261
|
|
|
@@ -286,25 +286,25 @@ See the [Accessibility Guide](/docs/guides/accessibility) for complete documenta
|
|
|
286
286
|
All UI packages provide default styles matching their design system. Styles are scoped to avoid conflicts.
|
|
287
287
|
|
|
288
288
|
**CSS custom properties** (all packages):
|
|
289
|
-
- `--ogrid-header-bg`
|
|
290
|
-
- `--ogrid-border`
|
|
291
|
-
- `--ogrid-fg`
|
|
289
|
+
- `--ogrid-header-bg` - Trigger button and popover background color
|
|
290
|
+
- `--ogrid-border` - Border color
|
|
291
|
+
- `--ogrid-fg` - Foreground text color
|
|
292
292
|
|
|
293
293
|
## Placement in OGrid
|
|
294
294
|
|
|
295
295
|
The `columnChooser` prop on `OGrid` controls where the column chooser renders:
|
|
296
296
|
|
|
297
|
-
- `true` or `'toolbar'` (default)
|
|
298
|
-
- `'sidebar'`
|
|
299
|
-
- `false`
|
|
297
|
+
- `true` or `'toolbar'` (default) - Renders in the toolbar strip (recommended)
|
|
298
|
+
- `'sidebar'` - Only available via the sidebar columns panel (no toolbar button)
|
|
299
|
+
- `false` - Hidden entirely (useful when you want full control over visibility)
|
|
300
300
|
|
|
301
301
|
## Related Components
|
|
302
302
|
|
|
303
|
-
- [DataGridTable](./components-datagrid-table.mdx)
|
|
304
|
-
- [SideBar](./components-sidebar.mdx)
|
|
305
|
-
- [OGrid](./ogrid-props.mdx)
|
|
303
|
+
- [DataGridTable](./components-datagrid-table.mdx) - Main grid component
|
|
304
|
+
- [SideBar](./components-sidebar.mdx) - Sidebar with columns panel (alternative placement)
|
|
305
|
+
- [OGrid](./ogrid-props.mdx) - Top-level wrapper that integrates the column chooser
|
|
306
306
|
|
|
307
307
|
## See Also
|
|
308
308
|
|
|
309
|
-
- [Column Definition](./column-def.mdx#icolumnmeta)
|
|
310
|
-
- [Grid API](./grid-api.mdx)
|
|
309
|
+
- [Column Definition](./column-def.mdx#icolumnmeta) - Column metadata reference
|
|
310
|
+
- [Grid API](./grid-api.mdx) - `getColumnState()` and `applyColumnState()` methods
|
|
@@ -286,34 +286,34 @@ const handleFilterChange = (values: string[]) => {
|
|
|
286
286
|
### Keyboard Navigation
|
|
287
287
|
|
|
288
288
|
**Header Interaction:**
|
|
289
|
-
- `Tab`
|
|
290
|
-
- `Enter` / `Space`
|
|
291
|
-
- `Shift+Tab`
|
|
289
|
+
- `Tab` - Move focus to sort button, then filter button
|
|
290
|
+
- `Enter` / `Space` - Activate focused button (toggle sort or open filter)
|
|
291
|
+
- `Shift+Tab` - Move focus backwards
|
|
292
292
|
|
|
293
293
|
**Filter Popover (All Types):**
|
|
294
|
-
- `Escape`
|
|
295
|
-
- `Tab` / `Shift+Tab`
|
|
296
|
-
- `Enter` (on Apply button)
|
|
294
|
+
- `Escape` - Close popover without applying changes
|
|
295
|
+
- `Tab` / `Shift+Tab` - Navigate inputs and buttons
|
|
296
|
+
- `Enter` (on Apply button) - Apply filter and close popover
|
|
297
297
|
|
|
298
298
|
**Text Filter:**
|
|
299
299
|
- Type to enter filter text
|
|
300
|
-
- `Enter`
|
|
300
|
+
- `Enter` - Apply filter immediately (no button click needed)
|
|
301
301
|
|
|
302
302
|
**Multi-Select Filter:**
|
|
303
|
-
- `↑` `↓`
|
|
304
|
-
- `Space`
|
|
305
|
-
- `Ctrl+A`
|
|
303
|
+
- `↑` `↓` - Navigate checkbox list
|
|
304
|
+
- `Space` - Toggle focused checkbox
|
|
305
|
+
- `Ctrl+A` - Select all options
|
|
306
306
|
- Type to search options
|
|
307
307
|
|
|
308
308
|
**People Filter:**
|
|
309
309
|
- Type to search people
|
|
310
|
-
- `↓`
|
|
311
|
-
- `↑` `↓`
|
|
312
|
-
- `Enter`
|
|
313
|
-
- `Backspace`
|
|
310
|
+
- `↓` - Move to search results list
|
|
311
|
+
- `↑` `↓` - Navigate search results
|
|
312
|
+
- `Enter` - Select focused person
|
|
313
|
+
- `Backspace` - Clear selected person
|
|
314
314
|
|
|
315
315
|
**Date Filter:**
|
|
316
|
-
- `Tab`
|
|
316
|
+
- `Tab` - Move between "From" and "To" inputs
|
|
317
317
|
- Type date in `YYYY-MM-DD` format
|
|
318
318
|
- Date picker (if supported): Arrow keys to navigate calendar
|
|
319
319
|
|
|
@@ -347,17 +347,17 @@ See the [Accessibility Guide](/docs/guides/accessibility) for complete documenta
|
|
|
347
347
|
All UI packages provide default styles matching their design system (Radix UI, Fluent UI, Material UI, PrimeNG, Vuetify, PrimeVue). Styles are scoped to avoid conflicts.
|
|
348
348
|
|
|
349
349
|
**CSS custom properties** (all packages):
|
|
350
|
-
- `--ogrid-header-bg`
|
|
351
|
-
- `--ogrid-border`
|
|
352
|
-
- `--ogrid-fg`
|
|
350
|
+
- `--ogrid-header-bg` - Header background color
|
|
351
|
+
- `--ogrid-border` - Border color
|
|
352
|
+
- `--ogrid-fg` - Foreground text color
|
|
353
353
|
|
|
354
354
|
## Related Components
|
|
355
355
|
|
|
356
|
-
- [DataGridTable](./components-datagrid-table.mdx)
|
|
357
|
-
- [ColumnChooser](./components-column-chooser.mdx)
|
|
358
|
-
- [Types: FilterValue](./types.mdx#filtervalue)
|
|
356
|
+
- [DataGridTable](./components-datagrid-table.mdx) - Main grid component that renders column headers
|
|
357
|
+
- [ColumnChooser](./components-column-chooser.mdx) - Column visibility dropdown
|
|
358
|
+
- [Types: FilterValue](./types.mdx#filtervalue) - Filter value discriminated union
|
|
359
359
|
|
|
360
360
|
## See Also
|
|
361
361
|
|
|
362
|
-
- [Column Definition](./column-def.mdx#icolumnfilterdef)
|
|
363
|
-
- [Filtering Feature Guide](/docs/features/filtering)
|
|
362
|
+
- [Column Definition](./column-def.mdx#icolumnfilterdef) - Filter configuration reference
|
|
363
|
+
- [Filtering Feature Guide](/docs/features/filtering) - Complete filtering documentation
|
|
@@ -56,7 +56,7 @@ The core data grid component that renders the table structure, headers, rows, ce
|
|
|
56
56
|
| `sortBy` | `string` | `undefined` | Currently sorted column ID. |
|
|
57
57
|
| `sortDirection` | `'asc' \| 'desc'` | `undefined` | Sort direction. |
|
|
58
58
|
| `onSortChange` | `(field: string, direction: 'asc' \| 'desc') => void` | `undefined` | Callback when user clicks a sortable column header. |
|
|
59
|
-
| `filters` | `IFilters` | `{}` | Active filter values (column ID
|
|
59
|
+
| `filters` | `IFilters` | `{}` | Active filter values (column ID to FilterValue). |
|
|
60
60
|
| `onFiltersChange` | `(filters: IFilters) => void` | `undefined` | Callback when filters are applied or cleared. |
|
|
61
61
|
| `visibleColumns` | `Set<string>` | All columns | Set of visible column IDs. |
|
|
62
62
|
| `onVisibilityChange` | `(columnId: string, visible: boolean) => void` | `undefined` | Callback when column visibility changes. |
|
|
@@ -227,35 +227,35 @@ The grid uses semantic HTML with proper ARIA roles:
|
|
|
227
227
|
Complete Excel-style keyboard navigation:
|
|
228
228
|
|
|
229
229
|
**Arrow Keys:**
|
|
230
|
-
- `↑` `↓` `←`
|
|
231
|
-
- `Ctrl+↑` / `Ctrl+↓`
|
|
232
|
-
- `Ctrl+←` / `Ctrl
|
|
233
|
-
- `Home` / `End`
|
|
234
|
-
- `Ctrl+Home` / `Ctrl+End`
|
|
230
|
+
- `↑` `↓` `←` ` to ` - Move active cell one cell in the direction pressed
|
|
231
|
+
- `Ctrl+↑` / `Ctrl+↓` - Jump to first/last row
|
|
232
|
+
- `Ctrl+←` / `Ctrl+ to ` - Jump to first/last column
|
|
233
|
+
- `Home` / `End` - Jump to start/end of row
|
|
234
|
+
- `Ctrl+Home` / `Ctrl+End` - Jump to first/last cell in grid
|
|
235
235
|
|
|
236
236
|
**Selection:**
|
|
237
|
-
- `Shift+Arrows`
|
|
238
|
-
- `Ctrl+A`
|
|
239
|
-
- `Space` (on checkbox column)
|
|
237
|
+
- `Shift+Arrows` - Extend cell selection range
|
|
238
|
+
- `Ctrl+A` - Select all cells
|
|
239
|
+
- `Space` (on checkbox column) - Toggle row selection
|
|
240
240
|
|
|
241
241
|
**Editing:**
|
|
242
|
-
- `Enter` or `F2`
|
|
243
|
-
- `Escape`
|
|
244
|
-
- `Enter` (while editing)
|
|
245
|
-
- `Tab` (while editing)
|
|
242
|
+
- `Enter` or `F2` - Start editing active cell
|
|
243
|
+
- `Escape` - Cancel editing and revert
|
|
244
|
+
- `Enter` (while editing) - Commit and move down
|
|
245
|
+
- `Tab` (while editing) - Commit and move right
|
|
246
246
|
|
|
247
247
|
**Clipboard:**
|
|
248
|
-
- `Ctrl+C` / `Cmd+C`
|
|
249
|
-
- `Ctrl+X` / `Cmd+X`
|
|
250
|
-
- `Ctrl+V` / `Cmd+V`
|
|
251
|
-
- `Delete`
|
|
248
|
+
- `Ctrl+C` / `Cmd+C` - Copy selected cells
|
|
249
|
+
- `Ctrl+X` / `Cmd+X` - Cut selected cells
|
|
250
|
+
- `Ctrl+V` / `Cmd+V` - Paste
|
|
251
|
+
- `Delete` - Clear selected cells
|
|
252
252
|
|
|
253
253
|
**Undo/Redo:**
|
|
254
|
-
- `Ctrl+Z` / `Cmd+Z`
|
|
255
|
-
- `Ctrl+Y` / `Cmd+Shift+Z`
|
|
254
|
+
- `Ctrl+Z` / `Cmd+Z` - Undo last edit
|
|
255
|
+
- `Ctrl+Y` / `Cmd+Shift+Z` - Redo
|
|
256
256
|
|
|
257
257
|
**Context Menu:**
|
|
258
|
-
- `Shift+F10`
|
|
258
|
+
- `Shift+F10` - Open context menu for active cell
|
|
259
259
|
|
|
260
260
|
See the [Accessibility Guide](/docs/guides/accessibility) for complete keyboard shortcuts.
|
|
261
261
|
|
|
@@ -304,13 +304,13 @@ For complete accessibility documentation, see the [Accessibility Guide](/docs/gu
|
|
|
304
304
|
|
|
305
305
|
## Related Components
|
|
306
306
|
|
|
307
|
-
- [OGrid](./ogrid-props.mdx)
|
|
308
|
-
- [ColumnHeaderFilter](./components-column-header-filter.mdx)
|
|
309
|
-
- [StatusBar](./components-status-bar.mdx)
|
|
310
|
-
- [PaginationControls](./components-pagination-controls.mdx)
|
|
307
|
+
- [OGrid](./ogrid-props.mdx) - Top-level wrapper that includes toolbar and pagination
|
|
308
|
+
- [ColumnHeaderFilter](./components-column-header-filter.mdx) - Column filtering UI
|
|
309
|
+
- [StatusBar](./components-status-bar.mdx) - Status bar below the grid
|
|
310
|
+
- [PaginationControls](./components-pagination-controls.mdx) - Pagination UI
|
|
311
311
|
|
|
312
312
|
## See Also
|
|
313
313
|
|
|
314
|
-
- [Column Definition](./column-def.mdx)
|
|
315
|
-
- [Grid API](./grid-api.mdx)
|
|
316
|
-
- [Accessibility Guide](/docs/guides/accessibility)
|
|
314
|
+
- [Column Definition](./column-def.mdx) - Complete column definition reference
|
|
315
|
+
- [Grid API](./grid-api.mdx) - Imperative grid API reference
|
|
316
|
+
- [Accessibility Guide](/docs/guides/accessibility) - Complete accessibility documentation
|
|
@@ -206,12 +206,12 @@ const handlePageSizeChange = (size: number) => {
|
|
|
206
206
|
|
|
207
207
|
### Pagination Buttons
|
|
208
208
|
|
|
209
|
-
- **« (First)**
|
|
210
|
-
- **‹ (Previous)**
|
|
211
|
-
- **[1] [2] [3]**
|
|
212
|
-
- **...**
|
|
213
|
-
- **› (Next)**
|
|
214
|
-
- **» (Last)**
|
|
209
|
+
- **« (First)** - Jump to page 1 (disabled when on page 1)
|
|
210
|
+
- **‹ (Previous)** - Go to the previous page (disabled when on page 1)
|
|
211
|
+
- **[1] [2] [3]** - Numbered page buttons (up to 7 buttons shown)
|
|
212
|
+
- **...** - Ellipsis when there are more than 7 pages
|
|
213
|
+
- **› (Next)** - Go to the next page (disabled when on last page)
|
|
214
|
+
- **» (Last)** - Jump to the last page (disabled when on last page)
|
|
215
215
|
|
|
216
216
|
### Page Number Display Logic
|
|
217
217
|
|
|
@@ -281,11 +281,11 @@ Showing {startItem} to {endItem} of {totalCount} {entityLabelPlural}
|
|
|
281
281
|
|
|
282
282
|
### Keyboard Navigation
|
|
283
283
|
|
|
284
|
-
- `Tab` / `Shift+Tab`
|
|
285
|
-
- `Enter` / `Space` (on buttons)
|
|
286
|
-
- `←`
|
|
287
|
-
- `↑` `↓` (on dropdown)
|
|
288
|
-
- `Enter` (on dropdown)
|
|
284
|
+
- `Tab` / `Shift+Tab` - Navigate between pagination buttons and page size dropdown
|
|
285
|
+
- `Enter` / `Space` (on buttons) - Activate focused button (change page)
|
|
286
|
+
- `←` ` to ` (on page buttons) - Navigate between page number buttons
|
|
287
|
+
- `↑` `↓` (on dropdown) - Change page size
|
|
288
|
+
- `Enter` (on dropdown) - Confirm page size selection
|
|
289
289
|
|
|
290
290
|
### Focus Management
|
|
291
291
|
|
|
@@ -319,10 +319,10 @@ See the [Accessibility Guide](/docs/guides/accessibility) for complete documenta
|
|
|
319
319
|
All UI packages provide default styles matching their design system. Styles are scoped to avoid conflicts.
|
|
320
320
|
|
|
321
321
|
**CSS custom properties** (all packages):
|
|
322
|
-
- `--ogrid-header-bg`
|
|
323
|
-
- `--ogrid-border`
|
|
324
|
-
- `--ogrid-fg`
|
|
325
|
-
- `--ogrid-primary`
|
|
322
|
+
- `--ogrid-header-bg` - Background color
|
|
323
|
+
- `--ogrid-border` - Border color
|
|
324
|
+
- `--ogrid-fg` - Foreground text color
|
|
325
|
+
- `--ogrid-primary` - Primary color (current page button)
|
|
326
326
|
|
|
327
327
|
## Layout Integration
|
|
328
328
|
|
|
@@ -330,15 +330,15 @@ All UI packages provide default styles matching their design system. Styles are
|
|
|
330
330
|
|
|
331
331
|
## No Border or Padding
|
|
332
332
|
|
|
333
|
-
The component itself has **no outer border or padding**
|
|
333
|
+
The component itself has **no outer border or padding** - the parent container (footer strip in `OGridLayout`) provides these styles.
|
|
334
334
|
|
|
335
335
|
## Related Components
|
|
336
336
|
|
|
337
|
-
- [OGrid](./ogrid-props.mdx)
|
|
338
|
-
- [DataGridTable](./components-datagrid-table.mdx)
|
|
339
|
-
- [StatusBar](./components-status-bar.mdx)
|
|
337
|
+
- [OGrid](./ogrid-props.mdx) - Top-level wrapper that includes pagination
|
|
338
|
+
- [DataGridTable](./components-datagrid-table.mdx) - Main grid component
|
|
339
|
+
- [StatusBar](./components-status-bar.mdx) - Status bar below the grid
|
|
340
340
|
|
|
341
341
|
## See Also
|
|
342
342
|
|
|
343
|
-
- [Grid API](./grid-api.mdx)
|
|
344
|
-
- [Pagination Feature Guide](/docs/features/pagination)
|
|
343
|
+
- [Grid API](./grid-api.mdx) - Pagination-related API methods
|
|
344
|
+
- [Pagination Feature Guide](/docs/features/pagination) - Complete pagination documentation
|
|
@@ -60,7 +60,7 @@ The `SideBar` component is framework-agnostic and uses inline styles. All React
|
|
|
60
60
|
| `filterableColumns` | `SideBarFilterColumn[]` | **Required** | Filterable columns (for the filters panel). |
|
|
61
61
|
| `filters` | `IFilters` | **Required** | Active filter values. |
|
|
62
62
|
| `onFilterChange` | `(key: string, value: FilterValue \| undefined) => void` | **Required** | Callback when a filter value changes. |
|
|
63
|
-
| `filterOptions` | `Record<string, string[]>` | **Required** | Available options for multi-select filters (column ID
|
|
63
|
+
| `filterOptions` | `Record<string, string[]>` | **Required** | Available options for multi-select filters (column ID to options array). |
|
|
64
64
|
|
|
65
65
|
## SideBarFilterColumn
|
|
66
66
|
|
|
@@ -284,13 +284,13 @@ const columns = [...];
|
|
|
284
284
|
### Tab Strip
|
|
285
285
|
|
|
286
286
|
The sidebar has a vertical tab strip with one button per panel:
|
|
287
|
-
- **C**
|
|
288
|
-
- **F**
|
|
287
|
+
- **C** - Columns panel button
|
|
288
|
+
- **F** - Filters panel button
|
|
289
289
|
|
|
290
290
|
Clicking a tab toggles the panel:
|
|
291
|
-
- If the panel is closed
|
|
292
|
-
- If the panel is open
|
|
293
|
-
- If another panel is open
|
|
291
|
+
- If the panel is closed to open it
|
|
292
|
+
- If the panel is open to close it
|
|
293
|
+
- If another panel is open to close it and open the clicked panel
|
|
294
294
|
|
|
295
295
|
### Panel Content
|
|
296
296
|
|
|
@@ -298,8 +298,8 @@ The panel content area has a fixed width (240px) and scrollable content. The pan
|
|
|
298
298
|
|
|
299
299
|
### Keyboard Navigation
|
|
300
300
|
|
|
301
|
-
- `Tab` / `Shift+Tab`
|
|
302
|
-
- `Enter` / `Space`
|
|
301
|
+
- `Tab` / `Shift+Tab` - Move focus between interactive elements
|
|
302
|
+
- `Enter` / `Space` - Toggle panel buttons, checkboxes, and other controls
|
|
303
303
|
|
|
304
304
|
## Accessibility
|
|
305
305
|
|
|
@@ -352,25 +352,25 @@ The panel content area has a fixed width (240px) and scrollable content. The pan
|
|
|
352
352
|
### Keyboard Navigation
|
|
353
353
|
|
|
354
354
|
**Tab Strip:**
|
|
355
|
-
- `Tab` / `Shift+Tab`
|
|
356
|
-
- `Enter` / `Space`
|
|
357
|
-
- `←`
|
|
355
|
+
- `Tab` / `Shift+Tab` - Navigate between tab buttons
|
|
356
|
+
- `Enter` / `Space` - Toggle focused panel (open/close)
|
|
357
|
+
- `←` ` to ` - Navigate between tab buttons (alternative to Tab)
|
|
358
358
|
|
|
359
359
|
**Columns Panel:**
|
|
360
|
-
- `Tab` / `Shift+Tab`
|
|
361
|
-
- `Space`
|
|
362
|
-
- `Enter` (on action buttons)
|
|
360
|
+
- `Tab` / `Shift+Tab` - Navigate between checkboxes and action buttons
|
|
361
|
+
- `Space` - Toggle focused checkbox
|
|
362
|
+
- `Enter` (on action buttons) - Execute "Select All" or "Clear All"
|
|
363
363
|
|
|
364
364
|
**Filters Panel:**
|
|
365
|
-
- `Tab` / `Shift+Tab`
|
|
365
|
+
- `Tab` / `Shift+Tab` - Navigate between filter inputs
|
|
366
366
|
- Type to enter filter values
|
|
367
|
-
- `Enter`
|
|
368
|
-
- `Space`
|
|
367
|
+
- `Enter` - Apply filter (for text filters)
|
|
368
|
+
- `Space` - Toggle checkboxes (for multi-select filters)
|
|
369
369
|
|
|
370
370
|
### Focus Management
|
|
371
371
|
|
|
372
372
|
- **Focus visible:** `:focus-visible` styles show 2px solid outline (`--ogrid-accent`) on keyboard navigation
|
|
373
|
-
- **Focus order:** Tab buttons
|
|
373
|
+
- **Focus order:** Tab buttons to panel content (top to bottom)
|
|
374
374
|
- **Panel closure:** Closing a panel does not move focus; it remains on the tab button
|
|
375
375
|
|
|
376
376
|
### Screen Reader Support
|
|
@@ -398,10 +398,10 @@ See the [Accessibility Guide](/docs/guides/accessibility) for complete documenta
|
|
|
398
398
|
The `SideBar` component uses **inline styles** (no external CSS) to remain framework-agnostic. All styles use CSS custom properties for theming:
|
|
399
399
|
|
|
400
400
|
**CSS custom properties:**
|
|
401
|
-
- `--ogrid-header-bg`
|
|
402
|
-
- `--ogrid-bg`
|
|
403
|
-
- `--ogrid-border`
|
|
404
|
-
- `--ogrid-fg`
|
|
401
|
+
- `--ogrid-header-bg` - Tab strip and panel header background color
|
|
402
|
+
- `--ogrid-bg` - Panel content background color
|
|
403
|
+
- `--ogrid-border` - Border color
|
|
404
|
+
- `--ogrid-fg` - Foreground text color
|
|
405
405
|
|
|
406
406
|
## Layout Integration
|
|
407
407
|
|
|
@@ -417,11 +417,11 @@ When `position: 'left'`, the sidebar is on the left. When `position: 'right'`, i
|
|
|
417
417
|
|
|
418
418
|
## Related Components
|
|
419
419
|
|
|
420
|
-
- [OGrid](./ogrid-props.mdx)
|
|
421
|
-
- [ColumnChooser](./components-column-chooser.mdx)
|
|
422
|
-
- [ColumnHeaderFilter](./components-column-header-filter.mdx)
|
|
420
|
+
- [OGrid](./ogrid-props.mdx) - Top-level wrapper with `sideBar` prop
|
|
421
|
+
- [ColumnChooser](./components-column-chooser.mdx) - Alternative column visibility UI (toolbar dropdown)
|
|
422
|
+
- [ColumnHeaderFilter](./components-column-header-filter.mdx) - Alternative filter UI (column header popovers)
|
|
423
423
|
|
|
424
424
|
## See Also
|
|
425
425
|
|
|
426
|
-
- [Types: ISideBarDef](./types.mdx#isidebardef)
|
|
427
|
-
- [Sidebar Feature Guide](/docs/features/sidebar)
|
|
426
|
+
- [Types: ISideBarDef](./types.mdx#isidebardef) - Sidebar configuration reference
|
|
427
|
+
- [Sidebar Feature Guide](/docs/features/sidebar) - Complete sidebar documentation
|
|
@@ -269,10 +269,10 @@ The `aria-live="polite"` setting ensures announcements don't interrupt the user'
|
|
|
269
269
|
### Semantic HTML
|
|
270
270
|
|
|
271
271
|
The status bar uses semantic `<span>` elements with clear text labels:
|
|
272
|
-
- "Rows: 1,000"
|
|
273
|
-
- "Filtered: 250"
|
|
274
|
-
- "Selected: 5"
|
|
275
|
-
- "Sum: 450"
|
|
272
|
+
- "Rows: 1,000" - Total row count
|
|
273
|
+
- "Filtered: 250" - Filtered row count
|
|
274
|
+
- "Selected: 5" - Selected row count
|
|
275
|
+
- "Sum: 450" - Aggregation values
|
|
276
276
|
|
|
277
277
|
No additional ARIA labels are needed because the text content is already descriptive.
|
|
278
278
|
|
|
@@ -289,9 +289,9 @@ See the [Accessibility Guide](/docs/guides/accessibility) for complete documenta
|
|
|
289
289
|
All UI packages provide default styles matching their design system. The status bar is styled with a subtle background and border-top.
|
|
290
290
|
|
|
291
291
|
**CSS custom properties** (all packages):
|
|
292
|
-
- `--ogrid-header-bg`
|
|
293
|
-
- `--ogrid-border`
|
|
294
|
-
- `--ogrid-fg`
|
|
292
|
+
- `--ogrid-header-bg` - Background color (matches header)
|
|
293
|
+
- `--ogrid-border` - Border color
|
|
294
|
+
- `--ogrid-fg` - Foreground text color
|
|
295
295
|
|
|
296
296
|
## Layout Integration
|
|
297
297
|
|
|
@@ -299,11 +299,11 @@ The status bar is rendered inside `DataGridTable` at the bottom, just above the
|
|
|
299
299
|
|
|
300
300
|
## Related Components
|
|
301
301
|
|
|
302
|
-
- [DataGridTable](./components-datagrid-table.mdx)
|
|
303
|
-
- [PaginationControls](./components-pagination-controls.mdx)
|
|
304
|
-
- [OGrid](./ogrid-props.mdx)
|
|
302
|
+
- [DataGridTable](./components-datagrid-table.mdx) - Main grid component that renders the status bar
|
|
303
|
+
- [PaginationControls](./components-pagination-controls.mdx) - Pagination UI below the status bar
|
|
304
|
+
- [OGrid](./ogrid-props.mdx) - Top-level wrapper with `statusBar` prop
|
|
305
305
|
|
|
306
306
|
## See Also
|
|
307
307
|
|
|
308
|
-
- [Types: IStatusBarProps](./types.mdx#istatusbarprops)
|
|
309
|
-
- [Spreadsheet Selection Feature Guide](/docs/features/spreadsheet-selection)
|
|
308
|
+
- [Types: IStatusBarProps](./types.mdx#istatusbarprops) - Status bar props reference
|
|
309
|
+
- [Spreadsheet Selection Feature Guide](/docs/features/spreadsheet-selection) - How aggregations are computed
|