# ContextMenuItem

> _Since v0.1.1_

Context menu item definition.
Supports icons, shortcuts, submenus, separators, and dynamic disabled/hidden states.

## Properties

| Property | Type | Description |
| -------- | ---- | ----------- |
| `id` | <code>string</code> | Unique identifier for the menu item |
| `name` | <code>string</code> | Display label for the menu item |
| `icon?` | <code>string</code> | Optional icon (HTML string, emoji, or icon class) |
| `shortcut?` | <code>string &#124; string[]</code> | Optional keyboard shortcut hint (display only). String array renders as key combo (e.g. ['Ctrl', 'A'] → `<code>Ctrl</code>+<code>A</code>`) |
| `disabled?` | <code>boolean &#124; (params: <a href="/grid/plugins/context-menu/interfaces/contextmenuparams/">ContextMenuParams</a>) =&gt; boolean</code> | Whether the item is disabled (static or dynamic) |
| `hidden?` | <code>boolean &#124; (params: <a href="/grid/plugins/context-menu/interfaces/contextmenuparams/">ContextMenuParams</a>) =&gt; boolean</code> | Whether the item is hidden (static or dynamic) |
| `action?` | <code>(params: <a href="/grid/plugins/context-menu/interfaces/contextmenuparams/">ContextMenuParams</a>) =&gt; void</code> | Action handler when the item is clicked |
| `subMenu?` | <code><a href="/grid/plugins/context-menu/interfaces/contextmenuitem/">ContextMenuItem</a>[]</code> | Nested submenu items |
| `separator?` | <code>boolean</code> | Whether this is a separator (id and name required but ignored) |
| `cssClass?` | <code>string</code> | Optional CSS class to add to the menu item |
