{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "vaadin-menu-bar.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/vaadin-menu-bar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-menu-bar-mixin.js",
      "declarations": [
        {
          "kind": "mixin",
          "description": "",
          "name": "MenuBarMixin",
          "members": [
            {
              "kind": "method",
              "name": "close",
              "description": "Closes the current submenu."
            },
            {
              "kind": "field",
              "name": "disabled",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the user cannot interact with this element.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "DisabledMixin",
                "package": "@vaadin/a11y-base/src/disabled-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "i18n",
              "privacy": "public",
              "type": {
                "text": "Object"
              },
              "description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following JSON structure and default values:\n```js\n{\n  moreOptions: 'More options'\n}\n```",
              "attribute": "i18n",
              "inheritedFrom": {
                "name": "I18nMixin",
                "package": "@vaadin/component-base/src/i18n-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "items",
              "privacy": "public",
              "type": {
                "text": "!Array<!MenuBarItem>"
              },
              "description": "Defines a hierarchical structure, where root level items represent menu bar buttons,\nand `children` property configures a submenu with items to be opened below\nthe button on click, Enter, Space, Up and Down arrow keys.\n\n#### Example\n\n```js\nmenubar.items = [\n  {\n    text: 'File',\n    className: 'file',\n    children: [\n      {text: 'Open', className: 'file open'}\n      {text: 'Auto Save', checked: true},\n    ]\n  },\n  {component: 'hr'},\n  {\n    text: 'Edit',\n    children: [\n      {text: 'Undo', disabled: true},\n      {text: 'Redo'}\n    ]\n  },\n  {text: 'Help'}\n];\n```\n\n#### Disabled items\n\nWhen disabled, menu bar items are rendered as \"dimmed\".\n\nBy default, disabled items are not focusable and don't react to hover.\nAs a result, they are hidden from assistive technologies, and it's not\npossible to show a tooltip to explain why they are disabled. This can be\naddressed by enabling several feature flags, which makes disabled items\nfocusable and hoverable, while still preventing them from being activated:\n\n```js\n// Allow focus and hover interactions with disabled menu bar root items (buttons)\nwindow.Vaadin.featureFlags.accessibleDisabledButtons = true;\n\n// Allow focus and hover interactions with disabled menu bar sub-menu items\nwindow.Vaadin.featureFlags.accessibleDisabledMenuItems = true;\n```\n\nBoth flags must be set before any menu bar is attached to the DOM.\n\n#### Item tooltips\n\nButtons and sub-menu items can have tooltips that are shown on\nhover and keyboard focus. To enable them, add a slotted\n`<vaadin-tooltip>` element and set the `tooltip` property on\neach item that should have one:\n\n```html\n<vaadin-menu-bar>\n  <vaadin-tooltip slot=\"tooltip\"></vaadin-tooltip>\n</vaadin-menu-bar>\n```",
              "attribute": "items"
            },
            {
              "kind": "field",
              "name": "openOnHover",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the submenu will open on hover (mouseover) instead of click.",
              "attribute": "open-on-hover"
            },
            {
              "kind": "field",
              "name": "reverseCollapse",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the buttons will be collapsed into the overflow menu\nstarting from the \"start\" end of the bar instead of the \"end\".",
              "attribute": "reverse-collapse"
            },
            {
              "kind": "field",
              "name": "tabNavigation",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the top-level menu items is traversable by tab\ninstead of arrow keys (i.e. disabling roving tabindex)",
              "attribute": "tab-navigation"
            }
          ],
          "events": [
            {
              "name": "item-selected",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the user cannot interact with this element.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "DisabledMixin",
                "package": "@vaadin/a11y-base/src/disabled-mixin.js"
              }
            },
            {
              "name": "i18n",
              "type": {
                "text": "Object"
              },
              "description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nShould be overridden by subclasses to provide a custom JSDoc with the\ndefault I18N properties.",
              "fieldName": "i18n",
              "inheritedFrom": {
                "name": "I18nMixin",
                "package": "@vaadin/component-base/src/i18n-mixin.js"
              }
            },
            {
              "name": "open-on-hover",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the submenu will open on hover (mouseover) instead of click.",
              "fieldName": "openOnHover"
            },
            {
              "name": "reverse-collapse",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the buttons will be collapsed into the overflow menu\nstarting from the \"start\" end of the bar instead of the \"end\".",
              "fieldName": "reverseCollapse"
            },
            {
              "name": "tab-navigation",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the top-level menu items is traversable by tab\ninstead of arrow keys (i.e. disabling roving tabindex)",
              "fieldName": "tabNavigation"
            }
          ],
          "mixins": [
            {
              "name": "I18nMixin",
              "package": "@vaadin/component-base/src/i18n-mixin.js"
            },
            {
              "name": "KeyboardDirectionMixin",
              "package": "@vaadin/a11y-base/src/keyboard-direction-mixin.js"
            },
            {
              "name": "ResizeMixin",
              "package": "@vaadin/component-base/src/resize-mixin.js"
            },
            {
              "name": "FocusMixin",
              "package": "@vaadin/a11y-base/src/focus-mixin.js"
            },
            {
              "name": "DisabledMixin",
              "package": "@vaadin/a11y-base/src/disabled-mixin.js"
            }
          ],
          "parameters": [
            {
              "name": "superClass"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MenuBarMixin",
          "declaration": {
            "name": "MenuBarMixin",
            "module": "src/vaadin-menu-bar-mixin.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-menu-bar-tooltip-controller.js",
      "declarations": [
        {
          "kind": "class",
          "description": "Controller for the tooltip slotted into `<vaadin-menu-bar>`. Extends\n`ContextMenuTooltipController` to also support menu-bar buttons as\ntargets, in addition to sub-menu items.",
          "name": "MenuBarTooltipController",
          "members": [
            {
              "kind": "method",
              "name": "bringToFront",
              "inheritedFrom": {
                "name": "ContextMenuTooltipController",
                "package": "@vaadin/context-menu/src/vaadin-context-menu-tooltip-controller.js"
              }
            },
            {
              "kind": "method",
              "name": "close",
              "parameters": [
                {
                  "name": "immediate",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ContextMenuTooltipController",
                "package": "@vaadin/context-menu/src/vaadin-context-menu-tooltip-controller.js"
              }
            },
            {
              "kind": "method",
              "name": "initCustomNode",
              "parameters": [
                {
                  "name": "tooltipNode"
                }
              ],
              "inheritedFrom": {
                "name": "ContextMenuTooltipController",
                "package": "@vaadin/context-menu/src/vaadin-context-menu-tooltip-controller.js"
              }
            },
            {
              "kind": "method",
              "name": "open",
              "parameters": [
                {
                  "name": "{ trigger }"
                },
                {
                  "name": "options",
                  "type": {
                    "text": "{ trigger: 'hover' | 'focus' }"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ContextMenuTooltipController",
                "package": "@vaadin/context-menu/src/vaadin-context-menu-tooltip-controller.js"
              }
            },
            {
              "kind": "method",
              "name": "setTarget",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement | null"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ContextMenuTooltipController",
                "package": "@vaadin/context-menu/src/vaadin-context-menu-tooltip-controller.js"
              }
            }
          ],
          "superclass": {
            "name": "ContextMenuTooltipController",
            "package": "@vaadin/context-menu/src/vaadin-context-menu-tooltip-controller.js"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MenuBarTooltipController",
          "declaration": {
            "name": "MenuBarTooltipController",
            "module": "src/vaadin-menu-bar-tooltip-controller.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-menu-bar.js",
      "declarations": [
        {
          "kind": "class",
          "description": "`<vaadin-menu-bar>` is a Web Component providing a set of horizontally stacked buttons offering\nthe user quick access to a consistent set of commands. Each button can toggle a submenu with\nsupport for additional levels of nested menus.\n\nTo create the menu bar, first add the component to the page:\n\n```html\n<vaadin-menu-bar></vaadin-menu-bar>\n```\n\nAnd then use [`items`](#/elements/vaadin-menu-bar#property-items) property to initialize the structure:\n\n```js\ndocument.querySelector('vaadin-menu-bar').items = [{text: 'File'}, {text: 'Edit'}];\n```\n\n### Styling\n\nThe following shadow DOM parts are exposed for styling:\n\nPart name         | Description\n------------------|----------------\n`container`       | The container wrapping menu bar buttons.\n\nThe following state attributes are available for styling:\n\nAttribute           | Description\n--------------------|----------------------------------\n`disabled`          | Set when the menu bar is disabled\n`has-single-button` | Set when there is only one button visible\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n\n### Internal components\n\nIn addition to `<vaadin-menu-bar>` itself, the following internal\ncomponents are themable:\n\n- `<vaadin-menu-bar-button>` - has the same API as [`<vaadin-button>`](#/elements/vaadin-button).\n- `<vaadin-menu-bar-item>` - has the same API as [`<vaadin-item>`](#/elements/vaadin-item).\n- `<vaadin-menu-bar-list-box>` - has the same API as [`<vaadin-list-box>`](#/elements/vaadin-list-box).\n- `<vaadin-menu-bar-submenu>` - has the same API as [`<vaadin-context-menu>`](#/elements/vaadin-context-menu).\n\nThe `<vaadin-menu-bar-item>` sub-menu elements have the following additional state attributes\non top of the built-in `<vaadin-item>` state attributes:\n\nAttribute  | Description\n---------- |-------------\n`expanded` | Expanded parent item.",
          "name": "MenuBar",
          "members": [
            {
              "kind": "method",
              "name": "close",
              "description": "Closes the current submenu.",
              "inheritedFrom": {
                "name": "MenuBarMixin",
                "module": "src/vaadin-menu-bar-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the user cannot interact with this element.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "DisabledMixin",
                "package": "@vaadin/a11y-base/src/disabled-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "i18n",
              "privacy": "public",
              "type": {
                "text": "Object"
              },
              "description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nThe object has the following JSON structure and default values:\n```js\n{\n  moreOptions: 'More options'\n}\n```",
              "attribute": "i18n",
              "inheritedFrom": {
                "name": "I18nMixin",
                "package": "@vaadin/component-base/src/i18n-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "items",
              "privacy": "public",
              "type": {
                "text": "!Array<!MenuBarItem>"
              },
              "description": "Defines a hierarchical structure, where root level items represent menu bar buttons,\nand `children` property configures a submenu with items to be opened below\nthe button on click, Enter, Space, Up and Down arrow keys.\n\n#### Example\n\n```js\nmenubar.items = [\n  {\n    text: 'File',\n    className: 'file',\n    children: [\n      {text: 'Open', className: 'file open'}\n      {text: 'Auto Save', checked: true},\n    ]\n  },\n  {component: 'hr'},\n  {\n    text: 'Edit',\n    children: [\n      {text: 'Undo', disabled: true},\n      {text: 'Redo'}\n    ]\n  },\n  {text: 'Help'}\n];\n```\n\n#### Disabled items\n\nWhen disabled, menu bar items are rendered as \"dimmed\".\n\nBy default, disabled items are not focusable and don't react to hover.\nAs a result, they are hidden from assistive technologies, and it's not\npossible to show a tooltip to explain why they are disabled. This can be\naddressed by enabling several feature flags, which makes disabled items\nfocusable and hoverable, while still preventing them from being activated:\n\n```js\n// Allow focus and hover interactions with disabled menu bar root items (buttons)\nwindow.Vaadin.featureFlags.accessibleDisabledButtons = true;\n\n// Allow focus and hover interactions with disabled menu bar sub-menu items\nwindow.Vaadin.featureFlags.accessibleDisabledMenuItems = true;\n```\n\nBoth flags must be set before any menu bar is attached to the DOM.\n\n#### Item tooltips\n\nButtons and sub-menu items can have tooltips that are shown on\nhover and keyboard focus. To enable them, add a slotted\n`<vaadin-tooltip>` element and set the `tooltip` property on\neach item that should have one:\n\n```html\n<vaadin-menu-bar>\n  <vaadin-tooltip slot=\"tooltip\"></vaadin-tooltip>\n</vaadin-menu-bar>\n```",
              "attribute": "items",
              "inheritedFrom": {
                "name": "MenuBarMixin",
                "module": "src/vaadin-menu-bar-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "openOnHover",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the submenu will open on hover (mouseover) instead of click.",
              "attribute": "open-on-hover",
              "inheritedFrom": {
                "name": "MenuBarMixin",
                "module": "src/vaadin-menu-bar-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "reverseCollapse",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the buttons will be collapsed into the overflow menu\nstarting from the \"start\" end of the bar instead of the \"end\".",
              "attribute": "reverse-collapse",
              "inheritedFrom": {
                "name": "MenuBarMixin",
                "module": "src/vaadin-menu-bar-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "tabNavigation",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the top-level menu items is traversable by tab\ninstead of arrow keys (i.e. disabling roving tabindex)",
              "attribute": "tab-navigation",
              "inheritedFrom": {
                "name": "MenuBarMixin",
                "module": "src/vaadin-menu-bar-mixin.js"
              }
            }
          ],
          "events": [
            {
              "name": "item-selected",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired when a submenu item or menu bar button without children is clicked.",
              "inheritedFrom": {
                "name": "MenuBarMixin",
                "module": "src/vaadin-menu-bar-mixin.js"
              }
            }
          ],
          "mixins": [
            {
              "name": "MenuBarMixin",
              "module": "src/vaadin-menu-bar-mixin.js"
            },
            {
              "name": "ElementMixin",
              "package": "@vaadin/component-base/src/element-mixin.js"
            },
            {
              "name": "ThemableMixin",
              "package": "@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js"
            },
            {
              "name": "PolylitMixin",
              "package": "@vaadin/component-base/src/polylit-mixin.js"
            },
            {
              "name": "LumoInjectionMixin",
              "package": "@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "vaadin-menu-bar",
          "customElement": true,
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the user cannot interact with this element.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "DisabledMixin",
                "package": "@vaadin/a11y-base/src/disabled-mixin.js"
              }
            },
            {
              "name": "i18n",
              "type": {
                "text": "Object"
              },
              "description": "The object used to localize this component. To change the default\nlocalization, replace this with an object that provides all properties, or\njust the individual properties you want to change.\n\nShould be overridden by subclasses to provide a custom JSDoc with the\ndefault I18N properties.",
              "fieldName": "i18n",
              "inheritedFrom": {
                "name": "I18nMixin",
                "package": "@vaadin/component-base/src/i18n-mixin.js"
              }
            },
            {
              "name": "open-on-hover",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the submenu will open on hover (mouseover) instead of click.",
              "fieldName": "openOnHover",
              "inheritedFrom": {
                "name": "MenuBarMixin",
                "module": "src/vaadin-menu-bar-mixin.js"
              }
            },
            {
              "name": "reverse-collapse",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the buttons will be collapsed into the overflow menu\nstarting from the \"start\" end of the bar instead of the \"end\".",
              "fieldName": "reverseCollapse",
              "inheritedFrom": {
                "name": "MenuBarMixin",
                "module": "src/vaadin-menu-bar-mixin.js"
              }
            },
            {
              "name": "tab-navigation",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the top-level menu items is traversable by tab\ninstead of arrow keys (i.e. disabling roving tabindex)",
              "fieldName": "tabNavigation",
              "inheritedFrom": {
                "name": "MenuBarMixin",
                "module": "src/vaadin-menu-bar-mixin.js"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MenuBar",
          "declaration": {
            "name": "MenuBar",
            "module": "src/vaadin-menu-bar.js"
          }
        }
      ]
    }
  ]
}
