{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "vaadin-overlay.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/vaadin-overlay.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-overlay-focus-mixin.js",
      "declarations": [
        {
          "kind": "mixin",
          "description": "",
          "name": "OverlayFocusMixin",
          "members": [
            {
              "kind": "field",
              "name": "autofocus",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to move focus into the overlay automatically on open.\n\nFocus moves to the first tabbable element in the tab order. This\ncan be the overlay itself if it has `tabindex` attribute set to `0`\non the host element or the `overlay` shadow DOM part.\n\nAn element inside the overlay that has `autofocus` set, such as\n`<vaadin-text-field autofocus>`, receives focus on open instead,\neven when this property is false.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "focusTrap",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to move focus into the overlay automatically on open\nand keep it inside: Tab and Shift+Tab cycle through the overlay's\ncontent until the overlay is closed.\n\nFocus moves to the first tabbable element in the tab order. This\ncan be the overlay itself if it has `tabindex` attribute set to `0`\non the host element or the `overlay` shadow DOM part.",
              "attribute": "focus-trap"
            },
            {
              "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"
            },
            {
              "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"
            }
          ],
          "attributes": [
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to move focus into the overlay automatically on open.\n\nFocus moves to the first tabbable element in the tab order. This\ncan be the overlay itself if it has `tabindex` attribute set to `0`\non the host element or the `overlay` shadow DOM part.\n\nAn element inside the overlay that has `autofocus` set, such as\n`<vaadin-text-field autofocus>`, receives focus on open instead,\neven when this property is false.",
              "fieldName": "autofocus"
            },
            {
              "name": "focus-trap",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to move focus into the overlay automatically on open\nand keep it inside: Tab and Shift+Tab cycle through the overlay's\ncontent until the overlay is closed.\n\nFocus moves to the first tabbable element in the tab order. This\ncan be the overlay itself if it has `tabindex` attribute set to `0`\non the host element or the `overlay` shadow DOM part.",
              "fieldName": "focusTrap"
            },
            {
              "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"
            },
            {
              "name": "restore-focus-on-close",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to enable restoring of focus when overlay is closed.",
              "fieldName": "restoreFocusOnClose"
            }
          ],
          "parameters": [
            {
              "name": "superClass"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "OverlayFocusMixin",
          "declaration": {
            "name": "OverlayFocusMixin",
            "module": "src/vaadin-overlay-focus-mixin.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-overlay-mixin.js",
      "declarations": [
        {
          "kind": "mixin",
          "description": "",
          "name": "OverlayMixin",
          "members": [
            {
              "kind": "field",
              "name": "autofocus",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to move focus into the overlay automatically on open.\n\nFocus moves to the first tabbable element in the tab order. This\ncan be the overlay itself if it has `tabindex` attribute set to `0`\non the host element or the `overlay` shadow DOM part.\n\nAn element inside the overlay that has `autofocus` set, such as\n`<vaadin-text-field autofocus>`, receives focus on open instead,\neven when this property is false.",
              "attribute": "autofocus",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "module": "src/vaadin-overlay-focus-mixin.js"
              }
            },
            {
              "kind": "method",
              "name": "bringToFront",
              "description": "Brings the overlay as visually the frontmost one.",
              "inheritedFrom": {
                "name": "OverlayStackMixin",
                "module": "src/vaadin-overlay-stack-mixin.js"
              }
            },
            {
              "kind": "method",
              "name": "close",
              "parameters": [
                {
                  "name": "sourceEvent",
                  "type": {
                    "text": "Event="
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "focusTrap",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to move focus into the overlay automatically on open\nand keep it inside: Tab and Shift+Tab cycle through the overlay's\ncontent until the overlay is closed.\n\nFocus moves to the first tabbable element in the tab order. This\ncan be the overlay itself if it has `tabindex` attribute set to `0`\non the host element or the `overlay` shadow DOM part.",
              "attribute": "focus-trap",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "module": "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"
            },
            {
              "kind": "field",
              "name": "model",
              "privacy": "public",
              "type": {
                "text": "object"
              },
              "description": "Object with properties that is passed to `renderer` function",
              "attribute": "model"
            },
            {
              "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"
            },
            {
              "kind": "field",
              "name": "opened",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the overlay is visible and attached to body.",
              "attribute": "opened"
            },
            {
              "kind": "field",
              "name": "owner",
              "privacy": "public",
              "type": {
                "text": "HTMLElement"
              },
              "description": "Owner element passed with renderer function",
              "attribute": "owner"
            },
            {
              "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"
            },
            {
              "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."
            },
            {
              "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",
                "module": "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",
                "module": "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."
            },
            {
              "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"
            }
          ],
          "events": [
            {
              "name": "vaadin-overlay-closed",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "name": "vaadin-overlay-closing",
              "type": {
                "text": "CustomEvent"
              }
            }
          ],
          "attributes": [
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to move focus into the overlay automatically on open.\n\nFocus moves to the first tabbable element in the tab order. This\ncan be the overlay itself if it has `tabindex` attribute set to `0`\non the host element or the `overlay` shadow DOM part.\n\nAn element inside the overlay that has `autofocus` set, such as\n`<vaadin-text-field autofocus>`, receives focus on open instead,\neven when this property is false.",
              "fieldName": "autofocus",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "module": "src/vaadin-overlay-focus-mixin.js"
              }
            },
            {
              "name": "focus-trap",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to move focus into the overlay automatically on open\nand keep it inside: Tab and Shift+Tab cycle through the overlay's\ncontent until the overlay is closed.\n\nFocus moves to the first tabbable element in the tab order. This\ncan be the overlay itself if it has `tabindex` attribute set to `0`\non the host element or the `overlay` shadow DOM part.",
              "fieldName": "focusTrap",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "module": "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"
            },
            {
              "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"
            },
            {
              "name": "opened",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the overlay is visible and attached to body.",
              "fieldName": "opened"
            },
            {
              "name": "owner",
              "type": {
                "text": "HTMLElement"
              },
              "description": "Owner element passed with renderer function",
              "fieldName": "owner"
            },
            {
              "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"
            },
            {
              "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",
                "module": "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",
                "module": "src/vaadin-overlay-focus-mixin.js"
              }
            },
            {
              "name": "with-backdrop",
              "type": {
                "text": "boolean"
              },
              "description": "When true the overlay has backdrop on top of content when opened.",
              "fieldName": "withBackdrop"
            }
          ],
          "mixins": [
            {
              "name": "OverlayFocusMixin",
              "module": "src/vaadin-overlay-focus-mixin.js"
            },
            {
              "name": "OverlayStackMixin",
              "module": "src/vaadin-overlay-stack-mixin.js"
            }
          ],
          "parameters": [
            {
              "name": "superClass"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "OverlayMixin",
          "declaration": {
            "name": "OverlayMixin",
            "module": "src/vaadin-overlay-mixin.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-overlay-position-mixin.js",
      "declarations": [
        {
          "kind": "mixin",
          "description": "",
          "name": "PositionMixin",
          "members": [
            {
              "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"
            },
            {
              "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"
            },
            {
              "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"
            },
            {
              "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"
            },
            {
              "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"
            },
            {
              "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"
            }
          ],
          "attributes": [
            {
              "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"
            },
            {
              "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"
            },
            {
              "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"
            },
            {
              "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"
            },
            {
              "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"
            }
          ],
          "parameters": [
            {
              "name": "superClass"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "PositionMixin",
          "declaration": {
            "name": "PositionMixin",
            "module": "src/vaadin-overlay-position-mixin.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-overlay-stack-mixin.js",
      "declarations": [
        {
          "kind": "mixin",
          "description": "",
          "name": "OverlayStackMixin",
          "members": [
            {
              "kind": "method",
              "name": "bringToFront",
              "description": "Brings the overlay as visually the frontmost one."
            }
          ],
          "parameters": [
            {
              "name": "superClass"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "OverlayStackMixin",
          "declaration": {
            "name": "OverlayStackMixin",
            "module": "src/vaadin-overlay-stack-mixin.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-overlay-utils.js",
      "declarations": [
        {
          "kind": "function",
          "name": "observeMove",
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "callback",
              "type": {
                "text": "Function"
              }
            }
          ],
          "description": "Observe moving an element around on a page.\n\nBased on the idea from https://samthor.au/2021/observing-dom/ as implemented in Floating UI\nhttps://github.com/floating-ui/floating-ui/blob/58ed169/packages/dom/src/autoUpdate.ts#L45",
          "return": {
            "type": {
              "text": "Function"
            }
          }
        },
        {
          "kind": "variable",
          "name": "rootMargin",
          "default": "`${-insetTop}px ${-insetRight}px ${-insetBottom}px ${-insetLeft}px`"
        },
        {
          "kind": "function",
          "name": "getStateAnimations",
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "HTMLElement"
              }
            }
          ],
          "description": "Collect the animations that report the state of the given element, so that their end can be\nawaited before the element is hidden or removed. The animations are read instead of the\ncomputed style, so that the decision to wait cannot disagree with what the browser actually\ncreated: a keyframes rule that does not exist and an element that is not rendered both give\nan empty list.\n\nOnly CSS animations count, as the transitions and the script animations that `getAnimations()`\nalso returns do not report the state. Animations of any content are already left out, as\n`getAnimations()` only descends into the subtree when asked to. Animations that take no time\nare dropped as well, so that a delay on its own does not hold the state.",
          "return": {
            "type": {
              "text": "!Array<!Animation>"
            }
          }
        },
        {
          "kind": "function",
          "name": "setOverlayStateAttribute",
          "parameters": [
            {
              "name": "overlay",
              "description": "The overlay element on which to toggle the attribute.",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "name": "name",
              "description": "The name of the attribute to toggle.",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "value",
              "description": "The value of the attribute. If a string is provided, it will be set as the attribute\nvalue. Otherwise, the attribute will be added or removed depending on whether `value` is truthy or falsy.",
              "type": {
                "text": "string|boolean"
              }
            }
          ],
          "description": "Toggle the state attribute on the overlay element and also its owner element. This allows targeting state attributes\nin the light DOM in case the overlay is in the shadow DOM of its owner."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "observeMove",
          "declaration": {
            "name": "observeMove",
            "module": "src/vaadin-overlay-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "getStateAnimations",
          "declaration": {
            "name": "getStateAnimations",
            "module": "src/vaadin-overlay-utils.js"
          }
        },
        {
          "kind": "js",
          "name": "setOverlayStateAttribute",
          "declaration": {
            "name": "setOverlayStateAttribute",
            "module": "src/vaadin-overlay-utils.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-overlay.js",
      "declarations": [
        {
          "kind": "class",
          "description": "`<vaadin-overlay>` is a Web Component for creating overlays. The content of the overlay\ncan be populated imperatively by using `renderer` callback function.\n\n### Rendering\n\nThe renderer function provides `root`, `owner`, `model` arguments when applicable.\nGenerate DOM content by using `model` object properties if needed, append it to the `root`\nelement and control the state of the host element by accessing `owner`. Before generating new\ncontent, users are able to check if there is already content in `root` for reusing it.\n\n```html\n<vaadin-overlay id=\"overlay\"></vaadin-overlay>\n```\n```js\nconst overlay = document.querySelector('#overlay');\noverlay.renderer = function(root) {\n root.textContent = \"Overlay content\";\n};\n```\n\nRenderer is called on the opening of the overlay and each time the related model is updated.\nDOM generated during the renderer call can be reused\nin the next renderer call and will be provided with the `root` argument.\nOn first call it will be empty.\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`  | Container for position/sizing/alignment of the content\n`content`  | Content of the overlay\n\nThe following state attributes are available for styling:\n\nAttribute | Description\n----------|------------\n`opening` | Applied just after the overlay is opened. You can apply a CSS animation for this state.\n`closing` | Applied just before the overlay is closed. You can apply a CSS animation for this state.\n\nThe following custom CSS properties are available for styling:\n\nCustom CSS property | Description | Default value\n---|---|---\n`--vaadin-overlay-viewport-bottom` | Bottom offset of the visible viewport area | `0` or detected offset\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
          "name": "Overlay",
          "members": [
            {
              "kind": "field",
              "name": "autofocus",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to move focus into the overlay automatically on open.\n\nFocus moves to the first tabbable element in the tab order. This\ncan be the overlay itself if it has `tabindex` attribute set to `0`\non the host element or the `overlay` shadow DOM part.\n\nAn element inside the overlay that has `autofocus` set, such as\n`<vaadin-text-field autofocus>`, receives focus on open instead,\neven when this property is false.",
              "attribute": "autofocus",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "module": "src/vaadin-overlay-focus-mixin.js"
              }
            },
            {
              "kind": "method",
              "name": "bringToFront",
              "description": "Brings the overlay as visually the frontmost one.",
              "inheritedFrom": {
                "name": "OverlayStackMixin",
                "module": "src/vaadin-overlay-stack-mixin.js"
              }
            },
            {
              "kind": "method",
              "name": "close",
              "parameters": [
                {
                  "name": "sourceEvent",
                  "type": {
                    "text": "Event="
                  }
                }
              ],
              "inheritedFrom": {
                "name": "OverlayMixin",
                "module": "src/vaadin-overlay-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "focusTrap",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to move focus into the overlay automatically on open\nand keep it inside: Tab and Shift+Tab cycle through the overlay's\ncontent until the overlay is closed.\n\nFocus moves to the first tabbable element in the tab order. This\ncan be the overlay itself if it has `tabindex` attribute set to `0`\non the host element or the `overlay` shadow DOM part.",
              "attribute": "focus-trap",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "module": "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",
                "module": "src/vaadin-overlay-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",
                "module": "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",
                "module": "src/vaadin-overlay-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",
                "module": "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",
                "module": "src/vaadin-overlay-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",
                "module": "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",
                "module": "src/vaadin-overlay-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",
                "module": "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",
                "module": "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",
                "module": "src/vaadin-overlay-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",
                "module": "src/vaadin-overlay-mixin.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired when the `opened` property changes.",
              "name": "opened-changed"
            },
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired when the opened overlay is about to be closed. Calling `preventDefault()` on the event cancels the closing.",
              "name": "vaadin-overlay-close"
            },
            {
              "name": "vaadin-overlay-closed",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired after the overlay is closed.",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "module": "src/vaadin-overlay-mixin.js"
              }
            },
            {
              "name": "vaadin-overlay-closing",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired when the overlay starts to close. Closing the overlay can be asynchronous depending on the animation.",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "module": "src/vaadin-overlay-mixin.js"
              }
            },
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired before the overlay is closed on Escape key press. Calling `preventDefault()` on the event cancels the closing.",
              "name": "vaadin-overlay-escape-press"
            },
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired after the overlay is opened.",
              "name": "vaadin-overlay-open"
            },
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired before the overlay is closed on outside click. Calling `preventDefault()` on the event cancels the closing.",
              "name": "vaadin-overlay-outside-click"
            }
          ],
          "mixins": [
            {
              "name": "OverlayMixin",
              "module": "src/vaadin-overlay-mixin.js"
            },
            {
              "name": "DirMixin",
              "package": "@vaadin/component-base/src/dir-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-overlay",
          "customElement": true,
          "deprecated": "`<vaadin-overlay>` is deprecated and will be removed in Vaadin 26. Consider using `OverlayMixin` and `PositionMixin` instead.",
          "attributes": [
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to move focus into the overlay automatically on open.\n\nFocus moves to the first tabbable element in the tab order. This\ncan be the overlay itself if it has `tabindex` attribute set to `0`\non the host element or the `overlay` shadow DOM part.\n\nAn element inside the overlay that has `autofocus` set, such as\n`<vaadin-text-field autofocus>`, receives focus on open instead,\neven when this property is false.",
              "fieldName": "autofocus",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "module": "src/vaadin-overlay-focus-mixin.js"
              }
            },
            {
              "name": "focus-trap",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to move focus into the overlay automatically on open\nand keep it inside: Tab and Shift+Tab cycle through the overlay's\ncontent until the overlay is closed.\n\nFocus moves to the first tabbable element in the tab order. This\ncan be the overlay itself if it has `tabindex` attribute set to `0`\non the host element or the `overlay` shadow DOM part.",
              "fieldName": "focusTrap",
              "inheritedFrom": {
                "name": "OverlayFocusMixin",
                "module": "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",
                "module": "src/vaadin-overlay-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",
                "module": "src/vaadin-overlay-mixin.js"
              }
            },
            {
              "name": "opened",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the overlay is visible and attached to body.",
              "fieldName": "opened",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "module": "src/vaadin-overlay-mixin.js"
              }
            },
            {
              "name": "owner",
              "type": {
                "text": "HTMLElement"
              },
              "description": "Owner element passed with renderer function",
              "fieldName": "owner",
              "inheritedFrom": {
                "name": "OverlayMixin",
                "module": "src/vaadin-overlay-mixin.js"
              }
            },
            {
              "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",
                "module": "src/vaadin-overlay-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",
                "module": "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",
                "module": "src/vaadin-overlay-focus-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",
                "module": "src/vaadin-overlay-mixin.js"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Overlay",
          "declaration": {
            "name": "Overlay",
            "module": "src/vaadin-overlay.js"
          }
        }
      ]
    }
  ]
}
