@alaarab/ogrid-mcp 2.5.8 → 2.6.0
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/bundled-docs/api/components-column-chooser.mdx +1 -1
- package/bundled-docs/api/components-column-header-filter.mdx +1 -1
- package/bundled-docs/api/components-datagrid-table.mdx +1 -1
- package/bundled-docs/api/components-pagination-controls.mdx +1 -1
- package/bundled-docs/api/components-sidebar.mdx +1 -1
- package/bundled-docs/api/components-status-bar.mdx +1 -1
- package/bundled-docs/features/cell-references.mdx +9 -9
- package/bundled-docs/features/column-chooser.mdx +1 -4
- package/bundled-docs/features/column-groups.mdx +3 -10
- package/bundled-docs/features/column-pinning.mdx +3 -7
- package/bundled-docs/features/column-reordering.mdx +4 -6
- package/bundled-docs/features/column-types.mdx +1 -1
- package/bundled-docs/features/context-menu.mdx +4 -8
- package/bundled-docs/features/csv-export.mdx +7 -7
- package/bundled-docs/features/editing.mdx +21 -21
- package/bundled-docs/features/filtering.mdx +15 -15
- package/bundled-docs/features/formulas.mdx +27 -27
- package/bundled-docs/features/grid-api.mdx +2 -2
- package/bundled-docs/features/keyboard-navigation.mdx +5 -5
- package/bundled-docs/features/pagination.mdx +1 -1
- package/bundled-docs/features/row-grouping.mdx +313 -0
- package/bundled-docs/getting-started/overview.mdx +3 -6
- package/bundled-docs/getting-started/quick-start.mdx +11 -11
- package/bundled-docs/getting-started/vanilla-js.mdx +16 -16
- package/bundled-docs/guides/accessibility.mdx +11 -11
- package/bundled-docs/guides/framework-showcase.mdx +16 -16
- package/bundled-docs/guides/mcp.mdx +9 -9
- package/package.json +1 -1
|
@@ -5,21 +5,21 @@ title: Accessibility
|
|
|
5
5
|
|
|
6
6
|
# Accessibility
|
|
7
7
|
|
|
8
|
-
Good accessibility isn't just compliance
|
|
8
|
+
Good accessibility isn't just compliance. It's building software that works for everyone. A keyboard user in a tight workflow shouldn't have to reach for the mouse. A screen reader user deserves the same experience as anyone else.
|
|
9
9
|
|
|
10
|
-
OGrid is built with this in mind. Keyboard navigation, screen reader support, high contrast mode, and ARIA semantics are all baked in
|
|
10
|
+
OGrid is built with this in mind. Keyboard navigation, screen reader support, high contrast mode, and ARIA semantics are all baked in. You don't configure them; you just benefit from them.
|
|
11
11
|
|
|
12
12
|
## What's built in by default
|
|
13
13
|
|
|
14
14
|
You get all of this without any extra setup:
|
|
15
15
|
|
|
16
|
-
- Full keyboard navigation
|
|
16
|
+
- Full keyboard navigation: arrow keys, Tab, Home/End, Ctrl+Arrow, all working like a spreadsheet
|
|
17
17
|
- Screen reader announcements for sort, filter, edit, selection, and pagination changes
|
|
18
18
|
- Proper ARIA roles and attributes on the grid, rows, cells, and headers
|
|
19
19
|
- `:focus-visible` indicators so keyboard users always know where they are
|
|
20
20
|
- Focus trapping in dropdowns and popovers (Escape always gets you out)
|
|
21
21
|
- High contrast mode support via CSS custom properties with system color fallbacks
|
|
22
|
-
- Semantic HTML
|
|
22
|
+
- Semantic HTML: real `<table>`, `<thead>`, `<th>`, `<td>` elements that assistive tech understands
|
|
23
23
|
|
|
24
24
|
The one thing you do need to add: an `aria-label` on the grid. It's one prop.
|
|
25
25
|
|
|
@@ -113,7 +113,7 @@ Key attributes and what they do:
|
|
|
113
113
|
| `aria-expanded` | Open/closed state of filter dropdowns |
|
|
114
114
|
| `aria-current="page"` | Current page in pagination |
|
|
115
115
|
|
|
116
|
-
The status bar uses `role="status"` with `aria-live="polite"
|
|
116
|
+
The status bar uses `role="status"` with `aria-live="polite"`, so it announces changes without interrupting what the user is doing.
|
|
117
117
|
|
|
118
118
|
## Screen reader support
|
|
119
119
|
|
|
@@ -221,22 +221,22 @@ npm install --save-dev jest-axe
|
|
|
221
221
|
|
|
222
222
|
Automated tests catch structural issues but can't cover everything. Before shipping:
|
|
223
223
|
|
|
224
|
-
- [ ] Navigate the entire grid using only the keyboard
|
|
224
|
+
- [ ] Navigate the entire grid using only the keyboard (no mouse)
|
|
225
225
|
- [ ] Enable VoiceOver (`Cmd+F5`) or NVDA and navigate through sort, filter, edit
|
|
226
|
-
- [ ] Test at 200% zoom
|
|
227
|
-
- [ ] Toggle Windows High Contrast Mode
|
|
226
|
+
- [ ] Test at 200% zoom: nothing should overflow or become unusable
|
|
227
|
+
- [ ] Toggle Windows High Contrast Mode: all content should remain visible
|
|
228
228
|
- [ ] Verify `aria-label` is set on the grid (one of the most common misses)
|
|
229
229
|
|
|
230
230
|
## Known limitations
|
|
231
231
|
|
|
232
232
|
**Virtual scrolling:** When `virtualScroll.enabled` is true, only visible rows are in the DOM. Screen readers won't know the full dataset size unless you set `aria-rowcount` on the grid wrapper manually.
|
|
233
233
|
|
|
234
|
-
**Custom cell renderers:** If you use `renderCell` to render custom content inside cells, you're responsible for making that content accessible
|
|
234
|
+
**Custom cell renderers:** If you use `renderCell` to render custom content inside cells, you're responsible for making that content accessible: ARIA attributes, keyboard interaction, announcements. The grid provides the structure; your custom content needs to carry its own accessibility.
|
|
235
235
|
|
|
236
236
|
## Resources
|
|
237
237
|
|
|
238
|
-
- [ARIA Grid Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/grid/)
|
|
238
|
+
- [ARIA Grid Pattern](https://www.w3.org/WAI/ARIA/apg/patterns/grid/) -- the spec OGrid follows
|
|
239
239
|
- [WCAG 2.1 Quick Reference](https://www.w3.org/WAI/WCAG21/quickref/)
|
|
240
|
-
- [axe DevTools Browser Extension](https://www.deque.com/axe/devtools/)
|
|
240
|
+
- [axe DevTools Browser Extension](https://www.deque.com/axe/devtools/) -- free in-browser auditing
|
|
241
241
|
|
|
242
242
|
Found an accessibility issue? [Open an issue](https://github.com/alaarab/ogrid/issues) and tag it `accessibility` with your browser, screen reader version, and reproduction steps.
|
|
@@ -7,9 +7,9 @@ description: OGrid in React, Angular, Vue, and Vanilla JS — same API, native c
|
|
|
7
7
|
|
|
8
8
|
# Framework Showcase
|
|
9
9
|
|
|
10
|
-
OGrid works with your existing design system
|
|
10
|
+
OGrid works with your existing design system, not against it. React, Angular, Vue, and Vanilla JS are all fully supported, and every framework shares the same headless core so features stay in sync across all of them.
|
|
11
11
|
|
|
12
|
-
Every grid below is live. Sort, filter, edit, select, copy-paste, undo
|
|
12
|
+
Every grid below is live. Sort, filter, edit, select, copy-paste, undo. It all works.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -17,11 +17,11 @@ Every grid below is live. Sort, filter, edit, select, copy-paste, undo — it al
|
|
|
17
17
|
|
|
18
18
|
The short version:
|
|
19
19
|
|
|
20
|
-
- **Starting from scratch?** Pick the Radix variant for your framework
|
|
21
|
-
- **Already using a design system?** Pick the matching package
|
|
20
|
+
- **Starting from scratch?** Pick the Radix variant for your framework. It's the lightest, with no peer dependencies beyond the framework itself.
|
|
21
|
+
- **Already using a design system?** Pick the matching package (Fluent, Material, Angular Material, PrimeNG, Vuetify, or PrimeVue) and the grid components will use your existing components for buttons, inputs, and popovers.
|
|
22
22
|
- **No framework?** Use `@alaarab/ogrid-js` for a full-featured grid with just a CDN import.
|
|
23
23
|
|
|
24
|
-
Switching between UI libraries later is straightforward
|
|
24
|
+
Switching between UI libraries later is straightforward. You change the import and the wrapper provider if required. The grid configuration (columns, data, event handlers) doesn't change.
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
@@ -31,7 +31,7 @@ Three design systems, all sharing the same hooks from `@alaarab/ogrid-react`. Yo
|
|
|
31
31
|
|
|
32
32
|
### Radix UI — lightweight default
|
|
33
33
|
|
|
34
|
-
The default React package. Radix primitives are bundled in
|
|
34
|
+
The default React package. Radix primitives are bundled in, no separate peer dependency to install. It's a good starting point for new projects or when you want minimal overhead.
|
|
35
35
|
|
|
36
36
|
```bash
|
|
37
37
|
npm install @alaarab/ogrid-react-radix
|
|
@@ -53,7 +53,7 @@ export default function App() {
|
|
|
53
53
|
|
|
54
54
|
<ShowcaseRadixDemo />
|
|
55
55
|
|
|
56
|
-
### Fluent UI — Microsoft
|
|
56
|
+
### Fluent UI — Microsoft stack
|
|
57
57
|
|
|
58
58
|
If you're building for Microsoft Teams, SharePoint, or any Microsoft 365 integration, Fluent is your pick. The grid uses native Fluent components for headers, filters, and inputs so it blends naturally.
|
|
59
59
|
|
|
@@ -76,7 +76,7 @@ export default function App() {
|
|
|
76
76
|
|
|
77
77
|
### Material UI — Google's Material Design
|
|
78
78
|
|
|
79
|
-
If your app already uses MUI, this drops right in. The grid uses MUI components and respects your `ThemeProvider
|
|
79
|
+
If your app already uses MUI, this drops right in. The grid uses MUI components and respects your `ThemeProvider`, including custom palettes and typography.
|
|
80
80
|
|
|
81
81
|
```bash
|
|
82
82
|
npm install @alaarab/ogrid-react-material @mui/material @emotion/react @emotion/styled
|
|
@@ -101,7 +101,7 @@ export default function App() {
|
|
|
101
101
|
|
|
102
102
|
## Angular
|
|
103
103
|
|
|
104
|
-
Signals-based reactivity with standalone components
|
|
104
|
+
Signals-based reactivity with standalone components. No NgModule, no boilerplate. All three packages share the same services from `@alaarab/ogrid-angular`.
|
|
105
105
|
|
|
106
106
|
### Radix (Angular CDK) — lightweight default
|
|
107
107
|
|
|
@@ -137,7 +137,7 @@ npm install @alaarab/ogrid-angular-material @angular/material @angular/cdk
|
|
|
137
137
|
|
|
138
138
|
### PrimeNG
|
|
139
139
|
|
|
140
|
-
For teams
|
|
140
|
+
For teams already on PrimeFaces, the PrimeNG integration means dialogs, dropdowns, and inputs all look native.
|
|
141
141
|
|
|
142
142
|
```bash
|
|
143
143
|
npm install @alaarab/ogrid-angular-primeng primeng
|
|
@@ -155,7 +155,7 @@ Composition API composables built with `ref()` and `computed()`. All three packa
|
|
|
155
155
|
|
|
156
156
|
### Radix (Headless UI) — lightweight default
|
|
157
157
|
|
|
158
|
-
Headless UI Vue components bundled in
|
|
158
|
+
Headless UI Vue components bundled in, no peer dependencies beyond Vue 3. Good starting point for new Vue projects.
|
|
159
159
|
|
|
160
160
|
```bash
|
|
161
161
|
npm install @alaarab/ogrid-vue-radix
|
|
@@ -204,7 +204,7 @@ npm install @alaarab/ogrid-vue-primevue primevue
|
|
|
204
204
|
|
|
205
205
|
## Vanilla JS / TypeScript
|
|
206
206
|
|
|
207
|
-
No framework, no virtual DOM
|
|
207
|
+
No framework, no virtual DOM. Just a container element and a class constructor. A built-in CSS theme covers light and dark mode with CSS custom properties you can override.
|
|
208
208
|
|
|
209
209
|
```bash
|
|
210
210
|
npm install @alaarab/ogrid-js
|
|
@@ -240,7 +240,7 @@ See [Premium Inputs](../features/premium-inputs) for usage and the full list of
|
|
|
240
240
|
|
|
241
241
|
## Related
|
|
242
242
|
|
|
243
|
-
- [Quick Start](../getting-started/quick-start)
|
|
244
|
-
- [Vanilla JS Guide](../getting-started/vanilla-js)
|
|
245
|
-
- [Theming Guide](./theming)
|
|
246
|
-
- [Premium Inputs](../features/premium-inputs)
|
|
243
|
+
- [Quick Start](../getting-started/quick-start) -- get a grid running in 60 seconds
|
|
244
|
+
- [Vanilla JS Guide](../getting-started/vanilla-js) -- full JS API documentation
|
|
245
|
+
- [Theming Guide](./theming) -- customize colors and styling
|
|
246
|
+
- [Premium Inputs](../features/premium-inputs) -- advanced cell editors
|
|
@@ -6,7 +6,7 @@ sidebar_position: 1
|
|
|
6
6
|
|
|
7
7
|
# Editor Integration (MCP)
|
|
8
8
|
|
|
9
|
-
`@alaarab/ogrid-mcp` connects your AI coding assistant to OGrid documentation
|
|
9
|
+
`@alaarab/ogrid-mcp` connects your AI coding assistant to OGrid documentation. Instead of switching tabs to look things up, you can ask your editor while you code.
|
|
10
10
|
|
|
11
11
|
It also includes a **live testing bridge** that lets your editor read and control an OGrid instance running in your browser in real time.
|
|
12
12
|
|
|
@@ -18,7 +18,7 @@ MCP (Model Context Protocol) is a standard that lets editors like Claude Code an
|
|
|
18
18
|
- Pull up specific API references without leaving your editor
|
|
19
19
|
- Inspect and interact with a running grid during development
|
|
20
20
|
|
|
21
|
-
You don't need to understand the protocol to use it
|
|
21
|
+
You don't need to understand the protocol to use it. Run one command and your editor gains access.
|
|
22
22
|
|
|
23
23
|
## Connect to your editor
|
|
24
24
|
|
|
@@ -28,7 +28,7 @@ You don't need to understand the protocol to use it — just run one command and
|
|
|
28
28
|
claude mcp add ogrid -- npx -y @alaarab/ogrid-mcp
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
That's it. The docs are bundled in the package
|
|
31
|
+
That's it. The docs are bundled in the package, no config file needed.
|
|
32
32
|
|
|
33
33
|
### Claude Desktop
|
|
34
34
|
|
|
@@ -72,13 +72,13 @@ Show me how to use the formula engine in Vue.
|
|
|
72
72
|
Help me migrate from AG Grid to OGrid.
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
The MCP server searches through the full documentation
|
|
75
|
+
The MCP server searches through the full documentation (features, API references, getting started guides, and code examples) and returns the relevant sections along with your context.
|
|
76
76
|
|
|
77
77
|
---
|
|
78
78
|
|
|
79
79
|
## Available tools
|
|
80
80
|
|
|
81
|
-
These are what the MCP server provides to your editor. You don't call them directly
|
|
81
|
+
These are what the MCP server provides to your editor. You don't call them directly; your editor uses them automatically when you ask questions.
|
|
82
82
|
|
|
83
83
|
### `search_docs`
|
|
84
84
|
|
|
@@ -89,9 +89,9 @@ search_docs query="server-side data" framework="react"
|
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
Parameters:
|
|
92
|
-
- `query` (required)
|
|
93
|
-
- `framework` (optional)
|
|
94
|
-
- `category` (optional)
|
|
92
|
+
- `query` (required): what you're looking for
|
|
93
|
+
- `framework` (optional): `react`, `angular`, `vue`, or `js`
|
|
94
|
+
- `category` (optional): `features`, `getting-started`, `guides`, or `api`
|
|
95
95
|
|
|
96
96
|
### `list_docs`
|
|
97
97
|
|
|
@@ -133,7 +133,7 @@ Resources can be read by your editor without calling a tool explicitly.
|
|
|
133
133
|
|
|
134
134
|
| Resource | Description |
|
|
135
135
|
|----------|-------------|
|
|
136
|
-
| `ogrid://quick-reference` | Key API overview
|
|
136
|
+
| `ogrid://quick-reference` | Key API overview: props, column definitions, IOGridApi, filter types |
|
|
137
137
|
| `ogrid://docs/{path}` | Any documentation page by path (e.g. `ogrid://docs/features/filtering`) |
|
|
138
138
|
| `ogrid://migration-guide` | Step-by-step guide for migrating from AG Grid to OGrid |
|
|
139
139
|
|