{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./RichTooltipActionElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./RichTooltipElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./RichTooltipPosition\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./TooltipElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./TooltipElementBase\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./TooltipPosition\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./TooltipTouchGestures\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/RichTooltipActionElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "An element, nested within a clickable element, used to dismiss a parenting rich tooltip.",
          "name": "M3eRichTooltipActionElement",
          "slots": [
            {
              "description": "Renders the content of the action.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "disableRestoreFocus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether to focus should not be restored to the trigger when activated.",
              "attribute": "disable-restore-focus"
            },
            {
              "kind": "method",
              "name": "_onClick",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "attributes": [
            {
              "description": "Whether to focus should not be restored to the trigger when activated.",
              "name": "disable-restore-focus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disableRestoreFocus"
            }
          ],
          "superclass": {
            "name": "ActionElementBase",
            "package": "@m3e/core"
          },
          "tagName": "m3e-rich-tooltip-action",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eRichTooltipActionElement",
          "declaration": {
            "name": "M3eRichTooltipActionElement",
            "module": "src/RichTooltipActionElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-rich-tooltip-action",
          "declaration": {
            "name": "M3eRichTooltipActionElement",
            "module": "src/RichTooltipActionElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/RichTooltipElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Provides contextual details for a control, such as explaining the value or purpose of a feature.",
          "name": "M3eRichTooltipElement",
          "cssProperties": [
            {
              "description": "Top padding of the tooltip container.",
              "name": "--m3e-rich-tooltip-padding-top"
            },
            {
              "description": "Bottom padding of the tooltip container (when no actions are present).",
              "name": "--m3e-rich-tooltip-padding-bottom"
            },
            {
              "description": "Horizontal padding of the tooltip container.",
              "name": "--m3e-rich-tooltip-padding-inline"
            },
            {
              "description": "Maximum width of the tooltip surface.",
              "name": "--m3e-rich-tooltip-max-width"
            },
            {
              "description": "Border‑radius of the tooltip container.",
              "name": "--m3e-rich-tooltip-shape"
            },
            {
              "description": "Background color of the tooltip surface.",
              "name": "--m3e-rich-tooltip-container-color"
            },
            {
              "description": "Color of the subhead text.",
              "name": "--m3e-rich-tooltip-subhead-color"
            },
            {
              "description": "Font size of the subhead text.",
              "name": "--m3e-rich-tooltip-subhead-font-size"
            },
            {
              "description": "Font weight of the subhead text.",
              "name": "--m3e-rich-tooltip-subhead-font-weight"
            },
            {
              "description": "Line height of the subhead text.",
              "name": "--m3e-rich-tooltip-subhead-line-height"
            },
            {
              "description": "Letter‑spacing of the subhead text.",
              "name": "--m3e-rich-tooltip-subhead-tracking"
            },
            {
              "description": "Space below the subhead before the supporting text.",
              "name": "--m3e-rich-tooltip-subhead-bottom-space"
            },
            {
              "description": "Color of the supporting text.",
              "name": "--m3e-rich-tooltip-supporting-text-color"
            },
            {
              "description": "Font size of the supporting text.",
              "name": "--m3e-rich-tooltip-supporting-text-font-size"
            },
            {
              "description": "Font weight of the supporting text.",
              "name": "--m3e-rich-tooltip-supporting-text-font-weight"
            },
            {
              "description": "Line height of the supporting text.",
              "name": "--m3e-rich-tooltip-supporting-text-line-height"
            },
            {
              "description": "Letter‑spacing of the supporting text.",
              "name": "--m3e-rich-tooltip-supporting-text-tracking"
            },
            {
              "description": "Horizontal padding applied to the actions slot area.",
              "name": "--m3e-rich-tooltip-actions-padding-inline"
            },
            {
              "description": "Space above the actions slot.",
              "name": "--m3e-rich-tooltip-actions-top-space"
            },
            {
              "description": "Space below the actions slot.",
              "name": "--m3e-rich-tooltip-actions-bottom-space"
            }
          ],
          "slots": [
            {
              "description": "The main supporting text of the tooltip.",
              "name": ""
            },
            {
              "description": "Optional subhead text displayed above the supporting content.",
              "name": "subhead"
            },
            {
              "description": "Optional action elements displayed at the bottom of the tooltip.",
              "name": "actions"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "__nextId",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "static": true,
              "default": "0"
            },
            {
              "kind": "field",
              "name": "#id",
              "privacy": "private",
              "default": "M3eRichTooltipElement.__nextId++"
            },
            {
              "kind": "field",
              "name": "#subheadText",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "\"\""
            },
            {
              "kind": "field",
              "name": "#contentText",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "\"\""
            },
            {
              "kind": "field",
              "name": "#message",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "\"\""
            },
            {
              "kind": "field",
              "name": "#messageRegistered",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_hasSubhead",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_interactive",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#documentClickHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "position",
              "type": {
                "text": "RichTooltipPosition"
              },
              "default": "\"below-after\"",
              "description": "The position of the tooltip.",
              "attribute": "position"
            },
            {
              "kind": "field",
              "name": "_isInteractive",
              "privacy": "protected",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_anchorPosition",
              "type": {
                "text": "AnchorPosition"
              },
              "privacy": "protected",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "show",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Manually shows the tooltip.",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Manually hides the tooltip.",
              "parameters": [
                {
                  "name": "restoreFocus",
                  "default": "true",
                  "description": "Whether to restore focus to the element that triggered the interactive tooltip.",
                  "optional": true
                }
              ],
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "attach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Attaches the element to an interactive control.",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_updatePosition",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "base",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleBeforeToggle",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "ToggleEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleToggle",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "ToggleEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleDocumentClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleKeyDown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleSubheadSlotChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleContentSlotChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleActionsSlotChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#updateMessage",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "[_control]",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "[_firstUpdated]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "htmlFor",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "attribute": "for",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "control",
              "description": "The interactive element to which this element is attached.",
              "readonly": true,
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "method",
              "name": "detach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Detaches the element from its current interactive control.",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "__openTooltips",
              "privacy": "private",
              "static": true,
              "default": "new Array<TooltipElementBase>()",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#for",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null"
              },
              "default": "null",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#anchorCleanup",
              "privacy": "private",
              "type": {
                "text": "() => void | undefined"
              },
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#tooltipHovering",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#controlClickHandler",
              "privacy": "private",
              "readonly": true,
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#hoverController",
              "privacy": "private",
              "readonly": true,
              "default": "new HoverController(this, { target: null, endDelay: TOOLTIP_HIDE_DELAY, callback: (hovering, target) => { if (this._isInteractive) return; if (hovering) { if (target === this._base) { this.#tooltipHovering = true; return; } this.show(); } else if (!this.#tooltipHovering || target === this._base) { this.#tooltipHovering = false; this.hide(); } }, })",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#longPressController",
              "privacy": "private",
              "readonly": true,
              "default": "new LongPressController(this, { target: null, callback: (pressed) => { if (this._isInteractive) return; if (pressed) { this.show(); } else { this.hide(); } }, })",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "attribute": "disabled",
              "reflects": true,
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "showDelay",
              "type": {
                "text": "number"
              },
              "description": "The amount of time, in milliseconds, before showing the tooltip.",
              "default": "0",
              "attribute": "show-delay",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "hideDelay",
              "type": {
                "text": "number"
              },
              "description": "The amount of time, in milliseconds, before hiding the tooltip.",
              "default": "200",
              "attribute": "hide-delay",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "touchGestures",
              "type": {
                "text": "TooltipTouchGestures"
              },
              "default": "\"auto\"",
              "description": "The mode in which to handle touch gestures.",
              "attribute": "touch-gestures",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "isOpen",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the tooltip is currently open.",
              "readonly": true,
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "#handleControlClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "#disableNativeGesturesIfNecessary",
              "privacy": "private",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            }
          ],
          "events": [
            {
              "description": "Dispatched before the toggle state changes.",
              "name": "beforetoggle"
            },
            {
              "description": "Dispatched after the toggle state has changed.",
              "name": "toggle"
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "fieldName": "htmlFor",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "name": "hide-delay",
              "type": {
                "text": "number"
              },
              "description": "The amount of time, in milliseconds, before hiding the tooltip.",
              "default": "200",
              "fieldName": "hideDelay",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "description": "The position of the tooltip.",
              "name": "position",
              "type": {
                "text": "RichTooltipPosition"
              },
              "default": "\"below-after\"",
              "fieldName": "position"
            },
            {
              "name": "show-delay",
              "type": {
                "text": "number"
              },
              "description": "The amount of time, in milliseconds, before showing the tooltip.",
              "default": "0",
              "fieldName": "showDelay",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "name": "touch-gestures",
              "type": {
                "text": "TooltipTouchGestures"
              },
              "default": "\"auto\"",
              "description": "The mode in which to handle touch gestures.",
              "fieldName": "touchGestures",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            }
          ],
          "superclass": {
            "name": "TooltipElementBase",
            "module": "/src/TooltipElementBase"
          },
          "tagName": "m3e-rich-tooltip",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eRichTooltipElement",
          "declaration": {
            "name": "M3eRichTooltipElement",
            "module": "src/RichTooltipElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-rich-tooltip",
          "declaration": {
            "name": "M3eRichTooltipElement",
            "module": "src/RichTooltipElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/RichTooltipPosition.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/TooltipElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Adds additional context to a button or other UI element.",
          "name": "M3eTooltipElement",
          "cssProperties": [
            {
              "description": "Internal spacing of the tooltip container.",
              "name": "--m3e-tooltip-padding"
            },
            {
              "description": "Minimum width of the tooltip.",
              "name": "--m3e-tooltip-min-width"
            },
            {
              "description": "Maximum width of the tooltip.",
              "name": "--m3e-tooltip-max-width"
            },
            {
              "description": "Minimum height of the tooltip container.",
              "name": "--m3e-tooltip-min-height"
            },
            {
              "description": "Maximum height of the tooltip.",
              "name": "--m3e-tooltip-max-height"
            },
            {
              "description": "Border radius of the tooltip container.",
              "name": "--m3e-tooltip-shape"
            },
            {
              "description": "Background color of the tooltip.",
              "name": "--m3e-tooltip-container-color"
            },
            {
              "description": "Text color of supporting text.",
              "name": "--m3e-tooltip-supporting-text-color"
            },
            {
              "description": "Font size of supporting text.",
              "name": "--m3e-tooltip-supporting-text-font-size"
            },
            {
              "description": "Font weight of supporting text.",
              "name": "--m3e-tooltip-supporting-text-font-weight"
            },
            {
              "description": "Line height of supporting text.",
              "name": "--m3e-tooltip-supporting-text-line-height"
            },
            {
              "description": "Letter spacing of supporting text.",
              "name": "--m3e-tooltip-supporting-text-tracking"
            }
          ],
          "slots": [
            {
              "description": "Renders the content of the tooltip.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "#message",
              "privacy": "private",
              "type": {
                "text": "string | null | undefined"
              }
            },
            {
              "kind": "field",
              "name": "position",
              "type": {
                "text": "TooltipPosition"
              },
              "default": "\"below\"",
              "description": "The position of the tooltip.",
              "attribute": "position"
            },
            {
              "kind": "field",
              "name": "_anchorPosition",
              "type": {
                "text": "AnchorPosition"
              },
              "privacy": "protected",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "attach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Attaches the element to an interactive control.",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "detach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Detaches the element from its current interactive control.",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_updatePosition",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "base",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleSlotChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleToggle",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "ToggleEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "[_control]",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "[_firstUpdated]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "htmlFor",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "attribute": "for",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "control",
              "description": "The interactive element to which this element is attached.",
              "readonly": true,
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "__openTooltips",
              "privacy": "private",
              "static": true,
              "default": "new Array<TooltipElementBase>()",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#for",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null"
              },
              "default": "null",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#anchorCleanup",
              "privacy": "private",
              "type": {
                "text": "() => void | undefined"
              },
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#tooltipHovering",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#controlClickHandler",
              "privacy": "private",
              "readonly": true,
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#hoverController",
              "privacy": "private",
              "readonly": true,
              "default": "new HoverController(this, { target: null, endDelay: TOOLTIP_HIDE_DELAY, callback: (hovering, target) => { if (this._isInteractive) return; if (hovering) { if (target === this._base) { this.#tooltipHovering = true; return; } this.show(); } else if (!this.#tooltipHovering || target === this._base) { this.#tooltipHovering = false; this.hide(); } }, })",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#longPressController",
              "privacy": "private",
              "readonly": true,
              "default": "new LongPressController(this, { target: null, callback: (pressed) => { if (this._isInteractive) return; if (pressed) { this.show(); } else { this.hide(); } }, })",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "attribute": "disabled",
              "reflects": true,
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "showDelay",
              "type": {
                "text": "number"
              },
              "description": "The amount of time, in milliseconds, before showing the tooltip.",
              "default": "0",
              "attribute": "show-delay",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "hideDelay",
              "type": {
                "text": "number"
              },
              "description": "The amount of time, in milliseconds, before hiding the tooltip.",
              "default": "200",
              "attribute": "hide-delay",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "touchGestures",
              "type": {
                "text": "TooltipTouchGestures"
              },
              "default": "\"auto\"",
              "description": "The mode in which to handle touch gestures.",
              "attribute": "touch-gestures",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "isOpen",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the tooltip is currently open.",
              "readonly": true,
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Manually shows the tooltip.",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Manually hides the tooltip.",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "#handleControlClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "#disableNativeGesturesIfNecessary",
              "privacy": "private",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "fieldName": "htmlFor",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "name": "hide-delay",
              "type": {
                "text": "number"
              },
              "description": "The amount of time, in milliseconds, before hiding the tooltip.",
              "default": "200",
              "fieldName": "hideDelay",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "description": "The position of the tooltip.",
              "name": "position",
              "type": {
                "text": "TooltipPosition"
              },
              "default": "\"below\"",
              "fieldName": "position"
            },
            {
              "name": "show-delay",
              "type": {
                "text": "number"
              },
              "description": "The amount of time, in milliseconds, before showing the tooltip.",
              "default": "0",
              "fieldName": "showDelay",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            },
            {
              "name": "touch-gestures",
              "type": {
                "text": "TooltipTouchGestures"
              },
              "default": "\"auto\"",
              "description": "The mode in which to handle touch gestures.",
              "fieldName": "touchGestures",
              "inheritedFrom": {
                "name": "TooltipElementBase",
                "module": "src/TooltipElementBase.ts"
              }
            }
          ],
          "superclass": {
            "name": "TooltipElementBase",
            "module": "/src/TooltipElementBase"
          },
          "tagName": "m3e-tooltip",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eTooltipElement",
          "declaration": {
            "name": "M3eTooltipElement",
            "module": "src/TooltipElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-tooltip",
          "declaration": {
            "name": "M3eTooltipElement",
            "module": "src/TooltipElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/TooltipElementBase.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Provides a base implementation for a tooltip. This class must be inherited.",
          "name": "TooltipElementBase",
          "members": [
            {
              "kind": "field",
              "name": "__openTooltips",
              "privacy": "private",
              "static": true,
              "default": "new Array<TooltipElementBase>()"
            },
            {
              "kind": "field",
              "name": "#for",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "#anchorCleanup",
              "privacy": "private",
              "type": {
                "text": "() => void | undefined"
              }
            },
            {
              "kind": "field",
              "name": "#tooltipHovering",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#controlClickHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#hoverController",
              "privacy": "private",
              "readonly": true,
              "default": "new HoverController(this, { target: null, endDelay: TOOLTIP_HIDE_DELAY, callback: (hovering, target) => { if (this._isInteractive) return; if (hovering) { if (target === this._base) { this.#tooltipHovering = true; return; } this.show(); } else if (!this.#tooltipHovering || target === this._base) { this.#tooltipHovering = false; this.hide(); } }, })"
            },
            {
              "kind": "field",
              "name": "#longPressController",
              "privacy": "private",
              "readonly": true,
              "default": "new LongPressController(this, { target: null, callback: (pressed) => { if (this._isInteractive) return; if (pressed) { this.show(); } else { this.hide(); } }, })"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "showDelay",
              "type": {
                "text": "number"
              },
              "description": "The amount of time, in milliseconds, before showing the tooltip.",
              "default": "0",
              "attribute": "show-delay"
            },
            {
              "kind": "field",
              "name": "hideDelay",
              "type": {
                "text": "number"
              },
              "description": "The amount of time, in milliseconds, before hiding the tooltip.",
              "default": "200",
              "attribute": "hide-delay"
            },
            {
              "kind": "field",
              "name": "touchGestures",
              "type": {
                "text": "TooltipTouchGestures"
              },
              "default": "\"auto\"",
              "description": "The mode in which to handle touch gestures.",
              "attribute": "touch-gestures"
            },
            {
              "kind": "field",
              "name": "isOpen",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the tooltip is currently open.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "attach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Attaches the element to an interactive control.",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "method",
              "name": "detach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Detaches the element from its current interactive control.",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "description": "Manually shows the tooltip."
            },
            {
              "kind": "method",
              "name": "hide",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Manually hides the tooltip."
            },
            {
              "kind": "method",
              "name": "#handleControlClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "#disableNativeGesturesIfNecessary",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "[_control]",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "[_firstUpdated]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "htmlFor",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "attribute": "for",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "control",
              "description": "The interactive element to which this element is attached.",
              "readonly": true,
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "fieldName": "disabled"
            },
            {
              "name": "show-delay",
              "type": {
                "text": "number"
              },
              "description": "The amount of time, in milliseconds, before showing the tooltip.",
              "default": "0",
              "fieldName": "showDelay"
            },
            {
              "name": "hide-delay",
              "type": {
                "text": "number"
              },
              "description": "The amount of time, in milliseconds, before hiding the tooltip.",
              "default": "200",
              "fieldName": "hideDelay"
            },
            {
              "name": "touch-gestures",
              "type": {
                "text": "TooltipTouchGestures"
              },
              "default": "\"auto\"",
              "description": "The mode in which to handle touch gestures.",
              "fieldName": "touchGestures"
            },
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "fieldName": "htmlFor",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "../core/src/shared/mixins/HtmlFor.ts"
              }
            }
          ],
          "mixins": [
            {
              "name": "HtmlFor",
              "package": "@m3e/core"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TooltipElementBase",
          "declaration": {
            "name": "TooltipElementBase",
            "module": "src/TooltipElementBase.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/TooltipPosition.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/TooltipTouchGestures.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/AttachInternals.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "internals",
          "description": "A symbol through which to access the `ElementInternals` attached to an element."
        },
        {
          "kind": "function",
          "name": "isAttachInternalsMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is an `AttachInternalsMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that attaches to `ElementInternals`.",
          "name": "AttachInternals",
          "members": [
            {
              "kind": "field",
              "name": "formAssociated",
              "static": true,
              "readonly": true,
              "default": "formAssociated",
              "description": "Indicates that this custom element participates in form submission, validation, and form state restoration."
            },
            {
              "kind": "field",
              "name": "[_internals]",
              "type": {
                "text": "ElementInternals | undefined"
              },
              "privacy": "private"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            },
            {
              "name": "formAssociated",
              "optional": true,
              "type": {
                "text": "boolean | undefined"
              },
              "description": "Whether the element is \"Form Associated\"."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "internals",
          "declaration": {
            "name": "internals",
            "module": "../core/src/shared/mixins/AttachInternals.ts"
          }
        },
        {
          "kind": "js",
          "name": "isAttachInternalsMixin",
          "declaration": {
            "name": "isAttachInternalsMixin",
            "module": "../core/src/shared/mixins/AttachInternals.ts"
          }
        },
        {
          "kind": "js",
          "name": "AttachInternals",
          "declaration": {
            "name": "AttachInternals",
            "module": "../core/src/shared/mixins/AttachInternals.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/Checked.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isCheckedMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `CheckedMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a checked state.",
          "name": "Checked",
          "members": [
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is checked.",
              "attribute": "checked",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is checked.",
              "fieldName": "checked"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isCheckedMixin",
          "declaration": {
            "name": "isCheckedMixin",
            "module": "../core/src/shared/mixins/Checked.ts"
          }
        },
        {
          "kind": "js",
          "name": "Checked",
          "declaration": {
            "name": "Checked",
            "module": "../core/src/shared/mixins/Checked.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/CheckedIndeterminate.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isCheckedIndeterminateMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `CheckedIndeterminateMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a mixed checked state.",
          "name": "CheckedIndeterminate",
          "members": [
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element's checked state is indeterminate.",
              "attribute": "indeterminate",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is checked.",
              "attribute": "checked",
              "reflects": true,
              "inheritedFrom": {
                "name": "Checked",
                "module": "../core/src/shared/mixins/Checked.ts"
              }
            }
          ],
          "attributes": [
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element's checked state is indeterminate.",
              "fieldName": "indeterminate"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is checked.",
              "fieldName": "checked",
              "inheritedFrom": {
                "name": "Checked",
                "module": "../core/src/shared/mixins/Checked.ts"
              }
            }
          ],
          "mixins": [
            {
              "name": "Checked",
              "module": "/core/src/shared/mixins/Checked"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isCheckedIndeterminateMixin",
          "declaration": {
            "name": "isCheckedIndeterminateMixin",
            "module": "../core/src/shared/mixins/CheckedIndeterminate.ts"
          }
        },
        {
          "kind": "js",
          "name": "CheckedIndeterminate",
          "declaration": {
            "name": "CheckedIndeterminate",
            "module": "../core/src/shared/mixins/CheckedIndeterminate.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/CheckedOrSelected.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isCheckedOrSelectedMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `CheckedOrSelectedMixin`."
        },
        {
          "kind": "function",
          "name": "isCheckedOrSelected",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "CheckedOrSelectedMixin"
              },
              "description": "The element to test."
            }
          ],
          "description": "Determines whether the state of an element is checked or selected."
        },
        {
          "kind": "function",
          "name": "checkOrSelect",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "CheckedOrSelectedMixin"
              },
              "description": "The element for which to set the checked or selected state."
            },
            {
              "name": "checkedOrSelected",
              "type": {
                "text": "boolean"
              },
              "description": "The checked or selected state."
            }
          ],
          "description": "Sets the checked or selected state of an element."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isCheckedOrSelectedMixin",
          "declaration": {
            "name": "isCheckedOrSelectedMixin",
            "module": "../core/src/shared/mixins/CheckedOrSelected.ts"
          }
        },
        {
          "kind": "js",
          "name": "isCheckedOrSelected",
          "declaration": {
            "name": "isCheckedOrSelected",
            "module": "../core/src/shared/mixins/CheckedOrSelected.ts"
          }
        },
        {
          "kind": "js",
          "name": "checkOrSelect",
          "declaration": {
            "name": "checkOrSelect",
            "module": "../core/src/shared/mixins/CheckedOrSelected.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/ConstraintValidation.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "validate",
          "description": "A symbol through which a \"Form Associated\" custom element validates its current state."
        },
        {
          "kind": "function",
          "name": "isConstraintValidationMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `ConstraintValidationMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with \"Form Associated\" behavior that supports constraint validation.",
          "name": "ConstraintValidation",
          "members": [
            {
              "kind": "field",
              "name": "[_validityMessage]",
              "type": {
                "text": "string | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "willValidate",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the element is a submittable element that is a candidate for constraint validation.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "description": "The validity state of the element.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "description": "The error message that would be displayed if the user submits the form, or an empty string if no error message.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Returns `true` if the element has no validity problems; otherwise, returns `false`, fires\r\nan invalid event, and (if the event isn't canceled) reports the problem to the user."
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Returns `true` if the element has no validity problems; otherwise,\r\nreturns `false`, fires an invalid event."
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "error",
                  "type": {
                    "text": "string"
                  },
                  "description": "The message to use for validity errors."
                }
              ],
              "description": "Sets a custom validity message for the element."
            },
            {
              "kind": "method",
              "name": "[_updateValidity]",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "#getNativeMessage",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "flags",
                  "type": {
                    "text": "ValidityStateFlags"
                  }
                }
              ]
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "validate",
          "declaration": {
            "name": "validate",
            "module": "../core/src/shared/mixins/ConstraintValidation.ts"
          }
        },
        {
          "kind": "js",
          "name": "isConstraintValidationMixin",
          "declaration": {
            "name": "isConstraintValidationMixin",
            "module": "../core/src/shared/mixins/ConstraintValidation.ts"
          }
        },
        {
          "kind": "js",
          "name": "ConstraintValidation",
          "declaration": {
            "name": "ConstraintValidation",
            "module": "../core/src/shared/mixins/ConstraintValidation.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/Constructor.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/Dirty.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isDirtyMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `DirtyMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with functionality used to mark it as dirty.",
          "name": "Dirty",
          "members": [
            {
              "kind": "field",
              "name": "[_eventHandler]",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "dirty",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the user has modified the value of the element.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "pristine",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the user has not modified the value of the element.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "markAsPristine",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Marks the element as pristine."
            },
            {
              "kind": "method",
              "name": "markAsDirty",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Marks the element as dirty."
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isDirtyMixin",
          "declaration": {
            "name": "isDirtyMixin",
            "module": "../core/src/shared/mixins/Dirty.ts"
          }
        },
        {
          "kind": "js",
          "name": "Dirty",
          "declaration": {
            "name": "Dirty",
            "module": "../core/src/shared/mixins/Dirty.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/Disabled.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isDisabledMixin",
          "return": {
            "type": {
              "text": "value is DisabledMixin"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `DisabledMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a disabled state.",
          "name": "Disabled",
          "members": [
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "attribute": "disabled"
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "fieldName": "disabled"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            },
            {
              "name": "reflect",
              "default": "true",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the disabled property is reflected as an attribute.",
              "optional": true
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isDisabledMixin",
          "declaration": {
            "name": "isDisabledMixin",
            "module": "../core/src/shared/mixins/Disabled.ts"
          }
        },
        {
          "kind": "js",
          "name": "Disabled",
          "declaration": {
            "name": "Disabled",
            "module": "../core/src/shared/mixins/Disabled.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/DisabledInteractive.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isDisabledInteractiveMixin",
          "return": {
            "type": {
              "text": "value is DisabledInteractiveMixin"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `DisabledInteractiveMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports an interactive disabled state.",
          "name": "DisabledInteractive",
          "members": [
            {
              "kind": "field",
              "name": "[_suppressedEventHandler]",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "disabledInteractive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled and interactive.",
              "attribute": "disabled-interactive",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "disabled-interactive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled and interactive.",
              "fieldName": "disabledInteractive"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isDisabledInteractiveMixin",
          "declaration": {
            "name": "isDisabledInteractiveMixin",
            "module": "../core/src/shared/mixins/DisabledInteractive.ts"
          }
        },
        {
          "kind": "js",
          "name": "DisabledInteractive",
          "declaration": {
            "name": "DisabledInteractive",
            "module": "../core/src/shared/mixins/DisabledInteractive.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/EventAttribute.ts",
      "declarations": [
        {
          "kind": "mixin",
          "description": "Mixin that adds support for custom event attributes.",
          "name": "EventAttribute",
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class from which to inherit."
            },
            {
              "name": "types",
              "type": {
                "text": "string[]"
              },
              "description": "The types of event attributes."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EventAttribute",
          "declaration": {
            "name": "EventAttribute",
            "module": "../core/src/shared/mixins/EventAttribute.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/Focusable.ts",
      "declarations": [
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a focused state.",
          "name": "Focusable",
          "members": [
            {
              "kind": "field",
              "name": "[_tabindex]",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Focusable",
          "declaration": {
            "name": "Focusable",
            "module": "../core/src/shared/mixins/Focusable.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/FormAssociated.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "formValue",
          "description": "A symbol through which a \"Form Associated\" custom element provides a value for a form."
        },
        {
          "kind": "variable",
          "name": "defaultValue",
          "description": "A symbol through which a \"Form Associated\" custom element provides a default value for resetting a form."
        },
        {
          "kind": "function",
          "name": "isFormAssociatedMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `FormAssociatedMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with \"Form Associated\" behavior.",
          "name": "FormAssociated",
          "members": [
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "readonly": true,
              "default": "true",
              "description": "Indicates that this custom element participates in form submission, validation, and form state restoration."
            },
            {
              "kind": "field",
              "name": "[_defaultValue]",
              "type": {
                "text": "unknown"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "[_defaultIndeterminate]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "[_formDisabled]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "description": "The `HTMLFormElement` associated with this element.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "labels",
              "type": {
                "text": "NodeListOf<HTMLLabelElement>"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "name",
              "description": "The name that identifies the element when submitting the associated form.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the element is disabled.",
              "default": "false",
              "attribute": "disabled"
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "disabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "description": "Called when the element is disabled or enabled via its form association."
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Called when the associated form is reset."
            }
          ],
          "attributes": [
            {
              "name": "name",
              "description": "The name that identifies the element when submitting the associated form.",
              "fieldName": "name"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the element is disabled.",
              "default": "false",
              "fieldName": "disabled"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "formValue",
          "declaration": {
            "name": "formValue",
            "module": "../core/src/shared/mixins/FormAssociated.ts"
          }
        },
        {
          "kind": "js",
          "name": "defaultValue",
          "declaration": {
            "name": "defaultValue",
            "module": "../core/src/shared/mixins/FormAssociated.ts"
          }
        },
        {
          "kind": "js",
          "name": "isFormAssociatedMixin",
          "declaration": {
            "name": "isFormAssociatedMixin",
            "module": "../core/src/shared/mixins/FormAssociated.ts"
          }
        },
        {
          "kind": "js",
          "name": "FormAssociated",
          "declaration": {
            "name": "FormAssociated",
            "module": "../core/src/shared/mixins/FormAssociated.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/FormSubmitter.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isFormSubmitterMixin",
          "return": {
            "type": {
              "text": "value is FormSubmitterMixin"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `FormSubmitterMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior used to submit a form.",
          "name": "FormSubmitter",
          "members": [
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "readonly": true,
              "default": "true",
              "description": "Indicates that this custom element participates in form submission, validation, and form state restoration."
            },
            {
              "kind": "field",
              "name": "name",
              "description": "The name of the element, submitted as a pair with the element's `value`\r\nas part of form data, when the element is used to submit a form.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The value associated with the element's name when it's submitted with form data.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "FormSubmitterType"
              },
              "default": "\"button\"",
              "description": "The type of the element.",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "[_clickHandler]",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "description": "The name of the element, submitted as a pair with the element's `value`\r\nas part of form data, when the element is used to submit a form.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "description": "The value associated with the element's name when it's submitted with form data.",
              "fieldName": "value"
            },
            {
              "name": "type",
              "type": {
                "text": "FormSubmitterType"
              },
              "default": "\"button\"",
              "description": "The type of the element.",
              "fieldName": "type"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isFormSubmitterMixin",
          "declaration": {
            "name": "isFormSubmitterMixin",
            "module": "../core/src/shared/mixins/FormSubmitter.ts"
          }
        },
        {
          "kind": "js",
          "name": "FormSubmitter",
          "declaration": {
            "name": "FormSubmitter",
            "module": "../core/src/shared/mixins/FormSubmitter.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/hasKeys.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "hasKeys",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            },
            {
              "name": "keys",
              "type": {
                "text": "Array<keyof T>"
              }
            },
            {
              "description": ": Array<keyof T>} keys The keys of `T` to test.",
              "name": "",
              "type": {
                "text": "...keys"
              }
            }
          ],
          "description": "Determines whether an object has keys for a given type."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "hasKeys",
          "declaration": {
            "name": "hasKeys",
            "module": "../core/src/shared/mixins/hasKeys.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/HtmlFor.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isHtmlForMixin",
          "return": {
            "type": {
              "text": "value is HtmlForMixin"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `HtmlForMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin that creates an attached element associated with an interactive control.",
          "name": "HtmlFor",
          "members": [
            {
              "kind": "field",
              "name": "[_control]",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "[_firstUpdated]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "htmlFor",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "attribute": "for"
            },
            {
              "kind": "field",
              "name": "control",
              "description": "The interactive element to which this element is attached.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "attach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element that controls the attachable element."
                }
              ],
              "description": "Attaches the element to an interactive control."
            },
            {
              "kind": "method",
              "name": "detach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Detaches the element from its current interactive control."
            }
          ],
          "attributes": [
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "fieldName": "htmlFor"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isHtmlForMixin",
          "declaration": {
            "name": "isHtmlForMixin",
            "module": "../core/src/shared/mixins/HtmlFor.ts"
          }
        },
        {
          "kind": "js",
          "name": "HtmlFor",
          "declaration": {
            "name": "HtmlFor",
            "module": "../core/src/shared/mixins/HtmlFor.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./AttachInternals\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Checked\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./CheckedIndeterminate\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./CheckedOrSelected\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ConstraintValidation\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Dirty\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Disabled\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./DisabledInteractive\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./EventAttribute\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Focusable\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./FormAssociated\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./FormSubmitter\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./hasKeys\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./HtmlFor\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./KeyboardClick\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Labelled\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./LinkButton\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ReadOnly\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Required\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./RequiredConstraintValidation\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Role\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Selected\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Touched\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Vertical\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/KeyboardClick.ts",
      "declarations": [
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior emits a click event on keyboard events.",
          "name": "KeyboardClick",
          "members": [
            {
              "kind": "field",
              "name": "#keyPressed",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#keyDownHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#keyUpHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#focusOutHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "#handleKeyDown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleKeyUp",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "name": "click",
              "type": {
                "text": "MouseEvent"
              }
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            },
            {
              "name": "allowEnter",
              "default": "true",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the `ENTER` key emits a click event.",
              "optional": true
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "KeyboardClick",
          "declaration": {
            "name": "KeyboardClick",
            "module": "../core/src/shared/mixins/KeyboardClick.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/Labelled.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "updateLabels",
          "description": "A symbol through which to update labels to reflect a control's current state."
        },
        {
          "kind": "function",
          "name": "isLabelledMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `LabelledMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with support for labelling.",
          "name": "Labelled",
          "members": [
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "readonly": true,
              "default": "true",
              "description": "Indicates that this custom element participates in form submission, validation, and form state restoration."
            },
            {
              "kind": "field",
              "name": "[_eventHandler]",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "labels",
              "type": {
                "text": "NodeListOf<HTMLLabelElement>"
              },
              "description": "The label elements that the element is associated with.",
              "readonly": true
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "updateLabels",
          "declaration": {
            "name": "updateLabels",
            "module": "../core/src/shared/mixins/Labelled.ts"
          }
        },
        {
          "kind": "js",
          "name": "isLabelledMixin",
          "declaration": {
            "name": "isLabelledMixin",
            "module": "../core/src/shared/mixins/Labelled.ts"
          }
        },
        {
          "kind": "js",
          "name": "Labelled",
          "declaration": {
            "name": "Labelled",
            "module": "../core/src/shared/mixins/Labelled.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/LinkButton.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "renderPseudoLink",
          "description": "A symbol through which to access a function used to render a pseudo link."
        },
        {
          "kind": "function",
          "name": "isLinkButtonMixin",
          "return": {
            "type": {
              "text": "value is LinkButtonMixin"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `LinkButtonMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports functioning as a link.",
          "name": "LinkButton",
          "members": [
            {
              "kind": "field",
              "name": "[_clickHandler]",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "The URL to which the link button points.",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "LinkTarget"
              },
              "default": "\"\"",
              "description": "The target of the link button.",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "The relationship between the `target` of the link button and the document.",
              "attribute": "rel"
            },
            {
              "kind": "field",
              "name": "download",
              "type": {
                "text": "string | null"
              },
              "description": "A value indicating whether the `target` of the link button will be downloaded,\r\noptionally specifying the new name of the file.",
              "default": "null",
              "attribute": "download"
            },
            {
              "kind": "method",
              "name": "#handleLinkPointerDown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleLinkFocus",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleLinkBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "name": "click",
              "type": {
                "text": "MouseEvent"
              }
            }
          ],
          "attributes": [
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "The URL to which the link button points.",
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "LinkTarget"
              },
              "default": "\"\"",
              "description": "The target of the link button.",
              "fieldName": "target"
            },
            {
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "The relationship between the `target` of the link button and the document.",
              "fieldName": "rel"
            },
            {
              "name": "download",
              "type": {
                "text": "string | null"
              },
              "description": "A value indicating whether the `target` of the link button will be downloaded,\r\noptionally specifying the new name of the file.",
              "default": "null",
              "fieldName": "download"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "renderPseudoLink",
          "declaration": {
            "name": "renderPseudoLink",
            "module": "../core/src/shared/mixins/LinkButton.ts"
          }
        },
        {
          "kind": "js",
          "name": "isLinkButtonMixin",
          "declaration": {
            "name": "isLinkButtonMixin",
            "module": "../core/src/shared/mixins/LinkButton.ts"
          }
        },
        {
          "kind": "js",
          "name": "LinkButton",
          "declaration": {
            "name": "LinkButton",
            "module": "../core/src/shared/mixins/LinkButton.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/ReadOnly.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isReadOnlyMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `ReadOnlyMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a read-only state.",
          "name": "ReadOnly",
          "members": [
            {
              "kind": "field",
              "name": "readOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "A value indicating whether the element is read-only.",
              "attribute": "readonly"
            }
          ],
          "attributes": [
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "A value indicating whether the element is read-only.",
              "fieldName": "readOnly"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            },
            {
              "name": "reflect",
              "default": "true",
              "type": {
                "text": "boolean"
              },
              "description": "A value indicating whether the read-only state is reflected as an attribute. The default value is `true`."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isReadOnlyMixin",
          "declaration": {
            "name": "isReadOnlyMixin",
            "module": "../core/src/shared/mixins/ReadOnly.ts"
          }
        },
        {
          "kind": "js",
          "name": "ReadOnly",
          "declaration": {
            "name": "ReadOnly",
            "module": "../core/src/shared/mixins/ReadOnly.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/Required.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isRequiredMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `RequiredMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a required state.",
          "name": "Required",
          "members": [
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether a value is required for the element.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "optional",
              "description": "Whether a value is not required for the element.",
              "readonly": true
            }
          ],
          "attributes": [
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether a value is required for the element.",
              "fieldName": "required"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isRequiredMixin",
          "declaration": {
            "name": "isRequiredMixin",
            "module": "../core/src/shared/mixins/Required.ts"
          }
        },
        {
          "kind": "js",
          "name": "Required",
          "declaration": {
            "name": "Required",
            "module": "../core/src/shared/mixins/Required.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/RequiredConstraintValidation.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isRequiredConstraintValidationMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `RequiredConstraintValidationMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a required state.",
          "name": "RequiredConstraintValidation",
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isRequiredConstraintValidationMixin",
          "declaration": {
            "name": "isRequiredConstraintValidationMixin",
            "module": "../core/src/shared/mixins/RequiredConstraintValidation.ts"
          }
        },
        {
          "kind": "js",
          "name": "RequiredConstraintValidation",
          "declaration": {
            "name": "RequiredConstraintValidation",
            "module": "../core/src/shared/mixins/RequiredConstraintValidation.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/Role.ts",
      "declarations": [
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with an ARIA role.",
          "name": "Role",
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            },
            {
              "name": "role",
              "type": {
                "text": "ARIARole"
              },
              "description": "The ARIA role."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Role",
          "declaration": {
            "name": "Role",
            "module": "../core/src/shared/mixins/Role.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/Selected.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isSelectedMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `SelectedMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a selected state.",
          "name": "Selected",
          "members": [
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is selected.",
              "attribute": "selected",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is selected.",
              "fieldName": "selected"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isSelectedMixin",
          "declaration": {
            "name": "isSelectedMixin",
            "module": "../core/src/shared/mixins/Selected.ts"
          }
        },
        {
          "kind": "js",
          "name": "Selected",
          "declaration": {
            "name": "Selected",
            "module": "../core/src/shared/mixins/Selected.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/Touched.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isTouchedMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `TouchedMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with functionality used to mark it as touched.",
          "name": "Touched",
          "members": [
            {
              "kind": "field",
              "name": "[_eventHandler]",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "touched",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the user has interacted when the element.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "untouched",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the user has not interacted when the element.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "markAsTouched",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Marks the element as touched."
            },
            {
              "kind": "method",
              "name": "markAsUntouched",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Marks the element as untouched."
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isTouchedMixin",
          "declaration": {
            "name": "isTouchedMixin",
            "module": "../core/src/shared/mixins/Touched.ts"
          }
        },
        {
          "kind": "js",
          "name": "Touched",
          "declaration": {
            "name": "Touched",
            "module": "../core/src/shared/mixins/Touched.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "../core/src/shared/mixins/Vertical.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isVerticalMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `VerticalMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a vertical orientation.",
          "name": "Vertical",
          "members": [
            {
              "kind": "field",
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is oriented vertically.",
              "attribute": "vertical",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is oriented vertically.",
              "fieldName": "vertical"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isVerticalMixin",
          "declaration": {
            "name": "isVerticalMixin",
            "module": "../core/src/shared/mixins/Vertical.ts"
          }
        },
        {
          "kind": "js",
          "name": "Vertical",
          "declaration": {
            "name": "Vertical",
            "module": "../core/src/shared/mixins/Vertical.ts"
          }
        }
      ]
    }
  ]
}
