{
  "element": "nve-menu",
  "entrypoint": "@nvidia-elements/core/menu/menu.examples.json",
  "items": [
    {
      "id": "menu",
      "name": "Default",
      "template": "<nve-menu>\n  <nve-menu-item>item 1</nve-menu-item>\n  <nve-menu-item>item 2</nve-menu-item>\n  <nve-menu-item>item 3</nve-menu-item>\n  <nve-menu-item>item 4</nve-menu-item>\n</nve-menu>\n",
      "summary": "Basic menu with simple text items for the default menu structure and styling.",
      "description": "",
      "composition": false,
      "tags": []
    },
    {
      "id": "menu-content-slots",
      "name": "ContentSlots",
      "template": "<nve-menu>\n  <nve-menu-item><nve-icon name=\"code\" slot=\"prefix\"></nve-icon> Code <nve-dot slot=\"suffix\" size=\"sm\"></nve-dot></nve-menu-item>\n  <nve-menu-item><nve-icon name=\"checklist\" slot=\"prefix\"></nve-icon> Lint <nve-dot slot=\"suffix\" status=\"accent\" size=\"sm\"></nve-dot></nve-menu-item>\n  <nve-menu-item><nve-icon name=\"terminal\" slot=\"prefix\"></nve-icon> CLI <nve-dot slot=\"suffix\" status=\"success\" size=\"sm\"></nve-dot></nve-menu-item>\n  <nve-menu-item><nve-icon name=\"person\" slot=\"prefix\"></nve-icon> Profile <nve-dot slot=\"suffix\" status=\"warning\" size=\"sm\"></nve-dot></nve-menu-item>\n  <nve-menu-item><nve-icon name=\"key\" slot=\"prefix\"></nve-icon> Access <nve-dot slot=\"suffix\" status=\"danger\" size=\"sm\"></nve-dot></nve-menu-item>\n</nve-menu>\n",
      "summary": "Menu items with content slots for icons, dots, and other elements.",
      "description": "",
      "composition": true,
      "tags": [
        "test-case"
      ]
    },
    {
      "id": "menu-compact",
      "name": "Compact",
      "template": "<nve-switch>\n  <label>Compact</label>\n  <input id=\"compact-switch\" type=\"checkbox\" aria-label=\"compact menu\" checked />\n</nve-switch>\n<nve-menu density=\"compact\" id=\"compact-menu\">\n  <nve-menu-item><nve-icon name=\"code\" slot=\"prefix\"></nve-icon> Code</nve-menu-item>\n  <nve-menu-item><nve-icon name=\"checklist\" slot=\"prefix\"></nve-icon> Lint</nve-menu-item>\n  <nve-menu-item><nve-icon name=\"terminal\" slot=\"prefix\"></nve-icon> CLI</nve-menu-item>\n  <nve-menu-item><nve-icon name=\"person\" slot=\"prefix\"></nve-icon> Profile</nve-menu-item>\n  <nve-menu-item><nve-icon name=\"key\" slot=\"prefix\"></nve-icon> Access</nve-menu-item>\n</nve-menu>\n<script type=\"module\">\n  document.querySelector(\"#compact-switch\").addEventListener(\"change\", (e) => {\n    document.querySelector(\"#compact-menu\").density = e.target.checked ? \"compact\" : \"default\";\n  });\n</script>\n",
      "summary": "Dynamically toggle the compact state of a menu.",
      "description": "",
      "composition": true,
      "tags": [
        "test-case"
      ]
    },
    {
      "id": "menu-expanded-navigation",
      "name": "ExpandedNavigation",
      "template": "<nve-menu-group expanded style=\"--width: 240px\">\n  Resources\n  <nve-menu>\n    <nve-menu-item>Documentation</nve-menu-item>\n    <nve-menu-item>Examples</nve-menu-item>\n  </nve-menu>\n</nve-menu-group>\n",
      "summary": "An explicitly expanded group keeps navigation state controlled by the application without enabling automatic state changes. Use when the application owns expansion state.",
      "description": "",
      "composition": false,
      "tags": []
    },
    {
      "id": "menu-unavailable-navigation",
      "name": "UnavailableNavigation",
      "template": "<nve-menu-group expanded disabled style=\"--width: 240px\">\n  Provisioning\n  <nve-menu>\n    <nve-menu-item>Clusters</nve-menu-item>\n    <nve-menu-item>Storage</nve-menu-item>\n  </nve-menu>\n</nve-menu-group>\n",
      "summary": "A disabled menu-group header preserves its current expanded content while preventing user toggling. Use when group availability depends on application state.",
      "description": "",
      "composition": false,
      "tags": []
    },
    {
      "id": "menu-dropdown",
      "name": "Dropdown",
      "template": "<nve-button popovertarget=\"dropdown-menu\">dropdown</nve-button>\n<nve-dropdown id=\"dropdown-menu\">\n  <nve-menu>\n    <nve-menu-item><nve-icon name=\"person\"></nve-icon> profile</nve-menu-item>\n    <nve-menu-item><nve-icon name=\"gear\"></nve-icon> settings</nve-menu-item>\n    <nve-menu-item><nve-icon name=\"star\"></nve-icon> favorites</nve-menu-item>\n    <nve-divider></nve-divider>\n    <nve-menu-item><nve-icon name=\"logout\"></nve-icon> logout</nve-menu-item>\n  </nve-menu>\n</nve-dropdown>\n",
      "summary": "Menu with keyboard navigation and ARIA disclosure pattern inside a dropdown. Use when menu items need accessible focus management and arrow key navigation.",
      "description": "",
      "composition": true,
      "tags": [
        "pattern"
      ]
    },
    {
      "id": "menu-selected",
      "name": "Selected",
      "template": "<nve-menu>\n  <nve-menu-item>item 1</nve-menu-item>\n  <nve-menu-item selected>item 2</nve-menu-item>\n  <nve-menu-item>item 3</nve-menu-item>\n  <nve-menu-item>item 4</nve-menu-item>\n</nve-menu>\n",
      "summary": "Menu with a selected item showing the visual state for user-selected options.",
      "description": "",
      "composition": false,
      "tags": []
    },
    {
      "id": "menu-current",
      "name": "Current",
      "template": "<nve-menu>\n  <nve-menu-item>item 1</nve-menu-item>\n  <nve-menu-item current=\"page\">item 2</nve-menu-item>\n  <nve-menu-item>item 3</nve-menu-item>\n  <nve-menu-item>item 4</nve-menu-item>\n</nve-menu>\n",
      "summary": "Menu with a current page item showing the visual state for the active/current page in navigation.",
      "description": "",
      "composition": false,
      "tags": []
    },
    {
      "id": "menu-border-background",
      "name": "BorderBackground",
      "template": "<nve-menu>\n  <nve-menu-item>item 1</nve-menu-item>\n  <nve-menu-item current=\"page\" style=\"--border-background: var(--nve-ref-color-brand-green-900)\">item 2</nve-menu-item>\n  <nve-menu-item>item 3</nve-menu-item>\n  <nve-menu-item>item 4</nve-menu-item>\n</nve-menu>\n",
      "summary": "By default Menu will show a blue border on the selected item. You can change the border color by setting `--border-background` on the `<nve-menu-item>`",
      "description": "",
      "composition": false,
      "tags": [
        "test-case"
      ]
    },
    {
      "id": "menu-disabled",
      "name": "Disabled",
      "template": "<nve-menu>\n  <nve-menu-item>item 1</nve-menu-item>\n  <nve-menu-item disabled>item 2</nve-menu-item>\n  <nve-menu-item>item 3</nve-menu-item>\n  <nve-menu-item>item 4</nve-menu-item>\n</nve-menu>\n",
      "summary": "Menu with disabled items showing unavailable options while maintaining visual context.",
      "description": "",
      "composition": false,
      "tags": [
        "test-case"
      ]
    },
    {
      "id": "menu-links",
      "name": "Links",
      "template": "<nve-menu>\n  <nve-menu-item><nve-icon slot=\"prefix\" name=\"person\"></nve-icon><a href=\"#\">profile</a></nve-menu-item>\n  <nve-menu-item><nve-icon slot=\"prefix\" name=\"gear\"></nve-icon> <a href=\"#\">settings</a></nve-menu-item>\n  <nve-menu-item><nve-icon slot=\"prefix\" name=\"star\"></nve-icon> <a href=\"#\">favorites</a></nve-menu-item>\n  <nve-menu-item><nve-icon slot=\"prefix\" name=\"logout\"></nve-icon> <a href=\"#\">logout</a></nve-menu-item>\n</nve-menu>\n",
      "summary": "Menu items with links for navigation functionality within menu structures.",
      "description": "",
      "composition": false,
      "tags": []
    },
    {
      "id": "menu-suffix",
      "name": "Suffix",
      "template": "<nve-menu>\n  <nve-menu-item>Copy<kbd slot=\"suffix\" nve-text=\"code flat\">CMD + C</kbd></nve-menu-item>\n</nve-menu>\n",
      "summary": "Menu item features a default slot for content, along with a suffix slot for displaying elements such as keyboard shortcuts at the end of the menu item container.",
      "description": "",
      "composition": false,
      "tags": []
    },
    {
      "id": "menu-scroll",
      "name": "Scroll",
      "template": "<nve-menu style=\"--max-height: 150px\">\n  <nve-menu-item>item 1</nve-menu-item>\n  <nve-menu-item>item 2</nve-menu-item>\n  <nve-menu-item>item 3</nve-menu-item>\n  <nve-menu-item>item 4</nve-menu-item>\n  <nve-menu-item>item 5</nve-menu-item>\n  <nve-menu-item>item 6</nve-menu-item>\n</nve-menu>\n",
      "summary": "Menu with constrained height showing scrollable behavior when content exceeds container limits.",
      "description": "",
      "composition": false,
      "tags": [
        "test-case"
      ]
    },
    {
      "id": "menu-complex",
      "name": "Complex",
      "template": "<nve-button popovertarget=\"dropdown-menu\">dropdown</nve-button>\n<nve-dropdown id=\"dropdown-menu\">\n  <nve-search rounded>\n    <input type=\"search\" placeholder=\"search tools\" aria-label=\"search apps\" />\n  </nve-search>\n  <nve-menu>\n    <nve-menu-item> <nve-logo color=\"pink-rose\" size=\"sm\">Db</nve-logo> Debugger </nve-menu-item>\n    <nve-menu-item> <nve-logo color=\"blue-cobalt\" size=\"sm\">TM</nve-logo> Task Manager </nve-menu-item>\n    <nve-menu-item> <nve-logo color=\"yellow-nova\" size=\"sm\">CI</nve-logo> CI Services </nve-menu-item>\n    <nve-divider></nve-divider>\n    <nve-menu-item> <nve-logo size=\"sm\">NV</nve-logo> All Apps </nve-menu-item>\n  </nve-menu>\n</nve-dropdown>\n",
      "summary": "Use a dropdown menu with search and branded logos for application selection interfaces.",
      "description": "",
      "composition": true,
      "tags": [
        "pattern"
      ]
    },
    {
      "id": "menu-vertical-navigation",
      "name": "VerticalNavigation",
      "template": "<div nve-layout=\"row gap:xl\">\n  <nav style=\"width: 175px\">\n    <nve-menu-group behavior-expand expanded>\n      Overview\n      <nve-menu>\n        <nve-menu-item current=\"page\"><nve-icon name=\"home\" slot=\"prefix\"></nve-icon> Getting Started</nve-menu-item>\n        <nve-menu-item><nve-icon name=\"bell\" slot=\"prefix\"></nve-icon> Alerts</nve-menu-item>\n        <nve-menu-item><nve-icon name=\"add\" slot=\"prefix\"></nve-icon> Create New</nve-menu-item>\n      </nve-menu>\n    </nve-menu-group>\n    <nve-menu-group behavior-expand expanded>\n      Data\n      <nve-menu>\n        <nve-menu-item><nve-icon name=\"office-building\" slot=\"prefix\"></nve-icon> Catalog</nve-menu-item>\n        <nve-menu-item><nve-icon name=\"view-as-grid\" slot=\"prefix\"></nve-icon> Dashboards</nve-menu-item>\n        <nve-menu-item><nve-icon name=\"rectangle-stack-horizontal\" slot=\"prefix\"></nve-icon> Volumes</nve-menu-item>\n        <nve-menu-item><nve-icon name=\"layers\" slot=\"prefix\"></nve-icon> Models</nve-menu-item>\n      </nve-menu>\n    </nve-menu-group>\n    <nve-menu-group behavior-expand expanded>\n      Develop\n      <nve-menu>\n        <nve-menu-item><nve-icon name=\"code\" slot=\"prefix\"></nve-icon> Queries</nve-menu-item>\n        <nve-menu-item><nve-icon name=\"doc-checkmark\" slot=\"prefix\"></nve-icon> Notebooks</nve-menu-item>\n        <nve-menu-item><nve-icon name=\"branch\" slot=\"prefix\"></nve-icon> Pipelines</nve-menu-item>\n        <nve-menu-item><nve-icon name=\"beaker\" slot=\"prefix\"></nve-icon> Experiments</nve-menu-item>\n        <nve-menu-item><nve-icon name=\"clock\" slot=\"prefix\"></nve-icon> Runs</nve-menu-item>\n      </nve-menu>\n    </nve-menu-group>\n  </nav>\n  <nav style=\"width: 175px\">\n    <nve-menu-group behavior-expand expanded>\n      Overview\n      <nve-menu>\n        <nve-menu-item current=\"page\">Getting Started</nve-menu-item>\n        <nve-menu-item>Alerts</nve-menu-item>\n        <nve-menu-item>Create New</nve-menu-item>\n      </nve-menu>\n    </nve-menu-group>\n    <nve-menu-group behavior-expand expanded>\n      Data\n      <nve-menu>\n        <nve-menu-item>Catalog</nve-menu-item>\n        <nve-menu-item>Dashboards</nve-menu-item>\n        <nve-menu-item>Volumes</nve-menu-item>\n        <nve-menu-item>Models</nve-menu-item>\n      </nve-menu>\n    </nve-menu-group>\n    <nve-menu-group behavior-expand expanded>\n      Develop\n      <nve-menu>\n        <nve-menu-item>Queries</nve-menu-item>\n        <nve-menu-item>Notebooks</nve-menu-item>\n        <nve-menu-item>Pipelines</nve-menu-item>\n        <nve-menu-item>Experiments</nve-menu-item>\n        <nve-menu-item>Runs</nve-menu-item>\n      </nve-menu>\n    </nve-menu-group>\n  </nav>\n</div>\n",
      "summary": "Vertical navigation menu groups with and without icons. For deeply nested navigation use the `nve-tree` component.",
      "description": "",
      "composition": false,
      "tags": []
    },
    {
      "id": "menu-vertical-navigation-drawer",
      "name": "VerticalNavigationDrawer",
      "template": "<nve-page>\n  <nve-page-header slot=\"header\">\n    <nve-logo slot=\"prefix\" size=\"sm\" color=\"brand-green\">NV</nve-logo>\n    <h2 slot=\"prefix\" nve-text=\"heading sm\">NVIDIA</h2>\n  </nve-page-header>\n  <main nve-layout=\"column gap:md pad:md\">\n    <nve-button popovertarget=\"menu-drawer\">toggle drawer</nve-button>\n  </main>\n  <nve-drawer position=\"right\" size=\"sm\" modal closable id=\"menu-drawer\">\n    <nve-drawer-header>\n      <h3 nve-text=\"heading\">Drawer</h3>\n    </nve-drawer-header>\n    <nve-drawer-content>\n      <nve-menu-group behavior-expand expanded>\n        Overview\n        <nve-menu>\n          <nve-menu-item current=\"page\">Getting Started</nve-menu-item>\n          <nve-menu-item>Alerts</nve-menu-item>\n          <nve-menu-item>Create New</nve-menu-item>\n        </nve-menu>\n      </nve-menu-group>\n      <nve-menu-group behavior-expand expanded>\n        Data\n        <nve-menu>\n          <nve-menu-item>Catalog</nve-menu-item>\n          <nve-menu-item>Dashboards</nve-menu-item>\n          <nve-menu-item>Volumes</nve-menu-item>\n          <nve-menu-item>Models</nve-menu-item>\n        </nve-menu>\n      </nve-menu-group>\n      <nve-menu-group behavior-expand expanded>\n        Develop\n        <nve-menu>\n          <nve-menu-item>Queries</nve-menu-item>\n          <nve-menu-item>Notebooks</nve-menu-item>\n          <nve-menu-item>Pipelines</nve-menu-item>\n          <nve-menu-item>Experiments</nve-menu-item>\n          <nve-menu-item>Runs</nve-menu-item>\n        </nve-menu>\n      </nve-menu-group>\n    </nve-drawer-content>\n  </nve-drawer>\n</nve-page>\n",
      "summary": "Use a navigation drawer to overlay page content for out-of-context navigation.",
      "description": "",
      "composition": true,
      "tags": [
        "pattern"
      ]
    },
    {
      "id": "menu-vertical-navigation-panel",
      "name": "VerticalNavigationPanel",
      "template": "<nve-page>\n  <nve-page-header slot=\"header\">\n    <nve-logo slot=\"prefix\" size=\"sm\" color=\"brand-green\">NV</nve-logo>\n    <h2 slot=\"prefix\" nve-text=\"heading sm\">NVIDIA</h2>\n  </nve-page-header>\n  <nve-page-panel slot=\"left\" size=\"sm\" expanded>\n    <nve-page-panel-header>\n      <h3 nve-text=\"heading\">Drawer</h3>\n    </nve-page-panel-header>\n    <nve-page-panel-content>\n      <nve-menu-group behavior-expand expanded>\n        Overview\n        <nve-menu>\n          <nve-menu-item current=\"page\">Getting Started</nve-menu-item>\n          <nve-menu-item>Alerts</nve-menu-item>\n          <nve-menu-item>Create New</nve-menu-item>\n        </nve-menu>\n      </nve-menu-group>\n      <nve-menu-group behavior-expand expanded>\n        Data\n        <nve-menu>\n          <nve-menu-item>Catalog</nve-menu-item>\n          <nve-menu-item>Dashboards</nve-menu-item>\n          <nve-menu-item>Volumes</nve-menu-item>\n          <nve-menu-item>Models</nve-menu-item>\n        </nve-menu>\n      </nve-menu-group>\n      <nve-menu-group behavior-expand expanded>\n        Develop\n        <nve-menu>\n          <nve-menu-item>Queries</nve-menu-item>\n          <nve-menu-item>Notebooks</nve-menu-item>\n          <nve-menu-item>Pipelines</nve-menu-item>\n          <nve-menu-item>Experiments</nve-menu-item>\n          <nve-menu-item>Runs</nve-menu-item>\n        </nve-menu>\n      </nve-menu-group>\n    </nve-page-panel-content>\n  </nve-page-panel>\n  <main nve-layout=\"column gap:md pad:md\">\n    <p nve-text=\"body\">Content</p>\n  </main>\n</nve-page>\n",
      "summary": "Use an inline navigation panel to push page content aside when navigation is contextual to the page.",
      "description": "",
      "composition": true,
      "tags": [
        "pattern"
      ]
    },
    {
      "id": "menu-item-tooltip",
      "name": "ItemTooltip",
      "template": "<nve-menu>\n  <nve-menu-item>item 1</nve-menu-item>\n  <nve-menu-item popovertarget=\"menu-tooltip\" id=\"menu-item-2\">\n    item 2\n    <nve-icon id=\"menu-anchor\" size=\"md\" name=\"exclamation-triangle\" style=\"margin-left: auto\"></nve-icon>\n    <nve-tooltip anchor=\"menu-anchor\" id=\"menu-tooltip\" style=\"interest-delay-start: 2s\">This is a warning tooltip</nve-tooltip>\n  </nve-menu-item>\n  <nve-menu-item>item 3</nve-menu-item>\n</nve-menu>\n",
      "summary": "Use a tooltip on a menu item to provide extra context and warnings.",
      "description": "",
      "composition": true,
      "tags": [
        "pattern",
        "test-case"
      ]
    },
    {
      "id": "menu-danger-status",
      "name": "DangerStatus",
      "template": "<nve-menu>\n  <nve-menu-item status=\"danger\">default</nve-menu-item>\n  <nve-menu-item status=\"danger\" disabled>disabled</nve-menu-item>\n  <nve-menu-item status=\"danger\" selected>selected</nve-menu-item>\n  <nve-menu-item status=\"danger\" current=\"page\">current</nve-menu-item>\n  <nve-menu-item status=\"danger\"><nve-icon name=\"gear\"></nve-icon> icon left</nve-menu-item>\n  <nve-menu-item status=\"danger\">icon right <nve-icon id=\"warning-icon\" size=\"md\" name=\"exclamation-triangle\" style=\"margin-left: auto\"></nve-icon></nve-menu-item>\n</nve-menu>\n",
      "summary": "Menu items with danger status styling for destructive actions like delete or logout operations.",
      "description": "",
      "composition": false,
      "tags": []
    }
  ]
}