{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "vaadin-popover.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/vaadin-popover.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-popover-focus-controller.js",
      "declarations": [
        {
          "kind": "class",
          "description": "Controller that routes Tab and Shift+Tab when a non-modal popover is opened.\nThe controller's host element is the popover itself.\n\nThe popover is reachable via Tab only from its target, and its content comes\nlogically right after the target — regardless of the popover's DOM position.\nWhen the popover lives inside a focus trap (e.g. a dialog), the controller\ncooperates with the active `FocusTrapController` so the trap never lands\nfocus on the popover itself.\n\nModal popovers rely on the overlay's own focus trap; this controller bails\nout early in that case.",
          "name": "PopoverFocusController",
          "members": [
            {
              "kind": "method",
              "name": "activate"
            },
            {
              "kind": "method",
              "name": "deactivate"
            },
            {
              "kind": "field",
              "name": "host",
              "default": "host"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "PopoverFocusController",
          "declaration": {
            "name": "PopoverFocusController",
            "module": "src/vaadin-popover-focus-controller.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-popover-overlay-mixin.js",
      "declarations": [
        {
          "kind": "mixin",
          "description": "A mixin providing common popover overlay functionality.",
          "name": "PopoverOverlayMixin",
          "members": [
            {
              "kind": "method",
              "name": "bringToFront",
              "description": "Brings the overlay as visually the frontmost one.",
              "inheritedFrom": {
                "name": "OverlayStackMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-stack-mixin.js"
              }
            },
            {
              "kind": "method",
              "name": "close",
              "parameters": [
                {
                  "name": "sourceEvent",
                  "type": {
                    "text": "Event="
                  }
                }
              ],
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "focusTrap",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When true, opening the overlay moves focus to the first focusable child,\nor to the overlay part with tabindex if there are no focusable children.",
              "attribute": "focus-trap",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-focus-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "hidden",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When set to true, the overlay is hidden. This also closes the overlay\nimmediately in case there is a closing animation in progress.",
              "attribute": "hidden",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "horizontalAlign",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "When `positionTarget` is set, this property defines whether to align the overlay's\nleft or right side to the target element by default.\nPossible values are `start` and `end`.\nRTL is taken into account when interpreting the value.\nThe overlay is automatically flipped to the opposite side when it doesn't fit into\nthe default side defined by this property.",
              "attribute": "horizontal-align",
              "inheritedFrom": {
                "name": "PositionMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-position-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "model",
              "privacy": "public",
              "type": {
                "text": "object"
              },
              "description": "Object with properties that is passed to `renderer` function",
              "attribute": "model",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "modeless",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When true the overlay won't disable the main content, showing\nit doesn't change the functionality of the user interface.",
              "attribute": "modeless",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "noHorizontalOverlap",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When `positionTarget` is set, this property defines whether the overlay should overlap\nthe target element in the x-axis, or be positioned right next to it.",
              "attribute": "no-horizontal-overlap",
              "inheritedFrom": {
                "name": "PositionMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-position-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "noVerticalOverlap",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When `positionTarget` is set, this property defines whether the overlay should overlap\nthe target element in the y-axis, or be positioned right above/below it.",
              "attribute": "no-vertical-overlap",
              "inheritedFrom": {
                "name": "PositionMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-position-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "opened",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the overlay is visible and attached to body.",
              "attribute": "opened",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "owner",
              "privacy": "public",
              "type": {
                "text": "HTMLElement"
              },
              "description": "Owner element passed with renderer function",
              "attribute": "owner",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "position",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "attribute": "position"
            },
            {
              "kind": "field",
              "name": "positionTarget",
              "privacy": "public",
              "type": {
                "text": "object"
              },
              "description": "The element next to which this overlay should be aligned.\nThe position of the overlay relative to the positionTarget can be adjusted\nwith properties `horizontalAlign`, `verticalAlign`, `noHorizontalOverlap`\nand `noVerticalOverlap`.",
              "attribute": "position-target",
              "inheritedFrom": {
                "name": "PositionMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-position-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "renderer",
              "privacy": "public",
              "type": {
                "text": "OverlayRenderer | null | undefined"
              },
              "description": "Custom function for rendering the content of the overlay.\nReceives three arguments:\n\n- `root` The root container DOM element. Append your content to it.\n- `owner` The host element of the renderer function.\n- `model` The object with the properties related with rendering.",
              "attribute": "renderer",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "kind": "method",
              "name": "requestContentUpdate",
              "description": "Requests an update for the content of the overlay.\nWhile performing the update, it invokes the renderer passed in the `renderer` property.\n\nIt is not guaranteed that the update happens immediately (synchronously) after it is requested.",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "requiredVerticalSpace",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "description": "If the overlay content has no intrinsic height, this property can be used to set\nthe minimum vertical space (in pixels) required by the overlay. Setting a value to\nthe property effectively disables the content measurement in favor of using this\nfixed value for determining the open direction.",
              "attribute": "required-vertical-space",
              "inheritedFrom": {
                "name": "PositionMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-position-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "restoreFocusNode",
              "privacy": "public",
              "type": {
                "text": "HTMLElement"
              },
              "description": "Set to specify the element which should be focused on overlay close,\nif `restoreFocusOnClose` is set to true.",
              "attribute": "restore-focus-node",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-focus-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "restoreFocusOnClose",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to enable restoring of focus when overlay is closed.",
              "attribute": "restore-focus-on-close",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-focus-mixin.js"
              }
            },
            {
              "kind": "method",
              "name": "setBounds",
              "parameters": [
                {
                  "name": "bounds",
                  "type": {
                    "text": "!OverlayBoundsParam"
                  }
                },
                {
                  "name": "absolute",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "description": "Updates the coordinates of the overlay.",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "verticalAlign",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "When `positionTarget` is set, this property defines whether to align the overlay's\ntop or bottom side to the target element by default.\nPossible values are `top` and `bottom`.\nThe overlay is automatically flipped to the opposite side when it doesn't fit into\nthe default side defined by this property.",
              "attribute": "vertical-align",
              "inheritedFrom": {
                "name": "PositionMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-position-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "withBackdrop",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When true the overlay has backdrop on top of content when opened.",
              "attribute": "with-backdrop",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "focus-trap",
              "type": {
                "text": "boolean"
              },
              "description": "When true, opening the overlay moves focus to the first focusable child,\nor to the overlay part with tabindex if there are no focusable children.",
              "fieldName": "focusTrap",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-focus-mixin.js"
              }
            },
            {
              "name": "hidden",
              "type": {
                "text": "boolean"
              },
              "description": "When set to true, the overlay is hidden. This also closes the overlay\nimmediately in case there is a closing animation in progress.",
              "fieldName": "hidden",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "name": "horizontal-align",
              "type": {
                "text": "string"
              },
              "description": "When `positionTarget` is set, this property defines whether to align the overlay's\nleft or right side to the target element by default.\nPossible values are `start` and `end`.\nRTL is taken into account when interpreting the value.\nThe overlay is automatically flipped to the opposite side when it doesn't fit into\nthe default side defined by this property.",
              "fieldName": "horizontalAlign",
              "inheritedFrom": {
                "name": "PositionMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-position-mixin.js"
              }
            },
            {
              "name": "modeless",
              "type": {
                "text": "boolean"
              },
              "description": "When true the overlay won't disable the main content, showing\nit doesn't change the functionality of the user interface.",
              "fieldName": "modeless",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "name": "no-horizontal-overlap",
              "type": {
                "text": "boolean"
              },
              "description": "When `positionTarget` is set, this property defines whether the overlay should overlap\nthe target element in the x-axis, or be positioned right next to it.",
              "fieldName": "noHorizontalOverlap",
              "inheritedFrom": {
                "name": "PositionMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-position-mixin.js"
              }
            },
            {
              "name": "no-vertical-overlap",
              "type": {
                "text": "boolean"
              },
              "description": "When `positionTarget` is set, this property defines whether the overlay should overlap\nthe target element in the y-axis, or be positioned right above/below it.",
              "fieldName": "noVerticalOverlap",
              "inheritedFrom": {
                "name": "PositionMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-position-mixin.js"
              }
            },
            {
              "name": "opened",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the overlay is visible and attached to body.",
              "fieldName": "opened",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "name": "owner",
              "type": {
                "text": "HTMLElement"
              },
              "description": "Owner element passed with renderer function",
              "fieldName": "owner",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "name": "position",
              "type": {
                "text": "string"
              },
              "fieldName": "position"
            },
            {
              "name": "renderer",
              "type": {
                "text": "OverlayRenderer | null | undefined"
              },
              "description": "Custom function for rendering the content of the overlay.\nReceives three arguments:\n\n- `root` The root container DOM element. Append your content to it.\n- `owner` The host element of the renderer function.\n- `model` The object with the properties related with rendering.",
              "fieldName": "renderer",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "name": "required-vertical-space",
              "type": {
                "text": "number"
              },
              "description": "If the overlay content has no intrinsic height, this property can be used to set\nthe minimum vertical space (in pixels) required by the overlay. Setting a value to\nthe property effectively disables the content measurement in favor of using this\nfixed value for determining the open direction.",
              "fieldName": "requiredVerticalSpace",
              "inheritedFrom": {
                "name": "PositionMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-position-mixin.js"
              }
            },
            {
              "name": "restore-focus-node",
              "type": {
                "text": "HTMLElement"
              },
              "description": "Set to specify the element which should be focused on overlay close,\nif `restoreFocusOnClose` is set to true.",
              "fieldName": "restoreFocusNode",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-focus-mixin.js"
              }
            },
            {
              "name": "restore-focus-on-close",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to enable restoring of focus when overlay is closed.",
              "fieldName": "restoreFocusOnClose",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-focus-mixin.js"
              }
            },
            {
              "name": "vertical-align",
              "type": {
                "text": "string"
              },
              "description": "When `positionTarget` is set, this property defines whether to align the overlay's\ntop or bottom side to the target element by default.\nPossible values are `top` and `bottom`.\nThe overlay is automatically flipped to the opposite side when it doesn't fit into\nthe default side defined by this property.",
              "fieldName": "verticalAlign",
              "inheritedFrom": {
                "name": "PositionMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-position-mixin.js"
              }
            },
            {
              "name": "with-backdrop",
              "type": {
                "text": "boolean"
              },
              "description": "When true the overlay has backdrop on top of content when opened.",
              "fieldName": "withBackdrop",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            }
          ],
          "mixins": [
            {
              "name": "PositionMixin",
              "package": "@vaadin/overlay/src/vaadin-overlay-position-mixin.js"
            },
            {
              "name": "OverlayMixin",
              "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
            }
          ],
          "parameters": [
            {
              "name": "superClass"
            }
          ],
          "events": [
            {
              "name": "vaadin-overlay-closed",
              "type": {
                "text": "CustomEvent"
              },
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            },
            {
              "name": "vaadin-overlay-closing",
              "type": {
                "text": "CustomEvent"
              },
              "inheritedFrom": {
                "name": "OverlayMixin",
                "package": "@vaadin/overlay/src/vaadin-overlay-mixin.js"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "PopoverOverlayMixin",
          "declaration": {
            "name": "PopoverOverlayMixin",
            "module": "src/vaadin-popover-overlay-mixin.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-popover-position-mixin.js",
      "declarations": [
        {
          "kind": "mixin",
          "description": "A mixin providing popover position functionality.",
          "name": "PopoverPositionMixin",
          "members": [
            {
              "kind": "field",
              "name": "position",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Position of the overlay with respect to the target.\nSupported values: `top-start`, `top`, `top-end`,\n`bottom-start`, `bottom`, `bottom-end`, `start-top`,\n`start`, `start-bottom`, `end-top`, `end`, `end-bottom`.",
              "attribute": "position"
            }
          ],
          "attributes": [
            {
              "name": "position",
              "type": {
                "text": "string"
              },
              "description": "Position of the overlay with respect to the target.\nSupported values: `top-start`, `top`, `top-end`,\n`bottom-start`, `bottom`, `bottom-end`, `start-top`,\n`start`, `start-bottom`, `end-top`, `end`, `end-bottom`.",
              "fieldName": "position"
            }
          ],
          "parameters": [
            {
              "name": "superClass"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "PopoverPositionMixin",
          "declaration": {
            "name": "PopoverPositionMixin",
            "module": "src/vaadin-popover-position-mixin.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-popover-target-mixin.js",
      "declarations": [
        {
          "kind": "mixin",
          "description": "A mixin providing popover target functionality.",
          "name": "PopoverTargetMixin",
          "members": [
            {
              "kind": "field",
              "name": "for",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "The id of the element to be used as `target` value.\nThe element should be in the DOM by the time when\nthe attribute is set, otherwise a warning is shown.",
              "attribute": "for"
            },
            {
              "kind": "field",
              "name": "target",
              "privacy": "public",
              "type": {
                "text": "object"
              },
              "description": "Reference to the DOM element used both to trigger the overlay\nby user interaction and to visually position it on the screen.\n\nDefaults to an element referenced with `for` attribute, in\nwhich case it must be located in the same shadow scope.",
              "attribute": "target"
            }
          ],
          "attributes": [
            {
              "name": "for",
              "type": {
                "text": "string"
              },
              "description": "The id of the element to be used as `target` value.\nThe element should be in the DOM by the time when\nthe attribute is set, otherwise a warning is shown.",
              "fieldName": "for"
            }
          ],
          "parameters": [
            {
              "name": "superClass"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "PopoverTargetMixin",
          "declaration": {
            "name": "PopoverTargetMixin",
            "module": "src/vaadin-popover-target-mixin.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-popover.js",
      "declarations": [
        {
          "kind": "class",
          "description": "`<vaadin-popover>` is a Web Component for creating overlays\nthat are positioned next to specified DOM element (target).\n\nUnlike `<vaadin-tooltip>`, the popover supports rich content\nthat can be provided by using `renderer` function.\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name        | Description\n-----------------|-------------------------------------------\n`backdrop`       | Backdrop of the overlay\n`overlay`        | The overlay container\n`content`        | The overlay content\n`arrow`          | Optional arrow pointing to the target when using `theme=\"arrow\"`\n\nThe following state attributes are available for styling:\n\nAttribute        | Description\n-----------------|----------------------------------------\n`position`       | Reflects the `position` property value.\n\nThe following custom CSS properties are available for styling:\n\nCustom CSS property                      |\n:----------------------------------------|\n|`--vaadin-overlay-backdrop-background`  |\n|`--vaadin-popover-arrow-border-radius`  |\n|`--vaadin-popover-arrow-inset`          |\n|`--vaadin-popover-arrow-size`           |\n|`--vaadin-popover-background`           |\n|`--vaadin-popover-border-color`         |\n|`--vaadin-popover-border-radius`        |\n|`--vaadin-popover-border-width`         |\n|`--vaadin-popover-offset-bottom`        |\n|`--vaadin-popover-offset-end`           |\n|`--vaadin-popover-offset-start`         |\n|`--vaadin-popover-offset-top`           |\n|`--vaadin-popover-padding`              |\n|`--vaadin-popover-text-color`           |\n|`--vaadin-popover-shadow`               |\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
          "name": "Popover",
          "members": [
            {
              "kind": "field",
              "name": "accessibleName",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "String used to label the popover to screen reader users.",
              "deprecated": "Use `aria-label` attribute on the popover instead",
              "attribute": "accessible-name"
            },
            {
              "kind": "field",
              "name": "accessibleNameRef",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Id of the element used as label of the popover to screen reader users.",
              "deprecated": "Use `aria-labelledby` attribute on the popover instead",
              "attribute": "accessible-name-ref"
            },
            {
              "kind": "field",
              "name": "autofocus",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the popover content automatically receives focus after\nit is opened. Modal popovers use this behavior by default.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "focusDelay",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "description": "The delay in milliseconds before the popover is opened\non focus when the corresponding trigger is used.\n\nWhen not specified, the global default (500ms) is used.",
              "attribute": "focus-delay"
            },
            {
              "kind": "field",
              "name": "for",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "The id of the element to be used as `target` value.\nThe element should be in the DOM by the time when\nthe attribute is set, otherwise a warning is shown.",
              "attribute": "for",
              "inheritedFrom": {
                "name": "PopoverTargetMixin",
                "module": "src/vaadin-popover-target-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "height",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Set the height of the popover.\nIf a unitless number is provided, pixels are assumed.",
              "attribute": "height"
            },
            {
              "kind": "field",
              "name": "hideDelay",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "description": "The delay in milliseconds before the popover is closed\non losing hover, when the corresponding trigger is used.\nOn blur, the popover is closed immediately.\n\nWhen not specified, the global default (500ms) is used.",
              "attribute": "hide-delay"
            },
            {
              "kind": "field",
              "name": "hoverDelay",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "description": "The delay in milliseconds before the popover is opened\non hover when the corresponding trigger is used.\n\nWhen not specified, the global default (500ms) is used.",
              "attribute": "hover-delay"
            },
            {
              "kind": "field",
              "name": "modal",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the popover prevents interacting with background elements\nby setting `pointer-events` style on the document body to `none`.\nThis also enables trapping focus inside the popover.",
              "attribute": "modal"
            },
            {
              "kind": "field",
              "name": "noCloseOnEsc",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to disable closing popover on Escape press.",
              "attribute": "no-close-on-esc"
            },
            {
              "kind": "field",
              "name": "noCloseOnOutsideClick",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to disable closing popover on outside click.",
              "attribute": "no-close-on-outside-click"
            },
            {
              "kind": "field",
              "name": "noTabFocus",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When true, pressing Tab on the target or a sibling element does not move\nfocus into the popover's content (including any nested popovers), and\nShift+Tab does not move focus into the popover's last focusable. Focus\nstill moves out of the popover on Tab / Shift+Tab if it was placed\ninside programmatically.\n\nHas no effect on modal popovers, which use their own focus trap.",
              "attribute": "no-tab-focus"
            },
            {
              "kind": "field",
              "name": "opened",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "True if the popover is visible and available for interaction.",
              "attribute": "opened"
            },
            {
              "kind": "field",
              "name": "overlayRole",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "The `role` attribute value to be set on the popover.",
              "deprecated": "Use standard `role` attribute on the popover instead",
              "attribute": "overlay-role"
            },
            {
              "kind": "field",
              "name": "position",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Position of the overlay with respect to the target.\nSupported values: `top-start`, `top`, `top-end`,\n`bottom-start`, `bottom`, `bottom-end`, `start-top`,\n`start`, `start-bottom`, `end-top`, `end`, `end-bottom`.",
              "attribute": "position",
              "inheritedFrom": {
                "name": "PopoverPositionMixin",
                "module": "src/vaadin-popover-position-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "renderer",
              "privacy": "public",
              "type": {
                "text": "object"
              },
              "description": "Custom function for rendering the content of the popover.\nReceives two arguments:\n\n- `root` The root container DOM element. Append your content to it.\n- `popover` The reference to the `vaadin-popover` element.",
              "deprecated": "Use the content in the `vaadin-popover` via default slot",
              "attribute": "renderer"
            },
            {
              "kind": "method",
              "name": "requestContentUpdate",
              "description": "Requests an update for the content of the popover.\nWhile performing the update, it invokes the renderer passed in the `renderer` property.\n\nIt is not guaranteed that the update happens immediately (synchronously) after it is requested.",
              "deprecated": "Add content elements as children of the popover using default slot"
            },
            {
              "kind": "field",
              "name": "role",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "The `role` attribute value to be set on the popover.\nWhen not specified, defaults to 'dialog'.",
              "attribute": "role"
            },
            {
              "kind": "method",
              "name": "setDefaultFocusDelay",
              "static": true,
              "parameters": [
                {
                  "name": "focusDelay",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Sets the default focus delay to be used by all popover instances,\nexcept for those that have focus delay configured using property."
            },
            {
              "kind": "method",
              "name": "setDefaultHideDelay",
              "static": true,
              "parameters": [
                {
                  "name": "hideDelay",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Sets the default hide delay to be used by all popover instances,\nexcept for those that have hide delay configured using property."
            },
            {
              "kind": "method",
              "name": "setDefaultHoverDelay",
              "static": true,
              "parameters": [
                {
                  "name": "hoverDelay",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Sets the default hover delay to be used by all popover instances,\nexcept for those that have hover delay configured using property."
            },
            {
              "kind": "field",
              "name": "target",
              "privacy": "public",
              "type": {
                "text": "object"
              },
              "description": "Reference to the DOM element used both to trigger the overlay\nby user interaction and to visually position it on the screen.\n\nDefaults to an element referenced with `for` attribute, in\nwhich case it must be located in the same shadow scope.",
              "attribute": "target",
              "inheritedFrom": {
                "name": "PopoverTargetMixin",
                "module": "src/vaadin-popover-target-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "trigger",
              "privacy": "public",
              "type": {
                "text": "array"
              },
              "description": "Popover trigger mode, used to configure how the popover is opened or closed.\nCould be set to multiple by providing an array, e.g. `trigger = ['hover', 'focus']`.\n\nSupported values:\n- `click` (default) - opens and closes on target click.\n- `hover` - opens on target mouseenter, closes on target mouseleave. Moving mouse\nto the popover content keeps the popover opened.\n- `focus` - opens on target focus, closes on target blur. Moving focus to the\npopover content keeps the popover opened.\n\nIn addition to the behavior specified by `trigger`, the popover can be closed by:\n- pressing Escape key (unless `noCloseOnEsc` property is true)\n- outside click (unless `noCloseOnOutsideClick` property is true)\n\nWhen setting `trigger` property to `null`, `undefined` or empty array, the popover\ncan be only opened programmatically by changing `opened` property. Note, closing\non Escape press or outside click is still allowed unless explicitly disabled.",
              "attribute": "trigger"
            },
            {
              "kind": "field",
              "name": "width",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Set the width of the popover.\nIf a unitless number is provided, pixels are assumed.",
              "attribute": "width"
            },
            {
              "kind": "field",
              "name": "withBackdrop",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the popover has a backdrop (modality curtain) on top of the\nunderlying page content, covering the whole viewport.",
              "attribute": "with-backdrop"
            }
          ],
          "events": [
            {
              "name": "closed",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired when the popover is closed."
            },
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired when the `opened` property changes.",
              "name": "opened-changed"
            }
          ],
          "attributes": [
            {
              "name": "accessible-name",
              "type": {
                "text": "string"
              },
              "description": "String used to label the popover to screen reader users.",
              "deprecated": "Use `aria-label` attribute on the popover instead",
              "fieldName": "accessibleName"
            },
            {
              "name": "accessible-name-ref",
              "type": {
                "text": "string"
              },
              "description": "Id of the element used as label of the popover to screen reader users.",
              "deprecated": "Use `aria-labelledby` attribute on the popover instead",
              "fieldName": "accessibleNameRef"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the popover content automatically receives focus after\nit is opened. Modal popovers use this behavior by default.",
              "fieldName": "autofocus"
            },
            {
              "name": "focus-delay",
              "type": {
                "text": "number"
              },
              "description": "The delay in milliseconds before the popover is opened\non focus when the corresponding trigger is used.\n\nWhen not specified, the global default (500ms) is used.",
              "fieldName": "focusDelay"
            },
            {
              "name": "for",
              "type": {
                "text": "string"
              },
              "description": "The id of the element to be used as `target` value.\nThe element should be in the DOM by the time when\nthe attribute is set, otherwise a warning is shown.",
              "fieldName": "for",
              "inheritedFrom": {
                "name": "PopoverTargetMixin",
                "module": "src/vaadin-popover-target-mixin.js"
              }
            },
            {
              "name": "height",
              "type": {
                "text": "string"
              },
              "description": "Set the height of the popover.\nIf a unitless number is provided, pixels are assumed.",
              "fieldName": "height"
            },
            {
              "name": "hide-delay",
              "type": {
                "text": "number"
              },
              "description": "The delay in milliseconds before the popover is closed\non losing hover, when the corresponding trigger is used.\nOn blur, the popover is closed immediately.\n\nWhen not specified, the global default (500ms) is used.",
              "fieldName": "hideDelay"
            },
            {
              "name": "hover-delay",
              "type": {
                "text": "number"
              },
              "description": "The delay in milliseconds before the popover is opened\non hover when the corresponding trigger is used.\n\nWhen not specified, the global default (500ms) is used.",
              "fieldName": "hoverDelay"
            },
            {
              "name": "modal",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the popover prevents interacting with background elements\nby setting `pointer-events` style on the document body to `none`.\nThis also enables trapping focus inside the popover.",
              "fieldName": "modal"
            },
            {
              "name": "no-close-on-esc",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to disable closing popover on Escape press.",
              "fieldName": "noCloseOnEsc"
            },
            {
              "name": "no-close-on-outside-click",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to disable closing popover on outside click.",
              "fieldName": "noCloseOnOutsideClick"
            },
            {
              "name": "no-tab-focus",
              "type": {
                "text": "boolean"
              },
              "description": "When true, pressing Tab on the target or a sibling element does not move\nfocus into the popover's content (including any nested popovers), and\nShift+Tab does not move focus into the popover's last focusable. Focus\nstill moves out of the popover on Tab / Shift+Tab if it was placed\ninside programmatically.\n\nHas no effect on modal popovers, which use their own focus trap.",
              "fieldName": "noTabFocus"
            },
            {
              "name": "opened",
              "type": {
                "text": "boolean"
              },
              "description": "True if the popover is visible and available for interaction.",
              "fieldName": "opened"
            },
            {
              "name": "overlay-role",
              "type": {
                "text": "string"
              },
              "description": "The `role` attribute value to be set on the popover.",
              "deprecated": "Use standard `role` attribute on the popover instead",
              "fieldName": "overlayRole"
            },
            {
              "name": "position",
              "type": {
                "text": "string"
              },
              "description": "Position of the overlay with respect to the target.\nSupported values: `top-start`, `top`, `top-end`,\n`bottom-start`, `bottom`, `bottom-end`, `start-top`,\n`start`, `start-bottom`, `end-top`, `end`, `end-bottom`.",
              "fieldName": "position",
              "inheritedFrom": {
                "name": "PopoverPositionMixin",
                "module": "src/vaadin-popover-position-mixin.js"
              }
            },
            {
              "name": "role",
              "type": {
                "text": "string"
              },
              "description": "The `role` attribute value to be set on the popover.\nWhen not specified, defaults to 'dialog'.",
              "fieldName": "role"
            },
            {
              "name": "trigger",
              "type": {
                "text": "array"
              },
              "description": "Popover trigger mode, used to configure how the popover is opened or closed.\nCould be set to multiple by providing an array, e.g. `trigger = ['hover', 'focus']`.\n\nSupported values:\n- `click` (default) - opens and closes on target click.\n- `hover` - opens on target mouseenter, closes on target mouseleave. Moving mouse\nto the popover content keeps the popover opened.\n- `focus` - opens on target focus, closes on target blur. Moving focus to the\npopover content keeps the popover opened.\n\nIn addition to the behavior specified by `trigger`, the popover can be closed by:\n- pressing Escape key (unless `noCloseOnEsc` property is true)\n- outside click (unless `noCloseOnOutsideClick` property is true)\n\nWhen setting `trigger` property to `null`, `undefined` or empty array, the popover\ncan be only opened programmatically by changing `opened` property. Note, closing\non Escape press or outside click is still allowed unless explicitly disabled.",
              "fieldName": "trigger"
            },
            {
              "name": "width",
              "type": {
                "text": "string"
              },
              "description": "Set the width of the popover.\nIf a unitless number is provided, pixels are assumed.",
              "fieldName": "width"
            },
            {
              "name": "with-backdrop",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the popover has a backdrop (modality curtain) on top of the\nunderlying page content, covering the whole viewport.",
              "fieldName": "withBackdrop"
            }
          ],
          "mixins": [
            {
              "name": "PopoverPositionMixin",
              "module": "src/vaadin-popover-position-mixin.js"
            },
            {
              "name": "PopoverTargetMixin",
              "module": "src/vaadin-popover-target-mixin.js"
            },
            {
              "name": "ThemePropertyMixin",
              "package": "@vaadin/vaadin-themable-mixin/vaadin-theme-property-mixin.js"
            },
            {
              "name": "ElementMixin",
              "package": "@vaadin/component-base/src/element-mixin.js"
            },
            {
              "name": "PolylitMixin",
              "package": "@vaadin/component-base/src/polylit-mixin.js"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "vaadin-popover",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Popover",
          "declaration": {
            "name": "Popover",
            "module": "src/vaadin-popover.js"
          }
        }
      ]
    }
  ]
}
