{
  "schemaVersion": "1.0.0",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "all.js",
      "exports": [
        {
          "kind": "js",
          "name": "MdElevatedButton",
          "declaration": {
            "name": "MdElevatedButton",
            "package": "@material/web",
            "module": "button/elevated-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFilledButton",
          "declaration": {
            "name": "MdFilledButton",
            "package": "@material/web",
            "module": "button/filled-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFilledTonalButton",
          "declaration": {
            "name": "MdFilledTonalButton",
            "package": "@material/web",
            "module": "button/filled-tonal-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdOutlinedButton",
          "declaration": {
            "name": "MdOutlinedButton",
            "package": "@material/web",
            "module": "button/outlined-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdTextButton",
          "declaration": {
            "name": "MdTextButton",
            "package": "@material/web",
            "module": "button/text-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdCheckbox",
          "declaration": {
            "name": "MdCheckbox",
            "package": "@material/web",
            "module": "checkbox/checkbox.js"
          }
        },
        {
          "kind": "js",
          "name": "MdAssistChip",
          "declaration": {
            "name": "MdAssistChip",
            "package": "@material/web",
            "module": "chips/assist-chip.js"
          }
        },
        {
          "kind": "js",
          "name": "MdChipSet",
          "declaration": {
            "name": "MdChipSet",
            "package": "@material/web",
            "module": "chips/chip-set.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFilterChip",
          "declaration": {
            "name": "MdFilterChip",
            "package": "@material/web",
            "module": "chips/filter-chip.js"
          }
        },
        {
          "kind": "js",
          "name": "MdInputChip",
          "declaration": {
            "name": "MdInputChip",
            "package": "@material/web",
            "module": "chips/input-chip.js"
          }
        },
        {
          "kind": "js",
          "name": "MdSuggestionChip",
          "declaration": {
            "name": "MdSuggestionChip",
            "package": "@material/web",
            "module": "chips/suggestion-chip.js"
          }
        },
        {
          "kind": "js",
          "name": "MdDialog",
          "declaration": {
            "name": "MdDialog",
            "package": "@material/web",
            "module": "dialog/dialog.js"
          }
        },
        {
          "kind": "js",
          "name": "MdDivider",
          "declaration": {
            "name": "MdDivider",
            "package": "@material/web",
            "module": "divider/divider.js"
          }
        },
        {
          "kind": "js",
          "name": "MdElevation",
          "declaration": {
            "name": "MdElevation",
            "package": "@material/web",
            "module": "elevation/elevation.js"
          }
        },
        {
          "kind": "js",
          "name": "FabSize",
          "declaration": {
            "name": "FabSize",
            "package": "@material/web",
            "module": "fab/fab.js"
          }
        },
        {
          "kind": "js",
          "name": "MdBrandedFab",
          "declaration": {
            "name": "MdBrandedFab",
            "package": "@material/web",
            "module": "fab/branded-fab.js"
          }
        },
        {
          "kind": "js",
          "name": "FabVariant",
          "declaration": {
            "name": "FabVariant",
            "package": "@material/web",
            "module": "fab/fab.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFab",
          "declaration": {
            "name": "MdFab",
            "package": "@material/web",
            "module": "fab/fab.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFilledField",
          "declaration": {
            "name": "MdFilledField",
            "package": "@material/web",
            "module": "field/filled-field.js"
          }
        },
        {
          "kind": "js",
          "name": "MdOutlinedField",
          "declaration": {
            "name": "MdOutlinedField",
            "package": "@material/web",
            "module": "field/outlined-field.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFocusRing",
          "declaration": {
            "name": "MdFocusRing",
            "package": "@material/web",
            "module": "focus/md-focus-ring.js"
          }
        },
        {
          "kind": "js",
          "name": "MdIcon",
          "declaration": {
            "name": "MdIcon",
            "package": "@material/web",
            "module": "icon/icon.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFilledIconButton",
          "declaration": {
            "name": "MdFilledIconButton",
            "package": "@material/web",
            "module": "iconbutton/filled-icon-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFilledTonalIconButton",
          "declaration": {
            "name": "MdFilledTonalIconButton",
            "package": "@material/web",
            "module": "iconbutton/filled-tonal-icon-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdIconButton",
          "declaration": {
            "name": "MdIconButton",
            "package": "@material/web",
            "module": "iconbutton/icon-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdOutlinedIconButton",
          "declaration": {
            "name": "MdOutlinedIconButton",
            "package": "@material/web",
            "module": "iconbutton/outlined-icon-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdList",
          "declaration": {
            "name": "MdList",
            "package": "@material/web",
            "module": "list/list.js"
          }
        },
        {
          "kind": "js",
          "name": "ListItemType",
          "declaration": {
            "name": "ListItemType",
            "package": "@material/web",
            "module": "list/list-item.js"
          }
        },
        {
          "kind": "js",
          "name": "MdListItem",
          "declaration": {
            "name": "MdListItem",
            "package": "@material/web",
            "module": "list/list-item.js"
          }
        },
        {
          "kind": "js",
          "name": "ListItem",
          "declaration": {
            "name": "ListItem",
            "package": "@material/web",
            "module": "menu/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "MenuItem",
          "declaration": {
            "name": "MenuItem",
            "package": "@material/web",
            "module": "menu/menu-item.js"
          }
        },
        {
          "kind": "js",
          "name": "CloseReason",
          "declaration": {
            "name": "CloseReason",
            "package": "@material/web",
            "module": "menu/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "FocusState",
          "declaration": {
            "name": "FocusState",
            "package": "@material/web",
            "module": "menu/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "CloseMenuEvent",
          "declaration": {
            "name": "CloseMenuEvent",
            "package": "@material/web",
            "module": "menu/menu-item.js"
          }
        },
        {
          "kind": "js",
          "name": "Menu",
          "declaration": {
            "name": "Menu",
            "package": "@material/web",
            "module": "menu/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "Corner",
          "declaration": {
            "name": "Corner",
            "package": "@material/web",
            "module": "menu/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "MdMenu",
          "declaration": {
            "name": "MdMenu",
            "package": "@material/web",
            "module": "menu/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "MdMenuItem",
          "declaration": {
            "name": "MdMenuItem",
            "package": "@material/web",
            "module": "menu/menu-item.js"
          }
        },
        {
          "kind": "js",
          "name": "MdSubMenu",
          "declaration": {
            "name": "MdSubMenu",
            "package": "@material/web",
            "module": "menu/sub-menu.js"
          }
        },
        {
          "kind": "js",
          "name": "MdCircularProgress",
          "declaration": {
            "name": "MdCircularProgress",
            "package": "@material/web",
            "module": "progress/circular-progress.js"
          }
        },
        {
          "kind": "js",
          "name": "MdLinearProgress",
          "declaration": {
            "name": "MdLinearProgress",
            "package": "@material/web",
            "module": "progress/linear-progress.js"
          }
        },
        {
          "kind": "js",
          "name": "MdRadio",
          "declaration": {
            "name": "MdRadio",
            "package": "@material/web",
            "module": "radio/radio.js"
          }
        },
        {
          "kind": "js",
          "name": "MdRipple",
          "declaration": {
            "name": "MdRipple",
            "package": "@material/web",
            "module": "ripple/ripple.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFilledSelect",
          "declaration": {
            "name": "MdFilledSelect",
            "package": "@material/web",
            "module": "select/filled-select.js"
          }
        },
        {
          "kind": "js",
          "name": "MdOutlinedSelect",
          "declaration": {
            "name": "MdOutlinedSelect",
            "package": "@material/web",
            "module": "select/outlined-select.js"
          }
        },
        {
          "kind": "js",
          "name": "SelectOption",
          "declaration": {
            "name": "SelectOption",
            "package": "@material/web",
            "module": "select/select-option.js"
          }
        },
        {
          "kind": "js",
          "name": "MdSelectOption",
          "declaration": {
            "name": "MdSelectOption",
            "package": "@material/web",
            "module": "select/select-option.js"
          }
        },
        {
          "kind": "js",
          "name": "MdSlider",
          "declaration": {
            "name": "MdSlider",
            "package": "@material/web",
            "module": "slider/slider.js"
          }
        },
        {
          "kind": "js",
          "name": "MdSwitch",
          "declaration": {
            "name": "MdSwitch",
            "package": "@material/web",
            "module": "switch/switch.js"
          }
        },
        {
          "kind": "js",
          "name": "MdPrimaryTab",
          "declaration": {
            "name": "MdPrimaryTab",
            "package": "@material/web",
            "module": "tabs/primary-tab.js"
          }
        },
        {
          "kind": "js",
          "name": "MdSecondaryTab",
          "declaration": {
            "name": "MdSecondaryTab",
            "package": "@material/web",
            "module": "tabs/secondary-tab.js"
          }
        },
        {
          "kind": "js",
          "name": "MdTabs",
          "declaration": {
            "name": "MdTabs",
            "package": "@material/web",
            "module": "tabs/tabs.js"
          }
        },
        {
          "kind": "js",
          "name": "TextFieldType",
          "declaration": {
            "name": "TextFieldType",
            "package": "@material/web",
            "module": "textfield/outlined-text-field.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFilledTextField",
          "declaration": {
            "name": "MdFilledTextField",
            "package": "@material/web",
            "module": "textfield/filled-text-field.js"
          }
        },
        {
          "kind": "js",
          "name": "MdOutlinedTextField",
          "declaration": {
            "name": "MdOutlinedTextField",
            "package": "@material/web",
            "module": "textfield/outlined-text-field.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "common.js",
      "exports": [
        {
          "kind": "js",
          "name": "MdFilledButton",
          "declaration": {
            "name": "MdFilledButton",
            "package": "@material/web",
            "module": "button/filled-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdOutlinedButton",
          "declaration": {
            "name": "MdOutlinedButton",
            "package": "@material/web",
            "module": "button/outlined-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdTextButton",
          "declaration": {
            "name": "MdTextButton",
            "package": "@material/web",
            "module": "button/text-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdCheckbox",
          "declaration": {
            "name": "MdCheckbox",
            "package": "@material/web",
            "module": "checkbox/checkbox.js"
          }
        },
        {
          "kind": "js",
          "name": "MdAssistChip",
          "declaration": {
            "name": "MdAssistChip",
            "package": "@material/web",
            "module": "chips/assist-chip.js"
          }
        },
        {
          "kind": "js",
          "name": "MdChipSet",
          "declaration": {
            "name": "MdChipSet",
            "package": "@material/web",
            "module": "chips/chip-set.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFilterChip",
          "declaration": {
            "name": "MdFilterChip",
            "package": "@material/web",
            "module": "chips/filter-chip.js"
          }
        },
        {
          "kind": "js",
          "name": "MdDialog",
          "declaration": {
            "name": "MdDialog",
            "package": "@material/web",
            "module": "dialog/dialog.js"
          }
        },
        {
          "kind": "js",
          "name": "MdIcon",
          "declaration": {
            "name": "MdIcon",
            "package": "@material/web",
            "module": "icon/icon.js"
          }
        },
        {
          "kind": "js",
          "name": "MdIconButton",
          "declaration": {
            "name": "MdIconButton",
            "package": "@material/web",
            "module": "iconbutton/icon-button.js"
          }
        },
        {
          "kind": "js",
          "name": "MdList",
          "declaration": {
            "name": "MdList",
            "package": "@material/web",
            "module": "list/list.js"
          }
        },
        {
          "kind": "js",
          "name": "ListItemType",
          "declaration": {
            "name": "ListItemType",
            "package": "@material/web",
            "module": "list/list-item.js"
          }
        },
        {
          "kind": "js",
          "name": "MdListItem",
          "declaration": {
            "name": "MdListItem",
            "package": "@material/web",
            "module": "list/list-item.js"
          }
        },
        {
          "kind": "js",
          "name": "ListItem",
          "declaration": {
            "name": "ListItem",
            "package": "@material/web",
            "module": "menu/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "MenuItem",
          "declaration": {
            "name": "MenuItem",
            "package": "@material/web",
            "module": "menu/menu-item.js"
          }
        },
        {
          "kind": "js",
          "name": "CloseReason",
          "declaration": {
            "name": "CloseReason",
            "package": "@material/web",
            "module": "menu/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "FocusState",
          "declaration": {
            "name": "FocusState",
            "package": "@material/web",
            "module": "menu/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "CloseMenuEvent",
          "declaration": {
            "name": "CloseMenuEvent",
            "package": "@material/web",
            "module": "menu/menu-item.js"
          }
        },
        {
          "kind": "js",
          "name": "Menu",
          "declaration": {
            "name": "Menu",
            "package": "@material/web",
            "module": "menu/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "Corner",
          "declaration": {
            "name": "Corner",
            "package": "@material/web",
            "module": "menu/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "MdMenu",
          "declaration": {
            "name": "MdMenu",
            "package": "@material/web",
            "module": "menu/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "MdMenuItem",
          "declaration": {
            "name": "MdMenuItem",
            "package": "@material/web",
            "module": "menu/menu-item.js"
          }
        },
        {
          "kind": "js",
          "name": "MdSubMenu",
          "declaration": {
            "name": "MdSubMenu",
            "package": "@material/web",
            "module": "menu/sub-menu.js"
          }
        },
        {
          "kind": "js",
          "name": "MdCircularProgress",
          "declaration": {
            "name": "MdCircularProgress",
            "package": "@material/web",
            "module": "progress/circular-progress.js"
          }
        },
        {
          "kind": "js",
          "name": "MdLinearProgress",
          "declaration": {
            "name": "MdLinearProgress",
            "package": "@material/web",
            "module": "progress/linear-progress.js"
          }
        },
        {
          "kind": "js",
          "name": "MdRadio",
          "declaration": {
            "name": "MdRadio",
            "package": "@material/web",
            "module": "radio/radio.js"
          }
        },
        {
          "kind": "js",
          "name": "MdOutlinedSelect",
          "declaration": {
            "name": "MdOutlinedSelect",
            "package": "@material/web",
            "module": "select/outlined-select.js"
          }
        },
        {
          "kind": "js",
          "name": "SelectOption",
          "declaration": {
            "name": "SelectOption",
            "package": "@material/web",
            "module": "select/select-option.js"
          }
        },
        {
          "kind": "js",
          "name": "MdSelectOption",
          "declaration": {
            "name": "MdSelectOption",
            "package": "@material/web",
            "module": "select/select-option.js"
          }
        },
        {
          "kind": "js",
          "name": "MdPrimaryTab",
          "declaration": {
            "name": "MdPrimaryTab",
            "package": "@material/web",
            "module": "tabs/primary-tab.js"
          }
        },
        {
          "kind": "js",
          "name": "MdTabs",
          "declaration": {
            "name": "MdTabs",
            "package": "@material/web",
            "module": "tabs/tabs.js"
          }
        },
        {
          "kind": "js",
          "name": "TextFieldType",
          "declaration": {
            "name": "TextFieldType",
            "package": "@material/web",
            "module": "textfield/outlined-text-field.js"
          }
        },
        {
          "kind": "js",
          "name": "MdOutlinedTextField",
          "declaration": {
            "name": "MdOutlinedTextField",
            "package": "@material/web",
            "module": "textfield/outlined-text-field.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/elevated-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdElevatedButton",
          "description": "__Emphasis:__ Medium emphasis – For important actions that don’t distract\nfrom other onscreen elements.\n\n__Rationale:__ Elevated buttons are essentially filled buttons with a lighter\nbackground color and a shadow. To prevent shadow creep, only use them when\nabsolutely necessary, such as when the button requires visual separation from\na patterned background.\n\n__Example usages:__\n- Reply\n- View all\n- Add to cart\n- Take out of trash",
          "summary": "Buttons help people take action, such as sending an email, sharing a\ndocument, or liking a comment.",
          "superclass": {
            "name": "ElevatedButton",
            "package": "@material/web",
            "module": "button/internal/elevated-button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    sharedStyles,\n    sharedElevationStyles,\n    elevatedStyles,\n  ]"
            }
          ],
          "tagName": "md-elevated-button",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdElevatedButton",
          "declaration": {
            "name": "MdElevatedButton"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-elevated-button",
          "declaration": {
            "name": "MdElevatedButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/filled-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdFilledButton",
          "description": "__Emphasis:__ High emphasis – For the primary, most important, or most common\naction on a screen\n\n__Rationale:__ The filled button’s contrasting surface color makes it the\nmost prominent button after the FAB. It’s used for final or unblocking\nactions in a flow.\n\n__Example usages:__\n- Save\n- Confirm\n- Done",
          "summary": "Buttons help people take action, such as sending an email, sharing a\ndocument, or liking a comment.",
          "superclass": {
            "name": "FilledButton",
            "package": "@material/web",
            "module": "button/internal/filled-button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    sharedStyles,\n    sharedElevationStyles,\n    filledStyles,\n  ]"
            }
          ],
          "tagName": "md-filled-button",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdFilledButton",
          "declaration": {
            "name": "MdFilledButton"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-filled-button",
          "declaration": {
            "name": "MdFilledButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/filled-tonal-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdFilledTonalButton",
          "description": "__Emphasis:__ Medium emphasis – For important actions that don’t distract\nfrom other onscreen elements.\n\n__Rationale:__ Filled tonal buttons have a lighter background color and\ndarker label color, making them less visually prominent than a regular,\nfilled button. They’re still used for final or unblocking actions in a flow,\nbut do so with less emphasis.\n\n__Example usages:__\n- Save\n- Confirm\n- Done",
          "summary": "Buttons help people take action, such as sending an email, sharing a\ndocument, or liking a comment.",
          "superclass": {
            "name": "FilledTonalButton",
            "package": "@material/web",
            "module": "button/internal/filled-tonal-button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    sharedStyles,\n    sharedElevationStyles,\n    tonalStyles,\n  ]"
            }
          ],
          "tagName": "md-filled-tonal-button",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdFilledTonalButton",
          "declaration": {
            "name": "MdFilledTonalButton"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-filled-tonal-button",
          "declaration": {
            "name": "MdFilledTonalButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "ButtonHarness",
          "description": "Test harness for buttons.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ButtonHarness",
          "declaration": {
            "name": "ButtonHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/outlined-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdOutlinedButton",
          "description": "__Emphasis:__ Medium emphasis – For important actions that don’t distract\nfrom other onscreen elements.\n\n__Rationale:__ Use an outlined button for actions that need attention but\naren’t the primary action, such as “See all” or “Add to cart.” This is also\nthe button to use for giving someone the opportunity to change their mind or\nescape a flow.\n\n__Example usages:__\n- Reply\n- View all\n- Add to cart\n- Take out of trash",
          "summary": "Buttons help people take action, such as sending an email, sharing a\ndocument, or liking a comment.",
          "superclass": {
            "name": "OutlinedButton",
            "package": "@material/web",
            "module": "button/internal/outlined-button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, outlinedStyles]"
            }
          ],
          "tagName": "md-outlined-button",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdOutlinedButton",
          "declaration": {
            "name": "MdOutlinedButton"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-outlined-button",
          "declaration": {
            "name": "MdOutlinedButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/text-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdTextButton",
          "description": "__Emphasis:__ Low emphasis – For optional or supplementary actions with the\nleast amount of prominence\n\n__Rationale:__ Text buttons have less visual prominence, so should be used\nfor low emphasis actions, such as an alternative option.\n\n__Example usages:__\n- Learn more\n- View all\n- Change account\n- Turn on",
          "summary": "Buttons help people take action, such as sending an email, sharing a\ndocument, or liking a comment.",
          "superclass": {
            "name": "TextButton",
            "package": "@material/web",
            "module": "button/internal/text-button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, textStyles]"
            }
          ],
          "tagName": "md-text-button",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdTextButton",
          "declaration": {
            "name": "MdTextButton"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-text-button",
          "declaration": {
            "name": "MdTextButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "buttonBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            },
            {
              "name": "mixinFormSubmitter",
              "package": "@material/web",
              "module": "labs/behaviors/form-submitter.js"
            },
            {
              "name": "mixinFormAssociated",
              "package": "@material/web",
              "module": "labs/behaviors/form-associated.js"
            },
            {
              "name": "mixinElementInternals",
              "package": "@material/web",
              "module": "labs/behaviors/element-internals.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "Button",
          "description": "A button component.",
          "superclass": {
            "name": "buttonBaseClass",
            "package": "@material/web",
            "module": "button/internal/button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "softDisabled",
              "description": "Whether or not the button is \"soft-disabled\" (disabled but still\nfocusable).\n\nUse this when a button needs increased visibility when disabled. See\nhttps://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\nfor more guidance on when this is needed.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "soft-disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "href",
              "description": "The URL that the link button points to.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "download",
              "description": "The filename to use when downloading the linked resource.\nIf not specified, the browser will determine a filename.\nThis is only applicable when the button is used as a link (`href` is set).",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "download"
            },
            {
              "kind": "field",
              "name": "target",
              "description": "Where to display the linked `href` URL for a link button. Common options\ninclude `_blank` to open in a new tab.",
              "privacy": "public",
              "type": {
                "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
              },
              "default": "''",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "trailingIcon",
              "description": "Whether to render the icon at the inline end of the label rather than the\ninline start.\n\n_Note:_ Link buttons cannot have trailing icons.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "trailing-icon",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hasIcon",
              "description": "Whether to display the icon or not.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "has-icon",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "buttonElement",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "assignedIcons",
              "privacy": "private",
              "type": {
                "text": "HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "ShadowRootInit",
                "references": [
                  {
                    "name": "ShadowRootInit",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              },
              "default": "{\n    mode: 'open',\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderButton",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLink",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderContent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent",
                    "references": [
                      {
                        "name": "MouseEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 10
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "soft-disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "softDisabled"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "fieldName": "href"
            },
            {
              "name": "download",
              "type": {
                "text": "string"
              },
              "fieldName": "download"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "fieldName": "target"
            },
            {
              "name": "trailing-icon",
              "type": {
                "text": "boolean"
              },
              "fieldName": "trailingIcon"
            },
            {
              "name": "has-icon",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hasIcon"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Button",
          "declaration": {
            "name": "Button"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/elevated-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "ElevatedButton",
          "description": "An elevated button component.",
          "superclass": {
            "name": "Button",
            "package": "@material/web",
            "module": "button/internal/button.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "renderElevationOrOutline",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ElevatedButton",
          "declaration": {
            "name": "ElevatedButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/elevated-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/filled-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "FilledButton",
          "description": "A filled button component.",
          "superclass": {
            "name": "Button",
            "package": "@material/web",
            "module": "button/internal/button.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "renderElevationOrOutline",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FilledButton",
          "declaration": {
            "name": "FilledButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/filled-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/filled-tonal-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "FilledTonalButton",
          "description": "A filled tonal button component.",
          "superclass": {
            "name": "Button",
            "package": "@material/web",
            "module": "button/internal/button.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "renderElevationOrOutline",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FilledTonalButton",
          "declaration": {
            "name": "FilledTonalButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/filled-tonal-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/outlined-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "OutlinedButton",
          "description": "An outlined button component.",
          "superclass": {
            "name": "Button",
            "package": "@material/web",
            "module": "button/internal/button.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "renderElevationOrOutline",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "OutlinedButton",
          "declaration": {
            "name": "OutlinedButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/outlined-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/shared-elevation-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/shared-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/text-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "TextButton",
          "description": "A text button component.",
          "superclass": {
            "name": "Button",
            "package": "@material/web",
            "module": "button/internal/button.js"
          },
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TextButton",
          "declaration": {
            "name": "TextButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "button/internal/text-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "checkbox/checkbox.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdCheckbox",
          "description": "Use checkboxes to:\n- Select one or more options from a list\n- Present a list containing sub-selections\n- Turn an item on or off in a desktop environment",
          "summary": "Checkboxes allow users to select one or more items from a set.\nCheckboxes can turn an option on or off.",
          "superclass": {
            "name": "Checkbox",
            "package": "@material/web",
            "module": "checkbox/internal/checkbox.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-checkbox",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdCheckbox",
          "declaration": {
            "name": "MdCheckbox"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-checkbox",
          "declaration": {
            "name": "MdCheckbox"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "checkbox/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "CheckboxHarness",
          "description": "Test harness for checkbox.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<HTMLInputElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLInputElement",
                      "package": "global:",
                      "start": 8,
                      "end": 24
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CheckboxHarness",
          "declaration": {
            "name": "CheckboxHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "checkbox/internal/checkbox-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "checkbox/internal/checkbox.js",
      "declarations": [
        {
          "kind": "class",
          "name": "checkboxBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            },
            {
              "name": "mixinConstraintValidation",
              "package": "@material/web",
              "module": "labs/behaviors/constraint-validation.js"
            },
            {
              "name": "mixinFormAssociated",
              "package": "@material/web",
              "module": "labs/behaviors/form-associated.js"
            },
            {
              "name": "mixinElementInternals",
              "package": "@material/web",
              "module": "labs/behaviors/element-internals.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "Checkbox",
          "description": "A checkbox component.",
          "superclass": {
            "name": "checkboxBaseClass",
            "package": "@material/web",
            "module": "checkbox/internal/checkbox.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "checked",
              "description": "Whether or not the checkbox is selected.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "checked"
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "description": "Whether or not the checkbox is indeterminate.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "indeterminate"
            },
            {
              "kind": "field",
              "name": "required",
              "description": "When true, require the checkbox to be selected when participating in\nform submission.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#validation",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "required"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The value of the checkbox that is submitted with a form when selected.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "'on'",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "prevChecked",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "prevDisabled",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "prevIndeterminate",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "input",
              "privacy": "private",
              "type": {
                "text": "HTMLInputElement",
                "references": [
                  {
                    "name": "HTMLInputElement",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "{ delegatesFocus: boolean; clonable?: boolean; customElementRegistry?: CustomElementRegistry; mode: ShadowRootMode; serializable?: boolean; slotAssignment?: SlotAssignmentMode; }",
                "references": [
                  {
                    "name": "CustomElementRegistry",
                    "package": "global:",
                    "start": 71,
                    "end": 92
                  },
                  {
                    "name": "ShadowRootMode",
                    "package": "global:",
                    "start": 100,
                    "end": 114
                  },
                  {
                    "name": "SlotAssignmentMode",
                    "package": "global:",
                    "start": 157,
                    "end": 175
                  }
                ]
              },
              "default": "{\n    ...LitElement.shadowRootOptions,\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "method",
              "name": "update",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changed",
                  "type": {
                    "text": "PropertyValueMap<Checkbox>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Checkbox",
                        "package": "@material/web",
                        "module": "checkbox/internal/checkbox.js",
                        "start": 17,
                        "end": 25
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormValue]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormState]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[createValidator]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "CheckboxValidator",
                  "references": [
                    {
                      "name": "CheckboxValidator",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/checkbox-validator.js",
                      "start": 0,
                      "end": 17
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "[getValidityAnchor]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "HTMLInputElement",
                  "references": [
                    {
                      "name": "HTMLInputElement",
                      "package": "global:",
                      "start": 0,
                      "end": 16
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "fieldName": "checked"
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "fieldName": "indeterminate"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "fieldName": "required"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "The native `change` event on\n[`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event)\n--bubbles"
            },
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "The native `input` event on\n[`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event)\n--bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Checkbox",
          "declaration": {
            "name": "Checkbox"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/assist-chip.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdAssistChip",
          "description": "TODO(b/243982145): add docs",
          "superclass": {
            "name": "AssistChip",
            "package": "@material/web",
            "module": "chips/internal/assist-chip.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    sharedStyles,\n    elevatedStyles,\n    styles,\n  ]"
            }
          ],
          "tagName": "md-assist-chip",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdAssistChip",
          "declaration": {
            "name": "MdAssistChip"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-assist-chip",
          "declaration": {
            "name": "MdAssistChip"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/chip-set.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdChipSet",
          "description": "TODO(b/243982145): add docs",
          "superclass": {
            "name": "ChipSet",
            "package": "@material/web",
            "module": "chips/internal/chip-set.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-chip-set",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdChipSet",
          "declaration": {
            "name": "MdChipSet"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-chip-set",
          "declaration": {
            "name": "MdChipSet"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/filter-chip.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdFilterChip",
          "description": "TODO(b/243982145): add docs",
          "superclass": {
            "name": "FilterChip",
            "package": "@material/web",
            "module": "chips/internal/filter-chip.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    sharedStyles,\n    elevatedStyles,\n    trailingIconStyles,\n    selectableStyles,\n    styles,\n  ]"
            }
          ],
          "tagName": "md-filter-chip",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdFilterChip",
          "declaration": {
            "name": "MdFilterChip"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-filter-chip",
          "declaration": {
            "name": "MdFilterChip"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "ChipHarness",
          "description": "Test harness for chips.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "action",
              "privacy": "public",
              "type": {
                "text": "\"primary\" | \"trailing\""
              },
              "default": "'primary'"
            },
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ChipHarness",
          "declaration": {
            "name": "ChipHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/input-chip.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdInputChip",
          "description": "TODO(b/243982145): add docs",
          "superclass": {
            "name": "InputChip",
            "package": "@material/web",
            "module": "chips/internal/input-chip.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    sharedStyles,\n    trailingIconStyles,\n    selectableStyles,\n    styles,\n  ]"
            }
          ],
          "tagName": "md-input-chip",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdInputChip",
          "declaration": {
            "name": "MdInputChip"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-input-chip",
          "declaration": {
            "name": "MdInputChip"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/suggestion-chip.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdSuggestionChip",
          "description": "TODO(b/243982145): add docs",
          "superclass": {
            "name": "SuggestionChip",
            "package": "@material/web",
            "module": "chips/internal/suggestion-chip.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    sharedStyles,\n    elevatedStyles,\n    styles,\n  ]"
            }
          ],
          "tagName": "md-suggestion-chip",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdSuggestionChip",
          "declaration": {
            "name": "MdSuggestionChip"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-suggestion-chip",
          "declaration": {
            "name": "MdSuggestionChip"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/assist-chip.js",
      "declarations": [
        {
          "kind": "class",
          "name": "AssistChip",
          "description": "An assist chip component.",
          "superclass": {
            "name": "Chip",
            "package": "@material/web",
            "module": "chips/internal/chip.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "elevated",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "elevated"
            },
            {
              "kind": "field",
              "name": "href",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "download",
              "description": "The filename to use when downloading the linked resource.\nIf not specified, the browser will determine a filename.\nThis is only applicable when the chip is used as a link (`href` is set).",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "download"
            },
            {
              "kind": "field",
              "name": "target",
              "privacy": "public",
              "type": {
                "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
              },
              "default": "''",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "primaryId",
              "privacy": "protected",
              "type": {
                "text": "\"button\" | \"link\""
              }
            },
            {
              "kind": "field",
              "name": "rippleDisabled",
              "privacy": "protected",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "method",
              "name": "getContainerClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ disabled: boolean; elevated: boolean; link: boolean; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderPrimaryAction",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "content",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderOutline",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "elevated",
              "type": {
                "text": "boolean"
              },
              "fieldName": "elevated"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "fieldName": "href"
            },
            {
              "name": "download",
              "type": {
                "text": "string"
              },
              "fieldName": "download"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "fieldName": "target"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "AssistChip",
          "declaration": {
            "name": "AssistChip"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/assist-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/chip-set-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/chip-set.js",
      "declarations": [
        {
          "kind": "class",
          "name": "ChipSet",
          "description": "A chip set component.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "childElements",
              "privacy": "private",
              "type": {
                "text": "HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "privacy": "private",
              "type": {
                "text": "ElementInternals",
                "references": [
                  {
                    "name": "ElementInternals",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              },
              "default": "(this as HTMLElement).attachInternals()"
            },
            {
              "kind": "field",
              "name": "chips",
              "privacy": "public",
              "type": {
                "text": "Chip[]",
                "references": [
                  {
                    "name": "Chip",
                    "package": "@material/web",
                    "module": "chips/internal/chip.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "updateTabIndices",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ChipSet",
          "declaration": {
            "name": "ChipSet"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/chip.js",
      "declarations": [
        {
          "kind": "class",
          "name": "chipBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "Chip",
          "description": "A chip component.",
          "superclass": {
            "name": "chipBaseClass",
            "package": "@material/web",
            "module": "chips/internal/chip.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "disabled",
              "description": "Whether or not the chip is disabled.\n\nDisabled chips are not focusable, unless `always-focusable` is set.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "softDisabled",
              "description": "Whether or not the chip is \"soft-disabled\" (disabled but still\nfocusable).\n\nUse this when a chip needs increased visibility when disabled. See\nhttps://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\nfor more guidance on when this is needed.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "soft-disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "alwaysFocusable",
              "description": "When true, allow disabled chips to be focused with arrow keys.\n\nAdd this when a chip needs increased visibility when disabled. See\nhttps://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\nfor more guidance on when this is needed.",
              "deprecated": "Use `softDisabled` instead of `alwaysFocusable` + `disabled`.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "always-focusable"
            },
            {
              "kind": "field",
              "name": "label",
              "description": "The label of the chip.",
              "deprecated": "Set text as content of the chip instead.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "hasIcon",
              "description": "Only needed for SSR.\n\nAdd this attribute when a chip has a `slot=\"icon\"` to avoid a Flash Of\nUnstyled Content.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "has-icon",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "primaryId",
              "description": "The `id` of the action the primary focus ring and ripple are for.\nTODO(b/310046938): use the same id for both elements",
              "privacy": "protected",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "rippleDisabled",
              "privacy": "protected",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "{ delegatesFocus: boolean; clonable?: boolean; customElementRegistry?: CustomElementRegistry; mode: ShadowRootMode; serializable?: boolean; slotAssignment?: SlotAssignmentMode; }",
                "references": [
                  {
                    "name": "CustomElementRegistry",
                    "package": "global:",
                    "start": 71,
                    "end": 92
                  },
                  {
                    "name": "ShadowRootMode",
                    "package": "global:",
                    "start": 100,
                    "end": 114
                  },
                  {
                    "name": "SlotAssignmentMode",
                    "package": "global:",
                    "start": 157,
                    "end": 175
                  }
                ]
              },
              "default": "{\n    ...LitElement.shadowRootOptions,\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "parameters": [
                {
                  "name": "options",
                  "type": {
                    "text": "FocusOptions",
                    "references": [
                      {
                        "name": "FocusOptions",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  },
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changed",
                  "type": {
                    "text": "PropertyValueMap<Chip>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Chip",
                        "package": "@material/web",
                        "module": "chips/internal/chip.js",
                        "start": 17,
                        "end": 21
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getContainerClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "ClassInfo",
                  "references": [
                    {
                      "name": "ClassInfo",
                      "package": "lit",
                      "module": "directives/class-map.js",
                      "start": 0,
                      "end": 9
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderContainerContent",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderOutline",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLeadingIcon",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderPrimaryContent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleIconChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "disabled"
            },
            {
              "name": "soft-disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "softDisabled"
            },
            {
              "name": "always-focusable",
              "type": {
                "text": "boolean"
              },
              "fieldName": "alwaysFocusable"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "fieldName": "label"
            },
            {
              "name": "has-icon",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hasIcon"
            }
          ],
          "events": [
            {
              "name": "update-focus",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Dispatched when `disabled` is toggled. --bubbles"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Chip",
          "declaration": {
            "name": "Chip"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/elevated-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/filter-chip.js",
      "declarations": [
        {
          "kind": "class",
          "name": "FilterChip",
          "description": "A filter chip component.",
          "superclass": {
            "name": "MultiActionChip",
            "package": "@material/web",
            "module": "chips/internal/multi-action-chip.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "elevated",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "elevated"
            },
            {
              "kind": "field",
              "name": "removable",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "removable"
            },
            {
              "kind": "field",
              "name": "selected",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "selected",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hasSelectedIcon",
              "description": "Only needed for SSR.\n\nAdd this attribute when a filter chip has a `slot=\"selected-icon\"` to avoid\na Flash Of Unstyled Content.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "has-selected-icon",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "primaryAction",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "trailingAction",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "primaryId",
              "privacy": "protected",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "method",
              "name": "getContainerClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ elevated: boolean; selected: boolean; 'has-trailing': boolean; 'has-icon': boolean; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderPrimaryAction",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "content",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLeadingIcon",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderTrailingAction",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "focusListener",
                  "type": {
                    "text": "EventListener",
                    "references": [
                      {
                        "name": "EventListener",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderOutline",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleClickOnChild",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent",
                    "references": [
                      {
                        "name": "MouseEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 10
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "elevated",
              "type": {
                "text": "boolean"
              },
              "fieldName": "elevated"
            },
            {
              "name": "removable",
              "type": {
                "text": "boolean"
              },
              "fieldName": "removable"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "fieldName": "selected"
            },
            {
              "name": "has-selected-icon",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hasSelectedIcon"
            }
          ],
          "events": [
            {
              "name": "remove",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Dispatched when the remove button is clicked."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FilterChip",
          "declaration": {
            "name": "FilterChip"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/filter-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/input-chip.js",
      "declarations": [
        {
          "kind": "class",
          "name": "InputChip",
          "description": "An input chip component.",
          "superclass": {
            "name": "MultiActionChip",
            "package": "@material/web",
            "module": "chips/internal/multi-action-chip.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "avatar",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "avatar"
            },
            {
              "kind": "field",
              "name": "href",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "privacy": "public",
              "type": {
                "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
              },
              "default": "''",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "removeOnly",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "remove-only"
            },
            {
              "kind": "field",
              "name": "selected",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "selected",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "trailingAction",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "primaryId",
              "privacy": "protected",
              "type": {
                "text": "\"\" | \"button\" | \"link\""
              }
            },
            {
              "kind": "field",
              "name": "rippleDisabled",
              "privacy": "protected",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "primaryAction",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "getContainerClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ avatar: boolean; disabled: boolean; link: boolean; selected: boolean; 'has-trailing': boolean; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderPrimaryAction",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "content",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderTrailingAction",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "focusListener",
                  "type": {
                    "text": "EventListener",
                    "references": [
                      {
                        "name": "EventListener",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "avatar",
              "type": {
                "text": "boolean"
              },
              "fieldName": "avatar"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "fieldName": "target"
            },
            {
              "name": "remove-only",
              "type": {
                "text": "boolean"
              },
              "fieldName": "removeOnly"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "fieldName": "selected"
            }
          ],
          "events": [
            {
              "name": "remove",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Dispatched when the remove button is clicked."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "InputChip",
          "declaration": {
            "name": "InputChip"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/input-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/multi-action-chip.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "ARIA_LABEL_REMOVE",
          "type": {
            "text": "string"
          }
        },
        {
          "kind": "class",
          "name": "MultiActionChip",
          "description": "A chip component with multiple actions.",
          "superclass": {
            "name": "Chip",
            "package": "@material/web",
            "module": "chips/internal/chip.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "primaryAction",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "trailingAction",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "handleTrailingActionFocus",
              "privacy": "public",
              "type": {
                "text": "() => void"
              }
            },
            {
              "kind": "field",
              "name": "ariaLabelRemove",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "parameters": [
                {
                  "name": "options",
                  "type": {
                    "text": "FocusOptions & { trailing?: boolean; }",
                    "references": [
                      {
                        "name": "FocusOptions",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  },
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderContainerContent",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleTrailingActionFocus",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MultiActionChip",
          "declaration": {
            "name": "MultiActionChip"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/selectable-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/shared-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/suggestion-chip.js",
      "declarations": [
        {
          "kind": "class",
          "name": "SuggestionChip",
          "description": "A suggestion chip component.",
          "superclass": {
            "name": "AssistChip",
            "package": "@material/web",
            "module": "chips/internal/assist-chip.js"
          },
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SuggestionChip",
          "declaration": {
            "name": "SuggestionChip"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/suggestion-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/trailing-icon-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "chips/internal/trailing-icons.js",
      "declarations": [
        {
          "kind": "function",
          "name": "renderRemoveButton",
          "parameters": [
            {
              "name": "{\n  ariaLabel,\n  disabled,\n  focusListener,\n  tabbable = false,\n}",
              "type": {
                "text": "RemoveButtonProperties",
                "references": [
                  {
                    "name": "RemoveButtonProperties",
                    "package": "@material/web",
                    "module": "chips/internal/trailing-icons.js",
                    "start": 0,
                    "end": 22
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "TemplateResult<1>",
              "references": [
                {
                  "name": "TemplateResult",
                  "package": "lit-html",
                  "module": "development/lit-html.js",
                  "start": 0,
                  "end": 14
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "handleRemoveClick",
          "parameters": [
            {
              "name": "this",
              "type": {
                "text": "Chip",
                "references": [
                  {
                    "name": "Chip",
                    "package": "@material/web",
                    "module": "chips/internal/chip.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "name": "event",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "renderRemoveButton",
          "declaration": {
            "name": "renderRemoveButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "dialog/dialog.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdDialog",
          "description": "A dialog is a modal window that appears in front of app content to provide\ncritical information or ask for a decision. Dialogs disable all app\nfunctionality when they appear, and remain on screen until confirmed,\ndismissed, or a required action has been taken.\n\nDialogs are purposefully interruptive, so they should be used sparingly.\nA less disruptive alternative is to use a menu, which provides options\nwithout interrupting a user’s experience.\n\nOn mobile devices only, complex dialogs should be displayed fullscreen.\n\n__Example usages:__\n- Common use cases for basic dialogs include alerts, quick selection, and\nconfirmation.\n- More complex dialogs may contain actions that require a series of tasks\nto complete. One example is creating a calendar entry with the event title,\ndate, location, and time.",
          "summary": "Dialogs can require an action, communicate information, or help\nusers accomplish a task. There are two types of dialogs: basic and\nfull-screen.",
          "superclass": {
            "name": "Dialog",
            "package": "@material/web",
            "module": "dialog/internal/dialog.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-dialog",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdDialog",
          "declaration": {
            "name": "MdDialog"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-dialog",
          "declaration": {
            "name": "MdDialog"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "dialog/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "DialogHarness",
          "description": "Test harness for dialog.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DialogHarness",
          "declaration": {
            "name": "DialogHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "dialog/internal/animations.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "DIALOG_DEFAULT_OPEN_ANIMATION",
          "description": "The default dialog open animation.",
          "type": {
            "text": "DialogAnimation",
            "references": [
              {
                "name": "DialogAnimation",
                "package": "@material/web",
                "module": "dialog/internal/animations.js",
                "start": 0,
                "end": 15
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "DIALOG_DEFAULT_CLOSE_ANIMATION",
          "description": "The default dialog close animation.",
          "type": {
            "text": "DialogAnimation",
            "references": [
              {
                "name": "DialogAnimation",
                "package": "@material/web",
                "module": "dialog/internal/animations.js",
                "start": 0,
                "end": 15
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DIALOG_DEFAULT_OPEN_ANIMATION",
          "declaration": {
            "name": "DIALOG_DEFAULT_OPEN_ANIMATION"
          }
        },
        {
          "kind": "js",
          "name": "DIALOG_DEFAULT_CLOSE_ANIMATION",
          "declaration": {
            "name": "DIALOG_DEFAULT_CLOSE_ANIMATION"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "dialog/internal/dialog-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "dialog/internal/dialog.js",
      "declarations": [
        {
          "kind": "class",
          "name": "dialogBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "Dialog",
          "description": "A dialog component.",
          "superclass": {
            "name": "dialogBaseClass",
            "package": "@material/web",
            "module": "dialog/internal/dialog.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "quick",
              "description": "Skips the opening and closing animations.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "quick"
            },
            {
              "kind": "field",
              "name": "returnValue",
              "description": "Gets or sets the dialog's return value, usually to indicate which button\na user pressed to close it.\n\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/returnValue",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "returnvalue"
            },
            {
              "kind": "field",
              "name": "type",
              "description": "The type of dialog for accessibility. Set this to `alert` to announce a\ndialog as an alert dialog.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "noFocusTrap",
              "description": "Disables focus trapping, which by default keeps keyboard Tab navigation\nwithin the dialog.\n\nWhen disabled, after focusing the last element of a dialog, pressing Tab\nagain will release focus from the window back to the browser (such as the\nURL bar).\n\nFocus trapping is recommended for accessibility, and should not typically\nbe disabled. Only turn this off if the use case of a dialog is more\naccessible without focus trapping.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-focus-trap"
            },
            {
              "kind": "field",
              "name": "getOpenAnimation",
              "description": "Gets the opening animation for a dialog. Set to a new function to customize\nthe animation.",
              "privacy": "public",
              "type": {
                "text": "() => DialogAnimation",
                "references": [
                  {
                    "name": "DialogAnimation",
                    "package": "@material/web",
                    "module": "dialog/internal/animations.js",
                    "start": 6,
                    "end": 21
                  }
                ]
              },
              "default": "() => DIALOG_DEFAULT_OPEN_ANIMATION"
            },
            {
              "kind": "field",
              "name": "getCloseAnimation",
              "description": "Gets the closing animation for a dialog. Set to a new function to customize\nthe animation.",
              "privacy": "public",
              "type": {
                "text": "() => DialogAnimation",
                "references": [
                  {
                    "name": "DialogAnimation",
                    "package": "@material/web",
                    "module": "dialog/internal/animations.js",
                    "start": 6,
                    "end": 21
                  }
                ]
              },
              "default": "() => DIALOG_DEFAULT_CLOSE_ANIMATION"
            },
            {
              "kind": "field",
              "name": "isOpen",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isOpening",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isConnectedPromiseResolve",
              "privacy": "private",
              "type": {
                "text": "() => void"
              }
            },
            {
              "kind": "field",
              "name": "isConnectedPromise",
              "privacy": "private",
              "type": {
                "text": "Promise<void>",
                "references": [
                  {
                    "name": "Promise",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              },
              "default": "this.getIsConnectedPromise()"
            },
            {
              "kind": "field",
              "name": "dialog",
              "privacy": "private",
              "type": {
                "text": "HTMLDialogElement",
                "references": [
                  {
                    "name": "HTMLDialogElement",
                    "package": "global:",
                    "start": 0,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "scrim",
              "privacy": "private",
              "type": {
                "text": "HTMLDialogElement",
                "references": [
                  {
                    "name": "HTMLDialogElement",
                    "package": "global:",
                    "start": 0,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "container",
              "privacy": "private",
              "type": {
                "text": "HTMLDialogElement",
                "references": [
                  {
                    "name": "HTMLDialogElement",
                    "package": "global:",
                    "start": 0,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "headline",
              "privacy": "private",
              "type": {
                "text": "HTMLDialogElement",
                "references": [
                  {
                    "name": "HTMLDialogElement",
                    "package": "global:",
                    "start": 0,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "content",
              "privacy": "private",
              "type": {
                "text": "HTMLDialogElement",
                "references": [
                  {
                    "name": "HTMLDialogElement",
                    "package": "global:",
                    "start": 0,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "actions",
              "privacy": "private",
              "type": {
                "text": "HTMLDialogElement",
                "references": [
                  {
                    "name": "HTMLDialogElement",
                    "package": "global:",
                    "start": 0,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "isAtScrollTop",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isAtScrollBottom",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "scroller",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "topAnchor",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "bottomAnchor",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "firstFocusTrap",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "nextClickIsFromContent",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "intersectionObserver",
              "privacy": "private",
              "type": {
                "text": "IntersectionObserver",
                "references": [
                  {
                    "name": "IntersectionObserver",
                    "package": "global:",
                    "start": 0,
                    "end": 20
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "hasHeadline",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasActions",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasIcon",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "cancelAnimations",
              "privacy": "private",
              "type": {
                "text": "AbortController",
                "references": [
                  {
                    "name": "AbortController",
                    "package": "global:",
                    "start": 0,
                    "end": 15
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "escapePressedWithoutCancel",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "treewalker",
              "privacy": "private",
              "type": {
                "text": "TreeWalker",
                "references": [
                  {
                    "name": "TreeWalker",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "default": "isServer\n    ? null\n    : document.createTreeWalker(this, NodeFilter.SHOW_ELEMENT)"
            },
            {
              "kind": "field",
              "name": "open",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "attribute": "open"
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Opens the dialog and fires a cancelable `open` event. After a dialog's\nanimation, an `opened` event is fired.\n\nAdd an `autofocus` attribute to a child of the dialog that should\nreceive focus after opening.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                },
                "description": "A Promise that resolves after the animation is finished and the\n`opened` event was fired."
              }
            },
            {
              "kind": "method",
              "name": "close",
              "description": "Closes the dialog and fires a cancelable `close` event. After a dialog's\nanimation, a `closed` event is fired.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "returnValue",
                  "description": "A return value usually indicating which button was used\nto close a dialog. If a dialog is canceled by clicking the scrim or\npressing Escape, it will not change the return value after closing.",
                  "type": {
                    "text": "string"
                  },
                  "default": "this.returnValue",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                },
                "description": "A Promise that resolves after the animation is finished and the\n`closed` event was fired."
              }
            },
            {
              "kind": "method",
              "name": "connectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "disconnectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "firstUpdated",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleDialogClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleContentClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleSubmit",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "SubmitEvent",
                    "references": [
                      {
                        "name": "SubmitEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleCancel",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleClose",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "animateDialog",
              "privacy": "private",
              "parameters": [
                {
                  "name": "animation",
                  "type": {
                    "text": "DialogAnimation",
                    "references": [
                      {
                        "name": "DialogAnimation",
                        "package": "@material/web",
                        "module": "dialog/internal/animations.js",
                        "start": 0,
                        "end": 15
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleHeadlineChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleActionsChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleIconChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleAnchorIntersection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "entry",
                  "type": {
                    "text": "IntersectionObserverEntry",
                    "references": [
                      {
                        "name": "IntersectionObserverEntry",
                        "package": "global:",
                        "start": 0,
                        "end": 25
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getIsConnectedPromise",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleFocusTrapFocus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent",
                    "references": [
                      {
                        "name": "FocusEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 10
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getFirstAndLastFocusableChildren",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "[HTMLElement, HTMLElement] | [null, null]",
                  "references": [
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 1,
                      "end": 12
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 14,
                      "end": 25
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "fieldName": "open"
            },
            {
              "name": "quick",
              "type": {
                "text": "boolean"
              },
              "fieldName": "quick"
            },
            {
              "name": "returnvalue",
              "type": {
                "text": "string"
              },
              "fieldName": "returnValue"
            },
            {
              "name": "type",
              "type": {
                "text": "string"
              },
              "fieldName": "type"
            },
            {
              "name": "no-focus-trap",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noFocusTrap"
            }
          ],
          "events": [
            {
              "name": "open",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Dispatched when the dialog is opening before any animations."
            },
            {
              "name": "opened",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Dispatched when the dialog has opened after any animations."
            },
            {
              "name": "close",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Dispatched when the dialog is closing before any animations."
            },
            {
              "name": "closed",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Dispatched when the dialog has closed after any animations."
            },
            {
              "name": "cancel",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Dispatched when the dialog has been canceled by clicking\non the scrim or pressing Escape."
            }
          ]
        },
        {
          "kind": "function",
          "name": "isFocusable",
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "Element",
                "references": [
                  {
                    "name": "Element",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Dialog",
          "declaration": {
            "name": "Dialog"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "divider/divider.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdDivider",
          "description": "Dividers can reinforce tapability, such as when used to separate\nlist items or define tappable regions in an accordion.",
          "summary": "A divider is a thin line that groups content in lists and\ncontainers.",
          "superclass": {
            "name": "Divider",
            "package": "@material/web",
            "module": "divider/internal/divider.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-divider",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdDivider",
          "declaration": {
            "name": "MdDivider"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-divider",
          "declaration": {
            "name": "MdDivider"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "divider/internal/divider-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "divider/internal/divider.js",
      "declarations": [
        {
          "kind": "class",
          "name": "Divider",
          "description": "A divider component.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "inset",
              "description": "Indents the divider with equal padding on both sides.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "inset",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "insetStart",
              "description": "Indents the divider with padding on the leading side.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "inset-start",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "insetEnd",
              "description": "Indents the divider with padding on the trailing side.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "inset-end",
              "reflects": true
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "inset",
              "type": {
                "text": "boolean"
              },
              "fieldName": "inset"
            },
            {
              "name": "inset-start",
              "type": {
                "text": "boolean"
              },
              "fieldName": "insetStart"
            },
            {
              "name": "inset-end",
              "type": {
                "text": "boolean"
              },
              "fieldName": "insetEnd"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Divider",
          "declaration": {
            "name": "Divider"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "elevation/elevation.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdElevation",
          "description": "The `<md-elevation>` custom element with default styles.\n\nElevation is the relative distance between two surfaces along the z-axis.",
          "superclass": {
            "name": "Elevation",
            "package": "@material/web",
            "module": "elevation/internal/elevation.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-elevation",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdElevation",
          "declaration": {
            "name": "MdElevation"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-elevation",
          "declaration": {
            "name": "MdElevation"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "elevation/internal/elevation-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "elevation/internal/elevation.js",
      "declarations": [
        {
          "kind": "class",
          "name": "Elevation",
          "description": "A component for elevation.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "method",
              "name": "connectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Elevation",
          "declaration": {
            "name": "Elevation"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "fab/branded-fab.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdBrandedFab",
          "description": "__Emphasis:__ High emphasis – For the primary, most important, or most common\naction on a screen\n\n__Rationale:__ The FAB remains the default component for a screen’s primary\naction. It comes in three sizes: small FAB, FAB, and large FAB. The extended\nFAB’s wider format and text label give it more visual prominence than a  FAB.\nIt’s often used on larger screens where a FAB would seem too small. Branded\nFABs are used to specifically call attention to branded logo icons.\n\n__Example usages:__\n- FAB\n  - Create\n  - Compose\n- Extended FAB\n  - Create\n  - Compose\n  - New Thread\n  - New File",
          "summary": "Floating action buttons (FABs) help people take primary actions.\nThey’re used to represent the most important action on a screen, such as\nCreate or Reply.",
          "superclass": {
            "name": "Fab",
            "package": "@material/web",
            "module": "fab/internal/fab.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "variant",
              "description": "Branded FABs have no variants",
              "privacy": "public",
              "type": {
                "text": "FabVariant",
                "references": [
                  {
                    "name": "FabVariant",
                    "package": "@material/web",
                    "module": "fab/internal/fab.js",
                    "start": 0,
                    "end": 10
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    sharedStyles,\n    styles,\n    forcedColors,\n  ]"
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "{ primary: boolean; secondary: boolean; tertiary: boolean; small: boolean; lowered: boolean; large: boolean; extended: boolean; }"
                }
              }
            }
          ],
          "tagName": "md-branded-fab",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FabSize",
          "declaration": {
            "name": "FabSize",
            "package": "@material/web",
            "module": "fab/internal/shared.js"
          }
        },
        {
          "kind": "js",
          "name": "MdBrandedFab",
          "declaration": {
            "name": "MdBrandedFab"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-branded-fab",
          "declaration": {
            "name": "MdBrandedFab"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "fab/fab.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdFab",
          "description": "__Emphasis:__ High emphasis – For the primary, most important, or most common\naction on a screen\n\n__Rationale:__ The FAB remains the default component for a screen’s primary\naction. It comes in three sizes: small FAB, FAB, and large FAB. The extended\nFAB’s wider format and text label give it more visual prominence than a  FAB.\nIt’s often used on larger screens where a FAB would seem too small.\n\n__Example usages:__\n- FAB\n  - Create\n  - Compose\n- Extended FAB\n  - Create\n  - Compose\n  - New Thread\n  - New File",
          "summary": "Floating action buttons (FABs) help people take primary actions.\nThey’re used to represent the most important action on a screen, such as\nCreate or Reply.",
          "superclass": {
            "name": "Fab",
            "package": "@material/web",
            "module": "fab/internal/fab.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    sharedStyles,\n    styles,\n    forcedColors,\n  ]"
            }
          ],
          "tagName": "md-fab",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FabVariant",
          "declaration": {
            "name": "FabVariant",
            "package": "@material/web",
            "module": "fab/internal/fab.js"
          }
        },
        {
          "kind": "js",
          "name": "FabSize",
          "declaration": {
            "name": "FabSize",
            "package": "@material/web",
            "module": "fab/internal/shared.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFab",
          "declaration": {
            "name": "MdFab"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-fab",
          "declaration": {
            "name": "MdFab"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "fab/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "FabHarness",
          "description": "Test harness for floating action buttons.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<HTMLButtonElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLButtonElement",
                      "package": "global:",
                      "start": 8,
                      "end": 25
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FabHarness",
          "declaration": {
            "name": "FabHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "fab/internal/fab-branded-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "fab/internal/fab-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "fab/internal/fab.js",
      "declarations": [
        {
          "kind": "class",
          "name": "Fab",
          "superclass": {
            "name": "SharedFab",
            "package": "@material/web",
            "module": "fab/internal/shared.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "variant",
              "description": "The FAB color variant to render.",
              "privacy": "public",
              "type": {
                "text": "FabVariant",
                "references": [
                  {
                    "name": "FabVariant",
                    "package": "@material/web",
                    "module": "fab/internal/fab.js",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "default": "'surface'",
              "attribute": "variant"
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ primary: boolean; secondary: boolean; tertiary: boolean; lowered: boolean; small: boolean; large: boolean; extended: boolean; }"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "string"
              },
              "fieldName": "variant"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Fab",
          "declaration": {
            "name": "Fab"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "fab/internal/forced-colors-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "fab/internal/shared-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "fab/internal/shared.js",
      "declarations": [
        {
          "kind": "class",
          "name": "fabBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "SharedFab",
          "superclass": {
            "name": "fabBaseClass",
            "package": "@material/web",
            "module": "fab/internal/shared.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "size",
              "description": "The size of the FAB.\n\nNOTE: Branded FABs cannot be sized to `small`, and Extended FABs do not\nhave different sizes.",
              "privacy": "public",
              "type": {
                "text": "FabSize",
                "references": [
                  {
                    "name": "FabSize",
                    "package": "@material/web",
                    "module": "fab/internal/shared.js",
                    "start": 0,
                    "end": 7
                  }
                ]
              },
              "default": "'medium'",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "description": "The text to display on the FAB.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "lowered",
              "description": "Lowers the FAB's elevation.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "lowered"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "ShadowRootInit",
                "references": [
                  {
                    "name": "ShadowRootInit",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              },
              "default": "{\n    mode: 'open' as const,\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ lowered: boolean; small: boolean; large: boolean; extended: boolean; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderTouchTarget",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "\"\" | TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 5,
                      "end": 19
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderIcon",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "size",
              "type": {
                "text": "string"
              },
              "fieldName": "size"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "fieldName": "label"
            },
            {
              "name": "lowered",
              "type": {
                "text": "boolean"
              },
              "fieldName": "lowered"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SharedFab",
          "declaration": {
            "name": "SharedFab"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "field/filled-field.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdFilledField",
          "description": "TODO(b/228525797): add docs",
          "superclass": {
            "name": "FilledField",
            "package": "@material/web",
            "module": "field/internal/filled-field.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, filledStyles]"
            }
          ],
          "tagName": "md-filled-field",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdFilledField",
          "declaration": {
            "name": "MdFilledField"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-filled-field",
          "declaration": {
            "name": "MdFilledField"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "field/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "FieldHarness",
          "description": "Test harness for field elements.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "focusWithKeyboard",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "type": {
                    "text": "KeyboardEventInit",
                    "references": [
                      {
                        "name": "KeyboardEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 17
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "focusWithPointer",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FieldHarness",
          "declaration": {
            "name": "FieldHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "field/outlined-field.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdOutlinedField",
          "description": "TODO(b/228525797): add docs",
          "superclass": {
            "name": "OutlinedField",
            "package": "@material/web",
            "module": "field/internal/outlined-field.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, outlinedStyles]"
            }
          ],
          "tagName": "md-outlined-field",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdOutlinedField",
          "declaration": {
            "name": "MdOutlinedField"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-outlined-field",
          "declaration": {
            "name": "MdOutlinedField"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "field/internal/field.js",
      "declarations": [
        {
          "kind": "class",
          "name": "Field",
          "description": "A field component.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "disabled",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "error",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "error"
            },
            {
              "kind": "field",
              "name": "focused",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "focused"
            },
            {
              "kind": "field",
              "name": "label",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "noAsterisk",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-asterisk"
            },
            {
              "kind": "field",
              "name": "populated",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "populated"
            },
            {
              "kind": "field",
              "name": "required",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "required"
            },
            {
              "kind": "field",
              "name": "resizable",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "resizable"
            },
            {
              "kind": "field",
              "name": "supportingText",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "supporting-text"
            },
            {
              "kind": "field",
              "name": "errorText",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "error-text"
            },
            {
              "kind": "field",
              "name": "count",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "-1",
              "attribute": "count"
            },
            {
              "kind": "field",
              "name": "max",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "-1",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "hasStart",
              "description": "Whether or not the field has leading content.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "has-start"
            },
            {
              "kind": "field",
              "name": "hasEnd",
              "description": "Whether or not the field has trailing content.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "has-end"
            },
            {
              "kind": "field",
              "name": "slottedAriaDescribedBy",
              "privacy": "private",
              "type": {
                "text": "HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "isAnimating",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "labelAnimation",
              "privacy": "private",
              "type": {
                "text": "Animation",
                "references": [
                  {
                    "name": "Animation",
                    "package": "global:",
                    "start": 0,
                    "end": 9
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "refreshErrorAlert",
              "description": "When set to true, the error text's `role=\"alert\"` will be removed, then\nre-added after an animation frame. This will re-announce an error message\nto screen readers.",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "disableTransitions",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "floatingLabelEl",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "restingLabelEl",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "containerEl",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "counterText",
              "privacy": "private",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "supportingOrErrorText",
              "privacy": "private",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "method",
              "name": "reannounceError",
              "description": "Re-announces the field's error supporting text to screen readers.\n\nError text announces to screen readers anytime it is visible and changes.\nUse the method to re-announce the message when the text has not changed,\nbut announcement is still needed (such as for `reportValidity()`).",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "update",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "props",
                  "type": {
                    "text": "PropertyValueMap<Field>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Field",
                        "package": "@material/web",
                        "module": "field/internal/field.js",
                        "start": 17,
                        "end": 22
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changed",
                  "type": {
                    "text": "PropertyValueMap<Field>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Field",
                        "package": "@material/web",
                        "module": "field/internal/field.js",
                        "start": 17,
                        "end": 22
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderSupportingText",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "updateSlottedAriaDescribedBy",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLabel",
              "privacy": "private",
              "parameters": [
                {
                  "name": "isFloating",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "animateLabelIfNeeded",
              "privacy": "private",
              "parameters": [
                {
                  "name": "{\n    wasFocused,\n    wasPopulated,\n  }",
                  "type": {
                    "text": "{ wasFocused?: boolean; wasPopulated?: boolean; }"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getLabelKeyframes",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ transform: string; width: string; }[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "getSurfacePositionClientRect",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "DOMRect",
                  "references": [
                    {
                      "name": "DOMRect",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "disabled"
            },
            {
              "name": "error",
              "type": {
                "text": "boolean"
              },
              "fieldName": "error"
            },
            {
              "name": "focused",
              "type": {
                "text": "boolean"
              },
              "fieldName": "focused"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "fieldName": "label"
            },
            {
              "name": "no-asterisk",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noAsterisk"
            },
            {
              "name": "populated",
              "type": {
                "text": "boolean"
              },
              "fieldName": "populated"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "fieldName": "required"
            },
            {
              "name": "resizable",
              "type": {
                "text": "boolean"
              },
              "fieldName": "resizable"
            },
            {
              "name": "supporting-text",
              "type": {
                "text": "string"
              },
              "fieldName": "supportingText"
            },
            {
              "name": "error-text",
              "type": {
                "text": "string"
              },
              "fieldName": "errorText"
            },
            {
              "name": "count",
              "type": {
                "text": "number"
              },
              "fieldName": "count"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "fieldName": "max"
            },
            {
              "name": "has-start",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hasStart"
            },
            {
              "name": "has-end",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hasEnd"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Field",
          "declaration": {
            "name": "Field"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "field/internal/filled-field.js",
      "declarations": [
        {
          "kind": "class",
          "name": "FilledField",
          "description": "A filled field component.",
          "superclass": {
            "name": "Field",
            "package": "@material/web",
            "module": "field/internal/field.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "renderBackground",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderStateLayer",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderIndicator",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FilledField",
          "declaration": {
            "name": "FilledField"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "field/internal/filled-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "field/internal/outlined-field.js",
      "declarations": [
        {
          "kind": "class",
          "name": "OutlinedField",
          "description": "An outlined field component.",
          "superclass": {
            "name": "Field",
            "package": "@material/web",
            "module": "field/internal/field.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "renderOutline",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "floatingLabel",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "OutlinedField",
          "declaration": {
            "name": "OutlinedField"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "field/internal/outlined-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "field/internal/shared-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "focus/md-focus-ring.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdFocusRing",
          "description": "TODO(b/267336424): add docs",
          "superclass": {
            "name": "FocusRing",
            "package": "@material/web",
            "module": "focus/internal/focus-ring.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-focus-ring",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdFocusRing",
          "declaration": {
            "name": "MdFocusRing"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-focus-ring",
          "declaration": {
            "name": "MdFocusRing"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "focus/internal/focus-ring-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "focus/internal/focus-ring.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "EVENTS",
          "description": "Events that the focus ring listens to.",
          "type": {
            "text": "string[]"
          }
        },
        {
          "kind": "class",
          "name": "FocusRing",
          "description": "A focus ring component.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "visible",
              "description": "Makes the focus ring visible.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "visible",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "inward",
              "description": "Makes the focus ring animate inwards instead of outwards.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "inward",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "attachableController",
              "privacy": "private",
              "type": {
                "text": "AttachableController",
                "references": [
                  {
                    "name": "AttachableController",
                    "package": "@material/web",
                    "module": "internal/controller/attachable-controller.js",
                    "start": 0,
                    "end": 20
                  }
                ]
              },
              "default": "new AttachableController(\n    this,\n    this.onControlChange.bind(this),\n  )"
            },
            {
              "kind": "field",
              "name": "htmlFor",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "control",
              "privacy": "public",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "attach",
              "privacy": "public",
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "detach",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "connectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleEvent",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusRingEvent",
                    "references": [
                      {
                        "name": "FocusRingEvent",
                        "package": "@material/web",
                        "module": "focus/internal/focus-ring.js",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "onControlChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "prev",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "next",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "update",
              "privacy": "public",
              "parameters": [
                {
                  "name": "changed",
                  "type": {
                    "text": "PropertyValueMap<FocusRing>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "FocusRing",
                        "package": "@material/web",
                        "module": "focus/internal/focus-ring.js",
                        "start": 17,
                        "end": 26
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "visible",
              "type": {
                "text": "boolean"
              },
              "fieldName": "visible"
            },
            {
              "name": "inward",
              "type": {
                "text": "boolean"
              },
              "fieldName": "inward"
            }
          ],
          "events": [
            {
              "name": "visibility-changed",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired whenever `visible` changes."
            }
          ]
        },
        {
          "kind": "variable",
          "name": "HANDLED_BY_FOCUS_RING",
          "type": {
            "text": "unique symbol"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FocusRing",
          "declaration": {
            "name": "FocusRing"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "icon/icon.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdIcon",
          "superclass": {
            "name": "Icon",
            "package": "@material/web",
            "module": "icon/internal/icon.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-icon",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdIcon",
          "declaration": {
            "name": "MdIcon"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-icon",
          "declaration": {
            "name": "MdIcon"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "icon/internal/icon-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "icon/internal/icon.js",
      "declarations": [
        {
          "kind": "class",
          "name": "Icon",
          "description": "An icon element.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "connectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Icon",
          "declaration": {
            "name": "Icon"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "iconbutton/filled-icon-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdFilledIconButton",
          "description": "__Emphasis:__ Low emphasis – For optional or supplementary actions with the\nleast amount of prominence.\n\n__Rationale:__ The most compact and unobtrusive type of button, icon buttons\nare used for optional supplementary actions such as \"Bookmark\" or \"Star.\"\n\n__Example usages:__\n- Add to Favorites\n- Print",
          "summary": "Icon buttons help people take supplementary actions with a single\ntap.",
          "superclass": {
            "name": "IconButton",
            "package": "@material/web",
            "module": "iconbutton/internal/icon-button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, styles]"
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ filled: boolean; 'toggle-filled': boolean; 'flip-icon': boolean; selected: boolean; }"
                }
              }
            }
          ],
          "tagName": "md-filled-icon-button",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdFilledIconButton",
          "declaration": {
            "name": "MdFilledIconButton"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-filled-icon-button",
          "declaration": {
            "name": "MdFilledIconButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "iconbutton/filled-tonal-icon-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdFilledTonalIconButton",
          "description": "__Emphasis:__ Low emphasis – For optional or supplementary actions with the\nleast amount of prominence.\n\n__Rationale:__ The most compact and unobtrusive type of button, icon buttons\nare used for optional supplementary actions such as \"Bookmark\" or \"Star.\"\n\n__Example usages:__\n- Add to Favorites\n- Print",
          "summary": "Icon buttons help people take supplementary actions with a single\ntap.",
          "superclass": {
            "name": "IconButton",
            "package": "@material/web",
            "module": "iconbutton/internal/icon-button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, styles]"
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ 'filled-tonal': boolean; 'toggle-filled-tonal': boolean; 'flip-icon': boolean; selected: boolean; }"
                }
              }
            }
          ],
          "tagName": "md-filled-tonal-icon-button",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdFilledTonalIconButton",
          "declaration": {
            "name": "MdFilledTonalIconButton"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-filled-tonal-icon-button",
          "declaration": {
            "name": "MdFilledTonalIconButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "iconbutton/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "IconButtonHarness",
          "description": "Test harness for icon buttons.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<HTMLAnchorElement | HTMLButtonElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLAnchorElement",
                      "package": "global:",
                      "start": 8,
                      "end": 25
                    },
                    {
                      "name": "HTMLButtonElement",
                      "package": "global:",
                      "start": 28,
                      "end": 45
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "IconButtonHarness",
          "declaration": {
            "name": "IconButtonHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "iconbutton/icon-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdIconButton",
          "description": "__Emphasis:__ Low emphasis – For optional or supplementary actions with the\nleast amount of prominence.\n\n__Rationale:__ The most compact and unobtrusive type of button, icon buttons\nare used for optional supplementary actions such as \"Bookmark\" or \"Star.\"\n\n__Example usages:__\n- Add to Favorites\n- Print",
          "summary": "Icon buttons help people take supplementary actions with a single\ntap.",
          "superclass": {
            "name": "IconButton",
            "package": "@material/web",
            "module": "iconbutton/internal/icon-button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, styles]"
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ standard: boolean; 'flip-icon': boolean; selected: boolean; }"
                }
              }
            }
          ],
          "tagName": "md-icon-button",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdIconButton",
          "declaration": {
            "name": "MdIconButton"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-icon-button",
          "declaration": {
            "name": "MdIconButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "iconbutton/outlined-icon-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdOutlinedIconButton",
          "description": "__Emphasis:__ Low emphasis – For optional or supplementary actions with the\nleast amount of prominence.\n\n__Rationale:__ The most compact and unobtrusive type of button, icon buttons\nare used for optional supplementary actions such as \"Bookmark\" or \"Star.\"\n\n__Example usages:__\n- Add to Favorites\n- Print",
          "summary": "Icon buttons help people take supplementary actions with a single\ntap.",
          "superclass": {
            "name": "IconButton",
            "package": "@material/web",
            "module": "iconbutton/internal/icon-button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, styles]"
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ outlined: boolean; 'flip-icon': boolean; selected: boolean; }"
                }
              }
            }
          ],
          "tagName": "md-outlined-icon-button",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdOutlinedIconButton",
          "declaration": {
            "name": "MdOutlinedIconButton"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-outlined-icon-button",
          "declaration": {
            "name": "MdOutlinedIconButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "iconbutton/internal/filled-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "iconbutton/internal/filled-tonal-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "iconbutton/internal/icon-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "iconButtonBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            },
            {
              "name": "mixinFormSubmitter",
              "package": "@material/web",
              "module": "labs/behaviors/form-submitter.js"
            },
            {
              "name": "mixinFormAssociated",
              "package": "@material/web",
              "module": "labs/behaviors/form-associated.js"
            },
            {
              "name": "mixinElementInternals",
              "package": "@material/web",
              "module": "labs/behaviors/element-internals.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "IconButton",
          "description": "A button for rendering icons.",
          "superclass": {
            "name": "iconButtonBaseClass",
            "package": "@material/web",
            "module": "iconbutton/internal/icon-button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "softDisabled",
              "description": "\"Soft-disables\" the icon button (disabled but still focusable).\n\nUse this when an icon button needs increased visibility when disabled. See\nhttps://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\nfor more guidance on when this is needed.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "soft-disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flipIconInRtl",
              "description": "Flips the icon if it is in an RTL context at startup.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flip-icon-in-rtl"
            },
            {
              "kind": "field",
              "name": "href",
              "description": "Sets the underlying `HTMLAnchorElement`'s `href` resource attribute.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "download",
              "description": "The filename to use when downloading the linked resource.\nIf not specified, the browser will determine a filename.\nThis is only applicable when the icon button is used as a link (`href` is set).",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "download"
            },
            {
              "kind": "field",
              "name": "target",
              "description": "Sets the underlying `HTMLAnchorElement`'s `target` attribute.",
              "privacy": "public",
              "type": {
                "text": "\"\" | LinkTarget",
                "references": [
                  {
                    "name": "LinkTarget",
                    "package": "@material/web",
                    "module": "iconbutton/internal/icon-button.js",
                    "start": 5,
                    "end": 15
                  }
                ]
              },
              "default": "''",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "ariaLabelSelected",
              "description": "The `aria-label` of the button when the button is toggleable and selected.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "aria-label-selected"
            },
            {
              "kind": "field",
              "name": "toggle",
              "description": "When true, the button will toggle between selected and unselected\nstates",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "toggle"
            },
            {
              "kind": "field",
              "name": "selected",
              "description": "Sets the selected state. When false, displays the default icon. When true,\ndisplays the selected icon, or the default icon If no `slot=\"selected\"`\nicon is provided.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "selected",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flipIcon",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "isRtl(this, this.flipIconInRtl)"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "ShadowRootInit",
                "references": [
                  {
                    "name": "ShadowRootInit",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              },
              "default": "{\n    mode: 'open',\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "method",
              "name": "willUpdate",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLink",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ 'flip-icon': boolean; selected: boolean; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderIcon",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderSelectedIcon",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderTouchTarget",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderFocusRing",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderRipple",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "connectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "soft-disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "softDisabled"
            },
            {
              "name": "flip-icon-in-rtl",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flipIconInRtl"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "fieldName": "href"
            },
            {
              "name": "download",
              "type": {
                "text": "string"
              },
              "fieldName": "download"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "fieldName": "target"
            },
            {
              "name": "aria-label-selected",
              "type": {
                "text": "string"
              },
              "fieldName": "ariaLabelSelected"
            },
            {
              "name": "toggle",
              "type": {
                "text": "boolean"
              },
              "fieldName": "toggle"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "fieldName": "selected"
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "Dispatched when a toggle button toggles --bubbles\n--composed"
            },
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Dispatched when a toggle button toggles --bubbles"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "IconButton",
          "declaration": {
            "name": "IconButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "iconbutton/internal/outlined-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "iconbutton/internal/shared-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "iconbutton/internal/standard-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/aria/aria.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "ARIA_PROPERTIES",
          "description": "Accessibility Object Model reflective aria properties.",
          "type": {
            "text": "(keyof ARIAMixin)[]",
            "references": [
              {
                "name": "ARIAMixin",
                "package": "global:",
                "start": 7,
                "end": 16
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "ARIA_ATTRIBUTES",
          "description": "Accessibility Object Model aria attributes.",
          "type": {
            "text": "(\"role\" | \"aria-activedescendant\" | \"aria-atomic\" | \"aria-autocomplete\" | \"aria-braillelabel\" | \"aria-brailleroledescription\" | \"aria-busy\" | \"aria-checked\" | \"aria-colcount\" | ... 42 more ... | \"aria-valuetext\")[]"
          }
        },
        {
          "kind": "function",
          "name": "isAriaAttribute",
          "description": "Checks if an attribute is one of the AOM aria attributes.",
          "parameters": [
            {
              "name": "attribute",
              "description": "The attribute to check.",
              "type": {
                "text": "string"
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            },
            "description": "True if the attribute is an aria attribute, or false if not."
          }
        },
        {
          "kind": "function",
          "name": "ariaPropertyToAttribute",
          "description": "Converts an AOM aria property into its corresponding attribute.",
          "parameters": [
            {
              "name": "property",
              "description": "The aria property.",
              "type": {
                "text": "K",
                "references": [
                  {
                    "name": "K",
                    "package": "@material/web",
                    "module": "internal/aria/aria.js",
                    "start": 0,
                    "end": 1
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "ARIAPropertyToAttribute<K>",
              "references": [
                {
                  "name": "ARIAPropertyToAttribute",
                  "package": "@material/web",
                  "module": "internal/aria/aria.js",
                  "start": 0,
                  "end": 23
                },
                {
                  "name": "K",
                  "package": "@material/web",
                  "module": "internal/aria/aria.js",
                  "start": 24,
                  "end": 25
                }
              ]
            },
            "description": "The aria attribute."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ARIA_PROPERTIES",
          "declaration": {
            "name": "ARIA_PROPERTIES"
          }
        },
        {
          "kind": "js",
          "name": "ARIA_ATTRIBUTES",
          "declaration": {
            "name": "ARIA_ATTRIBUTES"
          }
        },
        {
          "kind": "js",
          "name": "isAriaAttribute",
          "declaration": {
            "name": "isAriaAttribute"
          }
        },
        {
          "kind": "js",
          "name": "ariaPropertyToAttribute",
          "declaration": {
            "name": "ariaPropertyToAttribute"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/aria/delegate.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "privateIgnoreAttributeChangesFor",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "mixin",
          "name": "mixinDelegatesAria",
          "description": "Mixes in aria delegation for elements that delegate focus and aria to inner\nshadow root elements.\n\nThis mixin fixes invalid aria announcements with shadow roots, caused by\nduplicate aria attributes on both the host and the inner shadow root element.\n\nNote: this mixin **does not yet support** ID reference attributes, such as\n`aria-labelledby` or `aria-controls`.",
          "parameters": [
            {
              "name": "base",
              "description": "The class to mix functionality into.",
              "type": {
                "text": "T",
                "references": [
                  {
                    "name": "T",
                    "package": "@material/web",
                    "module": "internal/aria/delegate.js",
                    "start": 0,
                    "end": 1
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "MixinReturn<T>",
              "references": [
                {
                  "name": "MixinReturn",
                  "package": "@material/web",
                  "module": "labs/behaviors/mixin.js",
                  "start": 0,
                  "end": 11
                },
                {
                  "name": "T",
                  "package": "@material/web",
                  "module": "internal/aria/delegate.js",
                  "start": 12,
                  "end": 13
                }
              ]
            },
            "description": "The provided class with aria delegation mixed in."
          }
        },
        {
          "kind": "function",
          "name": "setupDelegatesAriaProperties",
          "description": "Overrides the constructor's native `ARIAMixin` properties to ensure that\naria properties reflect the values that were shifted to a data attribute.",
          "parameters": [
            {
              "name": "ctor",
              "description": "The `ReactiveElement` constructor to patch.",
              "type": {
                "text": "typeof ReactiveElement"
              }
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "function",
          "name": "ariaAttributeToDataAttribute",
          "parameters": [
            {
              "name": "ariaAttribute",
              "type": {
                "text": "string"
              }
            }
          ],
          "return": {
            "type": {
              "text": "string"
            }
          }
        },
        {
          "kind": "function",
          "name": "ariaAttributeToDataProperty",
          "parameters": [
            {
              "name": "ariaAttribute",
              "type": {
                "text": "string"
              }
            }
          ],
          "return": {
            "type": {
              "text": "string"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "mixinDelegatesAria",
          "declaration": {
            "name": "mixinDelegatesAria"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/controller/attachable-controller.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "ATTACHABLE_CONTROLLER",
          "description": "A key to retrieve an `Attachable` element's `AttachableController` from a\nglobal `MutationObserver`.",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "FOR_ATTRIBUTE_OBSERVER",
          "type": {
            "text": "MutationObserver",
            "references": [
              {
                "name": "MutationObserver",
                "package": "global:",
                "start": 0,
                "end": 16
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "AttachableController",
          "description": "A controller that provides an implementation for `Attachable` elements.",
          "members": [
            {
              "kind": "field",
              "name": "currentControl",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "htmlFor",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "control",
              "privacy": "public",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "attach",
              "privacy": "public",
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "detach",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCurrentControl",
              "privacy": "private",
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "AttachableController",
          "declaration": {
            "name": "AttachableController"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/controller/is-rtl.js",
      "declarations": [
        {
          "kind": "function",
          "name": "isRtl",
          "description": "Returns `true` if the given element is in a right-to-left direction.",
          "parameters": [
            {
              "name": "el",
              "description": "Element to determine direction from",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "name": "shouldCheck",
              "description": "Optional. If `false`, return `false` without checking\ndirection. Determining the direction of `el` is somewhat expensive, so\nthis parameter can be used as a conditional guard. Defaults to `true`.",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isRtl",
          "declaration": {
            "name": "isRtl"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/controller/string-converter.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "stringConverter",
          "type": {
            "text": "{ fromAttribute(value: string): string; toAttribute(value: string): string; }"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "stringConverter",
          "declaration": {
            "name": "stringConverter"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/events/dispatch-hooks.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "dispatchHooks",
          "description": "A symbol used to access dispatch hooks on an event.",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "function",
          "name": "afterDispatch",
          "description": "Add a hook for an event that is called after the event is dispatched and\npropagates to other event listeners.\n\nThis is useful for behaviors that need to check if an event is canceled.\n\nThe callback is invoked synchronously, which allows for better integration\nwith synchronous platform APIs (like `<form>` or `<label>` clicking).\n\nNote: `setupDispatchHooks()` must be called on the element before adding any\nother event listeners. Call it in the constructor of an element or\ncontroller.",
          "parameters": [
            {
              "name": "event",
              "description": "The event to add a hook to.",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              }
            },
            {
              "name": "callback",
              "description": "A hook that is called after the event finishes dispatching.",
              "type": {
                "text": "() => void"
              }
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "variable",
          "name": "ELEMENT_DISPATCH_HOOK_TYPES",
          "description": "A lookup map of elements and event types that have a dispatch hook listener\nset up. Used to ensure we don't set up multiple hook listeners on the same\nelement for the same event.",
          "type": {
            "text": "WeakMap<Element, Set<string>>",
            "references": [
              {
                "name": "WeakMap",
                "package": "global:",
                "start": 0,
                "end": 7
              },
              {
                "name": "Element",
                "package": "global:",
                "start": 8,
                "end": 15
              },
              {
                "name": "Set",
                "package": "global:",
                "start": 17,
                "end": 20
              }
            ]
          }
        },
        {
          "kind": "function",
          "name": "setupDispatchHooks",
          "description": "Sets up an element to add dispatch hooks to given event types. This must be\ncalled before adding any event listeners that need to use dispatch hooks\nlike `afterDispatch()`.\n\nThis function is safe to call multiple times with the same element or event\ntypes. Call it in the constructor of elements, mixins, and controllers to\nensure it is set up before external listeners.",
          "parameters": [
            {
              "name": "element",
              "description": "The element to set up event dispatch hooks for.",
              "type": {
                "text": "Element",
                "references": [
                  {
                    "name": "Element",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            },
            {
              "name": "eventTypes",
              "description": "The event types to add dispatch hooks to.",
              "type": {
                "text": "[string, ...string[]]"
              },
              "rest": true
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "afterDispatch",
          "declaration": {
            "name": "afterDispatch"
          }
        },
        {
          "kind": "js",
          "name": "setupDispatchHooks",
          "declaration": {
            "name": "setupDispatchHooks"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/events/form-label-activation.js",
      "declarations": [
        {
          "kind": "function",
          "name": "dispatchActivationClick",
          "description": "Dispatches a click event to the given element that triggers a native action,\nbut is not composed and therefore is not seen outside the element.\n\nThis is useful for responding to an external click event on the host element\nthat should trigger an internal action like a button click.\n\nNote, a helper is provided because setting this up correctly is a bit tricky.\nIn particular, calling `click` on an element creates a composed event, which\nis not desirable, and a manually dispatched event must specifically be a\n`MouseEvent` to trigger a native action.",
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "MouseEvent",
              "references": [
                {
                  "name": "MouseEvent",
                  "package": "global:",
                  "start": 0,
                  "end": 10
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "isActivationClick",
          "description": "Returns true if the click event should trigger an activation behavior. The\nbehavior is defined by the element and is whatever it should do when\nclicked.\n\nTypically when an element needs to handle a click, the click is generated\nfrom within the element and an event listener within the element implements\nthe needed behavior; however, it's possible to fire a click directly\nat the element that the element should handle. This method helps\ndistinguish these \"external\" clicks.\n\nAn \"external\" click can be triggered in a number of ways: via a click\non an associated label for a form  associated element, calling\n`element.click()`, or calling\n`element.dispatchEvent(new MouseEvent('click', ...))`.\n\nAlso works around Firefox issue\nhttps://bugzilla.mozilla.org/show_bug.cgi?id=1804576 by squelching\nevents for a microtask after called.",
          "parameters": [
            {
              "name": "event",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        },
        {
          "kind": "function",
          "name": "squelchEvent",
          "parameters": [
            {
              "name": "event",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        },
        {
          "kind": "variable",
          "name": "isSquelchingEvents",
          "type": {
            "text": "boolean"
          }
        },
        {
          "kind": "function",
          "name": "squelchEventsForMicrotask",
          "return": {
            "type": {
              "text": "Promise<void>",
              "references": [
                {
                  "name": "Promise",
                  "package": "global:",
                  "start": 0,
                  "end": 7
                }
              ]
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "dispatchActivationClick",
          "declaration": {
            "name": "dispatchActivationClick"
          }
        },
        {
          "kind": "js",
          "name": "isActivationClick",
          "declaration": {
            "name": "isActivationClick"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/events/redispatch-event.js",
      "declarations": [
        {
          "kind": "function",
          "name": "redispatchEvent",
          "description": "Re-dispatches an event from the provided element.\n\nThis function is useful for forwarding non-composed events, such as `change`\nevents.",
          "parameters": [
            {
              "name": "element",
              "description": "The element to dispatch the event from.",
              "type": {
                "text": "Element",
                "references": [
                  {
                    "name": "Element",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            },
            {
              "name": "event",
              "description": "The event to re-dispatch.",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            },
            "description": "Whether or not the event was dispatched (if cancelable)."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "redispatchEvent",
          "declaration": {
            "name": "redispatchEvent"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "internal/motion/animation.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "EASING",
          "description": "Easing functions to use for web animations.\n\n**NOTE:** `EASING.EMPHASIZED` is approximated with unknown accuracy.\n\nTODO(b/241113345): replace with tokens",
          "type": {
            "text": "{ readonly STANDARD: \"cubic-bezier(0.2, 0, 0, 1)\"; readonly STANDARD_ACCELERATE: \"cubic-bezier(.3,0,1,1)\"; readonly STANDARD_DECELERATE: \"cubic-bezier(0,0,0,1)\"; readonly EMPHASIZED: \"cubic-bezier(.3,0,0,1)\"; readonly EMPHASIZED_ACCELERATE: \"cubic-bezier(.3,0,.8,.15)\"; readonly EMPHASIZED_DECELERATE: \"cubic-bezier(...."
          }
        },
        {
          "kind": "function",
          "name": "createAnimationSignal",
          "description": "Creates an `AnimationSignal` that can be used to cancel a previous task.",
          "return": {
            "type": {
              "text": "AnimationSignal",
              "references": [
                {
                  "name": "AnimationSignal",
                  "package": "@material/web",
                  "module": "internal/motion/animation.js",
                  "start": 0,
                  "end": 15
                }
              ]
            },
            "description": "An `AnimationSignal`."
          }
        },
        {
          "kind": "function",
          "name": "createThrottle",
          "description": "Returns a function which can be used to throttle function calls\nmapped to a key via a given function that should produce a promise that\ndetermines the throttle amount (defaults to requestAnimationFrame).",
          "return": {
            "type": {
              "text": "(key: string, cb: (...args: unknown[]) => unknown, timeout?: () => Promise<void>) => Promise<void>",
              "references": [
                {
                  "name": "Promise",
                  "package": "global:",
                  "start": 67,
                  "end": 74
                },
                {
                  "name": "Promise",
                  "package": "global:",
                  "start": 85,
                  "end": 92
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "msFromTimeCSSValue",
          "description": "Parses an number in milliseconds from a css time value",
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "string"
              }
            }
          ],
          "return": {
            "type": {
              "text": "number"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EASING",
          "declaration": {
            "name": "EASING"
          }
        },
        {
          "kind": "js",
          "name": "createAnimationSignal",
          "declaration": {
            "name": "createAnimationSignal"
          }
        },
        {
          "kind": "js",
          "name": "createThrottle",
          "declaration": {
            "name": "createThrottle"
          }
        },
        {
          "kind": "js",
          "name": "msFromTimeCSSValue",
          "declaration": {
            "name": "msFromTimeCSSValue"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/badge/badge.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdBadge",
          "superclass": {
            "name": "Badge",
            "package": "@material/web",
            "module": "labs/badge/internal/badge.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-badge",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdBadge",
          "declaration": {
            "name": "MdBadge"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-badge",
          "declaration": {
            "name": "MdBadge"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/badge/internal/badge-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/badge/internal/badge.js",
      "declarations": [
        {
          "kind": "class",
          "name": "Badge",
          "description": "b/265340196 - add docs",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "value",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "value"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Badge",
          "declaration": {
            "name": "Badge"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/constraint-validation.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "createValidator",
          "description": "A symbol property used to create a constraint validation `Validator`.\nRequired for all `mixinConstraintValidation()` elements.",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "getValidityAnchor",
          "description": "A symbol property used to return an anchor for constraint validation popups.\nRequired for all `mixinConstraintValidation()` elements.",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "privateValidator",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "privateSyncValidity",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "privateCustomValidationMessage",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "mixin",
          "name": "mixinConstraintValidation",
          "description": "Mixes in constraint validation APIs for an element.\n\nSee https://developer.mozilla.org/en-US/docs/Web/HTML/Constraint_validation\nfor more details.\n\nImplementations must provide a validator to cache and compute its validity,\nalong with a shadow root element to anchor validation popups to.",
          "parameters": [
            {
              "name": "base",
              "description": "The class to mix functionality into.",
              "type": {
                "text": "T",
                "references": [
                  {
                    "name": "T",
                    "package": "@material/web",
                    "module": "labs/behaviors/constraint-validation.js",
                    "start": 0,
                    "end": 1
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "MixinReturn<T, ConstraintValidation>",
              "references": [
                {
                  "name": "MixinReturn",
                  "package": "@material/web",
                  "module": "labs/behaviors/mixin.js",
                  "start": 0,
                  "end": 11
                },
                {
                  "name": "T",
                  "package": "@material/web",
                  "module": "labs/behaviors/constraint-validation.js",
                  "start": 12,
                  "end": 13
                },
                {
                  "name": "ConstraintValidation",
                  "package": "@material/web",
                  "module": "labs/behaviors/constraint-validation.js",
                  "start": 15,
                  "end": 35
                }
              ]
            },
            "description": "The provided class with `ConstraintValidation` mixed in."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createValidator",
          "declaration": {
            "name": "createValidator"
          }
        },
        {
          "kind": "js",
          "name": "getValidityAnchor",
          "declaration": {
            "name": "getValidityAnchor"
          }
        },
        {
          "kind": "js",
          "name": "mixinConstraintValidation",
          "declaration": {
            "name": "mixinConstraintValidation"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/custom-state-set.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "hasState",
          "description": "A unique symbol used to check if an element's `CustomStateSet` has a state.\n\nProvides compatibility with legacy dashed identifier syntax (`:--state`) used\nby the element-internals-polyfill for Chrome extension support.",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "toggleState",
          "description": "A unique symbol used to add or delete a state from an element's\n`CustomStateSet`.\n\nProvides compatibility with legacy dashed identifier syntax (`:--state`) used\nby the element-internals-polyfill for Chrome extension support.",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "privateUseDashedIdentifier",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "privateGetStateIdentifier",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "mixin",
          "name": "mixinCustomStateSet",
          "description": "Mixes in compatibility functions for access to an element's `CustomStateSet`.\n\nUse this mixin's `[hasState]()` and `[toggleState]()` symbol functions for\ncompatibility with `CustomStateSet` legacy dashed identifier syntax.\n\nhttps://developer.mozilla.org/en-US/docs/Web/API/CustomStateSet#compatibility_with_dashed-ident_syntax.\n\nThe dashed identifier syntax is needed for element-internals-polyfill, a\nrequirement for Chome extension compatibility.",
          "parameters": [
            {
              "name": "base",
              "description": "The class to mix functionality into.",
              "type": {
                "text": "T",
                "references": [
                  {
                    "name": "T",
                    "package": "@material/web",
                    "module": "labs/behaviors/custom-state-set.js",
                    "start": 0,
                    "end": 1
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "MixinReturn<T, WithCustomStateSet>",
              "references": [
                {
                  "name": "MixinReturn",
                  "package": "@material/web",
                  "module": "labs/behaviors/mixin.js",
                  "start": 0,
                  "end": 11
                },
                {
                  "name": "T",
                  "package": "@material/web",
                  "module": "labs/behaviors/custom-state-set.js",
                  "start": 12,
                  "end": 13
                },
                {
                  "name": "WithCustomStateSet",
                  "package": "@material/web",
                  "module": "labs/behaviors/custom-state-set.js",
                  "start": 15,
                  "end": 33
                }
              ]
            },
            "description": "The provided class with `[hasState]()` and `[toggleState]()`\nfunctions mixed in."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "hasState",
          "declaration": {
            "name": "hasState"
          }
        },
        {
          "kind": "js",
          "name": "toggleState",
          "declaration": {
            "name": "toggleState"
          }
        },
        {
          "kind": "js",
          "name": "mixinCustomStateSet",
          "declaration": {
            "name": "mixinCustomStateSet"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/element-internals.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "internals",
          "description": "A unique symbol used for protected access to an instance's\n`ElementInternals`.",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "privateInternals",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "mixin",
          "name": "mixinElementInternals",
          "description": "Mixes in an attached `ElementInternals` instance.\n\nThis mixin is only needed when other shared code needs access to a\ncomponent's `ElementInternals`, such as form-associated mixins.",
          "parameters": [
            {
              "name": "base",
              "description": "The class to mix functionality into.",
              "type": {
                "text": "T",
                "references": [
                  {
                    "name": "T",
                    "package": "@material/web",
                    "module": "labs/behaviors/element-internals.js",
                    "start": 0,
                    "end": 1
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "MixinReturn<T, WithElementInternals>",
              "references": [
                {
                  "name": "MixinReturn",
                  "package": "@material/web",
                  "module": "labs/behaviors/mixin.js",
                  "start": 0,
                  "end": 11
                },
                {
                  "name": "T",
                  "package": "@material/web",
                  "module": "labs/behaviors/element-internals.js",
                  "start": 12,
                  "end": 13
                },
                {
                  "name": "WithElementInternals",
                  "package": "@material/web",
                  "module": "labs/behaviors/element-internals.js",
                  "start": 15,
                  "end": 35
                }
              ]
            },
            "description": "The provided class with `WithElementInternals` mixed in."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "internals",
          "declaration": {
            "name": "internals"
          }
        },
        {
          "kind": "js",
          "name": "mixinElementInternals",
          "declaration": {
            "name": "mixinElementInternals"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/focusable.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "isFocusable",
          "description": "A property symbol that indicates whether or not a `Focusable` element can be\nfocused.",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "privateIsFocusable",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "externalTabIndex",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "isUpdatingTabIndex",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "updateTabIndex",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "mixin",
          "name": "mixinFocusable",
          "description": "Mixes in focusable functionality for a class.\n\nElements can enable and disable their focusability with the `isFocusable`\nsymbol property. Changing `tabIndex` will trigger a lit render, meaning\n`this.tabIndex` can be used in template expressions.\n\nThis mixin will preserve externally-set tabindices. If an element turns off\nfocusability, but a user sets `tabindex=\"0\"`, it will still be focusable.\n\nTo remove user overrides and restore focusability control to the element,\nremove the `tabindex` attribute.",
          "parameters": [
            {
              "name": "base",
              "description": "The class to mix functionality into.",
              "type": {
                "text": "T",
                "references": [
                  {
                    "name": "T",
                    "package": "@material/web",
                    "module": "labs/behaviors/focusable.js",
                    "start": 0,
                    "end": 1
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "MixinReturn<T, Focusable>",
              "references": [
                {
                  "name": "MixinReturn",
                  "package": "@material/web",
                  "module": "labs/behaviors/mixin.js",
                  "start": 0,
                  "end": 11
                },
                {
                  "name": "T",
                  "package": "@material/web",
                  "module": "labs/behaviors/focusable.js",
                  "start": 12,
                  "end": 13
                },
                {
                  "name": "Focusable",
                  "package": "@material/web",
                  "module": "labs/behaviors/focusable.js",
                  "start": 15,
                  "end": 24
                }
              ]
            },
            "description": "The provided class with `Focusable` mixed in."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isFocusable",
          "declaration": {
            "name": "isFocusable"
          }
        },
        {
          "kind": "js",
          "name": "mixinFocusable",
          "declaration": {
            "name": "mixinFocusable"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/form-associated.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "getFormValue",
          "description": "A symbol property to retrieve the form value for an element.",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "getFormState",
          "description": "A symbol property to retrieve the form state for an element.",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "mixin",
          "name": "mixinFormAssociated",
          "description": "Mixes in form-associated behavior for a class. This allows an element to add\nvalues to `<form>` elements.\n\nImplementing classes should provide a `[formValue]` to return the current\nvalue of the element, as well as reset and restore callbacks.",
          "parameters": [
            {
              "name": "base",
              "description": "The class to mix functionality into. The base class must use\n`mixinElementInternals()`.",
              "type": {
                "text": "T",
                "references": [
                  {
                    "name": "T",
                    "package": "@material/web",
                    "module": "labs/behaviors/form-associated.js",
                    "start": 0,
                    "end": 1
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "MixinReturn<T & FormAssociatedConstructor, FormAssociated>",
              "references": [
                {
                  "name": "MixinReturn",
                  "package": "@material/web",
                  "module": "labs/behaviors/mixin.js",
                  "start": 0,
                  "end": 11
                },
                {
                  "name": "T",
                  "package": "@material/web",
                  "module": "labs/behaviors/form-associated.js",
                  "start": 12,
                  "end": 13
                },
                {
                  "name": "FormAssociatedConstructor",
                  "package": "@material/web",
                  "module": "labs/behaviors/form-associated.js",
                  "start": 16,
                  "end": 41
                },
                {
                  "name": "FormAssociated",
                  "package": "@material/web",
                  "module": "labs/behaviors/form-associated.js",
                  "start": 43,
                  "end": 57
                }
              ]
            },
            "description": "The provided class with `FormAssociated` mixed in."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "getFormValue",
          "declaration": {
            "name": "getFormValue"
          }
        },
        {
          "kind": "js",
          "name": "getFormState",
          "declaration": {
            "name": "getFormState"
          }
        },
        {
          "kind": "js",
          "name": "mixinFormAssociated",
          "declaration": {
            "name": "mixinFormAssociated"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/form-submitter.js",
      "declarations": [
        {
          "kind": "mixin",
          "name": "mixinFormSubmitter",
          "description": "Mixes in form submitter behavior for a class.\n\nA click listener is added to each element instance. If the click is not\ndefault prevented, it will submit the element's form, if any.",
          "parameters": [
            {
              "name": "base",
              "description": "The class to mix functionality into.",
              "type": {
                "text": "T",
                "references": [
                  {
                    "name": "T",
                    "package": "@material/web",
                    "module": "labs/behaviors/form-submitter.js",
                    "start": 0,
                    "end": 1
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "MixinReturn<T, FormSubmitter>",
              "references": [
                {
                  "name": "MixinReturn",
                  "package": "@material/web",
                  "module": "labs/behaviors/mixin.js",
                  "start": 0,
                  "end": 11
                },
                {
                  "name": "T",
                  "package": "@material/web",
                  "module": "labs/behaviors/form-submitter.js",
                  "start": 12,
                  "end": 13
                },
                {
                  "name": "FormSubmitter",
                  "package": "@material/web",
                  "module": "labs/behaviors/form-submitter.js",
                  "start": 15,
                  "end": 28
                }
              ]
            },
            "description": "The provided class with `FormSubmitter` mixed in."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "mixinFormSubmitter",
          "declaration": {
            "name": "mixinFormSubmitter"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/mixin.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/on-report-validity.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "onReportValidity",
          "description": "A symbol property used for a callback when validity has been reported.",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "privateCleanupFormListeners",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "privateDoNotReportInvalid",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "privateIsSelfReportingValidity",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "privateCallOnReportValidity",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "mixin",
          "name": "mixinOnReportValidity",
          "description": "Mixes in a callback for constraint validation when validity should be\nstyled and reported to the user.\n\nThis is commonly used in text-field-like controls that display error styles\nand error messages.",
          "parameters": [
            {
              "name": "base",
              "description": "The class to mix functionality into.",
              "type": {
                "text": "T",
                "references": [
                  {
                    "name": "T",
                    "package": "@material/web",
                    "module": "labs/behaviors/on-report-validity.js",
                    "start": 0,
                    "end": 1
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "MixinReturn<T, OnReportValidity>",
              "references": [
                {
                  "name": "MixinReturn",
                  "package": "@material/web",
                  "module": "labs/behaviors/mixin.js",
                  "start": 0,
                  "end": 11
                },
                {
                  "name": "T",
                  "package": "@material/web",
                  "module": "labs/behaviors/on-report-validity.js",
                  "start": 12,
                  "end": 13
                },
                {
                  "name": "OnReportValidity",
                  "package": "@material/web",
                  "module": "labs/behaviors/on-report-validity.js",
                  "start": 15,
                  "end": 31
                }
              ]
            },
            "description": "The provided class with `OnReportValidity` mixed in."
          }
        },
        {
          "kind": "function",
          "name": "addFormReportValidListener",
          "description": "Add a listener that fires when a form runs constraint validation on a control\nand it is valid. This is needed to clear previously invalid styles.",
          "parameters": [
            {
              "name": "control",
              "description": "The control of the form to listen for valid events.",
              "type": {
                "text": "Element",
                "references": [
                  {
                    "name": "Element",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            },
            {
              "name": "form",
              "description": "The control's form that can run constraint validation.",
              "type": {
                "text": "HTMLFormElement",
                "references": [
                  {
                    "name": "HTMLFormElement",
                    "package": "global:",
                    "start": 0,
                    "end": 15
                  }
                ]
              }
            },
            {
              "name": "onControlValid",
              "description": "A listener that is called when the form runs constraint\nvalidation and the control is valid.",
              "type": {
                "text": "() => void"
              }
            },
            {
              "name": "cleanup",
              "description": "A cleanup signal to remove the listener.",
              "type": {
                "text": "AbortSignal",
                "references": [
                  {
                    "name": "AbortSignal",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "variable",
          "name": "FORM_VALIDATE_HOOKS",
          "type": {
            "text": "WeakMap<HTMLFormElement, EventTarget>",
            "references": [
              {
                "name": "WeakMap",
                "package": "global:",
                "start": 0,
                "end": 7
              },
              {
                "name": "HTMLFormElement",
                "package": "global:",
                "start": 8,
                "end": 23
              },
              {
                "name": "EventTarget",
                "package": "global:",
                "start": 25,
                "end": 36
              }
            ]
          }
        },
        {
          "kind": "function",
          "name": "getFormValidateHooks",
          "description": "Get a hooks `EventTarget` that dispatches 'before' and 'after' events that\nfire before a form runs constraint validation and immediately after it\nfinishes running constraint validation on its controls.\n\nThis happens during `form.reportValidity()` and `form.requestSubmit()`.",
          "parameters": [
            {
              "name": "form",
              "description": "The form to get or set up hooks for.",
              "type": {
                "text": "HTMLFormElement",
                "references": [
                  {
                    "name": "HTMLFormElement",
                    "package": "global:",
                    "start": 0,
                    "end": 15
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "EventTarget",
              "references": [
                {
                  "name": "EventTarget",
                  "package": "global:",
                  "start": 0,
                  "end": 11
                }
              ]
            },
            "description": "A hooks `EventTarget` to add listeners to."
          }
        },
        {
          "kind": "function",
          "name": "isFirstInvalidControlInForm",
          "description": "Checks if a control is the first invalid control in a form.",
          "parameters": [
            {
              "name": "form",
              "description": "The control's form. When `null`, the control doesn't have a form\nand the method returns true.",
              "type": {
                "text": "HTMLFormElement",
                "references": [
                  {
                    "name": "HTMLFormElement",
                    "package": "global:",
                    "start": 0,
                    "end": 15
                  }
                ]
              }
            },
            {
              "name": "control",
              "description": "The control to check.",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            },
            "description": "True if there is no form or if the control is the form's first\ninvalid control."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "onReportValidity",
          "declaration": {
            "name": "onReportValidity"
          }
        },
        {
          "kind": "js",
          "name": "mixinOnReportValidity",
          "declaration": {
            "name": "mixinOnReportValidity"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/validators/checkbox-validator.js",
      "declarations": [
        {
          "kind": "class",
          "name": "CheckboxValidator",
          "description": "A validator that provides constraint validation that emulates\n`<input type=\"checkbox\">` validation.",
          "superclass": {
            "name": "Validator",
            "package": "@material/web",
            "module": "labs/behaviors/validators/validator.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "checkboxControl",
              "privacy": "private",
              "type": {
                "text": "HTMLInputElement",
                "references": [
                  {
                    "name": "HTMLInputElement",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "computeValidity",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "CheckboxState",
                    "references": [
                      {
                        "name": "CheckboxState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/checkbox-validator.js",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "{ validity: ValidityState; validationMessage: string; }",
                  "references": [
                    {
                      "name": "ValidityState",
                      "package": "global:",
                      "start": 12,
                      "end": 25
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "equals",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "prev",
                  "type": {
                    "text": "CheckboxState",
                    "references": [
                      {
                        "name": "CheckboxState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/checkbox-validator.js",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                },
                {
                  "name": "next",
                  "type": {
                    "text": "CheckboxState",
                    "references": [
                      {
                        "name": "CheckboxState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/checkbox-validator.js",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "copy",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "{checked, required}",
                  "type": {
                    "text": "CheckboxState",
                    "references": [
                      {
                        "name": "CheckboxState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/checkbox-validator.js",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "{ checked: boolean; required: boolean; }"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CheckboxValidator",
          "declaration": {
            "name": "CheckboxValidator"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/validators/radio-validator.js",
      "declarations": [
        {
          "kind": "class",
          "name": "RadioValidator",
          "description": "A validator that provides constraint validation that emulates\n`<input type=\"radio\">` validation.",
          "superclass": {
            "name": "Validator",
            "package": "@material/web",
            "module": "labs/behaviors/validators/validator.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "radioElement",
              "privacy": "private",
              "type": {
                "text": "HTMLInputElement",
                "references": [
                  {
                    "name": "HTMLInputElement",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "computeValidity",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "states",
                  "type": {
                    "text": "RadioGroupState",
                    "references": [
                      {
                        "name": "RadioGroupState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/radio-validator.js",
                        "start": 0,
                        "end": 15
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "{ validity: { valueMissing: boolean; }; validationMessage: string; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "equals",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "prevGroup",
                  "type": {
                    "text": "RadioGroupState",
                    "references": [
                      {
                        "name": "RadioGroupState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/radio-validator.js",
                        "start": 0,
                        "end": 15
                      }
                    ]
                  }
                },
                {
                  "name": "nextGroup",
                  "type": {
                    "text": "RadioGroupState",
                    "references": [
                      {
                        "name": "RadioGroupState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/radio-validator.js",
                        "start": 0,
                        "end": 15
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "copy",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "states",
                  "type": {
                    "text": "RadioGroupState",
                    "references": [
                      {
                        "name": "RadioGroupState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/radio-validator.js",
                        "start": 0,
                        "end": 15
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "RadioGroupState",
                  "references": [
                    {
                      "name": "RadioGroupState",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/radio-validator.js",
                      "start": 0,
                      "end": 15
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RadioValidator",
          "declaration": {
            "name": "RadioValidator"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/validators/select-validator.js",
      "declarations": [
        {
          "kind": "class",
          "name": "SelectValidator",
          "description": "A validator that provides constraint validation that emulates `<select>`\nvalidation.",
          "superclass": {
            "name": "Validator",
            "package": "@material/web",
            "module": "labs/behaviors/validators/validator.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "selectControl",
              "privacy": "private",
              "type": {
                "text": "HTMLSelectElement",
                "references": [
                  {
                    "name": "HTMLSelectElement",
                    "package": "global:",
                    "start": 0,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "computeValidity",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "SelectState",
                    "references": [
                      {
                        "name": "SelectState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/select-validator.js",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "{ validity: ValidityState; validationMessage: string; }",
                  "references": [
                    {
                      "name": "ValidityState",
                      "package": "global:",
                      "start": 12,
                      "end": 25
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "equals",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "prev",
                  "type": {
                    "text": "SelectState",
                    "references": [
                      {
                        "name": "SelectState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/select-validator.js",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "next",
                  "type": {
                    "text": "SelectState",
                    "references": [
                      {
                        "name": "SelectState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/select-validator.js",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "copy",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "{value, required}",
                  "type": {
                    "text": "SelectState",
                    "references": [
                      {
                        "name": "SelectState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/select-validator.js",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "{ value: string; required: boolean; }"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SelectValidator",
          "declaration": {
            "name": "SelectValidator"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/validators/text-field-validator.js",
      "declarations": [
        {
          "kind": "class",
          "name": "TextFieldValidator",
          "description": "A validator that provides constraint validation that emulates `<input>` and\n`<textarea>` validation.",
          "superclass": {
            "name": "Validator",
            "package": "@material/web",
            "module": "labs/behaviors/validators/validator.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "inputControl",
              "privacy": "private",
              "type": {
                "text": "HTMLInputElement",
                "references": [
                  {
                    "name": "HTMLInputElement",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "textAreaControl",
              "privacy": "private",
              "type": {
                "text": "HTMLTextAreaElement",
                "references": [
                  {
                    "name": "HTMLTextAreaElement",
                    "package": "global:",
                    "start": 0,
                    "end": 19
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "computeValidity",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "{state, renderedControl}",
                  "type": {
                    "text": "TextFieldState",
                    "references": [
                      {
                        "name": "TextFieldState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/text-field-validator.js",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "{ validity: ValidityState; validationMessage: string; }",
                  "references": [
                    {
                      "name": "ValidityState",
                      "package": "global:",
                      "start": 12,
                      "end": 25
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "equals",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "{state: prev}",
                  "type": {
                    "text": "TextFieldState",
                    "references": [
                      {
                        "name": "TextFieldState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/text-field-validator.js",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  }
                },
                {
                  "name": "{state: next}",
                  "type": {
                    "text": "TextFieldState",
                    "references": [
                      {
                        "name": "TextFieldState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/text-field-validator.js",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "copy",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "{state}",
                  "type": {
                    "text": "TextFieldState",
                    "references": [
                      {
                        "name": "TextFieldState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/text-field-validator.js",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TextFieldState",
                  "references": [
                    {
                      "name": "TextFieldState",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/text-field-validator.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "copyInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "InputState",
                    "references": [
                      {
                        "name": "InputState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/text-field-validator.js",
                        "start": 0,
                        "end": 10
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "InputState",
                  "references": [
                    {
                      "name": "InputState",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/text-field-validator.js",
                      "start": 0,
                      "end": 10
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "copyTextArea",
              "privacy": "private",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "TextAreaState",
                    "references": [
                      {
                        "name": "TextAreaState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/text-field-validator.js",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TextAreaState",
                  "references": [
                    {
                      "name": "TextAreaState",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/text-field-validator.js",
                      "start": 0,
                      "end": 13
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "copySharedState",
              "privacy": "private",
              "parameters": [
                {
                  "name": "{\n    value,\n    required,\n    minLength,\n    maxLength,\n  }",
                  "type": {
                    "text": "SharedInputAndTextAreaState",
                    "references": [
                      {
                        "name": "SharedInputAndTextAreaState",
                        "package": "@material/web",
                        "module": "labs/behaviors/validators/text-field-validator.js",
                        "start": 0,
                        "end": 27
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "SharedInputAndTextAreaState",
                  "references": [
                    {
                      "name": "SharedInputAndTextAreaState",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/text-field-validator.js",
                      "start": 0,
                      "end": 27
                    }
                  ]
                }
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "isInputState",
          "parameters": [
            {
              "name": "state",
              "type": {
                "text": "InputState | TextAreaState",
                "references": [
                  {
                    "name": "InputState",
                    "package": "@material/web",
                    "module": "labs/behaviors/validators/text-field-validator.js",
                    "start": 0,
                    "end": 10
                  },
                  {
                    "name": "TextAreaState",
                    "package": "@material/web",
                    "module": "labs/behaviors/validators/text-field-validator.js",
                    "start": 13,
                    "end": 26
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TextFieldValidator",
          "declaration": {
            "name": "TextFieldValidator"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/behaviors/validators/validator.js",
      "declarations": [
        {
          "kind": "class",
          "name": "Validator",
          "description": "A class that computes and caches `ValidityStateFlags` for a component with\na given `State` interface.\n\nCached performance before computing validity is important since constraint\nvalidation must be checked frequently and synchronously when properties\nchange.",
          "members": [
            {
              "kind": "field",
              "name": "prevState",
              "description": "The previous state, used to determine if state changed and validation needs\nto be re-computed.",
              "privacy": "private",
              "type": {
                "text": "State",
                "references": [
                  {
                    "name": "State",
                    "package": "@material/web",
                    "module": "labs/behaviors/validators/validator.js",
                    "start": 0,
                    "end": 5
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "currentValidity",
              "description": "The current validity state and message. This is cached and returns if\nconstraint validation state does not change.",
              "privacy": "private",
              "type": {
                "text": "ValidityAndMessage",
                "references": [
                  {
                    "name": "ValidityAndMessage",
                    "package": "@material/web",
                    "module": "labs/behaviors/validators/validator.js",
                    "start": 0,
                    "end": 18
                  }
                ]
              },
              "default": "{\n    validity: {},\n    validationMessage: '',\n  }"
            },
            {
              "kind": "method",
              "name": "getValidity",
              "description": "Returns the current `ValidityStateFlags` and validation message for the\nvalidator.\n\nIf the constraint validation state has not changed, this will return a\ncached result. This is important since `getValidity()` can be called\nfrequently in response to synchronous property changes.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "ValidityAndMessage",
                  "references": [
                    {
                      "name": "ValidityAndMessage",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/validator.js",
                      "start": 0,
                      "end": 18
                    }
                  ]
                },
                "description": "The current validity and validation message."
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Validator",
          "declaration": {
            "name": "Validator"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/card/elevated-card.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdElevatedCard",
          "superclass": {
            "name": "Card",
            "package": "@material/web",
            "module": "labs/card/internal/card.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, elevatedStyles]"
            }
          ],
          "tagName": "md-elevated-card",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdElevatedCard",
          "declaration": {
            "name": "MdElevatedCard"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-elevated-card",
          "declaration": {
            "name": "MdElevatedCard"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/card/filled-card.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdFilledCard",
          "superclass": {
            "name": "Card",
            "package": "@material/web",
            "module": "labs/card/internal/card.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, filledStyles]"
            }
          ],
          "tagName": "md-filled-card",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdFilledCard",
          "declaration": {
            "name": "MdFilledCard"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-filled-card",
          "declaration": {
            "name": "MdFilledCard"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/card/outlined-card.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdOutlinedCard",
          "superclass": {
            "name": "Card",
            "package": "@material/web",
            "module": "labs/card/internal/card.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, outlinedStyles]"
            }
          ],
          "tagName": "md-outlined-card",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdOutlinedCard",
          "declaration": {
            "name": "MdOutlinedCard"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-outlined-card",
          "declaration": {
            "name": "MdOutlinedCard"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/card/internal/card.js",
      "declarations": [
        {
          "kind": "class",
          "name": "Card",
          "description": "A card component.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Card",
          "declaration": {
            "name": "Card"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/card/internal/elevated-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/card/internal/filled-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/card/internal/outlined-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/card/internal/shared-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/item/item.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdItem",
          "description": "An item layout component that can be used inside list items to give them\ntheir customizable structure.\n\n`<md-item>` does not have any functionality, which must be added by the\ncomponent using it.\n\nAll text will wrap unless `white-space: nowrap` is set on the item or any of\nits children.\n\nSlots available:\n- `<default>`: The headline, or custom content.\n- `headline`: The first line.\n- `supporting-text`: Supporting text lines underneath the headline.\n- `trailing-supporting-text`: A small text snippet at the end of the item.\n- `start`: Any leading content, such as icons, avatars, or checkboxes.\n- `end`: Any trailing content, such as icons and buttons.\n- `container`: Background container content, intended for adding additional\n    styles, such as ripples or focus rings.",
          "superclass": {
            "name": "Item",
            "package": "@material/web",
            "module": "labs/item/internal/item.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-item",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdItem",
          "declaration": {
            "name": "MdItem"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-item",
          "declaration": {
            "name": "MdItem"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/item/internal/item-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/item/internal/item.js",
      "declarations": [
        {
          "kind": "class",
          "name": "Item",
          "description": "An item layout component.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "multiline",
              "description": "Only needed for SSR.\n\nAdd this attribute when an item has two lines to avoid a Flash Of Unstyled\nContent. This attribute is not needed for single line items or items with\nthree or more lines.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "multiline",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "textSlots",
              "privacy": "private",
              "type": {
                "text": "HTMLSlotElement[]",
                "references": [
                  {
                    "name": "HTMLSlotElement",
                    "package": "global:",
                    "start": 0,
                    "end": 15
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleTextSlotChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "multiline",
              "type": {
                "text": "boolean"
              },
              "fieldName": "multiline"
            }
          ]
        },
        {
          "kind": "function",
          "name": "slotHasContent",
          "parameters": [
            {
              "name": "slot",
              "type": {
                "text": "HTMLSlotElement",
                "references": [
                  {
                    "name": "HTMLSlotElement",
                    "package": "global:",
                    "start": 0,
                    "end": 15
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Item",
          "declaration": {
            "name": "Item"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationbar/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "NavigationBarHarness",
          "description": "Test harness for navigation bars.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "tab",
              "privacy": "public",
              "type": {
                "text": "Promise<NavigationTabHarness>",
                "references": [
                  {
                    "name": "Promise",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  },
                  {
                    "name": "NavigationTabHarness",
                    "package": "@material/web",
                    "module": "labs/navigationtab/harness.js",
                    "start": 8,
                    "end": 28
                  }
                ]
              },
              "default": "this.getTab()"
            },
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "description": "Returns the active tab to be used for interaction simulation.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getTab",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<NavigationTabHarness>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "NavigationTabHarness",
                      "package": "@material/web",
                      "module": "labs/navigationtab/harness.js",
                      "start": 8,
                      "end": 28
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "NavigationBarHarness",
          "declaration": {
            "name": "NavigationBarHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationbar/navigation-bar.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdNavigationBar",
          "superclass": {
            "name": "NavigationBar",
            "package": "@material/web",
            "module": "labs/navigationbar/internal/navigation-bar.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-navigation-bar",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdNavigationBar",
          "declaration": {
            "name": "MdNavigationBar"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-navigation-bar",
          "declaration": {
            "name": "MdNavigationBar"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationbar/internal/constants.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationbar/internal/navigation-bar-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationbar/internal/navigation-bar.js",
      "declarations": [
        {
          "kind": "class",
          "name": "navigationBarBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "NavigationBar",
          "description": "b/265346501 - add docs",
          "superclass": {
            "name": "navigationBarBaseClass",
            "package": "@material/web",
            "module": "labs/navigationbar/internal/navigation-bar.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "activeIndex",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "active-index"
            },
            {
              "kind": "field",
              "name": "hideInactiveLabels",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "hide-inactive-labels"
            },
            {
              "kind": "field",
              "name": "tabs",
              "privacy": "public",
              "type": {
                "text": "NavigationTab[]",
                "references": [
                  {
                    "name": "NavigationTab",
                    "package": "@material/web",
                    "module": "labs/navigationtab/internal/navigation-tab.js",
                    "start": 0,
                    "end": 13
                  }
                ]
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "tabsElement",
              "privacy": "private",
              "type": {
                "text": "NavigationTab[]",
                "references": [
                  {
                    "name": "NavigationTab",
                    "package": "@material/web",
                    "module": "labs/navigationtab/internal/navigation-tab.js",
                    "start": 0,
                    "end": 13
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValueMap<NavigationBar>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "NavigationBar",
                        "package": "@material/web",
                        "module": "labs/navigationbar/internal/navigation-bar.js",
                        "start": 17,
                        "end": 30
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "firstUpdated",
              "privacy": "public",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValueMap<any> | Map<PropertyKey, unknown>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Map",
                        "package": "global:",
                        "start": 24,
                        "end": 27
                      },
                      {
                        "name": "PropertyKey",
                        "package": "global:",
                        "start": 28,
                        "end": 39
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "layout",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleNavigationTabConnected",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "CustomEvent<any>",
                    "references": [
                      {
                        "name": "CustomEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleNavigationTabInteraction",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "NavigationTabInteractionEvent",
                    "references": [
                      {
                        "name": "NavigationTabInteractionEvent",
                        "package": "@material/web",
                        "module": "labs/navigationbar/internal/constants.js",
                        "start": 0,
                        "end": 29
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "onActiveIndexChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "onHideInactiveLabelsChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "active-index",
              "type": {
                "text": "number"
              },
              "fieldName": "activeIndex"
            },
            {
              "name": "hide-inactive-labels",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hideInactiveLabels"
            }
          ],
          "events": [
            {
              "name": "navigation-bar-activated",
              "type": {
                "text": "CustomEvent<tab: NavigationTab, activeIndex: number>",
                "references": [
                  {
                    "name": "CustomEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "description": "Dispatched whenever the `activeIndex` changes. --bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "NavigationBar",
          "declaration": {
            "name": "NavigationBar"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationbar/internal/state.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationdrawer/navigation-drawer-modal.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdNavigationDrawerModal",
          "superclass": {
            "name": "NavigationDrawerModal",
            "package": "@material/web",
            "module": "labs/navigationdrawer/internal/navigation-drawer-modal.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResult[]",
                "references": [
                  {
                    "name": "CSSResult",
                    "package": "lit-element",
                    "module": "development/lit-element.js",
                    "start": 0,
                    "end": 9
                  }
                ]
              },
              "default": "[sharedStyles, styles]"
            }
          ],
          "tagName": "md-navigation-drawer-modal",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdNavigationDrawerModal",
          "declaration": {
            "name": "MdNavigationDrawerModal"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-navigation-drawer-modal",
          "declaration": {
            "name": "MdNavigationDrawerModal"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationdrawer/navigation-drawer.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdNavigationDrawer",
          "superclass": {
            "name": "NavigationDrawer",
            "package": "@material/web",
            "module": "labs/navigationdrawer/internal/navigation-drawer.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResult[]",
                "references": [
                  {
                    "name": "CSSResult",
                    "package": "lit-element",
                    "module": "development/lit-element.js",
                    "start": 0,
                    "end": 9
                  }
                ]
              },
              "default": "[sharedStyles, styles]"
            }
          ],
          "tagName": "md-navigation-drawer",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdNavigationDrawer",
          "declaration": {
            "name": "MdNavigationDrawer"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-navigation-drawer",
          "declaration": {
            "name": "MdNavigationDrawer"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationdrawer/internal/navigation-drawer-modal-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationdrawer/internal/navigation-drawer-modal.js",
      "declarations": [
        {
          "kind": "class",
          "name": "navigationDrawerModalBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "NavigationDrawerModal",
          "description": "b/265346501 - add docs",
          "superclass": {
            "name": "navigationDrawerModalBaseClass",
            "package": "@material/web",
            "module": "labs/navigationdrawer/internal/navigation-drawer-modal.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "opened",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "opened"
            },
            {
              "kind": "field",
              "name": "pivot",
              "privacy": "public",
              "type": {
                "text": "\"start\" | \"end\""
              },
              "default": "'end'",
              "attribute": "pivot"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getScrimClasses",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "DirectiveResult<typeof ClassMapDirective>",
                  "references": [
                    {
                      "name": "DirectiveResult",
                      "package": "lit-html",
                      "module": "development/directive.js",
                      "start": 0,
                      "end": 15
                    },
                    {
                      "name": "ClassMapDirective",
                      "package": "lit-html",
                      "module": "development/directives/class-map.js",
                      "start": 23,
                      "end": 40
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "DirectiveResult<typeof ClassMapDirective>",
                  "references": [
                    {
                      "name": "DirectiveResult",
                      "package": "lit-html",
                      "module": "development/directive.js",
                      "start": 0,
                      "end": 15
                    },
                    {
                      "name": "ClassMapDirective",
                      "package": "lit-html",
                      "module": "development/directives/class-map.js",
                      "start": 23,
                      "end": 40
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValueMap<NavigationDrawerModal>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "NavigationDrawerModal",
                        "package": "@material/web",
                        "module": "labs/navigationdrawer/internal/navigation-drawer-modal.js",
                        "start": 17,
                        "end": 38
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleScrimClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "opened",
              "type": {
                "text": "boolean"
              },
              "fieldName": "opened"
            },
            {
              "name": "pivot",
              "type": {
                "text": "string"
              },
              "fieldName": "pivot"
            }
          ],
          "events": [
            {
              "name": "navigation-drawer-changed",
              "type": {
                "text": "CustomEvent<{opened: boolean}>",
                "references": [
                  {
                    "name": "CustomEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "description": "Dispatched whenever the drawer opens or closes --bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "NavigationDrawerModal",
          "declaration": {
            "name": "NavigationDrawerModal"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationdrawer/internal/navigation-drawer-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationdrawer/internal/navigation-drawer.js",
      "declarations": [
        {
          "kind": "class",
          "name": "navigationDrawerBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "NavigationDrawer",
          "description": "b/265346501 - add docs",
          "superclass": {
            "name": "navigationDrawerBaseClass",
            "package": "@material/web",
            "module": "labs/navigationdrawer/internal/navigation-drawer.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "opened",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "opened"
            },
            {
              "kind": "field",
              "name": "pivot",
              "privacy": "public",
              "type": {
                "text": "\"start\" | \"end\""
              },
              "default": "'end'",
              "attribute": "pivot"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "DirectiveResult<typeof ClassMapDirective>",
                  "references": [
                    {
                      "name": "DirectiveResult",
                      "package": "lit-html",
                      "module": "development/directive.js",
                      "start": 0,
                      "end": 15
                    },
                    {
                      "name": "ClassMapDirective",
                      "package": "lit-html",
                      "module": "development/directives/class-map.js",
                      "start": 23,
                      "end": 40
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValueMap<NavigationDrawer>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "NavigationDrawer",
                        "package": "@material/web",
                        "module": "labs/navigationdrawer/internal/navigation-drawer.js",
                        "start": 17,
                        "end": 33
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "opened",
              "type": {
                "text": "boolean"
              },
              "fieldName": "opened"
            },
            {
              "name": "pivot",
              "type": {
                "text": "string"
              },
              "fieldName": "pivot"
            }
          ],
          "events": [
            {
              "name": "navigation-drawer-changed",
              "type": {
                "text": "CustomEvent<{opened: boolean}>",
                "references": [
                  {
                    "name": "CustomEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "description": "Dispatched whenever the drawer opens or closes --bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "NavigationDrawer",
          "declaration": {
            "name": "NavigationDrawer"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationdrawer/internal/shared-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationtab/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "NavigationTabHarness",
          "description": "Test harness for navigation tab elements.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "NavigationTabHarness",
          "declaration": {
            "name": "NavigationTabHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationtab/navigation-tab.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdNavigationTab",
          "superclass": {
            "name": "NavigationTab",
            "package": "@material/web",
            "module": "labs/navigationtab/internal/navigation-tab.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-navigation-tab",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdNavigationTab",
          "declaration": {
            "name": "MdNavigationTab"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-navigation-tab",
          "declaration": {
            "name": "MdNavigationTab"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationtab/internal/navigation-tab-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationtab/internal/navigation-tab.js",
      "declarations": [
        {
          "kind": "class",
          "name": "navigationTabBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "NavigationTab",
          "description": "b/265346501 - add docs",
          "superclass": {
            "name": "navigationTabBaseClass",
            "package": "@material/web",
            "module": "labs/navigationtab/internal/navigation-tab.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "disabled",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "active",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hideInactiveLabel",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "hide-inactive-label"
            },
            {
              "kind": "field",
              "name": "label",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "badgeValue",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "badge-value"
            },
            {
              "kind": "field",
              "name": "showBadge",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "show-badge"
            },
            {
              "kind": "field",
              "name": "buttonElement",
              "privacy": "public",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ 'md3-navigation-tab--hide-inactive-label': boolean; 'md3-navigation-tab--active': boolean; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderBadge",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "firstUpdated",
              "privacy": "public",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValueMap<any> | Map<PropertyKey, unknown>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Map",
                        "package": "global:",
                        "start": 24,
                        "end": 27
                      },
                      {
                        "name": "PropertyKey",
                        "package": "global:",
                        "start": 28,
                        "end": 39
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "disabled"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "fieldName": "active"
            },
            {
              "name": "hide-inactive-label",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hideInactiveLabel"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "fieldName": "label"
            },
            {
              "name": "badge-value",
              "type": {
                "text": "string"
              },
              "fieldName": "badgeValue"
            },
            {
              "name": "show-badge",
              "type": {
                "text": "boolean"
              },
              "fieldName": "showBadge"
            }
          ],
          "events": [
            {
              "name": "navigation-tab-rendered",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Dispatched when the navigation tab's\nDOM has rendered and custom element definition has loaded. --bubbles\n--composed"
            },
            {
              "name": "navigation-tab-interaction",
              "type": {
                "text": "CustomEvent<{state: MdNavigationTab}>",
                "references": [
                  {
                    "name": "CustomEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "description": "Dispatched when the navigation tab has been clicked. --bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "NavigationTab",
          "declaration": {
            "name": "NavigationTab"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/navigationtab/internal/state.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/segmentedbutton/outlined-segmented-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdOutlinedSegmentedButton",
          "description": "MdOutlinedSegmentedButton is the custom element for the Material\nDesign outlined segmented button component.",
          "superclass": {
            "name": "OutlinedSegmentedButton",
            "package": "@material/web",
            "module": "labs/segmentedbutton/internal/outlined-segmented-button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, outlinedStyles]"
            }
          ],
          "tagName": "md-outlined-segmented-button",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdOutlinedSegmentedButton",
          "declaration": {
            "name": "MdOutlinedSegmentedButton"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-outlined-segmented-button",
          "declaration": {
            "name": "MdOutlinedSegmentedButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/segmentedbutton/internal/outlined-segmented-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "OutlinedSegmentedButton",
          "description": "b/265346443 - add docs",
          "superclass": {
            "name": "SegmentedButton",
            "package": "@material/web",
            "module": "labs/segmentedbutton/internal/segmented-button.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ 'md3-segmented-button--outlined': boolean; 'md3-segmented-button--selected': boolean; 'md3-segmented-button--unselected': boolean; 'md3-segmented-button--with-label': boolean; 'md3-segmented-button--without-label': boolean; ... 4 more ...; 'md3-segmented-button--deselecting': boolean; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderOutline",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "OutlinedSegmentedButton",
          "declaration": {
            "name": "OutlinedSegmentedButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/segmentedbutton/internal/outlined-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/segmentedbutton/internal/segmented-button.js",
      "declarations": [
        {
          "kind": "class",
          "name": "segmentedButtonBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "SegmentedButton",
          "description": "SegmentedButton is a web component implementation of the Material Design\nsegmented button component. It is intended **only** for use as a child of a\n`SementedButtonSet` component. It is **not** intended for use in any other\ncontext.",
          "superclass": {
            "name": "segmentedButtonBaseClass",
            "package": "@material/web",
            "module": "labs/segmentedbutton/internal/segmented-button.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "disabled",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "selected",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "selected"
            },
            {
              "kind": "field",
              "name": "label",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "noCheckmark",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-checkmark"
            },
            {
              "kind": "field",
              "name": "hasIcon",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "has-icon"
            },
            {
              "kind": "field",
              "name": "animState",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "iconElement",
              "privacy": "private",
              "type": {
                "text": "HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "update",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "props",
                  "type": {
                    "text": "PropertyValueMap<SegmentedButton>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "SegmentedButton",
                        "package": "@material/web",
                        "module": "labs/segmentedbutton/internal/segmented-button.js",
                        "start": 17,
                        "end": 32
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "nextAnimationState",
              "privacy": "private",
              "parameters": [
                {
                  "name": "changedProps",
                  "type": {
                    "text": "PropertyValueMap<SegmentedButton>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "SegmentedButton",
                        "package": "@material/web",
                        "module": "labs/segmentedbutton/internal/segmented-button.js",
                        "start": 17,
                        "end": 32
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ 'md3-segmented-button--selected': boolean; 'md3-segmented-button--unselected': boolean; 'md3-segmented-button--with-label': boolean; 'md3-segmented-button--without-label': boolean; ... 4 more ...; 'md3-segmented-button--deselecting': boolean; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderOutline",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLeading",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLeadingWithoutLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLeadingWithLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderTouchTarget",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "disabled"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "fieldName": "selected"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "fieldName": "label"
            },
            {
              "name": "no-checkmark",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noCheckmark"
            },
            {
              "name": "has-icon",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hasIcon"
            }
          ],
          "events": [
            {
              "name": "segmented-button-interaction",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Dispatched whenever a button is\nclicked. --bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SegmentedButton",
          "declaration": {
            "name": "SegmentedButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/segmentedbutton/internal/shared-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/segmentedbuttonset/outlined-segmented-button-set.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdOutlinedSegmentedButtonSet",
          "description": "MdOutlinedSegmentedButtonSet is the custom element for the Material\nDesign outlined segmented button set component.",
          "superclass": {
            "name": "OutlinedSegmentedButtonSet",
            "package": "@material/web",
            "module": "labs/segmentedbuttonset/internal/outlined-segmented-button-set.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, outlinedStyles]"
            }
          ],
          "tagName": "md-outlined-segmented-button-set",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdOutlinedSegmentedButtonSet",
          "declaration": {
            "name": "MdOutlinedSegmentedButtonSet"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-outlined-segmented-button-set",
          "declaration": {
            "name": "MdOutlinedSegmentedButtonSet"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/segmentedbuttonset/internal/outlined-segmented-button-set.js",
      "declarations": [
        {
          "kind": "class",
          "name": "OutlinedSegmentedButtonSet",
          "description": "b/265346443 - add docs",
          "superclass": {
            "name": "SegmentedButtonSet",
            "package": "@material/web",
            "module": "labs/segmentedbuttonset/internal/segmented-button-set.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ 'md3-segmented-button-set--outlined': boolean; }"
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "OutlinedSegmentedButtonSet",
          "declaration": {
            "name": "OutlinedSegmentedButtonSet"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/segmentedbuttonset/internal/outlined-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/segmentedbuttonset/internal/segmented-button-set.js",
      "declarations": [
        {
          "kind": "class",
          "name": "segmentedButtonSetBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "SegmentedButtonSet",
          "description": "SegmentedButtonSet is the parent component for two or more\n`SegmentedButton` components. **Only** `SegmentedButton` components may be\nused as children.",
          "superclass": {
            "name": "segmentedButtonSetBaseClass",
            "package": "@material/web",
            "module": "labs/segmentedbuttonset/internal/segmented-button-set.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "multiselect",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "multiselect"
            },
            {
              "kind": "field",
              "name": "buttons",
              "privacy": "public",
              "type": {
                "text": "SegmentedButton[]",
                "references": [
                  {
                    "name": "SegmentedButton",
                    "package": "@material/web",
                    "module": "labs/segmentedbutton/internal/segmented-button.js",
                    "start": 0,
                    "end": 15
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "getButtonDisabled",
              "privacy": "public",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setButtonDisabled",
              "privacy": "public",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "disabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getButtonSelected",
              "privacy": "public",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setButtonSelected",
              "privacy": "public",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selected",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleSegmentedButtonInteraction",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "CustomEvent<any>",
                    "references": [
                      {
                        "name": "CustomEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "toggleSelection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "indexOutOfBounds",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "emitSelectionEvent",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{}"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "multiselect",
              "type": {
                "text": "boolean"
              },
              "fieldName": "multiselect"
            }
          ],
          "events": [
            {
              "name": "segmented-button-set-selection",
              "type": {
                "text": "CustomEvent<{button: SegmentedButton, selected: boolean, index: number}>",
                "references": [
                  {
                    "name": "CustomEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  },
                  {
                    "name": "SegmentedButton",
                    "package": "@material/web",
                    "module": "labs/segmentedbutton/internal/segmented-button.js",
                    "start": 21,
                    "end": 36
                  }
                ]
              },
              "description": "Dispatched when a button is selected programattically with the\n`setButtonSelected` or the `toggleSelection` methods as well as on user\ninteraction. --bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SegmentedButtonSet",
          "declaration": {
            "name": "SegmentedButtonSet"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/segmentedbuttonset/internal/shared-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "list/harness.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "NAVIGABLE_KEYS",
          "type": {
            "text": "{ readonly ArrowDown: \"ArrowDown\"; readonly ArrowUp: \"ArrowUp\"; readonly Home: \"Home\"; readonly End: \"End\"; }"
          }
        },
        {
          "kind": "class",
          "name": "ListHarness",
          "description": "Test harness for list.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "description": "Returns the first list item element.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<List>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "List",
                      "package": "@material/web",
                      "module": "list/internal/list.js",
                      "start": 8,
                      "end": 12
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getItems",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "ListItemHarness<ListItemEl>[]",
                  "references": [
                    {
                      "name": "ListItemHarness",
                      "package": "@material/web",
                      "module": "list/internal/listitem/harness.js",
                      "start": 0,
                      "end": 15
                    },
                    {
                      "name": "ListItemEl",
                      "package": "@material/web",
                      "module": "list/internal/listitem/list-item.js",
                      "start": 16,
                      "end": 26
                    }
                  ]
                },
                "description": "List item harnesses."
              }
            },
            {
              "kind": "method",
              "name": "pressHandledKey",
              "description": "Constructs keyboard events that are handled by List and makes sure that\nthey are constructed in a manner that List understands.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "key",
                  "description": "The key to dispatch on the list.",
                  "type": {
                    "text": "T",
                    "references": [
                      {
                        "name": "T",
                        "package": "@material/web",
                        "module": "list/harness.js",
                        "start": 0,
                        "end": 1
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "keypress",
              "description": "Dispatches a keypress on the list. It may or may not be a supported event.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "key",
                  "description": "The key to dispatch on the list.",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "init",
                  "type": {
                    "text": "KeyboardEventInit",
                    "references": [
                      {
                        "name": "KeyboardEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 17
                      }
                    ]
                  },
                  "default": "{} as KeyboardEventInit",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListItemHarness",
          "declaration": {
            "name": "ListItemHarness",
            "package": "@material/web",
            "module": "list/internal/listitem/harness.js"
          }
        },
        {
          "kind": "js",
          "name": "ListHarness",
          "declaration": {
            "name": "ListHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "list/list-item.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdListItem",
          "description": "Lists consist of one or more list items, and can contain actions represented\nby icons and text. List items come in three sizes: one-line, two-line, and\nthree-line.\n\n__Takeaways:__\n\n- Lists should be sorted in logical ways that make content easy to scan, such\n  as alphabetical, numerical, chronological, or by user preference.\n- Lists present content in a way that makes it easy to identify a specific\n  item in a collection and act on it.\n- Lists should present icons, text, and actions in a consistent format.\n\nAcceptable slot child variants are:\n\n- `img[slot=end]`\n- `img[slot=start]`",
          "summary": "Lists are continuous, vertical indexes of text or images. Items are placed\ninside the list.",
          "superclass": {
            "name": "ListItemEl",
            "package": "@material/web",
            "module": "list/internal/listitem/list-item.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-list-item",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListItemType",
          "declaration": {
            "name": "ListItemType",
            "package": "@material/web",
            "module": "list/internal/listitem/list-item.js"
          }
        },
        {
          "kind": "js",
          "name": "MdListItem",
          "declaration": {
            "name": "MdListItem"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-list-item",
          "declaration": {
            "name": "MdListItem"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "list/list.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdList",
          "description": "Lists consist of one or more list items, and can contain actions represented\nby icons and text. List items come in three sizes: one-line, two-line, and\nthree-line.\n\n__Takeaways:__\n\n- Lists should be sorted in logical ways that make content easy to scan, such\n  as alphabetical, numerical, chronological, or by user preference.\n- Lists present content in a way that makes it easy to identify a specific\n  item in a collection and act on it.\n- Lists should present icons, text, and actions in a consistent format.",
          "summary": "Lists are continuous, vertical indexes of text or images.",
          "superclass": {
            "name": "List",
            "package": "@material/web",
            "module": "list/internal/list.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-list",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdList",
          "declaration": {
            "name": "MdList"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-list",
          "declaration": {
            "name": "MdList"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "list/internal/list-controller.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "NavigableKeys",
          "description": "Default keys that trigger navigation.",
          "type": {
            "text": "{ readonly ArrowDown: \"ArrowDown\"; readonly ArrowLeft: \"ArrowLeft\"; readonly ArrowUp: \"ArrowUp\"; readonly ArrowRight: \"ArrowRight\"; readonly Home: \"Home\"; readonly End: \"End\"; }"
          }
        },
        {
          "kind": "class",
          "name": "ListController",
          "description": "A controller that handles list keyboard navigation and item management.",
          "members": [
            {
              "kind": "field",
              "name": "isItem",
              "privacy": "public",
              "type": {
                "text": "(item: HTMLElement) => item is Item",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 7,
                    "end": 18
                  },
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-controller.js",
                    "start": 31,
                    "end": 35
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "getPossibleItems",
              "privacy": "public",
              "type": {
                "text": "() => HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 6,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "isRtl",
              "privacy": "public",
              "type": {
                "text": "() => boolean"
              }
            },
            {
              "kind": "field",
              "name": "deactivateItem",
              "privacy": "public",
              "type": {
                "text": "(item: Item) => void",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-controller.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "activateItem",
              "privacy": "public",
              "type": {
                "text": "(item: Item) => void",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-controller.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "isNavigableKey",
              "privacy": "public",
              "type": {
                "text": "(key: string) => boolean"
              }
            },
            {
              "kind": "field",
              "name": "isActivatable",
              "privacy": "public",
              "type": {
                "text": "(item: Item) => boolean",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-controller.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "wrapNavigation",
              "privacy": "public",
              "type": {
                "text": "() => boolean"
              }
            },
            {
              "kind": "field",
              "name": "handleKeydown",
              "description": "Handles keyboard navigation. Should be bound to the node that will act as\nthe List.",
              "privacy": "public",
              "type": {
                "text": "(event: KeyboardEvent) => void",
                "references": [
                  {
                    "name": "KeyboardEvent",
                    "package": "global:",
                    "start": 8,
                    "end": 21
                  }
                ]
              },
              "default": "(event: KeyboardEvent) => {\n    const key = event.key;\n    if (event.defaultPrevented || !this.isNavigableKey(key)) {\n      return;\n    }\n    // do not use this.items directly in upcoming calculations so we don't\n    // re-query the DOM unnecessarily\n    const items = this.items;\n\n    if (!items.length) {\n      return;\n    }\n\n    const activeItemRecord = getActiveItem(items, this.isActivatable);\n\n    event.preventDefault();\n\n    const isRtl = this.isRtl();\n    const inlinePrevious = isRtl\n      ? NavigableKeys.ArrowRight\n      : NavigableKeys.ArrowLeft;\n    const inlineNext = isRtl\n      ? NavigableKeys.ArrowLeft\n      : NavigableKeys.ArrowRight;\n\n    let nextActiveItem: Item | null = null;\n    switch (key) {\n      // Activate the next item\n      case NavigableKeys.ArrowDown:\n      case inlineNext:\n        nextActiveItem = activateNextItem(\n          items,\n          activeItemRecord,\n          this.isActivatable,\n          this.wrapNavigation(),\n        );\n        break;\n\n      // Activate the previous item\n      case NavigableKeys.ArrowUp:\n      case inlinePrevious:\n        nextActiveItem = activatePreviousItem(\n          items,\n          activeItemRecord,\n          this.isActivatable,\n          this.wrapNavigation(),\n        );\n        break;\n\n      // Activate the first item\n      case NavigableKeys.Home:\n        nextActiveItem = activateFirstItem(items, this.isActivatable);\n        break;\n\n      // Activate the last item\n      case NavigableKeys.End:\n        nextActiveItem = activateLastItem(items, this.isActivatable);\n        break;\n\n      default:\n        break;\n    }\n\n    if (\n      nextActiveItem &&\n      activeItemRecord &&\n      activeItemRecord.item !== nextActiveItem\n    ) {\n      // If a new item was activated, remove the tabindex of the previous\n      // activated item.\n      activeItemRecord.item.tabIndex = -1;\n    }\n  }"
            },
            {
              "kind": "field",
              "name": "onDeactivateItems",
              "description": "Listener to be bound to the `deactivate-items` item event.",
              "privacy": "public",
              "type": {
                "text": "() => void"
              },
              "default": "() => {\n    const items = this.items;\n\n    for (const item of items) {\n      this.deactivateItem(item);\n    }\n  }"
            },
            {
              "kind": "field",
              "name": "onRequestActivation",
              "description": "Listener to be bound to the `request-activation` item event..",
              "privacy": "public",
              "type": {
                "text": "(event: Event) => void",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 8,
                    "end": 13
                  }
                ]
              },
              "default": "(event: Event) => {\n    this.onDeactivateItems();\n    const target = event.target as Item;\n    this.activateItem(target);\n    target.focus();\n  }"
            },
            {
              "kind": "field",
              "name": "onSlotchange",
              "description": "Listener to be bound to the `slotchange` event for the slot that renders\nthe items.",
              "privacy": "public",
              "type": {
                "text": "() => void"
              },
              "default": "() => {\n    const items = this.items;\n    // Whether we have encountered an item that has been activated\n    let encounteredActivated = false;\n\n    for (const item of items) {\n      const isActivated = !item.disabled && item.tabIndex > -1;\n\n      if (isActivated && !encounteredActivated) {\n        encounteredActivated = true;\n        item.tabIndex = 0;\n        continue;\n      }\n\n      // Deactivate the rest including disabled\n      item.tabIndex = -1;\n    }\n\n    if (encounteredActivated) {\n      return;\n    }\n\n    const firstActivatableItem = getFirstActivatableItem(\n      items,\n      this.isActivatable,\n    );\n\n    if (!firstActivatableItem) {\n      return;\n    }\n\n    firstActivatableItem.tabIndex = 0;\n  }"
            },
            {
              "kind": "field",
              "name": "items",
              "privacy": "public",
              "type": {
                "text": "Item[]",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-controller.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "activateNextItem",
              "description": "Activates the next item in the list. If at the end of the list, the first\nitem will be activated.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Item",
                  "references": [
                    {
                      "name": "Item",
                      "package": "@material/web",
                      "module": "list/internal/list-controller.js",
                      "start": 0,
                      "end": 4
                    }
                  ]
                },
                "description": "The activated list item or `null` if there are no items."
              }
            },
            {
              "kind": "method",
              "name": "activatePreviousItem",
              "description": "Activates the previous item in the list. If at the start of the list, the\nlast item will be activated.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Item",
                  "references": [
                    {
                      "name": "Item",
                      "package": "@material/web",
                      "module": "list/internal/list-controller.js",
                      "start": 0,
                      "end": 4
                    }
                  ]
                },
                "description": "The activated list item or `null` if there are no items."
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "NavigableKeys",
          "declaration": {
            "name": "NavigableKeys"
          }
        },
        {
          "kind": "js",
          "name": "ListController",
          "declaration": {
            "name": "ListController"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "list/internal/list-navigation-helpers.js",
      "declarations": [
        {
          "kind": "function",
          "name": "activateFirstItem",
          "description": "Activates the first non-disabled item of a given array of items.",
          "parameters": [
            {
              "name": "items",
              "description": "The items from which to activate the\nfirst item.",
              "type": {
                "text": "Item[]",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "name": "isActivatable",
              "description": "Function to determine if an item can be  activated.\nDefaults to non-disabled items.",
              "type": {
                "text": "(item: Item) => boolean",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              },
              "default": "isItemNotDisabled<Item>",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "Item",
              "references": [
                {
                  "name": "Item",
                  "package": "@material/web",
                  "module": "list/internal/list-navigation-helpers.js",
                  "start": 0,
                  "end": 4
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "activateLastItem",
          "description": "Activates the last non-disabled item of a given array of items.",
          "parameters": [
            {
              "name": "items",
              "description": "The items from which to activate the\nlast item.",
              "type": {
                "text": "Item[]",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "name": "isActivatable",
              "description": "Function to determine if an item can be  activated.\nDefaults to non-disabled items.",
              "type": {
                "text": "(item: Item) => boolean",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              },
              "default": "isItemNotDisabled<Item>",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "Item",
              "references": [
                {
                  "name": "Item",
                  "package": "@material/web",
                  "module": "list/internal/list-navigation-helpers.js",
                  "start": 0,
                  "end": 4
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "deactivateActiveItem",
          "description": "Deactivates the currently active item of a given array of items.",
          "parameters": [
            {
              "name": "items",
              "description": "The items from which to deactivate the\nactive item.",
              "type": {
                "text": "Item[]",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "name": "isActivatable",
              "description": "Function to determine if an item can be  activated.\nDefaults to non-disabled items.",
              "type": {
                "text": "(item: Item) => boolean",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              },
              "default": "isItemNotDisabled<Item>",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ItemRecord<Item>",
              "references": [
                {
                  "name": "ItemRecord",
                  "package": "@material/web",
                  "module": "list/internal/list-navigation-helpers.js",
                  "start": 0,
                  "end": 10
                },
                {
                  "name": "Item",
                  "package": "@material/web",
                  "module": "list/internal/list-navigation-helpers.js",
                  "start": 11,
                  "end": 15
                }
              ]
            },
            "description": "A record of the deleselcted activated item including the item and\nthe index of the item or `null` if none are deactivated."
          }
        },
        {
          "kind": "function",
          "name": "getActiveItem",
          "description": "Retrieves the first activated item of a given array of items.",
          "parameters": [
            {
              "name": "items",
              "description": "The items to search.",
              "type": {
                "text": "Item[]",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "name": "isActivatable",
              "description": "Function to determine if an item can be  activated.\nDefaults to non-disabled items.",
              "type": {
                "text": "(item: Item) => boolean",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              },
              "default": "isItemNotDisabled<Item>",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ItemRecord<Item>",
              "references": [
                {
                  "name": "ItemRecord",
                  "package": "@material/web",
                  "module": "list/internal/list-navigation-helpers.js",
                  "start": 0,
                  "end": 10
                },
                {
                  "name": "Item",
                  "package": "@material/web",
                  "module": "list/internal/list-navigation-helpers.js",
                  "start": 11,
                  "end": 15
                }
              ]
            },
            "description": "A record of the first activated item including the item and the\nindex of the item or `null` if none are activated."
          }
        },
        {
          "kind": "function",
          "name": "getFirstActivatableItem",
          "description": "Retrieves the first non-disabled item of a given array of items. This\nthe first item that is not disabled.",
          "parameters": [
            {
              "name": "items",
              "description": "The items to search.",
              "type": {
                "text": "Item[]",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "name": "isActivatable",
              "description": "Function to determine if an item can be  activated.\nDefaults to non-disabled items.",
              "type": {
                "text": "(item: Item) => boolean",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              },
              "default": "isItemNotDisabled<Item>",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "Item",
              "references": [
                {
                  "name": "Item",
                  "package": "@material/web",
                  "module": "list/internal/list-navigation-helpers.js",
                  "start": 0,
                  "end": 4
                }
              ]
            },
            "description": "The first activatable item or `null` if none are activatable."
          }
        },
        {
          "kind": "function",
          "name": "getLastActivatableItem",
          "description": "Retrieves the last non-disabled item of a given array of items.",
          "parameters": [
            {
              "name": "items",
              "description": "The items to search.",
              "type": {
                "text": "Item[]",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "name": "isActivatable",
              "description": "Function to determine if an item can be  activated.\nDefaults to non-disabled items.",
              "type": {
                "text": "(item: Item) => boolean",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              },
              "default": "isItemNotDisabled<Item>",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "Item",
              "references": [
                {
                  "name": "Item",
                  "package": "@material/web",
                  "module": "list/internal/list-navigation-helpers.js",
                  "start": 0,
                  "end": 4
                }
              ]
            },
            "description": "The last activatable item or `null` if none are activatable."
          }
        },
        {
          "kind": "function",
          "name": "getNextItem",
          "description": "Retrieves the next non-disabled item of a given array of items.",
          "parameters": [
            {
              "name": "items",
              "description": "The items to search.",
              "type": {
                "text": "Item[]",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "name": "index",
              "description": "The index to search from.",
              "type": {
                "text": "number"
              }
            },
            {
              "name": "isActivatable",
              "description": "Function to determine if an item can be  activated.\nDefaults to non-disabled items.",
              "type": {
                "text": "(item: Item) => boolean",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              },
              "default": "isItemNotDisabled<Item>",
              "optional": true
            },
            {
              "name": "wrap",
              "description": "If true, then the next item at the end of the list is the first\nitem. Defaults to true.",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "Item",
              "references": [
                {
                  "name": "Item",
                  "package": "@material/web",
                  "module": "list/internal/list-navigation-helpers.js",
                  "start": 0,
                  "end": 4
                }
              ]
            },
            "description": "The next activatable item or `null` if none are activatable."
          }
        },
        {
          "kind": "function",
          "name": "getPrevItem",
          "description": "Retrieves the previous non-disabled item of a given array of items.",
          "parameters": [
            {
              "name": "items",
              "description": "The items to search.",
              "type": {
                "text": "Item[]",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "name": "index",
              "description": "The index to search from.",
              "type": {
                "text": "number"
              }
            },
            {
              "name": "isActivatable",
              "description": "Function to determine if an item can be  activated.\nDefaults to non-disabled items.",
              "type": {
                "text": "(item: Item) => boolean",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              },
              "default": "isItemNotDisabled<Item>",
              "optional": true
            },
            {
              "name": "wrap",
              "description": "If true, then the previous item at the beginning of the list is\nthe last item. Defaults to true.",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "Item",
              "references": [
                {
                  "name": "Item",
                  "package": "@material/web",
                  "module": "list/internal/list-navigation-helpers.js",
                  "start": 0,
                  "end": 4
                }
              ]
            },
            "description": "The previous activatable item or `null` if none are activatable."
          }
        },
        {
          "kind": "function",
          "name": "activateNextItem",
          "description": "Activates the next item and focuses it. If nothing is currently activated,\nactivates the first item.",
          "parameters": [
            {
              "name": "items",
              "type": {
                "text": "Item[]",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "name": "activeItemRecord",
              "type": {
                "text": "ItemRecord<Item>",
                "references": [
                  {
                    "name": "ItemRecord",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 10
                  },
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 11,
                    "end": 15
                  }
                ]
              }
            },
            {
              "name": "isActivatable",
              "type": {
                "text": "(item: Item) => boolean",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              },
              "default": "isItemNotDisabled<Item>",
              "optional": true
            },
            {
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "Item",
              "references": [
                {
                  "name": "Item",
                  "package": "@material/web",
                  "module": "list/internal/list-navigation-helpers.js",
                  "start": 0,
                  "end": 4
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "activatePreviousItem",
          "description": "Activates the previous item and focuses it. If nothing is currently\nactivated, activates the last item.",
          "parameters": [
            {
              "name": "items",
              "type": {
                "text": "Item[]",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "name": "activeItemRecord",
              "type": {
                "text": "ItemRecord<Item>",
                "references": [
                  {
                    "name": "ItemRecord",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 10
                  },
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 11,
                    "end": 15
                  }
                ]
              }
            },
            {
              "name": "isActivatable",
              "type": {
                "text": "(item: Item) => boolean",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 7,
                    "end": 11
                  }
                ]
              },
              "default": "isItemNotDisabled<Item>",
              "optional": true
            },
            {
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "Item",
              "references": [
                {
                  "name": "Item",
                  "package": "@material/web",
                  "module": "list/internal/list-navigation-helpers.js",
                  "start": 0,
                  "end": 4
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "createDeactivateItemsEvent",
          "description": "Creates an event that requests the parent md-list to deactivate all other\nitems.",
          "return": {
            "type": {
              "text": "Event",
              "references": [
                {
                  "name": "Event",
                  "package": "global:",
                  "start": 0,
                  "end": 5
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "createRequestActivationEvent",
          "description": "Creates an event that requests the menu to set `tabindex=0` on the item and\nfocus it. We use this pattern because List keeps track of what element is\nactive in the List by maintaining tabindex. We do not want list items\nto set tabindex on themselves or focus themselves so that we can organize all\nthat logic in the parent List and Menus, and list item stays as dumb as\npossible.",
          "return": {
            "type": {
              "text": "Event",
              "references": [
                {
                  "name": "Event",
                  "package": "global:",
                  "start": 0,
                  "end": 5
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "isItemNotDisabled",
          "description": "The default `isActivatable` function, which checks if an item is not\ndisabled.",
          "parameters": [
            {
              "name": "item",
              "description": "The item to check.",
              "type": {
                "text": "Item",
                "references": [
                  {
                    "name": "Item",
                    "package": "@material/web",
                    "module": "list/internal/list-navigation-helpers.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            },
            "description": "true if `item.disabled` is `false."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "activateFirstItem",
          "declaration": {
            "name": "activateFirstItem"
          }
        },
        {
          "kind": "js",
          "name": "activateLastItem",
          "declaration": {
            "name": "activateLastItem"
          }
        },
        {
          "kind": "js",
          "name": "deactivateActiveItem",
          "declaration": {
            "name": "deactivateActiveItem"
          }
        },
        {
          "kind": "js",
          "name": "getActiveItem",
          "declaration": {
            "name": "getActiveItem"
          }
        },
        {
          "kind": "js",
          "name": "getFirstActivatableItem",
          "declaration": {
            "name": "getFirstActivatableItem"
          }
        },
        {
          "kind": "js",
          "name": "getLastActivatableItem",
          "declaration": {
            "name": "getLastActivatableItem"
          }
        },
        {
          "kind": "js",
          "name": "getNextItem",
          "declaration": {
            "name": "getNextItem"
          }
        },
        {
          "kind": "js",
          "name": "getPrevItem",
          "declaration": {
            "name": "getPrevItem"
          }
        },
        {
          "kind": "js",
          "name": "activateNextItem",
          "declaration": {
            "name": "activateNextItem"
          }
        },
        {
          "kind": "js",
          "name": "activatePreviousItem",
          "declaration": {
            "name": "activatePreviousItem"
          }
        },
        {
          "kind": "js",
          "name": "createDeactivateItemsEvent",
          "declaration": {
            "name": "createDeactivateItemsEvent"
          }
        },
        {
          "kind": "js",
          "name": "createRequestActivationEvent",
          "declaration": {
            "name": "createRequestActivationEvent"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "list/internal/list-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "list/internal/list.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "NAVIGABLE_KEY_SET",
          "type": {
            "text": "Set<string>",
            "references": [
              {
                "name": "Set",
                "package": "global:",
                "start": 0,
                "end": 3
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "List",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "slotItems",
              "description": "An array of activatable and disableable list items. Queries every assigned\nelement that has the `md-list-item` attribute.\n\n_NOTE:_ This is a shallow, flattened query via\n`HTMLSlotElement.queryAssignedElements` and thus will _only_ include direct\nchildren / directly slotted elements.",
              "privacy": "protected",
              "type": {
                "text": "(ListItem | (HTMLElement & { item?: ListItem; }))[]",
                "references": [
                  {
                    "name": "ListItem",
                    "package": "@material/web",
                    "module": "list/internal/list.js",
                    "start": 1,
                    "end": 9
                  },
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 13,
                    "end": 24
                  },
                  {
                    "name": "ListItem",
                    "package": "@material/web",
                    "module": "list/internal/list.js",
                    "start": 36,
                    "end": 44
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "listController",
              "privacy": "private",
              "type": {
                "text": "ListController<ListItem>",
                "references": [
                  {
                    "name": "ListController",
                    "package": "@material/web",
                    "module": "list/internal/list-controller.js",
                    "start": 0,
                    "end": 14
                  },
                  {
                    "name": "ListItem",
                    "package": "@material/web",
                    "module": "list/internal/list.js",
                    "start": 15,
                    "end": 23
                  }
                ]
              },
              "default": "new ListController<ListItem>({\n    isItem: (item: HTMLElement): item is ListItem =>\n      item.hasAttribute('md-list-item'),\n    getPossibleItems: () => this.slotItems,\n    isRtl: () => getComputedStyle(this).direction === 'rtl',\n    deactivateItem: (item) => {\n      item.tabIndex = -1;\n    },\n    activateItem: (item) => {\n      item.tabIndex = 0;\n    },\n    isNavigableKey: (key) => NAVIGABLE_KEY_SET.has(key),\n    isActivatable: (item) => !item.disabled && item.type !== 'text',\n  })"
            },
            {
              "kind": "field",
              "name": "internals",
              "privacy": "private",
              "type": {
                "text": "ElementInternals",
                "references": [
                  {
                    "name": "ElementInternals",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              },
              "default": "(this as HTMLElement).attachInternals()"
            },
            {
              "kind": "field",
              "name": "items",
              "privacy": "public",
              "type": {
                "text": "ListItem[]",
                "references": [
                  {
                    "name": "ListItem",
                    "package": "@material/web",
                    "module": "list/internal/list.js",
                    "start": 0,
                    "end": 8
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "activateNextItem",
              "description": "Activates the next item in the list. If at the end of the list, the first\nitem will be activated.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "ListItem",
                  "references": [
                    {
                      "name": "ListItem",
                      "package": "@material/web",
                      "module": "list/internal/list.js",
                      "start": 0,
                      "end": 8
                    }
                  ]
                },
                "description": "The activated list item or `null` if there are no items."
              }
            },
            {
              "kind": "method",
              "name": "activatePreviousItem",
              "description": "Activates the previous item in the list. If at the start of the list, the\nlast item will be activated.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "ListItem",
                  "references": [
                    {
                      "name": "ListItem",
                      "package": "@material/web",
                      "module": "list/internal/list.js",
                      "start": 0,
                      "end": 8
                    }
                  ]
                },
                "description": "The activated list item or `null` if there are no items."
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "List",
          "declaration": {
            "name": "List"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "list/internal/listitem/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "ListItemHarness",
          "description": "Test harness for list item.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "pressHandledKey",
              "description": "Constructs keyboard events that are handled by List and makes sure that\nthey are constructed in a manner that List understands.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "key",
                  "description": "The key to dispatch on the list.",
                  "type": {
                    "text": "U",
                    "references": [
                      {
                        "name": "U",
                        "package": "@material/web",
                        "module": "list/internal/listitem/harness.js",
                        "start": 0,
                        "end": 1
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListItemHarness",
          "declaration": {
            "name": "ListItemHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "list/internal/listitem/list-item-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "list/internal/listitem/list-item.js",
      "declarations": [
        {
          "kind": "class",
          "name": "listItemBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "ListItemEl",
          "superclass": {
            "name": "listItemBaseClass",
            "package": "@material/web",
            "module": "list/internal/listitem/list-item.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "disabled",
              "description": "Disables the item and makes it non-selectable and non-interactive.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "type",
              "description": "Sets the behavior of the list item, defaults to \"text\". Change to \"link\" or\n\"button\" for interactive items.",
              "privacy": "public",
              "type": {
                "text": "ListItemType",
                "references": [
                  {
                    "name": "ListItemType",
                    "package": "@material/web",
                    "module": "list/internal/listitem/list-item.js",
                    "start": 0,
                    "end": 12
                  }
                ]
              },
              "default": "'text'",
              "attribute": "type",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "isListItem",
              "description": "READONLY. Sets the `md-list-item` attribute on the element.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "attribute": "md-list-item",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "href",
              "description": "Sets the underlying `HTMLAnchorElement`'s `href` resource attribute.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "description": "Sets the underlying `HTMLAnchorElement`'s `target` attribute when `href` is\nset.",
              "privacy": "public",
              "type": {
                "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
              },
              "default": "''",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "listItemRoot",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "isDisabled",
              "privacy": "private",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "{ delegatesFocus: boolean; clonable?: boolean; customElementRegistry?: CustomElementRegistry; mode: ShadowRootMode; serializable?: boolean; slotAssignment?: SlotAssignmentMode; }",
                "references": [
                  {
                    "name": "CustomElementRegistry",
                    "package": "global:",
                    "start": 71,
                    "end": 92
                  },
                  {
                    "name": "ShadowRootMode",
                    "package": "global:",
                    "start": 100,
                    "end": 114
                  },
                  {
                    "name": "SlotAssignmentMode",
                    "package": "global:",
                    "start": 157,
                    "end": 175
                  }
                ]
              },
              "default": "{\n    ...LitElement.shadowRootOptions,\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "method",
              "name": "willUpdate",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changed",
                  "type": {
                    "text": "PropertyValueMap<ListItemEl>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "ListItemEl",
                        "package": "@material/web",
                        "module": "list/internal/listitem/list-item.js",
                        "start": 17,
                        "end": 27
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderListItem",
              "description": "Renders the root list item.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "content",
                  "description": "the child content of the list item.",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderRipple",
              "description": "Handles rendering of the ripple element.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderFocusRing",
              "description": "Handles rendering of the focus ring.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "onFocusRingVisibilityChanged",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "description": "Classes applied to the list item root.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "ClassInfo",
                  "references": [
                    {
                      "name": "ClassInfo",
                      "package": "lit",
                      "module": "directives/class-map.js",
                      "start": 0,
                      "end": 9
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderBody",
              "description": "Handles rendering the headline and supporting text.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "onFocus",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "click",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "disabled"
            },
            {
              "name": "type",
              "type": {
                "text": "string"
              },
              "fieldName": "type"
            },
            {
              "name": "md-list-item",
              "type": {
                "text": "boolean"
              },
              "fieldName": "isListItem"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "fieldName": "target"
            }
          ],
          "events": [
            {
              "name": "request-activation",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Requests the list to set `tabindex=0` on\nthe item and focus it. Used internally for list keyboard navigation; most\napplications do not need to listen for this event. It is exposed for\nauthors building their own list-item replacements or wrapping items in a\ncustom controller. --bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListItemEl",
          "declaration": {
            "name": "ListItemEl"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MenuHarness",
          "description": "Test harness for menu.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "description": "Shows the menu and returns the first list item element.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<Menu>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "Menu",
                      "package": "@material/web",
                      "module": "menu/internal/menu.js",
                      "start": 8,
                      "end": 12
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getItems",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "MenuItemHarness[]",
                  "references": [
                    {
                      "name": "MenuItemHarness",
                      "package": "@material/web",
                      "module": "menu/internal/menuitem/harness.js",
                      "start": 0,
                      "end": 15
                    }
                  ]
                },
                "description": "ListItem harnesses for the menu's items."
              }
            },
            {
              "kind": "method",
              "name": "show",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MenuItemHarness",
          "declaration": {
            "name": "MenuItemHarness",
            "package": "@material/web",
            "module": "menu/internal/menuitem/harness.js"
          }
        },
        {
          "kind": "js",
          "name": "MenuHarness",
          "declaration": {
            "name": "MenuHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/menu-item.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdMenuItem",
          "description": "Menu items are the selectable choices within the menu. Menu items must\nimplement the `MenuItem` interface and also have the `md-menu-item`\nattribute. Additionally menu items are list items so they must also have the\n`md-list-item` attribute.\n\nMenu items can control a menu by selectively firing the `close-menu` and\n`deselect-items` events.",
          "summary": "Menus display a list of choices on a temporary surface.",
          "superclass": {
            "name": "MenuItemEl",
            "package": "@material/web",
            "module": "menu/internal/menuitem/menu-item.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-menu-item",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MenuItem",
          "declaration": {
            "name": "MenuItem",
            "package": "@material/web",
            "module": "menu/internal/controllers/menuItemController.js"
          }
        },
        {
          "kind": "js",
          "name": "CloseMenuEvent",
          "declaration": {
            "name": "CloseMenuEvent",
            "package": "@material/web",
            "module": "menu/internal/controllers/shared.js"
          }
        },
        {
          "kind": "js",
          "name": "MdMenuItem",
          "declaration": {
            "name": "MdMenuItem"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-menu-item",
          "declaration": {
            "name": "MdMenuItem"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/menu.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdMenu",
          "description": "Menus appear when users interact with a button, action, or other control.\n\nThey can be opened from a variety of elements, most commonly icon buttons,\nbuttons, and text fields.\n\nmd-menu listens for the `close-menu` and `deselect-items` events.\n\n- `close-menu` closes the menu when dispatched from a child element.\n- `deselect-items` deselects all of its immediate menu-item children.",
          "summary": "Menus display a list of choices on a temporary surface.",
          "superclass": {
            "name": "Menu",
            "package": "@material/web",
            "module": "menu/internal/menu.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-menu",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListItem",
          "declaration": {
            "name": "ListItem",
            "package": "@material/web",
            "module": "list/internal/list-navigation-helpers.js"
          }
        },
        {
          "kind": "js",
          "name": "MenuItem",
          "declaration": {
            "name": "MenuItem",
            "package": "@material/web",
            "module": "menu/internal/controllers/menuItemController.js"
          }
        },
        {
          "kind": "js",
          "name": "CloseReason",
          "declaration": {
            "name": "CloseReason",
            "package": "@material/web",
            "module": "menu/internal/controllers/shared.js"
          }
        },
        {
          "kind": "js",
          "name": "FocusState",
          "declaration": {
            "name": "FocusState",
            "package": "@material/web",
            "module": "menu/internal/controllers/shared.js"
          }
        },
        {
          "kind": "js",
          "name": "CloseMenuEvent",
          "declaration": {
            "name": "CloseMenuEvent",
            "package": "@material/web",
            "module": "menu/internal/controllers/shared.js"
          }
        },
        {
          "kind": "js",
          "name": "Menu",
          "declaration": {
            "name": "Menu",
            "package": "@material/web",
            "module": "menu/internal/controllers/shared.js"
          }
        },
        {
          "kind": "js",
          "name": "Corner",
          "declaration": {
            "name": "Corner",
            "package": "@material/web",
            "module": "menu/internal/menu.js"
          }
        },
        {
          "kind": "js",
          "name": "MdMenu",
          "declaration": {
            "name": "MdMenu"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-menu",
          "declaration": {
            "name": "MdMenu"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/sub-menu.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdSubMenu",
          "description": "Menu items are the selectable choices within the menu. Menu items must\nimplement the `Menu` interface and also have the `md-menu`\nattribute. Additionally menu items are list items so they must also have the\n`md-list-item` attribute.\n\nMenu items can control a menu by selectively firing the `close-menu` and\n`deselect-items` events.\n\nThis menu item will open a sub-menu that is slotted in the `submenu` slot.\nAdditionally, the containing menu must either have `has-overflow` or\n`positioning=fixed` set to `true` in order to display the containing menu\nproperly.",
          "summary": "Menus display a list of choices on a temporary surface.",
          "superclass": {
            "name": "SubMenu",
            "package": "@material/web",
            "module": "menu/internal/submenu/sub-menu.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-sub-menu",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdSubMenu",
          "declaration": {
            "name": "MdSubMenu"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-sub-menu",
          "declaration": {
            "name": "MdSubMenu"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/internal/menu-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/internal/menu.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "DEFAULT_TYPEAHEAD_BUFFER_TIME",
          "description": "The default value for the typeahead buffer time in Milliseconds.",
          "type": {
            "text": "number"
          }
        },
        {
          "kind": "variable",
          "name": "submenuNavKeys",
          "type": {
            "text": "Set<string>",
            "references": [
              {
                "name": "Set",
                "package": "global:",
                "start": 0,
                "end": 3
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "menuNavKeys",
          "type": {
            "text": "Set<string>",
            "references": [
              {
                "name": "Set",
                "package": "global:",
                "start": 0,
                "end": 3
              }
            ]
          }
        },
        {
          "kind": "function",
          "name": "getFocusedElement",
          "description": "Gets the currently focused element on the page.",
          "parameters": [
            {
              "name": "activeDoc",
              "description": "The document or shadowroot from which to start the search.\nDefaults to `window.document`",
              "type": {
                "text": "ShadowRoot | Document",
                "references": [
                  {
                    "name": "ShadowRoot",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  },
                  {
                    "name": "Document",
                    "package": "global:",
                    "start": 13,
                    "end": 21
                  }
                ]
              },
              "default": "document",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "HTMLElement",
              "references": [
                {
                  "name": "HTMLElement",
                  "package": "global:",
                  "start": 0,
                  "end": 11
                }
              ]
            },
            "description": "Returns the currently deeply focused element or `null` if none."
          }
        },
        {
          "kind": "class",
          "name": "Menu",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "surfaceEl",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "slotEl",
              "privacy": "private",
              "type": {
                "text": "HTMLSlotElement",
                "references": [
                  {
                    "name": "HTMLSlotElement",
                    "package": "global:",
                    "start": 0,
                    "end": 15
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "anchor",
              "description": "The ID of the element in the same root node in which the menu should align\nto. Overrides setting `anchorElement = elementReference`.\n\n__NOTE__: anchor or anchorElement must either be an HTMLElement or resolve\nto an HTMLElement in order for menu to open.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "anchor"
            },
            {
              "kind": "field",
              "name": "positioning",
              "description": "Whether the positioning algorithm should calculate relative to the parent\nof the anchor element (`absolute`), relative to the window (`fixed`), or\nrelative to the document (`document`). `popover` will use the popover API\nto render the menu in the top-layer. If your browser does not support the\npopover API, it will fall back to `fixed`.\n\n__Examples for `position = 'fixed'`:__\n\n- If there is no `position:relative` in the given parent tree and the\n  surface is `position:absolute`\n- If the surface is `position:fixed`\n- If the surface is in the \"top layer\"\n- The anchor and the surface do not share a common `position:relative`\n  ancestor\n\nWhen using `positioning=fixed`, in most cases, the menu should position\nitself above most other `position:absolute` or `position:fixed` elements\nwhen placed inside of them. e.g. using a menu inside of an `md-dialog`.\n\n__NOTE__: Fixed menus will not scroll with the page and will be fixed to\nthe window instead.\n\n__Examples for `position = 'document'`:__\n\n- There is no parent that creates a relative positioning context e.g.\n  `position: relative`, `position: absolute`, `transform: translate(x, y)`,\n  etc.\n- You put the effort into hoisting the menu to the top of the DOM like the\n  end of the `<body>` to render over everything or in a top-layer.\n- You are reusing a single `md-menu` element that dynamically renders\n  content.\n\n__Examples for `position = 'popover'`:__\n\n- Your browser supports `popover`.\n- Most cases. Once popover is in browsers, this will become the default.",
              "privacy": "public",
              "type": {
                "text": "\"document\" | \"absolute\" | \"fixed\" | \"popover\""
              },
              "default": "'absolute'",
              "attribute": "positioning"
            },
            {
              "kind": "field",
              "name": "quick",
              "description": "Skips the opening and closing animations.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "quick"
            },
            {
              "kind": "field",
              "name": "hasOverflow",
              "description": "Displays overflow content like a submenu. Not required in most cases when\nusing `positioning=\"popover\"`.\n\n__NOTE__: This may cause adverse effects if you set\n`md-menu {max-height:...}`\nand have items overflowing items in the \"y\" direction.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "has-overflow"
            },
            {
              "kind": "field",
              "name": "open",
              "description": "Opens the menu and makes it visible. Alternative to the `.show()` and\n`.close()` methods",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "xOffset",
              "description": "Offsets the menu's inline alignment from the anchor by the given number in\npixels. This value is direction aware and will follow the LTR / RTL\ndirection.\n\ne.g. LTR: positive -> right, negative -> left\n     RTL: positive -> left, negative -> right",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "x-offset"
            },
            {
              "kind": "field",
              "name": "yOffset",
              "description": "Offsets the menu's block alignment from the anchor by the given number in\npixels.\n\ne.g. positive -> down, negative -> up",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "y-offset"
            },
            {
              "kind": "field",
              "name": "noHorizontalFlip",
              "description": "Disable the `flip` behavior that usually happens on the horizontal axis\nwhen the surface would render outside the viewport.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-horizontal-flip"
            },
            {
              "kind": "field",
              "name": "noVerticalFlip",
              "description": "Disable the `flip` behavior that usually happens on the vertical axis when\nthe surface would render outside the viewport.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-vertical-flip"
            },
            {
              "kind": "field",
              "name": "typeaheadDelay",
              "description": "The max time between the keystrokes of the typeahead menu behavior before\nit clears the typeahead buffer.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "DEFAULT_TYPEAHEAD_BUFFER_TIME",
              "attribute": "typeahead-delay"
            },
            {
              "kind": "field",
              "name": "anchorCorner",
              "description": "The corner of the anchor which to align the menu in the standard logical\nproperty style of <block>-<inline> e.g. `'end-start'`.\n\nNOTE: This value may not be respected by the menu positioning algorithm\nif the menu would render outisde the viewport.\nUse `no-horizontal-flip` or `no-vertical-flip` to force the usage of the value",
              "privacy": "public",
              "type": {
                "text": "Corner",
                "references": [
                  {
                    "name": "Corner",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/surfacePositionController.js",
                    "start": 0,
                    "end": 6
                  }
                ]
              },
              "default": "Corner.END_START",
              "attribute": "anchor-corner"
            },
            {
              "kind": "field",
              "name": "menuCorner",
              "description": "The corner of the menu which to align the anchor in the standard logical\nproperty style of <block>-<inline> e.g. `'start-start'`.\n\nNOTE: This value may not be respected by the menu positioning algorithm\nif the menu would render outisde the viewport.\nUse `no-horizontal-flip` or `no-vertical-flip` to force the usage of the value",
              "privacy": "public",
              "type": {
                "text": "Corner",
                "references": [
                  {
                    "name": "Corner",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/surfacePositionController.js",
                    "start": 0,
                    "end": 6
                  }
                ]
              },
              "default": "Corner.START_START",
              "attribute": "menu-corner"
            },
            {
              "kind": "field",
              "name": "stayOpenOnOutsideClick",
              "description": "Keeps the user clicks outside the menu.\n\nNOTE: clicking outside may still cause focusout to close the menu so see\n`stayOpenOnFocusout`.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "stay-open-on-outside-click"
            },
            {
              "kind": "field",
              "name": "stayOpenOnFocusout",
              "description": "Keeps the menu open when focus leaves the menu's composed subtree.\n\nNOTE: Focusout behavior will stop propagation of the focusout event. Set\nthis property to true to opt-out of menu's focusout handling altogether.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "stay-open-on-focusout"
            },
            {
              "kind": "field",
              "name": "skipRestoreFocus",
              "description": "After closing, does not restore focus to the last focused element before\nthe menu was opened.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "skip-restore-focus"
            },
            {
              "kind": "field",
              "name": "defaultFocus",
              "description": "The element that should be focused by default once opened.\n\nNOTE: When setting default focus to 'LIST_ROOT', remember to change\n`tabindex` to `0` and change md-menu's display to something other than\n`display: contents` when necessary.",
              "privacy": "public",
              "type": {
                "text": "FocusState",
                "references": [
                  {
                    "name": "FocusState",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/shared.js",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "default": "FocusState.FIRST_ITEM",
              "attribute": "default-focus"
            },
            {
              "kind": "field",
              "name": "noNavigationWrap",
              "description": "Turns off navigation wrapping. By default, navigating past the end of the\nmenu items will wrap focus back to the beginning and vice versa. Use this\nfor ARIA patterns that do not wrap focus, like combobox.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-navigation-wrap"
            },
            {
              "kind": "field",
              "name": "slotItems",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "typeaheadActive",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "true"
            },
            {
              "kind": "field",
              "name": "isSubmenu",
              "description": "Whether or not the current menu is a submenu and should not handle specific\nnavigation keys.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "pointerPath",
              "description": "The event path of the last window pointerdown event.",
              "privacy": "private",
              "type": {
                "text": "EventTarget[]",
                "references": [
                  {
                    "name": "EventTarget",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "isRepositioning",
              "description": "Whether or not the menu is repositoining due to window / document resize",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "openCloseAnimationSignal",
              "privacy": "private",
              "type": {
                "text": "AnimationSignal",
                "references": [
                  {
                    "name": "AnimationSignal",
                    "package": "@material/web",
                    "module": "internal/motion/animation.js",
                    "start": 0,
                    "end": 15
                  }
                ]
              },
              "default": "createAnimationSignal()"
            },
            {
              "kind": "field",
              "name": "listController",
              "privacy": "private",
              "type": {
                "text": "ListController<MenuItem>",
                "references": [
                  {
                    "name": "ListController",
                    "package": "@material/web",
                    "module": "list/internal/list-controller.js",
                    "start": 0,
                    "end": 14
                  },
                  {
                    "name": "MenuItem",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/menuItemController.js",
                    "start": 15,
                    "end": 23
                  }
                ]
              },
              "default": "new ListController<MenuItem>({\n    isItem: (maybeItem: HTMLElement): maybeItem is MenuItem => {\n      return maybeItem.hasAttribute('md-menu-item');\n    },\n    getPossibleItems: () => this.slotItems,\n    isRtl: () => getComputedStyle(this).direction === 'rtl',\n    deactivateItem: (item: MenuItem) => {\n      item.selected = false;\n      item.tabIndex = -1;\n    },\n    activateItem: (item: MenuItem) => {\n      item.selected = true;\n      item.tabIndex = 0;\n    },\n    isNavigableKey: (key: string) => {\n      if (!this.isSubmenu) {\n        return menuNavKeys.has(key);\n      }\n\n      const isRtl = getComputedStyle(this).direction === 'rtl';\n      // we want md-submenu to handle the submenu's left/right arrow exit\n      // key so it can close the menu instead of navigate the list.\n      // Therefore we need to include all keys but left/right arrow close\n      // key\n      const arrowOpen = isRtl\n        ? NavigableKeys.ArrowLeft\n        : NavigableKeys.ArrowRight;\n\n      if (key === arrowOpen) {\n        return true;\n      }\n\n      return submenuNavKeys.has(key);\n    },\n    wrapNavigation: () => !this.noNavigationWrap,\n  })"
            },
            {
              "kind": "field",
              "name": "lastFocusedElement",
              "description": "The element that was focused before the menu opened.",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "typeaheadController",
              "description": "Handles typeahead navigation through the menu.",
              "privacy": "public",
              "type": {
                "text": "TypeaheadController",
                "references": [
                  {
                    "name": "TypeaheadController",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/typeaheadController.js",
                    "start": 0,
                    "end": 19
                  }
                ]
              },
              "default": "new TypeaheadController(() => {\n    return {\n      getItems: () => this.items,\n      typeaheadBufferTime: this.typeaheadDelay,\n      active: this.typeaheadActive,\n    };\n  })"
            },
            {
              "kind": "field",
              "name": "currentAnchorElement",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "internals",
              "privacy": "private",
              "type": {
                "text": "ElementInternals",
                "references": [
                  {
                    "name": "ElementInternals",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              },
              "default": "(this as HTMLElement).attachInternals()"
            },
            {
              "kind": "field",
              "name": "menuPositionController",
              "description": "Handles positioning the surface and aligning it to the anchor as well as\nkeeping it in the viewport.",
              "privacy": "private",
              "type": {
                "text": "SurfacePositionController",
                "references": [
                  {
                    "name": "SurfacePositionController",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/surfacePositionController.js",
                    "start": 0,
                    "end": 25
                  }
                ]
              },
              "default": "new SurfacePositionController(\n    this,\n    () => {\n      return {\n        anchorCorner: this.anchorCorner,\n        surfaceCorner: this.menuCorner,\n        surfaceEl: this.surfaceEl,\n        anchorEl: this.anchorElement,\n        positioning:\n          this.positioning === 'popover' ? 'document' : this.positioning,\n        isOpen: this.open,\n        xOffset: this.xOffset,\n        yOffset: this.yOffset,\n        disableBlockFlip: this.noVerticalFlip,\n        disableInlineFlip: this.noHorizontalFlip,\n        onOpen: this.onOpened,\n        beforeClose: this.beforeClose,\n        onClose: this.onClosed,\n        // We can't resize components that have overflow like menus with\n        // submenus because the overflow-y will show menu items / content\n        // outside the bounds of the menu. Popover API fixes this because each\n        // submenu is hoisted to the top-layer and are not considered overflow\n        // content.\n        repositionStrategy:\n          this.hasOverflow && this.positioning !== 'popover'\n            ? 'move'\n            : 'resize',\n      };\n    },\n  )"
            },
            {
              "kind": "field",
              "name": "onWindowResize",
              "privacy": "private",
              "type": {
                "text": "() => void"
              },
              "default": "() => {\n    if (\n      this.isRepositioning ||\n      (this.positioning !== 'document' &&\n        this.positioning !== 'fixed' &&\n        this.positioning !== 'popover')\n    ) {\n      return;\n    }\n    this.isRepositioning = true;\n    this.reposition();\n    this.isRepositioning = false;\n  }"
            },
            {
              "kind": "field",
              "name": "handleFocusout",
              "privacy": "private",
              "type": {
                "text": "(event: FocusEvent) => Promise<void>",
                "references": [
                  {
                    "name": "FocusEvent",
                    "package": "global:",
                    "start": 8,
                    "end": 18
                  },
                  {
                    "name": "Promise",
                    "package": "global:",
                    "start": 23,
                    "end": 30
                  }
                ]
              },
              "default": "async (event: FocusEvent) => {\n    const anchorEl = this.anchorElement!;\n    // Do not close if we focused out by clicking on the anchor element. We\n    // can't assume anchor buttons can be the related target because of iOS does\n    // not focus buttons.\n    if (\n      this.stayOpenOnFocusout ||\n      !this.open ||\n      this.pointerPath.includes(anchorEl)\n    ) {\n      return;\n    }\n\n    if (event.relatedTarget) {\n      // Don't close the menu if we are switching focus between menu,\n      // md-menu-item, and md-list or if the anchor was click focused, but check\n      // if length of pointerPath is 0 because that means something was at least\n      // clicked (shift+tab case).\n      if (\n        isElementInSubtree(event.relatedTarget, this) ||\n        (this.pointerPath.length !== 0 &&\n          isElementInSubtree(event.relatedTarget, anchorEl))\n      ) {\n        return;\n      }\n    } else if (this.pointerPath.includes(this)) {\n      // If menu tabindex == -1 and the user clicks on the menu or a divider, we\n      // want to keep the menu open.\n      return;\n    }\n\n    const oldRestoreFocus = this.skipRestoreFocus;\n    // allow focus to continue to the next focused object rather than returning\n    this.skipRestoreFocus = true;\n    this.close();\n    // await for close\n    await this.updateComplete;\n    // return to previous behavior\n    this.skipRestoreFocus = oldRestoreFocus;\n  }"
            },
            {
              "kind": "field",
              "name": "onOpened",
              "description": "Saves the last focused element focuses the new element based on\n`defaultFocus`, and animates open.",
              "privacy": "private",
              "type": {
                "text": "() => Promise<void>",
                "references": [
                  {
                    "name": "Promise",
                    "package": "global:",
                    "start": 6,
                    "end": 13
                  }
                ]
              },
              "default": "async () => {\n    this.lastFocusedElement = getFocusedElement();\n\n    const items = this.items;\n    const activeItemRecord = getActiveItem(items);\n\n    if (activeItemRecord && this.defaultFocus !== FocusState.NONE) {\n      activeItemRecord.item.tabIndex = -1;\n    }\n\n    let animationAborted = !this.quick;\n\n    if (this.quick) {\n      this.dispatchEvent(new Event('opening'));\n    } else {\n      animationAborted = !!(await this.animateOpen());\n    }\n\n    // This must come after the opening animation or else it may focus one of\n    // the items before the animation has begun and causes the list to slide\n    // (block-padding-of-the-menu)px at the end of the animation\n    switch (this.defaultFocus) {\n      case FocusState.FIRST_ITEM:\n        const first = getFirstActivatableItem(items);\n        if (first) {\n          first.tabIndex = 0;\n          first.focus();\n          await (first as LitElement & MenuItem).updateComplete;\n        }\n        break;\n      case FocusState.LAST_ITEM:\n        const last = getLastActivatableItem(items);\n        if (last) {\n          last.tabIndex = 0;\n          last.focus();\n          await (last as LitElement & MenuItem).updateComplete;\n        }\n        break;\n      case FocusState.LIST_ROOT:\n        this.focus();\n        break;\n      default:\n      case FocusState.NONE:\n        // Do nothing.\n        break;\n    }\n\n    if (!animationAborted) {\n      this.dispatchEvent(new Event('opened'));\n    }\n  }"
            },
            {
              "kind": "field",
              "name": "beforeClose",
              "description": "Animates closed.",
              "privacy": "private",
              "type": {
                "text": "() => Promise<void>",
                "references": [
                  {
                    "name": "Promise",
                    "package": "global:",
                    "start": 6,
                    "end": 13
                  }
                ]
              },
              "default": "async () => {\n    this.open = false;\n\n    if (!this.skipRestoreFocus) {\n      this.lastFocusedElement?.focus?.();\n    }\n\n    if (!this.quick) {\n      await this.animateClose();\n    }\n  }"
            },
            {
              "kind": "field",
              "name": "onClosed",
              "description": "Focuses the last focused element.",
              "privacy": "private",
              "type": {
                "text": "() => void"
              },
              "default": "() => {\n    if (this.quick) {\n      this.dispatchEvent(new Event('closing'));\n      this.dispatchEvent(new Event('closed'));\n    }\n  }"
            },
            {
              "kind": "field",
              "name": "onWindowPointerdown",
              "privacy": "private",
              "type": {
                "text": "(event: PointerEvent) => void",
                "references": [
                  {
                    "name": "PointerEvent",
                    "package": "global:",
                    "start": 8,
                    "end": 20
                  }
                ]
              },
              "default": "(event: PointerEvent) => {\n    this.pointerPath = event.composedPath();\n  }"
            },
            {
              "kind": "field",
              "name": "onDocumentClick",
              "description": "We cannot listen to window click because Safari on iOS will not bubble a\nclick event on window if the item clicked is not a \"clickable\" item such as\n<body>",
              "privacy": "private",
              "type": {
                "text": "(event: Event) => void",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 8,
                    "end": 13
                  }
                ]
              },
              "default": "(event: Event) => {\n    if (!this.open) {\n      return;\n    }\n\n    const path = event.composedPath();\n\n    if (\n      !this.stayOpenOnOutsideClick &&\n      !path.includes(this) &&\n      !path.includes(this.anchorElement!)\n    ) {\n      this.open = false;\n    }\n  }"
            },
            {
              "kind": "field",
              "name": "openDirection",
              "privacy": "private",
              "type": {
                "text": "\"UP\" | \"DOWN\""
              }
            },
            {
              "kind": "field",
              "name": "anchorElement",
              "privacy": "public",
              "type": {
                "text": "HTMLElement & Partial<SurfacePositionTarget>",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  },
                  {
                    "name": "Partial",
                    "package": "global:",
                    "start": 14,
                    "end": 21
                  },
                  {
                    "name": "SurfacePositionTarget",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/surfacePositionController.js",
                    "start": 22,
                    "end": 43
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "items",
              "privacy": "public",
              "type": {
                "text": "MenuItem[]",
                "references": [
                  {
                    "name": "MenuItem",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/menuItemController.js",
                    "start": 0,
                    "end": 8
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "willUpdate",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changed",
                  "type": {
                    "text": "PropertyValueMap<Menu>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Menu",
                        "package": "@material/web",
                        "module": "menu/internal/menu.js",
                        "start": 17,
                        "end": 21
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "update",
              "privacy": "public",
              "parameters": [
                {
                  "name": "changed",
                  "type": {
                    "text": "PropertyValueMap<Menu>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Menu",
                        "package": "@material/web",
                        "module": "menu/internal/menu.js",
                        "start": 17,
                        "end": 21
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "connectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "disconnectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getBoundingClientRect",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "DOMRect",
                  "references": [
                    {
                      "name": "DOMRect",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getClientRects",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "DOMRectList",
                  "references": [
                    {
                      "name": "DOMRectList",
                      "package": "global:",
                      "start": 0,
                      "end": 11
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderSurface",
              "description": "Renders the positionable surface element and its contents.",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderMenuItems",
              "description": "Renders the menu items' slot",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderElevation",
              "description": "Renders the elevation component.",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getSurfaceClasses",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ClassInfo",
                  "references": [
                    {
                      "name": "ClassInfo",
                      "package": "lit",
                      "module": "directives/class-map.js",
                      "start": 0,
                      "end": 9
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "captureKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "animateOpen",
              "description": "Performs the opening animation:\n\nhttps://direct.googleplex.com/#/spec/295000003+271060003",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<boolean>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                },
                "description": "A promise that resolve to `true` if the animation was aborted,\n`false` if it was not aborted."
              }
            },
            {
              "kind": "method",
              "name": "animateClose",
              "description": "Performs the closing animation:\n\nhttps://direct.googleplex.com/#/spec/295000003+271060003",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<unknown>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "setUpGlobalEventListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "cleanUpGlobalEventListeners",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "onCloseMenu",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "onDeactivateItems",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "onRequestActivation",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleDeactivateTypeahead",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleActivateTypeahead",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleStayOpenOnFocusout",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleCloseOnFocusout",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "close",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "show",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "activateNextItem",
              "description": "Activates the next item in the menu. If at the end of the menu, the first\nitem will be activated.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "MenuItem",
                  "references": [
                    {
                      "name": "MenuItem",
                      "package": "@material/web",
                      "module": "menu/internal/controllers/menuItemController.js",
                      "start": 0,
                      "end": 8
                    }
                  ]
                },
                "description": "The activated menu item or `null` if there are no items."
              }
            },
            {
              "kind": "method",
              "name": "activatePreviousItem",
              "description": "Activates the previous item in the menu. If at the start of the menu, the\nlast item will be activated.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "MenuItem",
                  "references": [
                    {
                      "name": "MenuItem",
                      "package": "@material/web",
                      "module": "menu/internal/controllers/menuItemController.js",
                      "start": 0,
                      "end": 8
                    }
                  ]
                },
                "description": "The activated menu item or `null` if there are no items."
              }
            },
            {
              "kind": "method",
              "name": "reposition",
              "description": "Repositions the menu if it is open.\n\nUseful for the case where document or window-positioned menus have their\nanchors moved while open.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "anchor",
              "type": {
                "text": "string"
              },
              "fieldName": "anchor"
            },
            {
              "name": "positioning",
              "type": {
                "text": "string"
              },
              "fieldName": "positioning"
            },
            {
              "name": "quick",
              "type": {
                "text": "boolean"
              },
              "fieldName": "quick"
            },
            {
              "name": "has-overflow",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hasOverflow"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "fieldName": "open"
            },
            {
              "name": "x-offset",
              "type": {
                "text": "number"
              },
              "fieldName": "xOffset"
            },
            {
              "name": "y-offset",
              "type": {
                "text": "number"
              },
              "fieldName": "yOffset"
            },
            {
              "name": "no-horizontal-flip",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noHorizontalFlip"
            },
            {
              "name": "no-vertical-flip",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noVerticalFlip"
            },
            {
              "name": "typeahead-delay",
              "type": {
                "text": "number"
              },
              "fieldName": "typeaheadDelay"
            },
            {
              "name": "anchor-corner",
              "type": {
                "text": "string"
              },
              "fieldName": "anchorCorner"
            },
            {
              "name": "menu-corner",
              "type": {
                "text": "string"
              },
              "fieldName": "menuCorner"
            },
            {
              "name": "stay-open-on-outside-click",
              "type": {
                "text": "boolean"
              },
              "fieldName": "stayOpenOnOutsideClick"
            },
            {
              "name": "stay-open-on-focusout",
              "type": {
                "text": "boolean"
              },
              "fieldName": "stayOpenOnFocusout"
            },
            {
              "name": "skip-restore-focus",
              "type": {
                "text": "boolean"
              },
              "fieldName": "skipRestoreFocus"
            },
            {
              "name": "default-focus",
              "type": {
                "text": "string"
              },
              "fieldName": "defaultFocus"
            },
            {
              "name": "no-navigation-wrap",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noNavigationWrap"
            }
          ],
          "events": [
            {
              "name": "opening",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired before the opening animation begins"
            },
            {
              "name": "opened",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired once the menu is open, after any animations"
            },
            {
              "name": "closing",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired before the closing animation begins"
            },
            {
              "name": "closed",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired once the menu is closed, after any animations"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Corner",
          "declaration": {
            "name": "Corner",
            "package": "@material/web",
            "module": "menu/internal/controllers/surfacePositionController.js"
          }
        },
        {
          "kind": "js",
          "name": "DEFAULT_TYPEAHEAD_BUFFER_TIME",
          "declaration": {
            "name": "DEFAULT_TYPEAHEAD_BUFFER_TIME"
          }
        },
        {
          "kind": "js",
          "name": "Menu",
          "declaration": {
            "name": "Menu"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/internal/types.js"
    },
    {
      "kind": "javascript-module",
      "path": "menu/internal/controllers/menuItemController.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MenuItemController",
          "description": "A controller that provides most functionality of an element that implements\nthe MenuItem interface.",
          "members": [
            {
              "kind": "field",
              "name": "internalTypeaheadText",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "getHeadlineElements",
              "privacy": "public",
              "type": {
                "text": "() => HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 6,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "getSupportingTextElements",
              "privacy": "public",
              "type": {
                "text": "() => HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 6,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "getDefaultElements",
              "privacy": "public",
              "type": {
                "text": "() => Node[]",
                "references": [
                  {
                    "name": "Node",
                    "package": "global:",
                    "start": 6,
                    "end": 10
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "getInteractiveElement",
              "privacy": "public",
              "type": {
                "text": "() => HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 6,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "onClick",
              "description": "Bind this click listener to the interactive element. Handles closing the\nmenu.",
              "privacy": "public",
              "type": {
                "text": "() => void"
              },
              "default": "() => {\n    if (this.host.keepOpen) return;\n\n    this.host.dispatchEvent(\n      createDefaultCloseMenuEvent(this.host, {\n        kind: CloseReason.CLICK_SELECTION,\n      }),\n    );\n  }"
            },
            {
              "kind": "field",
              "name": "onKeydown",
              "description": "Bind this click listener to the interactive element. Handles closing the\nmenu.",
              "privacy": "public",
              "type": {
                "text": "(event: KeyboardEvent) => void",
                "references": [
                  {
                    "name": "KeyboardEvent",
                    "package": "global:",
                    "start": 8,
                    "end": 21
                  }
                ]
              },
              "default": "(event: KeyboardEvent) => {\n    // Check if the interactive element is an anchor tag. If so, click it.\n    if (this.host.href && event.code === 'Enter') {\n      const interactiveElement = this.getInteractiveElement();\n      if (interactiveElement instanceof HTMLAnchorElement) {\n        interactiveElement.click();\n      }\n    }\n\n    if (event.defaultPrevented) return;\n\n    // If the host has keepOpen = true we should ignore clicks & Space/Enter,\n    // however we always maintain the ability to close a menu with a explicit\n    // `escape` keypress.\n    const keyCode = event.code;\n    if (this.host.keepOpen && keyCode !== 'Escape') return;\n\n    if (isClosableKey(keyCode)) {\n      event.preventDefault();\n      this.host.dispatchEvent(\n        createDefaultCloseMenuEvent(this.host, {\n          kind: CloseReason.KEYDOWN,\n          key: keyCode,\n        }),\n      );\n    }\n  }"
            },
            {
              "kind": "field",
              "name": "typeaheadText",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "tagName",
              "privacy": "public",
              "type": {
                "text": "\"a\" | \"button\" | \"li\""
              }
            },
            {
              "kind": "field",
              "name": "role",
              "privacy": "public",
              "type": {
                "text": "\"menuitem\" | \"option\""
              }
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostUpdate",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "setTypeaheadText",
              "description": "Use to set the typeaheadText when it changes.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "text",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MenuItemController",
          "declaration": {
            "name": "MenuItemController"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/internal/controllers/shared.js",
      "declarations": [
        {
          "kind": "function",
          "name": "createCloseMenuEvent",
          "description": "Creates an event that closes any parent menus.",
          "parameters": [
            {
              "name": "initiator",
              "type": {
                "text": "MenuItem",
                "references": [
                  {
                    "name": "MenuItem",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/menuItemController.js",
                    "start": 0,
                    "end": 8
                  }
                ]
              }
            },
            {
              "name": "reason",
              "type": {
                "text": "T",
                "references": [
                  {
                    "name": "T",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/shared.js",
                    "start": 0,
                    "end": 1
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "CustomEvent<{ initiator: MenuItem; itemPath: MenuItem[]; reason: T; }>",
              "references": [
                {
                  "name": "CustomEvent",
                  "package": "global:",
                  "start": 0,
                  "end": 11
                },
                {
                  "name": "MenuItem",
                  "package": "@material/web",
                  "module": "menu/internal/controllers/menuItemController.js",
                  "start": 25,
                  "end": 33
                },
                {
                  "name": "MenuItem",
                  "package": "@material/web",
                  "module": "menu/internal/controllers/menuItemController.js",
                  "start": 45,
                  "end": 53
                },
                {
                  "name": "T",
                  "package": "@material/web",
                  "module": "menu/internal/controllers/shared.js",
                  "start": 65,
                  "end": 66
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "createStayOpenOnFocusoutEvent",
          "description": "Creates an event that signals to the menu that it should stay open on the\nfocusout event.",
          "return": {
            "type": {
              "text": "Event",
              "references": [
                {
                  "name": "Event",
                  "package": "global:",
                  "start": 0,
                  "end": 5
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "createCloseOnFocusoutEvent",
          "description": "Creates an event that signals to the menu that it should close open on the\nfocusout event.",
          "return": {
            "type": {
              "text": "Event",
              "references": [
                {
                  "name": "Event",
                  "package": "global:",
                  "start": 0,
                  "end": 5
                }
              ]
            }
          }
        },
        {
          "kind": "variable",
          "name": "createDefaultCloseMenuEvent",
          "description": "Creates a default close menu event used by md-menu.",
          "type": {
            "text": "(initiator: MenuItem, reason: DefaultReasons) => CustomEvent<{ initiator: MenuItem; itemPath: MenuItem[]; reason: DefaultReasons; }>",
            "references": [
              {
                "name": "MenuItem",
                "package": "@material/web",
                "module": "menu/internal/controllers/menuItemController.js",
                "start": 12,
                "end": 20
              },
              {
                "name": "DefaultReasons",
                "package": "@material/web",
                "module": "menu/internal/controllers/shared.js",
                "start": 30,
                "end": 44
              },
              {
                "name": "CustomEvent",
                "package": "global:",
                "start": 49,
                "end": 60
              },
              {
                "name": "MenuItem",
                "package": "@material/web",
                "module": "menu/internal/controllers/menuItemController.js",
                "start": 74,
                "end": 82
              },
              {
                "name": "MenuItem",
                "package": "@material/web",
                "module": "menu/internal/controllers/menuItemController.js",
                "start": 94,
                "end": 102
              },
              {
                "name": "DefaultReasons",
                "package": "@material/web",
                "module": "menu/internal/controllers/shared.js",
                "start": 114,
                "end": 128
              }
            ]
          }
        },
        {
          "kind": "function",
          "name": "createDeactivateTypeaheadEvent",
          "description": "Creates an event that requests the given item be selected.",
          "return": {
            "type": {
              "text": "Event",
              "references": [
                {
                  "name": "Event",
                  "package": "global:",
                  "start": 0,
                  "end": 5
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "createActivateTypeaheadEvent",
          "description": "Creates an event that requests the typeahead functionality of containing menu\nbe activated.",
          "return": {
            "type": {
              "text": "Event",
              "references": [
                {
                  "name": "Event",
                  "package": "global:",
                  "start": 0,
                  "end": 5
                }
              ]
            }
          }
        },
        {
          "kind": "variable",
          "name": "NavigableKey",
          "description": "Keys that are used to navigate menus.",
          "type": {
            "text": "{ readonly UP: \"ArrowUp\"; readonly DOWN: \"ArrowDown\"; readonly RIGHT: \"ArrowRight\"; readonly LEFT: \"ArrowLeft\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "SelectionKey",
          "description": "Keys that are used for selection in menus.",
          "type": {
            "text": "{ readonly SPACE: \"Space\"; readonly ENTER: \"Enter\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "CloseReason",
          "description": "Default close `Reason` kind values.",
          "type": {
            "text": "{ readonly CLICK_SELECTION: \"click-selection\"; readonly KEYDOWN: \"keydown\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "KeydownCloseKey",
          "description": "Keys that can close menus.",
          "type": {
            "text": "{ readonly ESCAPE: \"Escape\"; readonly SPACE: \"Space\"; readonly ENTER: \"Enter\"; }"
          }
        },
        {
          "kind": "function",
          "name": "isClosableKey",
          "description": "Determines whether the given key code is a key code that should close the\nmenu.",
          "parameters": [
            {
              "name": "code",
              "description": "The KeyboardEvent code to check.",
              "type": {
                "text": "string"
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            },
            "description": "Whether or not the key code is in the predetermined list to close the\nmenu."
          }
        },
        {
          "kind": "function",
          "name": "isSelectableKey",
          "description": "Determines whether the given key code is a key code that should select a menu\nitem.",
          "parameters": [
            {
              "name": "code",
              "description": "They KeyboardEvent code to check.",
              "type": {
                "text": "string"
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            },
            "description": "Whether or not the key code is in the predetermined list to select a\nmenu item."
          }
        },
        {
          "kind": "function",
          "name": "isElementInSubtree",
          "description": "Determines whether a target element is contained inside another element's\ncomposed tree.",
          "parameters": [
            {
              "name": "target",
              "description": "The potential contained element.",
              "type": {
                "text": "EventTarget",
                "references": [
                  {
                    "name": "EventTarget",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "name": "container",
              "description": "The potential containing element of the target.",
              "type": {
                "text": "EventTarget",
                "references": [
                  {
                    "name": "EventTarget",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            },
            "description": "Whether the target element is contained inside the container's\ncomposed subtree"
          }
        },
        {
          "kind": "variable",
          "name": "FocusState",
          "description": "Element to focus on when menu is first opened.",
          "type": {
            "text": "{ readonly NONE: \"none\"; readonly LIST_ROOT: \"list-root\"; readonly FIRST_ITEM: \"first-item\"; readonly LAST_ITEM: \"last-item\"; }"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createCloseMenuEvent",
          "declaration": {
            "name": "createCloseMenuEvent"
          }
        },
        {
          "kind": "js",
          "name": "createStayOpenOnFocusoutEvent",
          "declaration": {
            "name": "createStayOpenOnFocusoutEvent"
          }
        },
        {
          "kind": "js",
          "name": "createCloseOnFocusoutEvent",
          "declaration": {
            "name": "createCloseOnFocusoutEvent"
          }
        },
        {
          "kind": "js",
          "name": "createDefaultCloseMenuEvent",
          "declaration": {
            "name": "createDefaultCloseMenuEvent"
          }
        },
        {
          "kind": "js",
          "name": "createDeactivateTypeaheadEvent",
          "declaration": {
            "name": "createDeactivateTypeaheadEvent"
          }
        },
        {
          "kind": "js",
          "name": "createActivateTypeaheadEvent",
          "declaration": {
            "name": "createActivateTypeaheadEvent"
          }
        },
        {
          "kind": "js",
          "name": "NavigableKey",
          "declaration": {
            "name": "NavigableKey"
          }
        },
        {
          "kind": "js",
          "name": "SelectionKey",
          "declaration": {
            "name": "SelectionKey"
          }
        },
        {
          "kind": "js",
          "name": "CloseReason",
          "declaration": {
            "name": "CloseReason"
          }
        },
        {
          "kind": "js",
          "name": "KeydownCloseKey",
          "declaration": {
            "name": "KeydownCloseKey"
          }
        },
        {
          "kind": "js",
          "name": "isClosableKey",
          "declaration": {
            "name": "isClosableKey"
          }
        },
        {
          "kind": "js",
          "name": "isSelectableKey",
          "declaration": {
            "name": "isSelectableKey"
          }
        },
        {
          "kind": "js",
          "name": "isElementInSubtree",
          "declaration": {
            "name": "isElementInSubtree"
          }
        },
        {
          "kind": "js",
          "name": "FocusState",
          "declaration": {
            "name": "FocusState"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/internal/controllers/surfacePositionController.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "Corner",
          "description": "An enum of supported Menu corners",
          "type": {
            "text": "{ readonly END_START: \"end-start\"; readonly END_END: \"end-end\"; readonly START_START: \"start-start\"; readonly START_END: \"start-end\"; }"
          }
        },
        {
          "kind": "class",
          "name": "SurfacePositionController",
          "description": "Given a surface, an anchor, corners, and some options, this surface will\ncalculate the position of a surface to align the two given corners and keep\nthe surface inside the window viewport. It also provides a StyleInfo map that\ncan be applied to the surface to handle visiblility and position.",
          "members": [
            {
              "kind": "field",
              "name": "surfaceStylesInternal",
              "privacy": "private",
              "type": {
                "text": "StyleInfo",
                "references": [
                  {
                    "name": "StyleInfo",
                    "package": "lit",
                    "module": "directives/style-map.js",
                    "start": 0,
                    "end": 9
                  }
                ]
              },
              "default": "{\n    'display': 'none',\n  }"
            },
            {
              "kind": "field",
              "name": "lastValues",
              "privacy": "private",
              "type": {
                "text": "SurfacePositionControllerProperties",
                "references": [
                  {
                    "name": "SurfacePositionControllerProperties",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/surfacePositionController.js",
                    "start": 0,
                    "end": 35
                  }
                ]
              },
              "default": "{\n    isOpen: false,\n  } as SurfacePositionControllerProperties"
            },
            {
              "kind": "field",
              "name": "surfaceStyles",
              "privacy": "public",
              "type": {
                "text": "StyleInfo",
                "references": [
                  {
                    "name": "StyleInfo",
                    "package": "lit",
                    "module": "directives/style-map.js",
                    "start": 0,
                    "end": 9
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "position",
              "description": "Calculates the surface's new position required so that the surface's\n`surfaceCorner` aligns to the anchor's `anchorCorner` while keeping the\nsurface inside the window viewport. This positioning also respects RTL by\nchecking `getComputedStyle()` on the surface element.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "calculateBlock",
              "description": "Calculates the css property, the inset, and the out of bounds correction\nfor the surface in the block direction.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "config",
                  "type": {
                    "text": "{ surfaceRect: DOMRect; anchorRect: DOMRect; anchorBlock: \"start\" | \"end\"; surfaceBlock: \"start\" | \"end\"; yOffset: number; positioning: \"document\" | \"absolute\" | \"fixed\"; windowInnerHeight: number; blockScrollbarHeight: number; }",
                    "references": [
                      {
                        "name": "DOMRect",
                        "package": "global:",
                        "start": 15,
                        "end": 22
                      },
                      {
                        "name": "DOMRect",
                        "package": "global:",
                        "start": 36,
                        "end": 43
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "{ blockInset: number; blockOutOfBoundsCorrection: number; surfaceBlockProperty: string; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "calculateInline",
              "description": "Calculates the css property, the inset, and the out of bounds correction\nfor the surface in the inline direction.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "config",
                  "type": {
                    "text": "{ isLTR: boolean; surfaceInline: \"start\" | \"end\"; anchorInline: \"start\" | \"end\"; anchorRect: DOMRect; surfaceRect: DOMRect; xOffset: number; positioning: \"document\" | \"absolute\" | \"fixed\"; windowInnerWidth: number; inlineScrollbarWidth: number; }",
                    "references": [
                      {
                        "name": "DOMRect",
                        "package": "global:",
                        "start": 93,
                        "end": 100
                      },
                      {
                        "name": "DOMRect",
                        "package": "global:",
                        "start": 115,
                        "end": 122
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "{ inlineInset: number; inlineOutOfBoundsCorrection: number; surfaceInlineProperty: string; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostUpdate",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostUpdated",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "onUpdate",
              "description": "Checks whether the properties passed into the controller have changed since\nthe last positioning. If so, it will reposition if the surface is open or\nclose it if the surface should close.",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "close",
              "description": "Hides the surface.",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Corner",
          "declaration": {
            "name": "Corner"
          }
        },
        {
          "kind": "js",
          "name": "SurfacePositionController",
          "declaration": {
            "name": "SurfacePositionController"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/internal/controllers/typeaheadController.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "TYPEAHEAD_RECORD",
          "description": "Indicies to access the TypeaheadRecord tuple type.",
          "type": {
            "text": "{ readonly INDEX: 0; readonly ITEM: 1; readonly TEXT: 2; }"
          }
        },
        {
          "kind": "class",
          "name": "TypeaheadController",
          "description": "This controller listens to `keydown` events and searches the header text of\nan array of `MenuItem`s with the corresponding entered keys within the buffer\ntime and activates the item.",
          "members": [
            {
              "kind": "field",
              "name": "typeaheadRecords",
              "description": "Array of tuples that helps with indexing.",
              "privacy": "private",
              "type": {
                "text": "TypeaheadRecord[]",
                "references": [
                  {
                    "name": "TypeaheadRecord",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/typeaheadController.js",
                    "start": 0,
                    "end": 15
                  }
                ]
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "typaheadBuffer",
              "description": "Currently-typed text since last buffer timeout",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "cancelTypeaheadTimeout",
              "description": "The timeout id from the current buffer's setTimeout",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "isTypingAhead",
              "description": "If we are currently \"typing\"",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "lastActiveRecord",
              "description": "The record of the last active item.",
              "privacy": "public",
              "type": {
                "text": "TypeaheadRecord",
                "references": [
                  {
                    "name": "TypeaheadRecord",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/typeaheadController.js",
                    "start": 0,
                    "end": 15
                  }
                ]
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "onKeydown",
              "description": "Apply this listener to the element that will receive `keydown` events that\nshould trigger this controller.",
              "privacy": "public",
              "type": {
                "text": "(event: KeyboardEvent) => void",
                "references": [
                  {
                    "name": "KeyboardEvent",
                    "package": "global:",
                    "start": 8,
                    "end": 21
                  }
                ]
              },
              "default": "(event: KeyboardEvent) => {\n    if (this.isTypingAhead) {\n      this.typeahead(event);\n    } else {\n      this.beginTypeahead(event);\n    }\n  }"
            },
            {
              "kind": "field",
              "name": "endTypeahead",
              "description": "Ends the current typeahead and clears the buffer.",
              "privacy": "private",
              "type": {
                "text": "() => void"
              },
              "default": "() => {\n    this.isTypingAhead = false;\n    this.typaheadBuffer = '';\n    this.typeaheadRecords = [];\n  }"
            },
            {
              "kind": "field",
              "name": "items",
              "privacy": "private",
              "type": {
                "text": "MenuItem[]",
                "references": [
                  {
                    "name": "MenuItem",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/menuItemController.js",
                    "start": 0,
                    "end": 8
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "active",
              "privacy": "private",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "method",
              "name": "beginTypeahead",
              "description": "Sets up typingahead",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "typeahead",
              "description": "Performs the typeahead. Based on the normalized items and the current text\nbuffer, finds the _next_ item with matching text and activates it.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TYPEAHEAD_RECORD",
          "declaration": {
            "name": "TYPEAHEAD_RECORD"
          }
        },
        {
          "kind": "js",
          "name": "TypeaheadController",
          "declaration": {
            "name": "TypeaheadController"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/internal/menuitem/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MenuItemHarness",
          "description": "Test harness for menu item.",
          "superclass": {
            "name": "ListItemHarness",
            "package": "@material/web",
            "module": "list/internal/listitem/harness.js"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MenuItemHarness",
          "declaration": {
            "name": "MenuItemHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/internal/menuitem/menu-item-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/internal/menuitem/menu-item.js",
      "declarations": [
        {
          "kind": "class",
          "name": "menuItemBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "MenuItemEl",
          "superclass": {
            "name": "menuItemBaseClass",
            "package": "@material/web",
            "module": "menu/internal/menuitem/menu-item.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "disabled",
              "description": "Disables the item and makes it non-selectable and non-interactive.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "type",
              "description": "Sets the behavior and role of the menu item, defaults to \"menuitem\".",
              "privacy": "public",
              "type": {
                "text": "MenuItemType",
                "references": [
                  {
                    "name": "MenuItemType",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/menuItemController.js",
                    "start": 0,
                    "end": 12
                  }
                ]
              },
              "default": "'menuitem'",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "href",
              "description": "Sets the underlying `HTMLAnchorElement`'s `href` resource attribute.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "description": "Sets the underlying `HTMLAnchorElement`'s `target` attribute when `href` is\nset.",
              "privacy": "public",
              "type": {
                "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
              },
              "default": "''",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "keepOpen",
              "description": "Keeps the menu open if clicked or keyboard selected.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "keep-open"
            },
            {
              "kind": "field",
              "name": "selected",
              "description": "Sets the item in the selected visual state when a submenu is opened.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "selected"
            },
            {
              "kind": "field",
              "name": "listItemRoot",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "headlineElements",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "supportingTextElements",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "defaultElements",
              "privacy": "protected",
              "type": {
                "text": "Node[]",
                "references": [
                  {
                    "name": "Node",
                    "package": "global:",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "menuItemController",
              "privacy": "private",
              "type": {
                "text": "MenuItemController",
                "references": [
                  {
                    "name": "MenuItemController",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/menuItemController.js",
                    "start": 0,
                    "end": 18
                  }
                ]
              },
              "default": "new MenuItemController(this, {\n    getHeadlineElements: () => {\n      return this.headlineElements;\n    },\n    getSupportingTextElements: () => {\n      return this.supportingTextElements;\n    },\n    getDefaultElements: () => {\n      return this.defaultElements;\n    },\n    getInteractiveElement: () => this.listItemRoot,\n  })"
            },
            {
              "kind": "field",
              "name": "typeaheadText",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "{ delegatesFocus: boolean; clonable?: boolean; customElementRegistry?: CustomElementRegistry; mode: ShadowRootMode; serializable?: boolean; slotAssignment?: SlotAssignmentMode; }",
                "references": [
                  {
                    "name": "CustomElementRegistry",
                    "package": "global:",
                    "start": 71,
                    "end": 92
                  },
                  {
                    "name": "ShadowRootMode",
                    "package": "global:",
                    "start": 100,
                    "end": 114
                  },
                  {
                    "name": "SlotAssignmentMode",
                    "package": "global:",
                    "start": 157,
                    "end": 175
                  }
                ]
              },
              "default": "{\n    ...LitElement.shadowRootOptions,\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderListItem",
              "description": "Renders the root list item.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "content",
                  "description": "the child content of the list item.",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderRipple",
              "description": "Handles rendering of the ripple element.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderFocusRing",
              "description": "Handles rendering of the focus ring.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "description": "Classes applied to the list item root.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "ClassInfo",
                  "references": [
                    {
                      "name": "ClassInfo",
                      "package": "lit",
                      "module": "directives/class-map.js",
                      "start": 0,
                      "end": 9
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderBody",
              "description": "Handles rendering the headline and supporting text.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "disabled"
            },
            {
              "name": "type",
              "type": {
                "text": "string"
              },
              "fieldName": "type"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "fieldName": "target"
            },
            {
              "name": "keep-open",
              "type": {
                "text": "boolean"
              },
              "fieldName": "keepOpen"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "fieldName": "selected"
            }
          ],
          "events": [
            {
              "name": "close-menu",
              "type": {
                "text": "CustomEvent<{initiator: SelectOption, reason: Reason, itemPath: SelectOption[]}>",
                "references": [
                  {
                    "name": "CustomEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "description": "Closes the encapsulating menu on closable interaction. --bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MenuItemEl",
          "declaration": {
            "name": "MenuItemEl"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/internal/submenu/sub-menu-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "menu/internal/submenu/sub-menu.js",
      "declarations": [
        {
          "kind": "class",
          "name": "SubMenu",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "anchorCorner",
              "description": "The anchorCorner to set on the submenu.",
              "privacy": "public",
              "type": {
                "text": "Corner",
                "references": [
                  {
                    "name": "Corner",
                    "package": "@material/web",
                    "module": "menu/internal/menu.js",
                    "start": 0,
                    "end": 6
                  }
                ]
              },
              "default": "Corner.START_END",
              "attribute": "anchor-corner"
            },
            {
              "kind": "field",
              "name": "menuCorner",
              "description": "The menuCorner to set on the submenu.",
              "privacy": "public",
              "type": {
                "text": "Corner",
                "references": [
                  {
                    "name": "Corner",
                    "package": "@material/web",
                    "module": "menu/internal/menu.js",
                    "start": 0,
                    "end": 6
                  }
                ]
              },
              "default": "Corner.START_START",
              "attribute": "menu-corner"
            },
            {
              "kind": "field",
              "name": "hoverOpenDelay",
              "description": "The delay between mouseenter and submenu opening.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "400",
              "attribute": "hover-open-delay"
            },
            {
              "kind": "field",
              "name": "hoverCloseDelay",
              "description": "The delay between ponterleave and the submenu closing.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "400",
              "attribute": "hover-close-delay"
            },
            {
              "kind": "field",
              "name": "isSubMenu",
              "description": "READONLY: self-identifies as a menu item and sets its identifying attribute",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "attribute": "md-sub-menu",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "items",
              "privacy": "private",
              "type": {
                "text": "MenuItem[]",
                "references": [
                  {
                    "name": "MenuItem",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/menuItemController.js",
                    "start": 0,
                    "end": 8
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "menus",
              "privacy": "private",
              "type": {
                "text": "Menu[]",
                "references": [
                  {
                    "name": "Menu",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/shared.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "previousOpenTimeout",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "previousCloseTimeout",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "onMouseenter",
              "description": "Starts the default 400ms countdown to open the submenu.\n\nNOTE: We explicitly use mouse events and not pointer events because\npointer events apply to touch events. And if a user were to tap a\nsub-menu, it would fire the \"pointerenter\", \"pointerleave\", \"click\" events\nwhich would open the menu on click, and then set the timeout to close the\nmenu due to pointerleave.",
              "privacy": "protected",
              "type": {
                "text": "() => void"
              },
              "default": "() => {\n    clearTimeout(this.previousOpenTimeout);\n    clearTimeout(this.previousCloseTimeout);\n    if (this.menu?.open) return;\n\n    // Open synchronously if delay is 0. (screenshot tests infra\n    // would never resolve otherwise)\n    if (!this.hoverOpenDelay) {\n      this.show();\n    } else {\n      this.previousOpenTimeout = setTimeout(() => {\n        this.show();\n      }, this.hoverOpenDelay);\n    }\n  }"
            },
            {
              "kind": "field",
              "name": "onMouseleave",
              "description": "Starts the default 400ms countdown to close the submenu.\n\nNOTE: We explicitly use mouse events and not pointer events because\npointer events apply to touch events. And if a user were to tap a\nsub-menu, it would fire the \"pointerenter\", \"pointerleave\", \"click\" events\nwhich would open the menu on click, and then set the timeout to close the\nmenu due to pointerleave.",
              "privacy": "protected",
              "type": {
                "text": "() => void"
              },
              "default": "() => {\n    clearTimeout(this.previousCloseTimeout);\n    clearTimeout(this.previousOpenTimeout);\n\n    // Close synchronously if delay is 0. (screenshot tests infra\n    // would never resolve otherwise)\n    if (!this.hoverCloseDelay) {\n      this.close();\n    } else {\n      this.previousCloseTimeout = setTimeout(() => {\n        this.close();\n      }, this.hoverCloseDelay);\n    }\n  }"
            },
            {
              "kind": "field",
              "name": "item",
              "privacy": "public",
              "type": {
                "text": "MenuItem",
                "references": [
                  {
                    "name": "MenuItem",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/menuItemController.js",
                    "start": 0,
                    "end": 8
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "menu",
              "privacy": "public",
              "type": {
                "text": "Menu",
                "references": [
                  {
                    "name": "Menu",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/shared.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "firstUpdated",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the submenu.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "close",
              "description": "Closes the submenu.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "onSlotchange",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "onClick",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "onKeydown",
              "description": "On item keydown handles opening the submenu.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "onCloseSubmenu",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "CustomEvent<{ initiator: MenuItem; itemPath: MenuItem[]; reason: DefaultReasons; }>",
                    "references": [
                      {
                        "name": "CustomEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      },
                      {
                        "name": "MenuItem",
                        "package": "@material/web",
                        "module": "menu/internal/controllers/menuItemController.js",
                        "start": 25,
                        "end": 33
                      },
                      {
                        "name": "MenuItem",
                        "package": "@material/web",
                        "module": "menu/internal/controllers/menuItemController.js",
                        "start": 45,
                        "end": 53
                      },
                      {
                        "name": "DefaultReasons",
                        "package": "@material/web",
                        "module": "menu/internal/controllers/shared.js",
                        "start": 65,
                        "end": 79
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "onSubMenuKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "isSubmenuOpenKey",
              "description": "Determines whether the given KeyboardEvent code is one that should open\nthe submenu. This is RTL-aware. By default, left, right, space, or enter.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "code",
                  "description": "The native KeyboardEvent code.",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                },
                "description": "Whether or not the key code should open the submenu."
              }
            },
            {
              "kind": "method",
              "name": "isSubmenuCloseKey",
              "description": "Determines whether the given KeyboardEvent code is one that should close\nthe submenu. This is RTL-aware. By default right, left, or escape.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "code",
                  "description": "The native KeyboardEvent code.",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "{ readonly close: true; readonly keyCode: \"ArrowLeft\" | \"ArrowRight\" | \"Escape\"; } | { readonly close: false; readonly keyCode?: undefined; }"
                },
                "description": "Whether or not the key code should close the submenu."
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "anchor-corner",
              "type": {
                "text": "string"
              },
              "fieldName": "anchorCorner"
            },
            {
              "name": "menu-corner",
              "type": {
                "text": "string"
              },
              "fieldName": "menuCorner"
            },
            {
              "name": "hover-open-delay",
              "type": {
                "text": "number"
              },
              "fieldName": "hoverOpenDelay"
            },
            {
              "name": "hover-close-delay",
              "type": {
                "text": "number"
              },
              "fieldName": "hoverCloseDelay"
            },
            {
              "name": "md-sub-menu",
              "type": {
                "text": "boolean"
              },
              "fieldName": "isSubMenu"
            }
          ],
          "events": [
            {
              "name": "deactivate-items",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Requests the parent menu to deselect other\nitems when a submenu opens. --bubbles --composed"
            },
            {
              "name": "request-activation",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Requests the parent to make the slotted item\nfocusable and focus the item. Used internally for menu keyboard navigation;\nmost applications do not need to listen for this event. It is exposed for\nauthors building their own menu-item replacements, or for advanced cases\nwhere you want to call `preventDefault`/`stopPropagation` on it to override\ndefault focus handling. --bubbles --composed"
            },
            {
              "name": "deactivate-typeahead",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Requests the parent menu to deactivate\nthe typeahead functionality when a submenu opens. --bubbles --composed"
            },
            {
              "name": "activate-typeahead",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Requests the parent menu to activate the\ntypeahead functionality when a submenu closes. --bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SubMenu",
          "declaration": {
            "name": "SubMenu"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "migrations/v2/query-selector-aria.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "HAS_ARIA_ATTRIBUTE_REGEX",
          "type": {
            "text": "RegExp",
            "references": [
              {
                "name": "RegExp",
                "package": "global:",
                "start": 0,
                "end": 6
              }
            ]
          }
        },
        {
          "kind": "function",
          "name": "ariaSelector",
          "description": "Patches a CSS selector string to include `data-*` shifting `role` and\n`aria-*` attributes. Use this with `querySelector()` and `querySelectorAll()`\nfor MWC elements.",
          "parameters": [
            {
              "name": "selector",
              "description": "A CSS selector string.",
              "type": {
                "text": "string"
              }
            }
          ],
          "return": {
            "type": {
              "text": "string"
            },
            "description": "A CSS selector string that includes `data-*` shifting aria\nattributes."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ariaSelector",
          "declaration": {
            "name": "ariaSelector"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "progress/circular-progress.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdCircularProgress",
          "description": "Progress indicators inform users about the status of ongoing processes.\n- Determinate indicators display how long a process will take.\n- Indeterminate indicators express an unspecified amount of wait time.",
          "summary": "Circular progress indicators display progress by animating along an\ninvisible circular track in a clockwise direction. They can be applied\ndirectly to a surface, such as a button or card.",
          "superclass": {
            "name": "CircularProgress",
            "package": "@material/web",
            "module": "progress/internal/circular-progress.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-circular-progress",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdCircularProgress",
          "declaration": {
            "name": "MdCircularProgress"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-circular-progress",
          "declaration": {
            "name": "MdCircularProgress"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "progress/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "LinearProgressHarness",
          "description": "Test harness for linear-progress.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            }
          ]
        },
        {
          "kind": "class",
          "name": "CircularProgressHarness",
          "description": "Test harness for circular-progress.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LinearProgressHarness",
          "declaration": {
            "name": "LinearProgressHarness"
          }
        },
        {
          "kind": "js",
          "name": "CircularProgressHarness",
          "declaration": {
            "name": "CircularProgressHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "progress/linear-progress.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdLinearProgress",
          "description": "Progress indicators inform users about the status of ongoing processes.\n- Determinate indicators display how long a process will take.\n- Indeterminate indicators express an unspecified amount of wait time.",
          "summary": "Linear progress indicators display progress by animating along the\nlength of a fixed, visible track.",
          "superclass": {
            "name": "LinearProgress",
            "package": "@material/web",
            "module": "progress/internal/linear-progress.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-linear-progress",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdLinearProgress",
          "declaration": {
            "name": "MdLinearProgress"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-linear-progress",
          "declaration": {
            "name": "MdLinearProgress"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "progress/internal/circular-progress-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "progress/internal/circular-progress.js",
      "declarations": [
        {
          "kind": "class",
          "name": "CircularProgress",
          "description": "A circular progress component.",
          "superclass": {
            "name": "Progress",
            "package": "@material/web",
            "module": "progress/internal/progress.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "renderIndicator",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderDeterminateContainer",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderIndeterminateContainer",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CircularProgress",
          "declaration": {
            "name": "CircularProgress"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "progress/internal/linear-progress-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "progress/internal/linear-progress.js",
      "declarations": [
        {
          "kind": "class",
          "name": "LinearProgress",
          "description": "A linear progress component.",
          "superclass": {
            "name": "Progress",
            "package": "@material/web",
            "module": "progress/internal/progress.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "buffer",
              "description": "Buffer amount to display, a fraction between 0 and `max`.\nIf the value is 0 or negative, the buffer is not displayed.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "buffer"
            },
            {
              "kind": "method",
              "name": "renderIndicator",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "buffer",
              "type": {
                "text": "number"
              },
              "fieldName": "buffer"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LinearProgress",
          "declaration": {
            "name": "LinearProgress"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "progress/internal/progress.js",
      "declarations": [
        {
          "kind": "class",
          "name": "progressBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "Progress",
          "description": "A progress component.",
          "superclass": {
            "name": "progressBaseClass",
            "package": "@material/web",
            "module": "progress/internal/progress.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "value",
              "description": "Progress to display, a fraction between 0 and `max`.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "max",
              "description": "Maximum progress to display, defaults to 1.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "1",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "description": "Whether or not to display indeterminate progress, which gives no indication\nto how long an activity will take.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "indeterminate"
            },
            {
              "kind": "field",
              "name": "fourColor",
              "description": "Whether or not to render indeterminate mode using 4 colors instead of one.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "four-color"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ indeterminate: boolean; 'four-color': boolean; }"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "fieldName": "value"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "fieldName": "max"
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "fieldName": "indeterminate"
            },
            {
              "name": "four-color",
              "type": {
                "text": "boolean"
              },
              "fieldName": "fourColor"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Progress",
          "declaration": {
            "name": "Progress"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "radio/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "RadioHarness",
          "description": "Test harness for radio.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RadioHarness",
          "declaration": {
            "name": "RadioHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "radio/radio.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdRadio",
          "description": "Radio buttons are the recommended way to allow users to make a single\nselection from a list of options.\n\nOnly one radio button can be selected at a time.\n\nUse radio buttons to:\n- Select a single option from a set\n- Expose all available options",
          "summary": "Radio buttons allow users to select one option from a set.",
          "superclass": {
            "name": "Radio",
            "package": "@material/web",
            "module": "radio/internal/radio.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-radio",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdRadio",
          "declaration": {
            "name": "MdRadio"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-radio",
          "declaration": {
            "name": "MdRadio"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "radio/internal/radio-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "radio/internal/radio.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "CHECKED",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "variable",
          "name": "maskId",
          "type": {
            "text": "number"
          }
        },
        {
          "kind": "class",
          "name": "radioBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinConstraintValidation",
              "package": "@material/web",
              "module": "labs/behaviors/constraint-validation.js"
            },
            {
              "name": "mixinFormAssociated",
              "package": "@material/web",
              "module": "labs/behaviors/form-associated.js"
            },
            {
              "name": "mixinElementInternals",
              "package": "@material/web",
              "module": "labs/behaviors/element-internals.js"
            },
            {
              "name": "mixinFocusable",
              "package": "@material/web",
              "module": "labs/behaviors/focusable.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "Radio",
          "description": "A radio component.",
          "superclass": {
            "name": "radioBaseClass",
            "package": "@material/web",
            "module": "radio/internal/radio.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "maskId",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "`cutout${++maskId}`"
            },
            {
              "kind": "field",
              "name": "required",
              "description": "Whether or not the radio is required. If any radio is required in a group,\nall radios are implicitly required.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "required"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The element value to use in form submission when checked.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "'on'",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "container",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "selectionController",
              "privacy": "private",
              "type": {
                "text": "SingleSelectionController",
                "references": [
                  {
                    "name": "SingleSelectionController",
                    "package": "@material/web",
                    "module": "radio/internal/single-selection-controller.js",
                    "start": 0,
                    "end": 25
                  }
                ]
              },
              "default": "new SingleSelectionController(this)"
            },
            {
              "kind": "field",
              "name": "checked",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "attribute": "checked"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormValue]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormState]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[createValidator]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "RadioValidator",
                  "references": [
                    {
                      "name": "RadioValidator",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/radio-validator.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "[getValidityAnchor]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "HTMLElement",
                  "references": [
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 0,
                      "end": 11
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "fieldName": "checked"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "fieldName": "required"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "Dispatched when the value changes from user\ninteraction. --bubbles"
            },
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Dispatched when the value changes from user\ninteraction. --bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Radio",
          "declaration": {
            "name": "Radio"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "radio/internal/single-selection-controller.js",
      "declarations": [
        {
          "kind": "class",
          "name": "SingleSelectionController",
          "description": "A `ReactiveController` that provides root node-scoped single selection for\nelements, similar to native `<input type=\"radio\">` selection.\n\nTo use, elements should add the controller and call\n`selectionController.handleCheckedChange()` in a getter/setter. This must\nbe synchronous to match native behavior.",
          "members": [
            {
              "kind": "field",
              "name": "focused",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "root",
              "privacy": "private",
              "type": {
                "text": "ParentNode",
                "references": [
                  {
                    "name": "ParentNode",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "handleFocusIn",
              "privacy": "private",
              "type": {
                "text": "() => void"
              },
              "default": "() => {\n    this.focused = true;\n    this.updateTabIndices();\n  }"
            },
            {
              "kind": "field",
              "name": "handleFocusOut",
              "privacy": "private",
              "type": {
                "text": "() => void"
              },
              "default": "() => {\n    this.focused = false;\n    this.updateTabIndices();\n  }"
            },
            {
              "kind": "field",
              "name": "handleKeyDown",
              "description": "Handles arrow key events from the host. Using the arrow keys will\nselect and check the next or previous sibling with the host's\n`name` attribute.",
              "privacy": "private",
              "type": {
                "text": "(event: KeyboardEvent) => void",
                "references": [
                  {
                    "name": "KeyboardEvent",
                    "package": "global:",
                    "start": 8,
                    "end": 21
                  }
                ]
              },
              "default": "(event: KeyboardEvent) => {\n    const isDown = event.key === 'ArrowDown';\n    const isUp = event.key === 'ArrowUp';\n    const isLeft = event.key === 'ArrowLeft';\n    const isRight = event.key === 'ArrowRight';\n    // Ignore non-arrow keys\n    if (!isLeft && !isRight && !isDown && !isUp) {\n      return;\n    }\n\n    // Don't try to select another sibling if there aren't any.\n    const siblings = this.controls;\n    if (!siblings.length) {\n      return;\n    }\n\n    // Prevent default interactions on the element for arrow keys,\n    // since this controller will introduce new behavior.\n    event.preventDefault();\n\n    // Check if moving forwards or backwards\n    const isRtl = getComputedStyle(this.host).direction === 'rtl';\n    const forwards = isRtl ? isLeft || isDown : isRight || isDown;\n\n    const hostIndex = siblings.indexOf(this.host);\n    let nextIndex = forwards ? hostIndex + 1 : hostIndex - 1;\n    // Search for the next sibling that is not disabled to select.\n    // If we return to the host index, there is nothing to select.\n    while (nextIndex !== hostIndex) {\n      if (nextIndex >= siblings.length) {\n        // Return to start if moving past the last item.\n        nextIndex = 0;\n      } else if (nextIndex < 0) {\n        // Go to end if moving before the first item.\n        nextIndex = siblings.length - 1;\n      }\n\n      // Check if the next sibling is disabled. If so,\n      // move the index and continue searching.\n      const nextSibling = siblings[nextIndex];\n      if (nextSibling.hasAttribute('disabled')) {\n        if (forwards) {\n          nextIndex++;\n        } else {\n          nextIndex--;\n        }\n\n        continue;\n      }\n\n      // Uncheck and remove focusability from other siblings.\n      for (const sibling of siblings) {\n        if (sibling !== nextSibling) {\n          sibling.checked = false;\n          sibling.tabIndex = -1;\n          sibling.blur();\n        }\n      }\n\n      // The next sibling should be checked, focused and dispatch a change event\n      nextSibling.checked = true;\n      nextSibling.tabIndex = 0;\n      nextSibling.focus();\n      // Fire a change event since the change is triggered by a user action.\n      // This matches native <input type=\"radio\"> behavior.\n      nextSibling.dispatchEvent(new Event('change', {bubbles: true}));\n\n      break;\n    }\n  }"
            },
            {
              "kind": "field",
              "name": "controls",
              "privacy": "public",
              "type": {
                "text": "[SingleSelectionElement, ...SingleSelectionElement[]]",
                "references": [
                  {
                    "name": "SingleSelectionElement",
                    "package": "@material/web",
                    "module": "radio/internal/single-selection-controller.js",
                    "start": 1,
                    "end": 23
                  },
                  {
                    "name": "SingleSelectionElement",
                    "package": "@material/web",
                    "module": "radio/internal/single-selection-controller.js",
                    "start": 28,
                    "end": 50
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleCheckedChange",
              "description": "Should be called whenever the host's `checked` property changes\nsynchronously.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "uncheckSiblings",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "updateTabIndices",
              "description": "Updates the `tabindex` of the host and its siblings.",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SingleSelectionController",
          "declaration": {
            "name": "SingleSelectionController"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "ripple/ripple.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdRipple",
          "description": "A state layer is a semi-transparent covering on an element that\nindicates its state. State layers provide a systematic approach to\nvisualizing states by using opacity. A layer can be applied to an entire\nelement or in a circular shape and only one state layer can be applied at a\ngiven time.",
          "summary": "Ripples, also known as state layers, are visual indicators used to\ncommunicate the status of a component or interactive element.",
          "superclass": {
            "name": "Ripple",
            "package": "@material/web",
            "module": "ripple/internal/ripple.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-ripple",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdRipple",
          "declaration": {
            "name": "MdRipple"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-ripple",
          "declaration": {
            "name": "MdRipple"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "ripple/internal/ripple-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "ripple/internal/ripple.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "PRESS_GROW_MS",
          "type": {
            "text": "number"
          }
        },
        {
          "kind": "variable",
          "name": "MINIMUM_PRESS_MS",
          "type": {
            "text": "number"
          }
        },
        {
          "kind": "variable",
          "name": "INITIAL_ORIGIN_SCALE",
          "type": {
            "text": "number"
          }
        },
        {
          "kind": "variable",
          "name": "PADDING",
          "type": {
            "text": "number"
          }
        },
        {
          "kind": "variable",
          "name": "SOFT_EDGE_MINIMUM_SIZE",
          "type": {
            "text": "number"
          }
        },
        {
          "kind": "variable",
          "name": "SOFT_EDGE_CONTAINER_RATIO",
          "type": {
            "text": "number"
          }
        },
        {
          "kind": "variable",
          "name": "PRESS_PSEUDO",
          "type": {
            "text": "string"
          }
        },
        {
          "kind": "variable",
          "name": "ANIMATION_FILL",
          "type": {
            "text": "string"
          }
        },
        {
          "kind": "variable",
          "name": "State",
          "description": "Interaction states for the ripple.\n\nOn Touch:\n - `INACTIVE -> TOUCH_DELAY -> WAITING_FOR_CLICK -> INACTIVE`\n - `INACTIVE -> TOUCH_DELAY -> HOLDING -> WAITING_FOR_CLICK -> INACTIVE`\n\nOn Mouse or Pen:\n  - `INACTIVE -> WAITING_FOR_CLICK -> INACTIVE`",
          "type": {
            "text": "State",
            "references": [
              {
                "name": "State",
                "package": "@material/web",
                "module": "ripple/internal/ripple.js",
                "start": 0,
                "end": 5
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "EVENTS",
          "description": "Events that the ripple listens to.",
          "type": {
            "text": "string[]"
          }
        },
        {
          "kind": "variable",
          "name": "TOUCH_DELAY_MS",
          "description": "Delay reacting to touch so that we do not show the ripple for a swipe or\nscroll interaction.",
          "type": {
            "text": "number"
          }
        },
        {
          "kind": "variable",
          "name": "FORCED_COLORS",
          "description": "Used to detect if HCM is active. Events do not process during HCM when the\nripple is not displayed.",
          "type": {
            "text": "MediaQueryList",
            "references": [
              {
                "name": "MediaQueryList",
                "package": "global:",
                "start": 0,
                "end": 14
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "Ripple",
          "description": "A ripple component.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "disabled",
              "description": "Disables the ripple.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hovered",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "pressed",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "mdRoot",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "rippleSize",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "rippleScale",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "initialSize",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "growAnimation",
              "privacy": "private",
              "type": {
                "text": "Animation",
                "references": [
                  {
                    "name": "Animation",
                    "package": "global:",
                    "start": 0,
                    "end": 9
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "state",
              "privacy": "private",
              "type": {
                "text": "State",
                "references": [
                  {
                    "name": "State",
                    "package": "@material/web",
                    "module": "ripple/internal/ripple.js",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "default": "State.INACTIVE"
            },
            {
              "kind": "field",
              "name": "rippleStartEvent",
              "privacy": "private",
              "type": {
                "text": "PointerEvent",
                "references": [
                  {
                    "name": "PointerEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 12
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "attachableController",
              "privacy": "private",
              "type": {
                "text": "AttachableController",
                "references": [
                  {
                    "name": "AttachableController",
                    "package": "@material/web",
                    "module": "internal/controller/attachable-controller.js",
                    "start": 0,
                    "end": 20
                  }
                ]
              },
              "default": "new AttachableController(\n    this,\n    this.onControlChange.bind(this),\n  )"
            },
            {
              "kind": "field",
              "name": "htmlFor",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "control",
              "privacy": "public",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "attach",
              "privacy": "public",
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "detach",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "connectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "update",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changedProps",
                  "type": {
                    "text": "PropertyValueMap<Ripple>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Ripple",
                        "package": "@material/web",
                        "module": "ripple/internal/ripple.js",
                        "start": 17,
                        "end": 23
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handlePointerenter",
              "description": "TODO(b/269799771): make private",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent",
                    "references": [
                      {
                        "name": "PointerEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handlePointerleave",
              "description": "TODO(b/269799771): make private",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent",
                    "references": [
                      {
                        "name": "PointerEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handlePointerup",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent",
                    "references": [
                      {
                        "name": "PointerEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handlePointerdown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent",
                    "references": [
                      {
                        "name": "PointerEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handlePointercancel",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent",
                    "references": [
                      {
                        "name": "PointerEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleContextmenu",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "determineRippleSize",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getNormalizedPointerEventCoords",
              "privacy": "private",
              "parameters": [
                {
                  "name": "pointerEvent",
                  "type": {
                    "text": "PointerEvent",
                    "references": [
                      {
                        "name": "PointerEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "{ x: number; y: number; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "getTranslationCoordinates",
              "privacy": "private",
              "parameters": [
                {
                  "name": "positionEvent",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  },
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "{ startPoint: { x: number; y: number; }; endPoint: { x: number; y: number; }; }"
                }
              }
            },
            {
              "kind": "method",
              "name": "startPressAnimation",
              "privacy": "private",
              "parameters": [
                {
                  "name": "positionEvent",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  },
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "endPressAnimation",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "shouldReactToEvent",
              "description": "Returns `true` if\n - the ripple element is enabled\n - the pointer is primary for the input type\n - the pointer is the pointer that started the interaction, or will start\nthe interaction\n - the pointer is a touch, or the pointer state has the primary button\nheld, or the pointer is hovering",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent",
                    "references": [
                      {
                        "name": "PointerEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "isTouch",
              "privacy": "private",
              "parameters": [
                {
                  "name": "{pointerType}",
                  "type": {
                    "text": "PointerEvent",
                    "references": [
                      {
                        "name": "PointerEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleEvent",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "onControlChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "prev",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "next",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "disabled"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Ripple",
          "declaration": {
            "name": "Ripple"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "sass/ext/tests.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/filled-select.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdFilledSelect",
          "description": "The select component allows users to choose a value from a fixed list of\navailable options. Composed of an interactive anchor button and a menu, it is\nanalogous to the native HTML `<select>` element. This is the \"filled\"\nvariant.",
          "summary": "Select menus display a list of choices on temporary surfaces and display the\ncurrently selected menu item above the menu.",
          "superclass": {
            "name": "FilledSelect",
            "package": "@material/web",
            "module": "select/internal/filled-select.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, styles]"
            }
          ],
          "tagName": "md-filled-select",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdFilledSelect",
          "declaration": {
            "name": "MdFilledSelect"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-filled-select",
          "declaration": {
            "name": "MdFilledSelect"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "SelectHarness",
          "description": "Test harness for menu.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "isOpen",
              "privacy": "public",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "method",
              "name": "getField",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Field",
                  "references": [
                    {
                      "name": "Field",
                      "package": "@material/web",
                      "module": "field/internal/field.js",
                      "start": 0,
                      "end": 5
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "description": "Shows the menu and returns the first list item element.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<Field>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "Field",
                      "package": "@material/web",
                      "module": "field/internal/field.js",
                      "start": 8,
                      "end": 13
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "startHover",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getItems",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "SelectOptionHarness[]",
                  "references": [
                    {
                      "name": "SelectOptionHarness",
                      "package": "@material/web",
                      "module": "select/internal/selectoption/harness.js",
                      "start": 0,
                      "end": 19
                    }
                  ]
                },
                "description": "ListItem harnesses for the menu's items."
              }
            },
            {
              "kind": "method",
              "name": "click",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "clickOption",
              "privacy": "public",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            }
          ]
        },
        {
          "kind": "class",
          "name": "SelectFieldHardness",
          "superclass": {
            "name": "FieldHarness",
            "package": "@material/web",
            "module": "field/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SelectHarness",
          "declaration": {
            "name": "SelectHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/outlined-select.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdOutlinedSelect",
          "description": "The select component allows users to choose a value from a fixed list of\navailable options. Composed of an interactive anchor button and a menu, it is\nanalogous to the native HTML `<select>` element. This is the \"outlined\"\nvariant.",
          "summary": "Select menus display a list of choices on temporary surfaces and display the\ncurrently selected menu item above the menu.",
          "superclass": {
            "name": "OutlinedSelect",
            "package": "@material/web",
            "module": "select/internal/outlined-select.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, styles]"
            }
          ],
          "tagName": "md-outlined-select",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdOutlinedSelect",
          "declaration": {
            "name": "MdOutlinedSelect"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-outlined-select",
          "declaration": {
            "name": "MdOutlinedSelect"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/select-option.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdSelectOption",
          "description": "The select component allows users to choose a value from a fixed list of\navailable options. Composed of an interactive anchor button and a menu, it is\nanalogous to the native HTML `<select>` element. This is the option that\ncan be placed inside of an md-select.\n\nThis component is a subclass of `md-menu-item` and can accept the same slots,\nproperties, and events as `md-menu-item`.",
          "summary": "Select menus display a list of choices on temporary surfaces and display the\ncurrently selected menu item above the menu.",
          "superclass": {
            "name": "SelectOptionEl",
            "package": "@material/web",
            "module": "select/internal/selectoption/select-option.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-select-option",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SelectOption",
          "declaration": {
            "name": "SelectOption",
            "package": "@material/web",
            "module": "select/internal/selectoption/select-option.js"
          }
        },
        {
          "kind": "js",
          "name": "MdSelectOption",
          "declaration": {
            "name": "MdSelectOption"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-select-option",
          "declaration": {
            "name": "MdSelectOption"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/internal/filled-select-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/internal/filled-select.js",
      "declarations": [
        {
          "kind": "class",
          "name": "FilledSelect",
          "superclass": {
            "name": "Select",
            "package": "@material/web",
            "module": "select/internal/select.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "fieldTag",
              "privacy": "protected",
              "type": {
                "text": "StaticValue",
                "references": [
                  {
                    "name": "StaticValue",
                    "package": "lit-html",
                    "module": "development/static.js",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "default": "literal`md-filled-field`"
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FilledSelect",
          "declaration": {
            "name": "FilledSelect"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/internal/outlined-select-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/internal/outlined-select.js",
      "declarations": [
        {
          "kind": "class",
          "name": "OutlinedSelect",
          "superclass": {
            "name": "Select",
            "package": "@material/web",
            "module": "select/internal/select.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "fieldTag",
              "privacy": "protected",
              "type": {
                "text": "StaticValue",
                "references": [
                  {
                    "name": "StaticValue",
                    "package": "lit-html",
                    "module": "development/static.js",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "default": "literal`md-outlined-field`"
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "OutlinedSelect",
          "declaration": {
            "name": "OutlinedSelect"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/internal/select.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "VALUE",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "class",
          "name": "selectBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            },
            {
              "name": "mixinOnReportValidity",
              "package": "@material/web",
              "module": "labs/behaviors/on-report-validity.js"
            },
            {
              "name": "mixinConstraintValidation",
              "package": "@material/web",
              "module": "labs/behaviors/constraint-validation.js"
            },
            {
              "name": "mixinFormAssociated",
              "package": "@material/web",
              "module": "labs/behaviors/form-associated.js"
            },
            {
              "name": "mixinElementInternals",
              "package": "@material/web",
              "module": "labs/behaviors/element-internals.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "Select",
          "superclass": {
            "name": "selectBaseClass",
            "package": "@material/web",
            "module": "select/internal/select.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "quick",
              "description": "Opens the menu synchronously with no animation.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "quick"
            },
            {
              "kind": "field",
              "name": "required",
              "description": "Whether or not the select is required.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "required"
            },
            {
              "kind": "field",
              "name": "errorText",
              "description": "The error message that replaces supporting text when `error` is true. If\n`errorText` is an empty string, then the supporting text will continue to\nshow.\n\nThis error message overrides the error message displayed by\n`reportValidity()`.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "error-text"
            },
            {
              "kind": "field",
              "name": "label",
              "description": "The floating label for the field.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "noAsterisk",
              "description": "Disables the asterisk on the floating label, when the select is\nrequired.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-asterisk"
            },
            {
              "kind": "field",
              "name": "supportingText",
              "description": "Conveys additional information below the select, such as how it should\nbe used.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "supporting-text"
            },
            {
              "kind": "field",
              "name": "error",
              "description": "Gets or sets whether or not the select is in a visually invalid state.\n\nThis error state overrides the error state controlled by\n`reportValidity()`.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "error",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "menuPositioning",
              "description": "Whether or not the underlying md-menu should be position: fixed to display\nin a top-level manner, or position: absolute.\n\nposition:fixed is useful for cases where select is inside of another\nelement with stacking context and hidden overflows such as `md-dialog`.",
              "privacy": "public",
              "type": {
                "text": "\"absolute\" | \"fixed\" | \"popover\""
              },
              "default": "'popover'",
              "attribute": "menu-positioning"
            },
            {
              "kind": "field",
              "name": "clampMenuWidth",
              "description": "Clamps the menu-width to the width of the select.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "clamp-menu-width"
            },
            {
              "kind": "field",
              "name": "typeaheadDelay",
              "description": "The max time between the keystrokes of the typeahead select / menu behavior\nbefore it clears the typeahead buffer.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "DEFAULT_TYPEAHEAD_BUFFER_TIME",
              "attribute": "typeahead-delay"
            },
            {
              "kind": "field",
              "name": "hasLeadingIcon",
              "description": "Whether or not the text field has a leading icon. Used for SSR.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "has-leading-icon"
            },
            {
              "kind": "field",
              "name": "displayText",
              "description": "Text to display in the field. Only set for SSR.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "display-text"
            },
            {
              "kind": "field",
              "name": "menuAlign",
              "description": "Whether the menu should be aligned to the start or the end of the select's\ntextbox.",
              "privacy": "public",
              "type": {
                "text": "\"start\" | \"end\""
              },
              "default": "'start'",
              "attribute": "menu-align"
            },
            {
              "kind": "field",
              "name": "fieldTag",
              "privacy": "protected",
              "type": {
                "text": "StaticValue",
                "references": [
                  {
                    "name": "StaticValue",
                    "package": "lit",
                    "module": "static-html.js",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "lastUserSetValue",
              "description": "Used for initializing select when the user sets the `value` directly.",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "lastUserSetSelectedIndex",
              "description": "Used for initializing select when the user sets the `selectedIndex`\ndirectly.",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "lastSelectedOption",
              "description": "Used for `input` and `change` event change detection.",
              "privacy": "private",
              "type": {
                "text": "SelectOption",
                "references": [
                  {
                    "name": "SelectOption",
                    "package": "@material/web",
                    "module": "select/internal/selectoption/select-option.js",
                    "start": 0,
                    "end": 12
                  }
                ]
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "lastSelectedOptionRecords",
              "privacy": "private",
              "type": {
                "text": "SelectOptionRecord[]",
                "references": [
                  {
                    "name": "SelectOptionRecord",
                    "package": "@material/web",
                    "module": "select/internal/shared.js",
                    "start": 0,
                    "end": 18
                  }
                ]
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "nativeError",
              "description": "Whether or not a native error has been reported via `reportValidity()`.",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "nativeErrorText",
              "description": "The validation message displayed from a native error via\n`reportValidity()`.",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "focused",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "open",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "defaultFocus",
              "privacy": "private",
              "type": {
                "text": "FocusState",
                "references": [
                  {
                    "name": "FocusState",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/shared.js",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "default": "FocusState.NONE"
            },
            {
              "kind": "field",
              "name": "field",
              "privacy": "private",
              "type": {
                "text": "Field",
                "references": [
                  {
                    "name": "Field",
                    "package": "@material/web",
                    "module": "field/internal/field.js",
                    "start": 0,
                    "end": 5
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "menu",
              "privacy": "private",
              "type": {
                "text": "Menu",
                "references": [
                  {
                    "name": "Menu",
                    "package": "@material/web",
                    "module": "menu/internal/menu.js",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "labelEl",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "leadingIcons",
              "privacy": "private",
              "type": {
                "text": "Element[]",
                "references": [
                  {
                    "name": "Element",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "prevOpen",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "this.open"
            },
            {
              "kind": "field",
              "name": "selectWidth",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "value",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "options",
              "privacy": "public",
              "type": {
                "text": "SelectOption[]",
                "references": [
                  {
                    "name": "SelectOption",
                    "package": "@material/web",
                    "module": "select/internal/selectoption/select-option.js",
                    "start": 0,
                    "end": 12
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "selectedIndex",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "attribute": "selected-index"
            },
            {
              "kind": "field",
              "name": "selectedOptions",
              "privacy": "public",
              "type": {
                "text": "SelectOption[]",
                "references": [
                  {
                    "name": "SelectOption",
                    "package": "@material/web",
                    "module": "select/internal/selectoption/select-option.js",
                    "start": 0,
                    "end": 12
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "hasError",
              "privacy": "private",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "{ delegatesFocus: boolean; clonable?: boolean; customElementRegistry?: CustomElementRegistry; mode: ShadowRootMode; serializable?: boolean; slotAssignment?: SlotAssignmentMode; }",
                "references": [
                  {
                    "name": "CustomElementRegistry",
                    "package": "global:",
                    "start": 71,
                    "end": 92
                  },
                  {
                    "name": "ShadowRootMode",
                    "package": "global:",
                    "start": 100,
                    "end": 114
                  },
                  {
                    "name": "SlotAssignmentMode",
                    "package": "global:",
                    "start": 157,
                    "end": 175
                  }
                ]
              },
              "default": "{\n    ...LitElement.shadowRootOptions,\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "method",
              "name": "select",
              "description": "Selects an option given the value of the option, and updates MdSelect's\nvalue.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "selectIndex",
              "description": "Selects an option given the index of the option, and updates MdSelect's\nvalue.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "reset",
              "description": "Reset the select to its default value.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "showPicker",
              "description": "Shows the picker. If it's already open, this is a no-op.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[onReportValidity]",
              "privacy": "public",
              "parameters": [
                {
                  "name": "invalidEvent",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "update",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changed",
                  "type": {
                    "text": "PropertyValueMap<Select>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Select",
                        "package": "@material/web",
                        "module": "select/internal/select.js",
                        "start": 17,
                        "end": 23
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "firstUpdated",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changed",
                  "type": {
                    "text": "PropertyValueMap<Select>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Select",
                        "package": "@material/web",
                        "module": "select/internal/select.js",
                        "start": 17,
                        "end": 23
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ClassInfo",
                  "references": [
                    {
                      "name": "ClassInfo",
                      "package": "lit",
                      "module": "directives/class-map.js",
                      "start": 0,
                      "end": 9
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderField",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderFieldContent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>[]",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLeadingIcon",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderTrailingIcon",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderMenu",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderMenuContent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeydown",
              "description": "Handles opening the select on keydown and typahead selection when the menu\nis closed.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleFocusout",
              "description": "Handles closing the menu when the focus leaves the select's subtree.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent",
                    "references": [
                      {
                        "name": "FocusEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 10
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getSelectedOptions",
              "description": "Gets a list of all selected select options as a list item record array.",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SelectOptionRecord[]",
                  "references": [
                    {
                      "name": "SelectOptionRecord",
                      "package": "@material/web",
                      "module": "select/internal/shared.js",
                      "start": 0,
                      "end": 18
                    }
                  ]
                },
                "description": "An array of selected list option records."
              }
            },
            {
              "kind": "method",
              "name": "getUpdateComplete",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<boolean>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "updateValueAndDisplayText",
              "description": "Gets the selected options from the DOM, and updates the value and display\ntext to the first selected option's value and headline respectively.",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                },
                "description": "Whether or not the selected option has changed since last update."
              }
            },
            {
              "kind": "method",
              "name": "handleOpening",
              "description": "Focuses and activates the last selected item upon opening, and resets other\nactive items.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "redispatchEvent",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleClosed",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleCloseMenu",
              "description": "Determines the reason for closing, and updates the UI accordingly.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "CustomEvent<{ initiator: MenuItem; itemPath: MenuItem[]; reason: DefaultReasons; }>",
                    "references": [
                      {
                        "name": "CustomEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      },
                      {
                        "name": "MenuItem",
                        "package": "@material/web",
                        "module": "menu/menu.js",
                        "start": 25,
                        "end": 33
                      },
                      {
                        "name": "MenuItem",
                        "package": "@material/web",
                        "module": "menu/menu.js",
                        "start": 45,
                        "end": 53
                      },
                      {
                        "name": "DefaultReasons",
                        "package": "@material/web",
                        "module": "menu/internal/controllers/shared.js",
                        "start": 65,
                        "end": 79
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "selectItem",
              "description": "Selects a given option, deselects other options, and updates the UI.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "SelectOption",
                    "references": [
                      {
                        "name": "SelectOption",
                        "package": "@material/web",
                        "module": "select/internal/selectoption/select-option.js",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                },
                "description": "Whether the last selected option has changed."
              }
            },
            {
              "kind": "method",
              "name": "handleRequestSelection",
              "description": "Handles updating selection when an option element requests selection via\nproperty / attribute change.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleRequestDeselection",
              "description": "Handles updating selection when an option element requests deselection via\nproperty / attribute change.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "initUserSelection",
              "description": "Attempts to initialize the selected option from user-settable values like\nSSR, setting `value`, or `selectedIndex` at startup.",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleIconChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "dispatchInteractionEvents",
              "description": "Dispatches the `input` and `change` events.",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getErrorText",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormValue]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "click",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[createValidator]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "SelectValidator",
                  "references": [
                    {
                      "name": "SelectValidator",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/select-validator.js",
                      "start": 0,
                      "end": 15
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "[getValidityAnchor]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Field",
                  "references": [
                    {
                      "name": "Field",
                      "package": "@material/web",
                      "module": "field/internal/field.js",
                      "start": 0,
                      "end": 5
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "quick",
              "type": {
                "text": "boolean"
              },
              "fieldName": "quick"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "fieldName": "required"
            },
            {
              "name": "error-text",
              "type": {
                "text": "string"
              },
              "fieldName": "errorText"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "fieldName": "label"
            },
            {
              "name": "no-asterisk",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noAsterisk"
            },
            {
              "name": "supporting-text",
              "type": {
                "text": "string"
              },
              "fieldName": "supportingText"
            },
            {
              "name": "error",
              "type": {
                "text": "boolean"
              },
              "fieldName": "error"
            },
            {
              "name": "menu-positioning",
              "type": {
                "text": "string"
              },
              "fieldName": "menuPositioning"
            },
            {
              "name": "clamp-menu-width",
              "type": {
                "text": "boolean"
              },
              "fieldName": "clampMenuWidth"
            },
            {
              "name": "typeahead-delay",
              "type": {
                "text": "number"
              },
              "fieldName": "typeaheadDelay"
            },
            {
              "name": "has-leading-icon",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hasLeadingIcon"
            },
            {
              "name": "display-text",
              "type": {
                "text": "string"
              },
              "fieldName": "displayText"
            },
            {
              "name": "menu-align",
              "type": {
                "text": "string"
              },
              "fieldName": "menuAlign"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            },
            {
              "name": "selected-index",
              "type": {
                "text": "number"
              },
              "fieldName": "selectedIndex"
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "The native `change` event on\n[`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event)\n--bubbles"
            },
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "The native `input` event on\n[`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event)\n--bubbles --composed"
            },
            {
              "name": "opening",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired when the select's menu is about to open."
            },
            {
              "name": "opened",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired when the select's menu has finished animations\nand opened."
            },
            {
              "name": "closing",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired when the select's menu is about to close."
            },
            {
              "name": "closed",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired when the select's menu has finished animations\nand closed."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Select",
          "declaration": {
            "name": "Select"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/internal/shared-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/internal/shared.js",
      "declarations": [
        {
          "kind": "function",
          "name": "getSelectedItems",
          "description": "Given a list of select options, this function will return an array of\nSelectOptionRecords that are selected.",
          "parameters": [
            {
              "name": "items",
              "type": {
                "text": "SelectOption[]",
                "references": [
                  {
                    "name": "SelectOption",
                    "package": "@material/web",
                    "module": "select/internal/selectoption/select-option.js",
                    "start": 0,
                    "end": 12
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "SelectOptionRecord[]",
              "references": [
                {
                  "name": "SelectOptionRecord",
                  "package": "@material/web",
                  "module": "select/internal/shared.js",
                  "start": 0,
                  "end": 18
                }
              ]
            },
            "description": "An array of SelectOptionRecords describing the options that are\nselected."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "getSelectedItems",
          "declaration": {
            "name": "getSelectedItems"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/internal/selectoption/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "SelectOptionHarness",
          "description": "Test harness for menu item.",
          "superclass": {
            "name": "ListItemHarness",
            "package": "@material/web",
            "module": "list/internal/listitem/harness.js"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SelectOptionHarness",
          "declaration": {
            "name": "SelectOptionHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/internal/selectoption/select-option.js",
      "declarations": [
        {
          "kind": "class",
          "name": "selectOptionBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "SelectOptionEl",
          "superclass": {
            "name": "selectOptionBaseClass",
            "package": "@material/web",
            "module": "select/internal/selectoption/select-option.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "disabled",
              "description": "Disables the item and makes it non-selectable and non-interactive.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "isMenuItem",
              "description": "READONLY: self-identifies as a menu item and sets its identifying attribute",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "attribute": "md-menu-item",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "selected",
              "description": "Sets the item in the selected visual state when a submenu is opened.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "selected"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "Form value of the option.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "listItemRoot",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "headlineElements",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "supportingTextElements",
              "privacy": "protected",
              "type": {
                "text": "HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "defaultElements",
              "privacy": "protected",
              "type": {
                "text": "Element[]",
                "references": [
                  {
                    "name": "Element",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "type",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "'option' as const"
            },
            {
              "kind": "field",
              "name": "selectOptionController",
              "privacy": "private",
              "type": {
                "text": "SelectOptionController",
                "references": [
                  {
                    "name": "SelectOptionController",
                    "package": "@material/web",
                    "module": "select/internal/selectoption/selectOptionController.js",
                    "start": 0,
                    "end": 22
                  }
                ]
              },
              "default": "new SelectOptionController(this, {\n    getHeadlineElements: () => {\n      return this.headlineElements;\n    },\n    getSupportingTextElements: () => {\n      return this.supportingTextElements;\n    },\n    getDefaultElements: () => {\n      return this.defaultElements;\n    },\n    getInteractiveElement: () => this.listItemRoot,\n  })"
            },
            {
              "kind": "field",
              "name": "typeaheadText",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "displayText",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "{ delegatesFocus: boolean; clonable?: boolean; customElementRegistry?: CustomElementRegistry; mode: ShadowRootMode; serializable?: boolean; slotAssignment?: SlotAssignmentMode; }",
                "references": [
                  {
                    "name": "CustomElementRegistry",
                    "package": "global:",
                    "start": 71,
                    "end": 92
                  },
                  {
                    "name": "ShadowRootMode",
                    "package": "global:",
                    "start": 100,
                    "end": 114
                  },
                  {
                    "name": "SlotAssignmentMode",
                    "package": "global:",
                    "start": 157,
                    "end": 175
                  }
                ]
              },
              "default": "{\n    ...LitElement.shadowRootOptions,\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderListItem",
              "description": "Renders the root list item.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "content",
                  "description": "the child content of the list item.",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderRipple",
              "description": "Handles rendering of the ripple element.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderFocusRing",
              "description": "Handles rendering of the focus ring.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "description": "Classes applied to the list item root.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "ClassInfo",
                  "references": [
                    {
                      "name": "ClassInfo",
                      "package": "lit",
                      "module": "directives/class-map.js",
                      "start": 0,
                      "end": 9
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderBody",
              "description": "Handles rendering the headline and supporting text.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "disabled"
            },
            {
              "name": "md-menu-item",
              "type": {
                "text": "boolean"
              },
              "fieldName": "isMenuItem"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "fieldName": "selected"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            }
          ],
          "events": [
            {
              "name": "close-menu",
              "type": {
                "text": "CustomEvent<{initiator: SelectOption, reason: Reason, itemPath: SelectOption[]}>",
                "references": [
                  {
                    "name": "CustomEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  },
                  {
                    "name": "SelectOption",
                    "package": "@material/web",
                    "module": "select/internal/selectoption/select-option.js",
                    "start": 24,
                    "end": 36
                  },
                  {
                    "name": "SelectOption",
                    "package": "@material/web",
                    "module": "select/internal/selectoption/select-option.js",
                    "start": 64,
                    "end": 76
                  }
                ]
              },
              "description": "Closes the encapsulating menu on closable interaction. --bubbles --composed"
            },
            {
              "name": "request-selection",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Requests the parent md-select to select this\nelement (and deselect others if single-selection) when `selected` changed to\n`true`. --bubbles --composed"
            },
            {
              "name": "request-deselection",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Requests the parent md-select to deselect\nthis element when `selected` changed to `false`. --bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SelectOptionEl",
          "declaration": {
            "name": "SelectOptionEl"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "select/internal/selectoption/selectOptionController.js",
      "declarations": [
        {
          "kind": "function",
          "name": "createRequestSelectionEvent",
          "description": "Creates an event fired by a SelectOption to request selection from md-select.\nTypically fired after `selected` changes from `false` to `true`.",
          "return": {
            "type": {
              "text": "Event",
              "references": [
                {
                  "name": "Event",
                  "package": "global:",
                  "start": 0,
                  "end": 5
                }
              ]
            }
          }
        },
        {
          "kind": "function",
          "name": "createRequestDeselectionEvent",
          "description": "Creates an event fired by a SelectOption to request deselection from\nmd-select. Typically fired after `selected` changes from `true` to `false`.",
          "return": {
            "type": {
              "text": "Event",
              "references": [
                {
                  "name": "Event",
                  "package": "global:",
                  "start": 0,
                  "end": 5
                }
              ]
            }
          }
        },
        {
          "kind": "class",
          "name": "SelectOptionController",
          "description": "A controller that provides most functionality and md-select compatibility for\nan element that implements the SelectOption interface.",
          "members": [
            {
              "kind": "field",
              "name": "menuItemController",
              "privacy": "public",
              "type": {
                "text": "MenuItemController",
                "references": [
                  {
                    "name": "MenuItemController",
                    "package": "@material/web",
                    "module": "menu/internal/controllers/menuItemController.js",
                    "start": 0,
                    "end": 18
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "internalDisplayText",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "lastSelected",
              "privacy": "public",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "firstUpdate",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "true"
            },
            {
              "kind": "field",
              "name": "onClick",
              "description": "Bind this click listener to the interactive element. Handles closing the\nmenu.",
              "privacy": "public",
              "type": {
                "text": "() => void"
              },
              "default": "() => {\n    this.menuItemController.onClick();\n  }"
            },
            {
              "kind": "field",
              "name": "onKeydown",
              "description": "Bind this click listener to the interactive element. Handles closing the\nmenu.",
              "privacy": "public",
              "type": {
                "text": "(e: KeyboardEvent) => void",
                "references": [
                  {
                    "name": "KeyboardEvent",
                    "package": "global:",
                    "start": 4,
                    "end": 17
                  }
                ]
              },
              "default": "(e: KeyboardEvent) => {\n    this.menuItemController.onKeydown(e);\n  }"
            },
            {
              "kind": "field",
              "name": "role",
              "privacy": "public",
              "type": {
                "text": "\"menuitem\" | \"option\""
              }
            },
            {
              "kind": "field",
              "name": "typeaheadText",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "displayText",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "method",
              "name": "setTypeaheadText",
              "privacy": "public",
              "parameters": [
                {
                  "name": "text",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "setDisplayText",
              "privacy": "public",
              "parameters": [
                {
                  "name": "text",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostUpdate",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostUpdated",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createRequestSelectionEvent",
          "declaration": {
            "name": "createRequestSelectionEvent"
          }
        },
        {
          "kind": "js",
          "name": "createRequestDeselectionEvent",
          "declaration": {
            "name": "createRequestDeselectionEvent"
          }
        },
        {
          "kind": "js",
          "name": "SelectOptionController",
          "declaration": {
            "name": "SelectOptionController"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "slider/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "SliderHarness",
          "description": "Test harness for slider.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<HTMLInputElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLInputElement",
                      "package": "global:",
                      "start": 8,
                      "end": 24
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getInputs",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "HTMLInputElement[]",
                  "references": [
                    {
                      "name": "HTMLInputElement",
                      "package": "global:",
                      "start": 0,
                      "end": 16
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getHandles",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Element[]",
                  "references": [
                    {
                      "name": "Element",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getLabels",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Element[]",
                  "references": [
                    {
                      "name": "Element",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "isLabelShowing",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateValueInteraction",
              "privacy": "public",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "el",
                  "type": {
                    "text": "HTMLInputElement",
                    "references": [
                      {
                        "name": "HTMLInputElement",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "positionEventAtHandle",
              "privacy": "private",
              "parameters": [
                {
                  "name": "init",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  }
                },
                {
                  "name": "startHandle",
                  "type": {
                    "text": "boolean"
                  },
                  "default": "false",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "{ clientX: number; clientY: number; screenX: number; screenY: number; altitudeAngle?: number; azimuthAngle?: number; coalescedEvents?: PointerEvent[]; height?: number; isPrimary?: boolean; ... 33 more ...; composed?: boolean; }",
                  "references": [
                    {
                      "name": "PointerEvent",
                      "package": "global:",
                      "start": 135,
                      "end": 147
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateStartHover",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "init",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateMousePress",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "init",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SliderHarness",
          "declaration": {
            "name": "SliderHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "slider/slider.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdSlider",
          "description": "Changes made with sliders are immediate, allowing the user to make slider\nadjustments while determining a selection. Sliders shouldn’t be used to\nadjust settings with any delay in providing user feedback. Sliders reflect\nthe current state of the settings they control.\n\n__Example usages:__\n- Sliders are ideal for adjusting settings such as volume and brightness, or\nfor applying image filters.",
          "summary": "Sliders allow users to view and select a value (or range) along\na track.",
          "superclass": {
            "name": "Slider",
            "package": "@material/web",
            "module": "slider/internal/slider.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles, forcedColorsStyles]"
            }
          ],
          "tagName": "md-slider",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdSlider",
          "declaration": {
            "name": "MdSlider"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-slider",
          "declaration": {
            "name": "MdSlider"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "slider/internal/forced-colors-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "slider/internal/slider-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "slider/internal/slider.js",
      "declarations": [
        {
          "kind": "class",
          "name": "sliderBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            },
            {
              "name": "mixinFormAssociated",
              "package": "@material/web",
              "module": "labs/behaviors/form-associated.js"
            },
            {
              "name": "mixinElementInternals",
              "package": "@material/web",
              "module": "labs/behaviors/element-internals.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "Slider",
          "description": "Slider component.",
          "superclass": {
            "name": "sliderBaseClass",
            "package": "@material/web",
            "module": "slider/internal/slider.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "min",
              "description": "The slider minimum value",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "description": "The slider maximum value",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "100",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The slider value displayed when range is false.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "valueStart",
              "description": "The slider start value displayed when range is true.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "attribute": "value-start"
            },
            {
              "kind": "field",
              "name": "valueEnd",
              "description": "The slider end value displayed when range is true.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "attribute": "value-end"
            },
            {
              "kind": "field",
              "name": "valueLabel",
              "description": "An optional label for the slider's value displayed when range is\nfalse; if not set, the label is the value itself.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "value-label"
            },
            {
              "kind": "field",
              "name": "valueLabelStart",
              "description": "An optional label for the slider's start value displayed when\nrange is true; if not set, the label is the valueStart itself.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "value-label-start"
            },
            {
              "kind": "field",
              "name": "valueLabelEnd",
              "description": "An optional label for the slider's end value displayed when\nrange is true; if not set, the label is the valueEnd itself.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "value-label-end"
            },
            {
              "kind": "field",
              "name": "ariaLabelStart",
              "description": "Aria label for the slider's start handle displayed when\nrange is true.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "aria-label-start"
            },
            {
              "kind": "field",
              "name": "ariaValueTextStart",
              "description": "Aria value text for the slider's start value displayed when\nrange is true.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "aria-valuetext-start"
            },
            {
              "kind": "field",
              "name": "ariaLabelEnd",
              "description": "Aria label for the slider's end handle displayed when\nrange is true.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "aria-label-end"
            },
            {
              "kind": "field",
              "name": "ariaValueTextEnd",
              "description": "Aria value text for the slider's end value displayed when\nrange is true.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "aria-valuetext-end"
            },
            {
              "kind": "field",
              "name": "step",
              "description": "The step between values.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "1",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "ticks",
              "description": "Whether or not to show tick marks.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "ticks"
            },
            {
              "kind": "field",
              "name": "labeled",
              "description": "Whether or not to show a value label when activated.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "labeled"
            },
            {
              "kind": "field",
              "name": "range",
              "description": "Whether or not to show a value range. When false, the slider displays\na slideable handle for the value property; when true, it displays\nslideable handles for the valueStart and valueEnd properties.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "range"
            },
            {
              "kind": "field",
              "name": "inputStart",
              "privacy": "private",
              "type": {
                "text": "HTMLInputElement",
                "references": [
                  {
                    "name": "HTMLInputElement",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "handleStart",
              "privacy": "private",
              "type": {
                "text": "HTMLDivElement",
                "references": [
                  {
                    "name": "HTMLDivElement",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "rippleStart",
              "privacy": "private",
              "type": {
                "text": "Promise<MdRipple>",
                "references": [
                  {
                    "name": "Promise",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  },
                  {
                    "name": "MdRipple",
                    "package": "@material/web",
                    "module": "ripple/ripple.js",
                    "start": 8,
                    "end": 16
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "inputEnd",
              "privacy": "private",
              "type": {
                "text": "HTMLInputElement",
                "references": [
                  {
                    "name": "HTMLInputElement",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "handleEnd",
              "privacy": "private",
              "type": {
                "text": "HTMLDivElement",
                "references": [
                  {
                    "name": "HTMLDivElement",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "rippleEnd",
              "privacy": "private",
              "type": {
                "text": "Promise<MdRipple>",
                "references": [
                  {
                    "name": "Promise",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  },
                  {
                    "name": "MdRipple",
                    "package": "@material/web",
                    "module": "ripple/ripple.js",
                    "start": 8,
                    "end": 16
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "handleStartHover",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "handleEndHover",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "startOnTop",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "handlesOverlapping",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "renderValueStart",
              "privacy": "private",
              "type": {
                "text": "number"
              }
            },
            {
              "kind": "field",
              "name": "renderValueEnd",
              "privacy": "private",
              "type": {
                "text": "number"
              }
            },
            {
              "kind": "field",
              "name": "ripplePointerId",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "1"
            },
            {
              "kind": "field",
              "name": "isRedispatchingEvent",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "action",
              "privacy": "private",
              "type": {
                "text": "Action",
                "references": [
                  {
                    "name": "Action",
                    "package": "@material/web",
                    "module": "slider/internal/slider.js",
                    "start": 0,
                    "end": 6
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "nameStart",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "nameEnd",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "renderAriaLabelStart",
              "privacy": "private",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "renderAriaValueTextStart",
              "privacy": "private",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "renderAriaLabelEnd",
              "privacy": "private",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "renderAriaValueTextEnd",
              "privacy": "private",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "ShadowRootInit",
                "references": [
                  {
                    "name": "ShadowRootInit",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              },
              "default": "{\n    ...LitElement.shadowRootOptions,\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "willUpdate",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changed",
                  "type": {
                    "text": "PropertyValueMap<any> | Map<PropertyKey, unknown>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Map",
                        "package": "global:",
                        "start": 24,
                        "end": 27
                      },
                      {
                        "name": "PropertyKey",
                        "package": "global:",
                        "start": 28,
                        "end": 39
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changed",
                  "type": {
                    "text": "PropertyValueMap<any> | Map<PropertyKey, unknown>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Map",
                        "package": "global:",
                        "start": 24,
                        "end": 27
                      },
                      {
                        "name": "PropertyKey",
                        "package": "global:",
                        "start": 28,
                        "end": 39
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderTrack",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLabel",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderHandle",
              "privacy": "private",
              "parameters": [
                {
                  "name": "{\n    start,\n    hover,\n    label,\n  }",
                  "type": {
                    "text": "{ start: boolean; hover: boolean; label: string; }"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "{\n    start,\n    value,\n    ariaLabel,\n    ariaValueText,\n    ariaMin,\n    ariaMax,\n  }",
                  "type": {
                    "text": "{ start: boolean; value?: number; ariaLabel: string; ariaValueText: string; ariaMin: number; ariaMax: number; }"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "toggleRippleHover",
              "privacy": "private",
              "parameters": [
                {
                  "name": "ripple",
                  "type": {
                    "text": "Promise<MdRipple>",
                    "references": [
                      {
                        "name": "Promise",
                        "package": "global:",
                        "start": 0,
                        "end": 7
                      },
                      {
                        "name": "MdRipple",
                        "package": "@material/web",
                        "module": "ripple/ripple.js",
                        "start": 8,
                        "end": 16
                      }
                    ]
                  }
                },
                {
                  "name": "hovering",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "startAction",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "finishAction",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeyup",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent",
                    "references": [
                      {
                        "name": "PointerEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleUp",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent",
                    "references": [
                      {
                        "name": "PointerEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleMove",
              "description": "The move handler tracks handle hovering to facilitate proper ripple\nbehavior on the slider handle. This is needed because user interaction with\nthe native input is leveraged to position the handle. Because the separate\ndisplayed handle element has pointer events disabled (to allow interaction\nwith the input) and the input's handle is a pseudo-element, neither can be\nthe ripple's interactive element. Therefore the input is the ripple's\ninteractive element and has a `ripple` directive; however the ripple\nis gated on the handle being hovered. In addition, because the ripple\nhover state is being specially handled, it must be triggered independent\nof the directive. This is done based on the hover state when the\nslider is updated.",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent",
                    "references": [
                      {
                        "name": "PointerEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleEnter",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent",
                    "references": [
                      {
                        "name": "PointerEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 12
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleLeave",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "updateOnTop",
              "privacy": "private",
              "parameters": [
                {
                  "name": "input",
                  "type": {
                    "text": "HTMLInputElement",
                    "references": [
                      {
                        "name": "HTMLInputElement",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "needsClamping",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "isActionFlipped",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "flipAction",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "clampAction",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "InputEvent",
                    "references": [
                      {
                        "name": "InputEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 10
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormValue]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string | FormData",
                  "references": [
                    {
                      "name": "FormData",
                      "package": "global:",
                      "start": 9,
                      "end": 17
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string | [string, string][]"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "min",
              "type": {
                "text": "number"
              },
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "fieldName": "max"
            },
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "fieldName": "value"
            },
            {
              "name": "value-start",
              "type": {
                "text": "number"
              },
              "fieldName": "valueStart"
            },
            {
              "name": "value-end",
              "type": {
                "text": "number"
              },
              "fieldName": "valueEnd"
            },
            {
              "name": "value-label",
              "type": {
                "text": "string"
              },
              "fieldName": "valueLabel"
            },
            {
              "name": "value-label-start",
              "type": {
                "text": "string"
              },
              "fieldName": "valueLabelStart"
            },
            {
              "name": "value-label-end",
              "type": {
                "text": "string"
              },
              "fieldName": "valueLabelEnd"
            },
            {
              "name": "aria-label-start",
              "type": {
                "text": "string"
              },
              "fieldName": "ariaLabelStart"
            },
            {
              "name": "aria-valuetext-start",
              "type": {
                "text": "string"
              },
              "fieldName": "ariaValueTextStart"
            },
            {
              "name": "aria-label-end",
              "type": {
                "text": "string"
              },
              "fieldName": "ariaLabelEnd"
            },
            {
              "name": "aria-valuetext-end",
              "type": {
                "text": "string"
              },
              "fieldName": "ariaValueTextEnd"
            },
            {
              "name": "step",
              "type": {
                "text": "number"
              },
              "fieldName": "step"
            },
            {
              "name": "ticks",
              "type": {
                "text": "boolean"
              },
              "fieldName": "ticks"
            },
            {
              "name": "labeled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "labeled"
            },
            {
              "name": "range",
              "type": {
                "text": "boolean"
              },
              "fieldName": "range"
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "The native `change` event on\n[`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event)\n--bubbles"
            },
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "The native `input` event on\n[`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event)\n--bubbles --composed"
            }
          ]
        },
        {
          "kind": "function",
          "name": "inBounds",
          "parameters": [
            {
              "name": "{x, y}",
              "type": {
                "text": "PointerEvent",
                "references": [
                  {
                    "name": "PointerEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 12
                  }
                ]
              }
            },
            {
              "name": "element",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        },
        {
          "kind": "function",
          "name": "isOverlapping",
          "parameters": [
            {
              "name": "elA",
              "type": {
                "text": "Element",
                "references": [
                  {
                    "name": "Element",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            },
            {
              "name": "elB",
              "type": {
                "text": "Element",
                "references": [
                  {
                    "name": "Element",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Slider",
          "declaration": {
            "name": "Slider"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "switch/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "SwitchHarness",
          "description": "Test harness for switch elements.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<HTMLInputElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLInputElement",
                      "package": "global:",
                      "start": 8,
                      "end": 24
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SwitchHarness",
          "declaration": {
            "name": "SwitchHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "switch/switch.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdSwitch",
          "description": "There's one type of switch in Material. Use this selection control when the\nuser needs to toggle a single item on or off.",
          "summary": "Switches toggle the state of a single item on or off.",
          "superclass": {
            "name": "Switch",
            "package": "@material/web",
            "module": "switch/internal/switch.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-switch",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdSwitch",
          "declaration": {
            "name": "MdSwitch"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-switch",
          "declaration": {
            "name": "MdSwitch"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "switch/internal/switch-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "switch/internal/switch.js",
      "declarations": [
        {
          "kind": "class",
          "name": "switchBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            },
            {
              "name": "mixinConstraintValidation",
              "package": "@material/web",
              "module": "labs/behaviors/constraint-validation.js"
            },
            {
              "name": "mixinFormAssociated",
              "package": "@material/web",
              "module": "labs/behaviors/form-associated.js"
            },
            {
              "name": "mixinElementInternals",
              "package": "@material/web",
              "module": "labs/behaviors/element-internals.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "Switch",
          "superclass": {
            "name": "switchBaseClass",
            "package": "@material/web",
            "module": "switch/internal/switch.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "selected",
              "description": "Puts the switch in the selected state and sets the form submission value to\nthe `value` property.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "selected"
            },
            {
              "kind": "field",
              "name": "icons",
              "description": "Shows both the selected and deselected icons.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "icons"
            },
            {
              "kind": "field",
              "name": "showOnlySelectedIcon",
              "description": "Shows only the selected icon, and not the deselected icon. If `true`,\noverrides the behavior of the `icons` property.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "show-only-selected-icon"
            },
            {
              "kind": "field",
              "name": "required",
              "description": "When true, require the switch to be selected when participating in\nform submission.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#validation",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "required"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The value associated with this switch on form submission. `null` is\nsubmitted when `selected` is `false`.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "'on'",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "input",
              "privacy": "private",
              "type": {
                "text": "HTMLInputElement",
                "references": [
                  {
                    "name": "HTMLInputElement",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "ShadowRootInit",
                "references": [
                  {
                    "name": "ShadowRootInit",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              },
              "default": "{\n    mode: 'open',\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getRenderClasses",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ClassInfo",
                  "references": [
                    {
                      "name": "ClassInfo",
                      "package": "lit",
                      "module": "directives/class-map.js",
                      "start": 0,
                      "end": 9
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderHandle",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderIcons",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderOnIcon",
              "description": "https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck%3AFILL%400%3Bwght%40500%3BGRAD%400%3Bopsz%4024",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderOffIcon",
              "description": "https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Aclose%3AFILL%400%3Bwght%40500%3BGRAD%400%3Bopsz%4024",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderTouchTarget",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "shouldShowIcons",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormValue]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormState]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[createValidator]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "CheckboxValidator",
                  "references": [
                    {
                      "name": "CheckboxValidator",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/checkbox-validator.js",
                      "start": 0,
                      "end": 17
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "[getValidityAnchor]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "HTMLInputElement",
                  "references": [
                    {
                      "name": "HTMLInputElement",
                      "package": "global:",
                      "start": 0,
                      "end": 16
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "fieldName": "selected"
            },
            {
              "name": "icons",
              "type": {
                "text": "boolean"
              },
              "fieldName": "icons"
            },
            {
              "name": "show-only-selected-icon",
              "type": {
                "text": "boolean"
              },
              "fieldName": "showOnlySelectedIcon"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "fieldName": "required"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "Fired whenever `selected` changes due to user\ninteraction (bubbles and composed)."
            },
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired whenever `selected` changes due to user\ninteraction (bubbles)."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Switch",
          "declaration": {
            "name": "Switch"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tabs/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "TabHarness",
          "description": "Test harness for Tab.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "completeIndicatorAnimation",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "isIndicatorShowing",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<boolean>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            }
          ]
        },
        {
          "kind": "class",
          "name": "TabsHarness",
          "description": "Test harness for Tabs.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "harnessedItems",
              "privacy": "public",
              "type": {
                "text": "TabHarness[]",
                "references": [
                  {
                    "name": "TabHarness",
                    "package": "@material/web",
                    "module": "tabs/harness.js",
                    "start": 0,
                    "end": 10
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TabHarness",
          "declaration": {
            "name": "TabHarness"
          }
        },
        {
          "kind": "js",
          "name": "TabsHarness",
          "declaration": {
            "name": "TabsHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tabs/primary-tab.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdPrimaryTab",
          "summary": "Tab allow users to display a tab within a Tabs.",
          "superclass": {
            "name": "PrimaryTab",
            "package": "@material/web",
            "module": "tabs/internal/primary-tab.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, primaryStyles]"
            }
          ],
          "tagName": "md-primary-tab",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdPrimaryTab",
          "declaration": {
            "name": "MdPrimaryTab"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-primary-tab",
          "declaration": {
            "name": "MdPrimaryTab"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tabs/secondary-tab.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdSecondaryTab",
          "summary": "Tab allow users to display a tab within a Tabs.",
          "superclass": {
            "name": "SecondaryTab",
            "package": "@material/web",
            "module": "tabs/internal/secondary-tab.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, secondaryStyles]"
            }
          ],
          "tagName": "md-secondary-tab",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdSecondaryTab",
          "declaration": {
            "name": "MdSecondaryTab"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-secondary-tab",
          "declaration": {
            "name": "MdSecondaryTab"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tabs/tabs.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdTabs",
          "summary": "Tabs displays a list of selectable tabs.",
          "superclass": {
            "name": "Tabs",
            "package": "@material/web",
            "module": "tabs/internal/tabs.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[styles]"
            }
          ],
          "tagName": "md-tabs",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MdTabs",
          "declaration": {
            "name": "MdTabs"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-tabs",
          "declaration": {
            "name": "MdTabs"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tabs/internal/primary-tab-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tabs/internal/primary-tab.js",
      "declarations": [
        {
          "kind": "class",
          "name": "PrimaryTab",
          "description": "A primary tab component.",
          "superclass": {
            "name": "Tab",
            "package": "@material/web",
            "module": "tabs/internal/tab.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "inlineIcon",
              "description": "Whether or not the icon renders inline with label or stacked vertically.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "inline-icon"
            },
            {
              "kind": "method",
              "name": "getContentClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "{ stacked: boolean; }"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "inline-icon",
              "type": {
                "text": "boolean"
              },
              "fieldName": "inlineIcon"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "PrimaryTab",
          "declaration": {
            "name": "PrimaryTab"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tabs/internal/secondary-tab-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tabs/internal/secondary-tab.js",
      "declarations": [
        {
          "kind": "class",
          "name": "SecondaryTab",
          "description": "A secondary tab component.",
          "superclass": {
            "name": "Tab",
            "package": "@material/web",
            "module": "tabs/internal/tab.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "fullWidthIndicator",
              "privacy": "protected",
              "type": {
                "text": "boolean"
              },
              "default": "true"
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SecondaryTab",
          "declaration": {
            "name": "SecondaryTab"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tabs/internal/tab-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tabs/internal/tab.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "ANIMATE_INDICATOR",
          "description": "Symbol used by the tab bar to request a tab to animate its indicator from a\npreviously selected tab.",
          "type": {
            "text": "unique symbol"
          }
        },
        {
          "kind": "class",
          "name": "tabBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinFocusable",
              "package": "@material/web",
              "module": "labs/behaviors/focusable.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "Tab",
          "description": "Tab component.",
          "superclass": {
            "name": "tabBaseClass",
            "package": "@material/web",
            "module": "tabs/internal/tab.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "isTab",
              "description": "The attribute `md-tab` indicates that the element is a tab for the parent\nelement, `<md-tabs>`. Make sure if you're implementing your own `md-tab`\ncomponent that you have an `md-tab` attribute set.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "attribute": "md-tab",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "active",
              "description": "Whether or not the tab is selected.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hasIcon",
              "description": "In SSR, set this to true when an icon is present.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "has-icon"
            },
            {
              "kind": "field",
              "name": "iconOnly",
              "description": "In SSR, set this to true when there is no label and only an icon.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "icon-only"
            },
            {
              "kind": "field",
              "name": "indicator",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "fullWidthIndicator",
              "privacy": "protected",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "assignedDefaultNodes",
              "privacy": "private",
              "type": {
                "text": "Node[]",
                "references": [
                  {
                    "name": "Node",
                    "package": "global:",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "assignedIcons",
              "privacy": "private",
              "type": {
                "text": "HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "privacy": "private",
              "type": {
                "text": "ElementInternals",
                "references": [
                  {
                    "name": "ElementInternals",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              },
              "default": "(this as HTMLElement).attachInternals()"
            },
            {
              "kind": "field",
              "name": "selected",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "attribute": "selected"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getContentClasses",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "ClassInfo",
                  "references": [
                    {
                      "name": "ClassInfo",
                      "package": "lit",
                      "module": "directives/class-map.js",
                      "start": 0,
                      "end": 9
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleContentClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[ANIMATE_INDICATOR]",
              "privacy": "public",
              "parameters": [
                {
                  "name": "previousTab",
                  "type": {
                    "text": "Tab",
                    "references": [
                      {
                        "name": "Tab",
                        "package": "@material/web",
                        "module": "tabs/internal/tab.js",
                        "start": 0,
                        "end": 3
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getKeyframes",
              "privacy": "private",
              "parameters": [
                {
                  "name": "previousTab",
                  "type": {
                    "text": "Tab",
                    "references": [
                      {
                        "name": "Tab",
                        "package": "@material/web",
                        "module": "tabs/internal/tab.js",
                        "start": 0,
                        "end": 3
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Keyframe[]",
                  "references": [
                    {
                      "name": "Keyframe",
                      "package": "global:",
                      "start": 0,
                      "end": 8
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleIconSlotChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "md-tab",
              "type": {
                "text": "boolean"
              },
              "fieldName": "isTab"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "fieldName": "active"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "fieldName": "selected"
            },
            {
              "name": "has-icon",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hasIcon"
            },
            {
              "name": "icon-only",
              "type": {
                "text": "boolean"
              },
              "fieldName": "iconOnly"
            }
          ]
        },
        {
          "kind": "function",
          "name": "shouldReduceMotion",
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ANIMATE_INDICATOR",
          "declaration": {
            "name": "ANIMATE_INDICATOR"
          }
        },
        {
          "kind": "js",
          "name": "Tab",
          "declaration": {
            "name": "Tab"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tabs/internal/tabs-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tabs/internal/tabs.js",
      "declarations": [
        {
          "kind": "class",
          "name": "Tabs",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "tabs",
              "description": "The tabs of this tab bar.",
              "privacy": "public",
              "type": {
                "text": "Tab[]",
                "references": [
                  {
                    "name": "Tab",
                    "package": "@material/web",
                    "module": "tabs/internal/tab.js",
                    "start": 0,
                    "end": 3
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "autoActivate",
              "description": "Whether or not to automatically select a tab when it is focused.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "auto-activate"
            },
            {
              "kind": "field",
              "name": "tabsScrollerElement",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "slotElement",
              "privacy": "private",
              "type": {
                "text": "HTMLSlotElement",
                "references": [
                  {
                    "name": "HTMLSlotElement",
                    "package": "global:",
                    "start": 0,
                    "end": 15
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "internals",
              "privacy": "private",
              "type": {
                "text": "ElementInternals",
                "references": [
                  {
                    "name": "ElementInternals",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              },
              "default": "(this as HTMLElement).attachInternals()"
            },
            {
              "kind": "field",
              "name": "activeTab",
              "privacy": "public",
              "type": {
                "text": "Tab",
                "references": [
                  {
                    "name": "Tab",
                    "package": "@material/web",
                    "module": "tabs/internal/tab.js",
                    "start": 0,
                    "end": 3
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "activeTabIndex",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "attribute": "active-tab-index"
            },
            {
              "kind": "field",
              "name": "focusedTab",
              "privacy": "private",
              "type": {
                "text": "Tab",
                "references": [
                  {
                    "name": "Tab",
                    "package": "@material/web",
                    "module": "tabs/internal/tab.js",
                    "start": 0,
                    "end": 3
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "scrollToTab",
              "description": "Scrolls the toolbar, if overflowing, to the active tab, or the provided\ntab.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "tabToScrollTo",
                  "description": "The tab that should be scrolled to. Defaults to the\nactive tab.",
                  "type": {
                    "text": "Tab",
                    "references": [
                      {
                        "name": "Tab",
                        "package": "@material/web",
                        "module": "tabs/internal/tab.js",
                        "start": 0,
                        "end": 3
                      }
                    ]
                  },
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                },
                "description": "A Promise that resolves after the tab has been scrolled to."
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleTabClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "activateTab",
              "privacy": "private",
              "parameters": [
                {
                  "name": "activeTab",
                  "type": {
                    "text": "Tab",
                    "references": [
                      {
                        "name": "Tab",
                        "package": "@material/web",
                        "module": "tabs/internal/tab.js",
                        "start": 0,
                        "end": 3
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "updateFocusableTab",
              "privacy": "private",
              "parameters": [
                {
                  "name": "focusableTab",
                  "type": {
                    "text": "Tab",
                    "references": [
                      {
                        "name": "Tab",
                        "package": "@material/web",
                        "module": "tabs/internal/tab.js",
                        "start": 0,
                        "end": 3
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent",
                    "references": [
                      {
                        "name": "KeyboardEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 13
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeyup",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleFocusout",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "active-tab-index",
              "type": {
                "text": "number"
              },
              "fieldName": "activeTabIndex"
            },
            {
              "name": "auto-activate",
              "type": {
                "text": "boolean"
              },
              "fieldName": "autoActivate"
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired when the selected tab changes. The target's\n`activeTabIndex` or `activeTab` provide information about the selection\nchange. The change event is fired when a user interaction like a space/enter\nkey or click cause a selection change. The tab selection based on these\nactions can be cancelled by calling preventDefault on the triggering\n`keydown` or `click` event. --bubbles"
            }
          ]
        },
        {
          "kind": "function",
          "name": "isTab",
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "unknown"
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Tabs",
          "declaration": {
            "name": "Tabs"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "testing/harness.js",
      "declarations": [
        {
          "kind": "function",
          "name": "isElementWithHarness",
          "description": "Checks whether or not an element has a Harness attached to it on the\n`element.harness` property.",
          "parameters": [
            {
              "name": "element",
              "description": "The element to check.",
              "type": {
                "text": "Element",
                "references": [
                  {
                    "name": "Element",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            },
            "description": "True if the element has a harness property."
          }
        },
        {
          "kind": "class",
          "name": "Harness",
          "description": "A test harness class that can be used to simulate interaction with an\nelement.",
          "members": [
            {
              "kind": "field",
              "name": "transformPseudoClasses",
              "description": "The pseudo classes that should be transformed for simulation. Component\nsubclasses may override this to add additional pseudo classes.",
              "privacy": "protected",
              "type": {
                "text": "string[]"
              },
              "default": "defaultTransformPseudoClasses"
            },
            {
              "kind": "field",
              "name": "element",
              "privacy": "public",
              "type": {
                "text": "ElementWithHarness<E, this>",
                "references": [
                  {
                    "name": "ElementWithHarness",
                    "package": "@material/web",
                    "module": "testing/harness.js",
                    "start": 0,
                    "end": 18
                  },
                  {
                    "name": "E",
                    "package": "@material/web",
                    "module": "testing/harness.js",
                    "start": 19,
                    "end": 20
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "patchedElements",
              "description": "A set of elements that have already been patched to support transformed\npseudo classes.",
              "privacy": "private",
              "type": {
                "text": "WeakSet<HTMLElement>",
                "references": [
                  {
                    "name": "WeakSet",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  },
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 8,
                    "end": 19
                  }
                ]
              },
              "default": "new WeakSet<HTMLElement>()"
            },
            {
              "kind": "method",
              "name": "reset",
              "description": "Resets the element's simulated classes to the default state.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "clickWithMouse",
              "description": "Hovers and clicks on an element. This will generate a `click` event.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "startClickWithMouse",
              "description": "Begins a click with a mouse. Use this along with `endClickWithMouse()` to\ncustomize the length of the click.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "endClickWithMouse",
              "description": "Finishes a click with a mouse. Use this along with `startClickWithMouse()`\nto customize the length of the click. This will generate a `click` event.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "clickWithKeyboard",
              "description": "Clicks an element with the keyboard (defaults to spacebar). This will\ngenerate a `click` event.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "KeyboardEventInit",
                    "references": [
                      {
                        "name": "KeyboardEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 17
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "startClickWithKeyboard",
              "description": "Begins a click with the keyboard (defaults to spacebar). Use this along\nwith `endClickWithKeyboard()` to customize the length of the click.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "KeyboardEventInit",
                    "references": [
                      {
                        "name": "KeyboardEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 17
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "endClickWithKeyboard",
              "description": "Finishes a click with the keyboard (defaults to spacebar). Use this along\nwith `startClickWithKeyboard()` to customize the length of the click.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "KeyboardEventInit",
                    "references": [
                      {
                        "name": "KeyboardEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 17
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "rightClickWithMouse",
              "description": "Right-clicks and opens a context menu. This will generate a `contextmenu`\nevent.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "tap",
              "description": "Taps once on the element with a simulated touch. This will generate a\n`click` event.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                },
                {
                  "name": "touchInit",
                  "description": "Additional touch event options.",
                  "type": {
                    "text": "TouchEventInit",
                    "references": [
                      {
                        "name": "TouchEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "startTap",
              "description": "Begins a touch tap. Use this along with `endTap()` to customize the length\nor number of taps.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                },
                {
                  "name": "touchInit",
                  "description": "Additional touch event options.",
                  "type": {
                    "text": "TouchEventInit",
                    "references": [
                      {
                        "name": "TouchEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "startTapContextMenu",
              "description": "Simulates a `contextmenu` event for touch. Use this along with `startTap()`\nto generate a tap-and-hold context menu interaction.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "MouseEventInit",
                    "references": [
                      {
                        "name": "MouseEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "endTap",
              "description": "Finished a touch tap. Use this along with `startTap()` to customize the\nlength or number of taps.\n\nThis will NOT generate a `click` event.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                },
                {
                  "name": "touchInit",
                  "description": "Additional touch event options.",
                  "type": {
                    "text": "TouchEventInit",
                    "references": [
                      {
                        "name": "TouchEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "endTapClick",
              "description": "Simulates a `click` event for touch. Use this along with `endTap()` to\ncontrol the timing of tap and click events.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "cancelTap",
              "description": "Cancels a touch tap.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                },
                {
                  "name": "touchInit",
                  "description": "Additional touch event options.",
                  "type": {
                    "text": "TouchEventInit",
                    "references": [
                      {
                        "name": "TouchEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "startHover",
              "description": "Hovers over the element with a simulated mouse.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "endHover",
              "description": "Moves the simulated mouse cursor off of the element.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "focusWithKeyboard",
              "description": "Simulates focusing an element with the keyboard.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "KeyboardEventInit",
                    "references": [
                      {
                        "name": "KeyboardEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 17
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "focusWithPointer",
              "description": "Simulates focusing an element with a pointer.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Simulates unfocusing an element.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "keypress",
              "description": "Simulates a keypress on an element.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "key",
                  "description": "The key to press.",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "KeyboardEventInit",
                    "references": [
                      {
                        "name": "KeyboardEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 17
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "submitForm",
              "description": "Simulates submitting the element's associated form element.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "form",
                  "description": "(Optional) form to submit, defaults to the elemnt's form.",
                  "type": {
                    "text": "HTMLFormElement",
                    "references": [
                      {
                        "name": "HTMLFormElement",
                        "package": "global:",
                        "start": 0,
                        "end": 15
                      }
                    ]
                  },
                  "default": "this.element.form",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "FormData | Promise<FormData>",
                  "references": [
                    {
                      "name": "FormData",
                      "package": "global:",
                      "start": 0,
                      "end": 8
                    },
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 11,
                      "end": 18
                    },
                    {
                      "name": "FormData",
                      "package": "global:",
                      "start": 19,
                      "end": 27
                    }
                  ]
                },
                "description": "The submitted form data or null if the element has no associated\nform."
              }
            },
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "description": "Returns the element that should be used for interaction simulation.\nDefaults to the host element itself.\n\nSubclasses should override this if the interactive element is not the host.",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<HTMLElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 8,
                      "end": 19
                    }
                  ]
                },
                "description": "The element to use in simulation."
              }
            },
            {
              "kind": "method",
              "name": "addPseudoClass",
              "description": "Adds a pseudo class to an element. The element's shadow root styles (or\ndocument if not in a shadow root) will be transformed to support\nsimulated pseudo classes.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to add a pseudo class to.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "pseudoClass",
                  "description": "The pseudo class to add.",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "removePseudoClass",
              "description": "Removes a pseudo class from an element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to remove a pseudo class from.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "pseudoClass",
                  "description": "The pseudo class to remove.",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateClick",
              "description": "Simulates a click event.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to click.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "MouseEventInit",
                    "references": [
                      {
                        "name": "MouseEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateContextmenu",
              "description": "Simulates a contextmenu event.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to generate an event for.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "MouseEventInit",
                    "references": [
                      {
                        "name": "MouseEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateKeyboardFocus",
              "description": "Simulates focusing with a keyboard. The difference between this and\n`simulatePointerFocus` is that keyboard focus will include the\n`:focus-visible` pseudo class.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to focus with a keyboard.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulatePointerFocus",
              "description": "Simulates focusing with a pointer.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to focus with a pointer.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateBlur",
              "description": "Simulates unfocusing an element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to blur.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateStartHover",
              "description": "Simulates a mouse pointer hovering over an element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to hover over.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateEndHover",
              "description": "Simulates a mouse pointer leaving the element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to stop hovering over.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateMousePress",
              "description": "Simulates a mouse press and hold on an element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to press with a mouse.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateMouseRelease",
              "description": "Simulates a mouse press release from an element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to release pressing from.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateTouchPress",
              "description": "Simulates a touch press and hold on an element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to press with a touch pointer.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                },
                {
                  "name": "touchInit",
                  "type": {
                    "text": "TouchEventInit",
                    "references": [
                      {
                        "name": "TouchEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateTouchRelease",
              "description": "Simulates a touch press release from an element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to release pressing from.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                },
                {
                  "name": "touchInit",
                  "type": {
                    "text": "TouchEventInit",
                    "references": [
                      {
                        "name": "TouchEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateTouchCancel",
              "description": "Simulates a touch cancel from an element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to cancel a touch for.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "PointerEventInit",
                    "references": [
                      {
                        "name": "PointerEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                },
                {
                  "name": "touchInit",
                  "type": {
                    "text": "TouchEventInit",
                    "references": [
                      {
                        "name": "TouchEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateKeypress",
              "description": "Simulates a keypress on an element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to press a key on.",
                  "type": {
                    "text": "EventTarget",
                    "references": [
                      {
                        "name": "EventTarget",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "key",
                  "description": "The key to press.",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "KeyboardEventInit",
                    "references": [
                      {
                        "name": "KeyboardEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 17
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateKeydown",
              "description": "Simulates a keydown press on an element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to press a key on.",
                  "type": {
                    "text": "EventTarget",
                    "references": [
                      {
                        "name": "EventTarget",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "key",
                  "description": "The key to press.",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "init",
                  "description": "Additional event options.",
                  "type": {
                    "text": "KeyboardEventInit",
                    "references": [
                      {
                        "name": "KeyboardEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 17
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateKeyup",
              "description": "Simulates a keyup release from an element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to release a key from.",
                  "type": {
                    "text": "EventTarget",
                    "references": [
                      {
                        "name": "EventTarget",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "key",
                  "description": "The key to release.",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "init",
                  "description": "Additional keyboard options.",
                  "type": {
                    "text": "KeyboardEventInit",
                    "references": [
                      {
                        "name": "KeyboardEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 17
                      }
                    ]
                  },
                  "default": "{}",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "createMouseEventInit",
              "description": "Creates a MouseEventInit for an element. The default x/y coordinates of the\nevent init will be in the center of the element.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to create a `MouseEventInit` for.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "MouseEventInit",
                  "references": [
                    {
                      "name": "MouseEventInit",
                      "package": "global:",
                      "start": 0,
                      "end": 14
                    }
                  ]
                },
                "description": "The init object for a `MouseEvent`."
              }
            },
            {
              "kind": "method",
              "name": "createTouch",
              "description": "Creates a Touch instance for an element. The default x/y coordinates of the\ntouch will be in the center of the element. This can be used in the\n`TouchEvent` constructor.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to create a touch for.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "identifier",
                  "description": "Optional identifier for the touch. Defaults to 0 for\nevery touch instance.",
                  "type": {
                    "text": "number"
                  },
                  "default": "0",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Touch",
                  "references": [
                    {
                      "name": "Touch",
                      "package": "global:",
                      "start": 0,
                      "end": 5
                    }
                  ]
                },
                "description": "The `Touch` instance."
              }
            },
            {
              "kind": "method",
              "name": "forEachNodeFrom",
              "description": "Visit each node up the parent tree from the given child until reaching the\ngiven parent.\n\nThis is used to perform logic such as adding/removing recursive pseudo\nclasses like `:hover`.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "child",
                  "description": "The first child element to start from.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                },
                {
                  "name": "callback",
                  "description": "A callback that is invoked with each `HTMLElement` node\nfrom the child to the parent.",
                  "type": {
                    "text": "(node: HTMLElement) => void",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 7,
                        "end": 18
                      }
                    ]
                  }
                },
                {
                  "name": "parent",
                  "description": "The last parent element to visit.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  },
                  "default": "this.element",
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "patchForTransformedPseudoClasses",
              "description": "Patch an element's methods, such as `querySelector` and `matches` to\nhandle transformed pseudo classes.\n\nFor example, `element.matches(':focus')` will return true when the\n`._focus` class is applied.",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "description": "The element to patch.",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isElementWithHarness",
          "declaration": {
            "name": "isElementWithHarness"
          }
        },
        {
          "kind": "js",
          "name": "Harness",
          "declaration": {
            "name": "Harness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "testing/transform-pseudo-classes.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "defaultTransformPseudoClasses",
          "description": "Array of pseudo classes to transform by default. These pseudo classes\nrepresent state interactions from the user (such as :hover) or the browser\n(such as :autofill) that cannot be reproduced with HTML markup.",
          "type": {
            "text": "string[]"
          }
        },
        {
          "kind": "function",
          "name": "getTransformedPseudoClass",
          "description": "Retrieves the transformed class name for a given pseudo class.",
          "parameters": [
            {
              "name": "pseudoClass",
              "description": "The pseudo class to transform.",
              "type": {
                "text": "string"
              }
            }
          ],
          "return": {
            "type": {
              "text": "string"
            },
            "description": "The transform pseudo class string."
          }
        },
        {
          "kind": "variable",
          "name": "transformedStyleSheets",
          "description": "A weak set of stylesheets to use as reference for whether or not a stylesheet\nhas been transformed.",
          "type": {
            "text": "WeakSet<CSSStyleSheet>",
            "references": [
              {
                "name": "WeakSet",
                "package": "global:",
                "start": 0,
                "end": 7
              },
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 8,
                "end": 21
              }
            ]
          }
        },
        {
          "kind": "function",
          "name": "transformPseudoClasses",
          "description": "Transforms a document's stylesheets' pseudo classes into normal classes with\na new stylesheet.\n\nPseudo classes are given an underscore in their transformation. For example,\n`:hover` transforms to `._hover`.\n\n```css\n.mdc-foo:hover {\n  color: teal;\n}\n```\n```css\n.mdc-foo._hover {\n  color: teal;\n}\n```",
          "parameters": [
            {
              "name": "stylesheets",
              "type": {
                "text": "Iterable<CSSStyleSheet>",
                "references": [
                  {
                    "name": "Iterable",
                    "package": "global:",
                    "start": 0,
                    "end": 8
                  },
                  {
                    "name": "CSSStyleSheet",
                    "package": "global:",
                    "start": 9,
                    "end": 22
                  }
                ]
              }
            },
            {
              "name": "pseudoClasses",
              "description": "An optional array of pseudo class names to transform.",
              "type": {
                "text": "string[]"
              },
              "default": "defaultTransformPseudoClasses",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "function",
          "name": "isCSSGroupingRule",
          "description": "Determines whether or not the CSSRule is a CSSGroupingRule.\n\nCannot check instanceof because FF treats a CSSStyleRule as a subclass of\nCSSGroupingRule unlike Chrome and Safari",
          "parameters": [
            {
              "name": "rule",
              "type": {
                "text": "CSSRule",
                "references": [
                  {
                    "name": "CSSRule",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        },
        {
          "kind": "function",
          "name": "visitRule",
          "description": "Visits a rule for the given stylesheet and adds a rule that replaces any\npseudo classes with a regular transformed class for simulation styling.",
          "parameters": [
            {
              "name": "rule",
              "description": "The CSS rule to transform.",
              "type": {
                "text": "CSSRule",
                "references": [
                  {
                    "name": "CSSRule",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            },
            {
              "name": "stylesheet",
              "description": "The rule's parent stylesheet to update.",
              "type": {
                "text": "CSSStyleSheet | CSSGroupingRule",
                "references": [
                  {
                    "name": "CSSStyleSheet",
                    "package": "global:",
                    "start": 0,
                    "end": 13
                  },
                  {
                    "name": "CSSGroupingRule",
                    "package": "global:",
                    "start": 16,
                    "end": 31
                  }
                ]
              }
            },
            {
              "name": "index",
              "description": "The index of the rule in the parent stylesheet.",
              "type": {
                "text": "number"
              }
            },
            {
              "name": "pseudoClasses",
              "description": "An array of pseudo classes to search for and replace.",
              "type": {
                "text": "string[]"
              }
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "function",
          "name": "rearrangePseudoElements",
          "description": "Re-arranges a selector's pseudo elements to appear at the end of the\nselector. This prevents invalid CSS when replacing pseudo classes that\nappear after a pseudo element.",
          "parameters": [
            {
              "name": "selectorText",
              "description": "The selector text string to re-arrange.",
              "type": {
                "text": "string"
              }
            }
          ],
          "return": {
            "type": {
              "text": "string"
            },
            "description": "The re-arranged selector text."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "defaultTransformPseudoClasses",
          "declaration": {
            "name": "defaultTransformPseudoClasses"
          }
        },
        {
          "kind": "js",
          "name": "getTransformedPseudoClass",
          "declaration": {
            "name": "getTransformedPseudoClass"
          }
        },
        {
          "kind": "js",
          "name": "transformPseudoClasses",
          "declaration": {
            "name": "transformPseudoClasses"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "textfield/filled-text-field.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdFilledTextField",
          "description": "TODO(b/228525797): Add docs",
          "superclass": {
            "name": "FilledTextField",
            "package": "@material/web",
            "module": "textfield/internal/filled-text-field.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "fieldTag",
              "privacy": "protected",
              "type": {
                "text": "StaticValue",
                "references": [
                  {
                    "name": "StaticValue",
                    "package": "lit-html",
                    "module": "development/static.js",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "default": "literal`md-filled-field`"
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, filledStyles]"
            }
          ],
          "tagName": "md-filled-text-field",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TextFieldType",
          "declaration": {
            "name": "TextFieldType",
            "package": "@material/web",
            "module": "textfield/internal/text-field.js"
          }
        },
        {
          "kind": "js",
          "name": "MdFilledTextField",
          "declaration": {
            "name": "MdFilledTextField"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-filled-text-field",
          "declaration": {
            "name": "MdFilledTextField"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "textfield/harness.js",
      "declarations": [
        {
          "kind": "class",
          "name": "TextFieldHarness",
          "description": "Test harness for text field elements.",
          "superclass": {
            "name": "Harness",
            "package": "@material/web",
            "module": "testing/harness.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "valueBeforeChange",
              "description": "Used to track whether or not a change event should be dispatched.",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "method",
              "name": "inputValue",
              "description": "Simulates a user typing a value one character at a time. This will fire\nmultiple input events.\n\nUse focus/blur to ensure change events are fired.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "value",
                  "description": "The value to simulating typing.",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "deleteValue",
              "description": "Simulates a user deleting part of a value with the backspace key.\nBy default, the entire value is deleted. This will fire a single input\nevent.\n\nUse focus/blur to ensure change events are fired.",
              "privacy": "public",
              "parameters": [
                {
                  "name": "beginIndex",
                  "description": "The starting index of the value to delete.",
                  "type": {
                    "text": "number"
                  },
                  "optional": true
                },
                {
                  "name": "endIndex",
                  "description": "The ending index of the value to delete.",
                  "type": {
                    "text": "number"
                  },
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "reset",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Promise<void>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "simulatePointerFocus",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "input",
                  "type": {
                    "text": "HTMLElement",
                    "references": [
                      {
                        "name": "HTMLElement",
                        "package": "global:",
                        "start": 0,
                        "end": 11
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateInput",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLInputElement | HTMLTextAreaElement",
                    "references": [
                      {
                        "name": "HTMLInputElement",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "HTMLTextAreaElement",
                        "package": "global:",
                        "start": 19,
                        "end": 38
                      }
                    ]
                  }
                },
                {
                  "name": "charactersToAppend",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "init",
                  "type": {
                    "text": "InputEventInit",
                    "references": [
                      {
                        "name": "InputEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  },
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateDeletion",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLInputElement | HTMLTextAreaElement",
                    "references": [
                      {
                        "name": "HTMLInputElement",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "HTMLTextAreaElement",
                        "package": "global:",
                        "start": 19,
                        "end": 38
                      }
                    ]
                  }
                },
                {
                  "name": "beginIndex",
                  "type": {
                    "text": "number"
                  },
                  "optional": true
                },
                {
                  "name": "endIndex",
                  "type": {
                    "text": "number"
                  },
                  "optional": true
                },
                {
                  "name": "init",
                  "type": {
                    "text": "InputEventInit",
                    "references": [
                      {
                        "name": "InputEventInit",
                        "package": "global:",
                        "start": 0,
                        "end": 14
                      }
                    ]
                  },
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "simulateChangeIfNeeded",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLInputElement | HTMLTextAreaElement",
                    "references": [
                      {
                        "name": "HTMLInputElement",
                        "package": "global:",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "HTMLTextAreaElement",
                        "package": "global:",
                        "start": 19,
                        "end": 38
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getInteractiveElement",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<HTMLInputElement | HTMLTextAreaElement>",
                  "references": [
                    {
                      "name": "Promise",
                      "package": "global:",
                      "start": 0,
                      "end": 7
                    },
                    {
                      "name": "HTMLInputElement",
                      "package": "global:",
                      "start": 8,
                      "end": 24
                    },
                    {
                      "name": "HTMLTextAreaElement",
                      "package": "global:",
                      "start": 27,
                      "end": 46
                    }
                  ]
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TextFieldHarness",
          "declaration": {
            "name": "TextFieldHarness"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "textfield/harness_test.js"
    },
    {
      "kind": "javascript-module",
      "path": "textfield/outlined-text-field.js",
      "declarations": [
        {
          "kind": "class",
          "name": "MdOutlinedTextField",
          "description": "TODO(b/228525797): Add docs",
          "superclass": {
            "name": "OutlinedTextField",
            "package": "@material/web",
            "module": "textfield/internal/outlined-text-field.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "fieldTag",
              "privacy": "protected",
              "type": {
                "text": "StaticValue",
                "references": [
                  {
                    "name": "StaticValue",
                    "package": "lit-html",
                    "module": "development/static.js",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "default": "literal`md-outlined-field`"
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[sharedStyles, outlinedStyles]"
            }
          ],
          "tagName": "md-outlined-text-field",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TextFieldType",
          "declaration": {
            "name": "TextFieldType",
            "package": "@material/web",
            "module": "textfield/internal/text-field.js"
          }
        },
        {
          "kind": "js",
          "name": "MdOutlinedTextField",
          "declaration": {
            "name": "MdOutlinedTextField"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "md-outlined-text-field",
          "declaration": {
            "name": "MdOutlinedTextField"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "textfield/internal/filled-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "textfield/internal/filled-text-field.js",
      "declarations": [
        {
          "kind": "class",
          "name": "FilledTextField",
          "description": "A filled text field component.",
          "superclass": {
            "name": "TextField",
            "package": "@material/web",
            "module": "textfield/internal/text-field.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "fieldTag",
              "privacy": "protected",
              "type": {
                "text": "StaticValue",
                "references": [
                  {
                    "name": "StaticValue",
                    "package": "lit-html",
                    "module": "development/static.js",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "default": "literal`md-filled-field`"
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FilledTextField",
          "declaration": {
            "name": "FilledTextField"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "textfield/internal/outlined-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "textfield/internal/outlined-text-field.js",
      "declarations": [
        {
          "kind": "class",
          "name": "OutlinedTextField",
          "description": "An outlined text field component",
          "superclass": {
            "name": "TextField",
            "package": "@material/web",
            "module": "textfield/internal/text-field.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "fieldTag",
              "privacy": "protected",
              "type": {
                "text": "StaticValue",
                "references": [
                  {
                    "name": "StaticValue",
                    "package": "lit-html",
                    "module": "development/static.js",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "default": "literal`md-outlined-field`"
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "OutlinedTextField",
          "declaration": {
            "name": "OutlinedTextField"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "textfield/internal/shared-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "textfield/internal/text-field.js",
      "declarations": [
        {
          "kind": "class",
          "name": "textFieldBaseClass",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "mixins": [
            {
              "name": "mixinDelegatesAria",
              "package": "@material/web",
              "module": "internal/aria/delegate.js"
            },
            {
              "name": "mixinOnReportValidity",
              "package": "@material/web",
              "module": "labs/behaviors/on-report-validity.js"
            },
            {
              "name": "mixinConstraintValidation",
              "package": "@material/web",
              "module": "labs/behaviors/constraint-validation.js"
            },
            {
              "name": "mixinFormAssociated",
              "package": "@material/web",
              "module": "labs/behaviors/form-associated.js"
            },
            {
              "name": "mixinElementInternals",
              "package": "@material/web",
              "module": "labs/behaviors/element-internals.js"
            }
          ]
        },
        {
          "kind": "class",
          "name": "TextField",
          "description": "A text field component.",
          "superclass": {
            "name": "textFieldBaseClass",
            "package": "@material/web",
            "module": "textfield/internal/text-field.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "error",
              "description": "Gets or sets whether or not the text field is in a visually invalid state.\n\nThis error state overrides the error state controlled by\n`reportValidity()`.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "error",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "errorText",
              "description": "The error message that replaces supporting text when `error` is true. If\n`errorText` is an empty string, then the supporting text will continue to\nshow.\n\nThis error message overrides the error message displayed by\n`reportValidity()`.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "error-text"
            },
            {
              "kind": "field",
              "name": "label",
              "description": "The floating Material label of the textfield component. It informs the user\nabout what information is requested for a text field. It is aligned with\nthe input text, is always visible, and it floats when focused or when text\nis entered into the textfield. This label also sets accessibilty labels,\nbut the accessible label is overriden by `aria-label`.\n\nLearn more about floating labels from the Material Design guidelines:\nhttps://m3.material.io/components/text-fields/guidelines",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "noAsterisk",
              "description": "Disables the asterisk on the floating label, when the text field is\nrequired.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-asterisk"
            },
            {
              "kind": "field",
              "name": "required",
              "description": "Indicates that the user must specify a value for the input before the\nowning form can be submitted and will render an error state when\n`reportValidity()` is invoked when value is empty. Additionally the\nfloating label will render an asterisk `\"*\"` when true.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/required",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The current value of the text field. It is always a string.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "prefixText",
              "description": "An optional prefix to display before the input value.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "prefix-text"
            },
            {
              "kind": "field",
              "name": "suffixText",
              "description": "An optional suffix to display after the input value.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "suffix-text"
            },
            {
              "kind": "field",
              "name": "hasLeadingIcon",
              "description": "Whether or not the text field has a leading icon. Used for SSR.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "has-leading-icon"
            },
            {
              "kind": "field",
              "name": "hasTrailingIcon",
              "description": "Whether or not the text field has a trailing icon. Used for SSR.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "has-trailing-icon"
            },
            {
              "kind": "field",
              "name": "supportingText",
              "description": "Conveys additional information below the text field, such as how it should\nbe used.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "supporting-text"
            },
            {
              "kind": "field",
              "name": "textDirection",
              "description": "Override the input text CSS `direction`. Useful for RTL languages that use\nLTR notation for fractions.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "text-direction"
            },
            {
              "kind": "field",
              "name": "rows",
              "description": "The number of rows to display for a `type=\"textarea\"` text field.\nDefaults to 2.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "2",
              "attribute": "rows"
            },
            {
              "kind": "field",
              "name": "cols",
              "description": "The number of cols to display for a `type=\"textarea\"` text field.\nDefaults to 20.",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "20",
              "attribute": "cols"
            },
            {
              "kind": "field",
              "name": "inputMode",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "inputmode",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "max",
              "description": "Defines the greatest value in the range of permitted values.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#max",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "maxLength",
              "description": "The maximum number of characters a user can enter into the text field. Set\nto -1 for none.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#maxlength",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "-1",
              "attribute": "maxlength"
            },
            {
              "kind": "field",
              "name": "min",
              "description": "Defines the most negative value in the range of permitted values.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#min",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "minLength",
              "description": "The minimum number of characters a user can enter into the text field. Set\nto -1 for none.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#minlength",
              "privacy": "public",
              "type": {
                "text": "number"
              },
              "default": "-1",
              "attribute": "minlength"
            },
            {
              "kind": "field",
              "name": "noSpinner",
              "description": "When true, hide the spinner for `type=\"number\"` text fields.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-spinner"
            },
            {
              "kind": "field",
              "name": "pattern",
              "description": "A regular expression that the text field's value must match to pass\nconstraint validation.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#pattern",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "pattern"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "description": "Defines the text displayed in the textfield when it has no value. Provides\na brief hint to the user as to the expected type of data that should be\nentered into the control. Unlike `label`, the placeholder is not visible\nand does not float when the textfield has a value.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/placeholder",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "placeholder",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readOnly",
              "description": "Indicates whether or not a user should be able to edit the text field's\nvalue.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#readonly",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "multiple",
              "description": "Indicates that input accepts multiple email addresses.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email#multiple",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "multiple",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "step",
              "description": "Returns or sets the element's step attribute, which works with min and max\nto limit the increments at which a numeric or date-time value can be set.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#step",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "type",
              "description": "The `<input>` type to use, defaults to \"text\". The type greatly changes how\nthe text field behaves.\n\nText fields support a limited number of `<input>` types:\n\n- text\n- textarea\n- email\n- number\n- password\n- search\n- tel\n- url\n\nSee\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types\nfor more details on each input type.",
              "privacy": "public",
              "type": {
                "text": "TextFieldType | UnsupportedTextFieldType",
                "references": [
                  {
                    "name": "TextFieldType",
                    "package": "@material/web",
                    "module": "textfield/internal/text-field.js",
                    "start": 0,
                    "end": 13
                  },
                  {
                    "name": "UnsupportedTextFieldType",
                    "package": "@material/web",
                    "module": "textfield/internal/text-field.js",
                    "start": 16,
                    "end": 40
                  }
                ]
              },
              "default": "'text'",
              "attribute": "type",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autocomplete",
              "description": "Describes what, if any, type of autocomplete functionality the input\nshould provide.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "autocomplete",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "fieldTag",
              "privacy": "protected",
              "type": {
                "text": "StaticValue",
                "references": [
                  {
                    "name": "StaticValue",
                    "package": "lit",
                    "module": "static-html.js",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "dirty",
              "description": "Returns true when the text field has been interacted with. Native\nvalidation errors only display in response to user interactions.",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "focused",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "nativeError",
              "description": "Whether or not a native error has been reported via `reportValidity()`.",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "nativeErrorText",
              "description": "The validation message displayed from a native error via\n`reportValidity()`.",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "inputOrTextarea",
              "privacy": "private",
              "type": {
                "text": "HTMLInputElement | HTMLTextAreaElement",
                "references": [
                  {
                    "name": "HTMLInputElement",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  },
                  {
                    "name": "HTMLTextAreaElement",
                    "package": "global:",
                    "start": 19,
                    "end": 38
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "field",
              "privacy": "private",
              "type": {
                "text": "Field",
                "references": [
                  {
                    "name": "Field",
                    "package": "@material/web",
                    "module": "field/internal/field.js",
                    "start": 0,
                    "end": 5
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "leadingIcons",
              "privacy": "private",
              "type": {
                "text": "Element[]",
                "references": [
                  {
                    "name": "Element",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "trailingIcons",
              "privacy": "private",
              "type": {
                "text": "Element[]",
                "references": [
                  {
                    "name": "Element",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "privacy": "public",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "privacy": "public",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "selectionDirection",
              "privacy": "public",
              "type": {
                "text": "\"none\" | \"forward\" | \"backward\""
              }
            },
            {
              "kind": "field",
              "name": "selectionEnd",
              "privacy": "public",
              "type": {
                "text": "number"
              }
            },
            {
              "kind": "field",
              "name": "selectionStart",
              "privacy": "public",
              "type": {
                "text": "number"
              }
            },
            {
              "kind": "field",
              "name": "valueAsNumber",
              "privacy": "public",
              "type": {
                "text": "number"
              }
            },
            {
              "kind": "field",
              "name": "valueAsDate",
              "privacy": "public",
              "type": {
                "text": "Date",
                "references": [
                  {
                    "name": "Date",
                    "package": "global:",
                    "start": 0,
                    "end": 4
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "hasError",
              "privacy": "private",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "ShadowRootInit",
                "references": [
                  {
                    "name": "ShadowRootInit",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              },
              "default": "{\n    ...LitElement.shadowRootOptions,\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "method",
              "name": "select",
              "description": "Selects all the text in the text field.\n\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "setRangeText",
              "privacy": "public",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "unknown[]"
                  },
                  "rest": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "setSelectionRange",
              "description": "Sets the start and end positions of a selection in the text field.\n\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange",
              "privacy": "public",
              "parameters": [
                {
                  "name": "start",
                  "description": "The offset into the text field for the start of the selection.",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "end",
                  "description": "The offset into the text field for the end of the selection.",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "direction",
                  "description": "The direction in which the selection is performed.",
                  "type": {
                    "text": "\"none\" | \"forward\" | \"backward\""
                  },
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "showPicker",
              "description": "Shows the browser picker for an input element of type \"date\", \"time\", etc.\n\nFor a full list of supported types, see:\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/showPicker#browser_compatibility\n\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/showPicker",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "stepDown",
              "description": "Decrements the value of a numeric type text field by `step` or `n` `step`\nnumber of times.\n\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/stepDown",
              "privacy": "public",
              "parameters": [
                {
                  "name": "stepDecrement",
                  "description": "The number of steps to decrement, defaults to 1.",
                  "type": {
                    "text": "number"
                  },
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "stepUp",
              "description": "Increments the value of a numeric type text field by `step` or `n` `step`\nnumber of times.\n\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/stepUp",
              "privacy": "public",
              "parameters": [
                {
                  "name": "stepIncrement",
                  "description": "The number of steps to increment, defaults to 1.",
                  "type": {
                    "text": "number"
                  },
                  "optional": true
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "reset",
              "description": "Reset the text field to its default value.",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "attributeChangedCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "attribute",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "newValue",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValueMap<any> | Map<PropertyKey, unknown>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Map",
                        "package": "global:",
                        "start": 24,
                        "end": 27
                      },
                      {
                        "name": "PropertyKey",
                        "package": "global:",
                        "start": 28,
                        "end": 39
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderField",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderLeadingIcon",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderTrailingIcon",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderInputOrTextarea",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderPrefix",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderSuffix",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderAffix",
              "privacy": "private",
              "parameters": [
                {
                  "name": "text",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "isSuffix",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "unique symbol | TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 16,
                      "end": 30
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getErrorText",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleFocusChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "InputEvent",
                    "references": [
                      {
                        "name": "InputEvent",
                        "package": "global:",
                        "start": 0,
                        "end": 10
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "redispatchEvent",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getInputOrTextarea",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLInputElement | HTMLTextAreaElement",
                  "references": [
                    {
                      "name": "HTMLInputElement",
                      "package": "global:",
                      "start": 0,
                      "end": 16
                    },
                    {
                      "name": "HTMLTextAreaElement",
                      "package": "global:",
                      "start": 19,
                      "end": 38
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "getInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLInputElement",
                  "references": [
                    {
                      "name": "HTMLInputElement",
                      "package": "global:",
                      "start": 0,
                      "end": 16
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleIconChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormValue]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[createValidator]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "Validator<unknown>",
                  "references": [
                    {
                      "name": "Validator",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/validator.js",
                      "start": 0,
                      "end": 9
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "[getValidityAnchor]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "HTMLElement",
                  "references": [
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 0,
                      "end": 11
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "[onReportValidity]",
              "privacy": "public",
              "parameters": [
                {
                  "name": "invalidEvent",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "error",
              "type": {
                "text": "boolean"
              },
              "fieldName": "error"
            },
            {
              "name": "error-text",
              "type": {
                "text": "string"
              },
              "fieldName": "errorText"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "fieldName": "label"
            },
            {
              "name": "no-asterisk",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noAsterisk"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "fieldName": "required"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            },
            {
              "name": "prefix-text",
              "type": {
                "text": "string"
              },
              "fieldName": "prefixText"
            },
            {
              "name": "suffix-text",
              "type": {
                "text": "string"
              },
              "fieldName": "suffixText"
            },
            {
              "name": "has-leading-icon",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hasLeadingIcon"
            },
            {
              "name": "has-trailing-icon",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hasTrailingIcon"
            },
            {
              "name": "supporting-text",
              "type": {
                "text": "string"
              },
              "fieldName": "supportingText"
            },
            {
              "name": "text-direction",
              "type": {
                "text": "string"
              },
              "fieldName": "textDirection"
            },
            {
              "name": "rows",
              "type": {
                "text": "number"
              },
              "fieldName": "rows"
            },
            {
              "name": "cols",
              "type": {
                "text": "number"
              },
              "fieldName": "cols"
            },
            {
              "name": "inputmode",
              "type": {
                "text": "string"
              },
              "fieldName": "inputMode"
            },
            {
              "name": "max",
              "type": {
                "text": "string"
              },
              "fieldName": "max"
            },
            {
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "fieldName": "maxLength"
            },
            {
              "name": "min",
              "type": {
                "text": "string"
              },
              "fieldName": "min"
            },
            {
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "fieldName": "minLength"
            },
            {
              "name": "no-spinner",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noSpinner"
            },
            {
              "name": "pattern",
              "type": {
                "text": "string"
              },
              "fieldName": "pattern"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "fieldName": "placeholder"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "fieldName": "readOnly"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "fieldName": "multiple"
            },
            {
              "name": "step",
              "type": {
                "text": "string"
              },
              "fieldName": "step"
            },
            {
              "name": "type",
              "type": {
                "text": "string"
              },
              "fieldName": "type"
            },
            {
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "fieldName": "autocomplete"
            }
          ],
          "events": [
            {
              "name": "select",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "The native `select` event on\n[`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/select_event)\n--bubbles"
            },
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "The native `change` event on\n[`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/change_event)\n--bubbles"
            },
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "The native `input` event on\n[`<input>`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event)\n--bubbles --composed"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TextField",
          "declaration": {
            "name": "TextField"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tokens/v0_192/index.test.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tokens/v0_192/lib.test.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tokens/versions/v0_192/index.test.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "tokens/versions/v0_192/lib.test.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "not/implemented"
    },
    {
      "kind": "javascript-module",
      "path": "typography/md-typescale-styles.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "typography/md-typescale-styles.js",
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles",
            "package": "@material/web",
            "module": "typography/md-typescale-styles.cssresult.js"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default",
            "package": "@material/web",
            "module": "typography/md-typescale-styles.cssresult.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/badge/badge-element.js",
      "declarations": [
        {
          "kind": "class",
          "name": "BadgeElement",
          "description": "A Material Design badge component.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "hasContent",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    badgeStyles,\n    css`\n      :host {\n        display: inline-flex;\n      }\n      .badge {\n        flex: 1;\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BadgeElement",
          "declaration": {
            "name": "BadgeElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/badge/badge.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/badge/badge.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "BADGE_CLASSES",
          "description": "Badge classes.",
          "type": {
            "text": "{ readonly badge: \"badge\"; readonly badgeLarge: \"badge-large\"; }"
          }
        },
        {
          "kind": "function",
          "name": "badgeClasses",
          "description": "Returns the badge classes to apply to an element.",
          "parameters": [
            {
              "name": "{\n  large = false,\n}",
              "description": "The state of the badge.",
              "type": {
                "text": "BadgeClassesState",
                "references": [
                  {
                    "name": "BadgeClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/badge/badge.js",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "variable",
          "name": "badge",
          "description": "A Lit directive that adds badge styling to its element.",
          "type": {
            "text": "(state?: BadgeClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "BadgeClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/badge/badge.js",
                "start": 9,
                "end": 26
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 29,
                "end": 46
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 51,
                "end": 66
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BADGE_CLASSES",
          "declaration": {
            "name": "BADGE_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "badgeClasses",
          "declaration": {
            "name": "badgeClasses"
          }
        },
        {
          "kind": "js",
          "name": "badge",
          "declaration": {
            "name": "badge"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/badge/md-gb-badge.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/button/button-element.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "baseClass",
          "type": {
            "text": "MixinReturn<MixinReturn<MixinReturn<(abstract new (...args: any[]) => WithElementInternals) & typeof LitElement & FormAssociatedConstructor, FormAssociated>, FormSubmitter>>",
            "references": [
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 0,
                "end": 11
              },
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 12,
                "end": 23
              },
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 24,
                "end": 35
              },
              {
                "name": "WithElementInternals",
                "package": "@material/web",
                "module": "labs/behaviors/element-internals.js",
                "start": 70,
                "end": 90
              },
              {
                "name": "FormAssociatedConstructor",
                "package": "@material/web",
                "module": "labs/behaviors/form-associated.js",
                "start": 114,
                "end": 139
              },
              {
                "name": "FormAssociated",
                "package": "@material/web",
                "module": "labs/behaviors/form-associated.js",
                "start": 141,
                "end": 155
              },
              {
                "name": "FormSubmitter",
                "package": "@material/web",
                "module": "labs/behaviors/form-submitter.js",
                "start": 158,
                "end": 171
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "ButtonElement",
          "description": "A Material Design button.",
          "superclass": {
            "name": "baseClass",
            "package": "@material/web",
            "module": "labs/gb/components/button/button-element.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "hideOutline",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "color",
              "description": "The color of the button.",
              "privacy": "public",
              "type": {
                "text": "\"filled\" | \"elevated\" | \"tonal\" | \"outlined\" | \"text\""
              },
              "default": "'text'",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "size",
              "description": "The size of the button.",
              "privacy": "public",
              "type": {
                "text": "\"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\""
              },
              "default": "'sm'",
              "attribute": "size"
            },
            {
              "kind": "field",
              "name": "square",
              "description": "Changes the shape of the button to be square.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "square"
            },
            {
              "kind": "field",
              "name": "softDisabled",
              "description": "Whether or not the button is \"soft-disabled\" (disabled but still\nfocusable).\n\nUse this when a button needs increased visibility when disabled. See\nhttps://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls\nfor more guidance on when this is needed.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "soft-disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "selected",
              "description": "Whether or not the button is selected, when `type=\"toggle\"`.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "selected"
            },
            {
              "kind": "field",
              "name": "href",
              "description": "The URL that the link button points to.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "download",
              "description": "The filename to use when downloading the linked resource.\nIf not specified, the browser will determine a filename.\nThis is only applicable when the button is used as a link (`href` is set).",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "download"
            },
            {
              "kind": "field",
              "name": "target",
              "description": "Where to display the linked `href` URL for a link button. Common options\ninclude `_blank` to open in a new tab.",
              "privacy": "public",
              "type": {
                "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
              },
              "default": "''",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "lastFiredEnabledState",
              "privacy": "private",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "handleSetShowOutline",
              "privacy": "private",
              "type": {
                "text": "(event: Event) => void",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 8,
                    "end": 13
                  }
                ]
              },
              "default": "(event: Event) => {\n    const customEvent = event as CustomEvent<{shown: boolean}>;\n    this.hideOutline = !customEvent.detail.shown;\n  }"
            },
            {
              "kind": "field",
              "name": "type",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "ShadowRootInit",
                "references": [
                  {
                    "name": "ShadowRootInit",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              },
              "default": "{\n    mode: 'open',\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    focusRingStyles,\n    rippleStyles,\n    buttonStyles,\n    css`\n      :host {\n        display: inline-flex;\n        isolation: isolate;\n      }\n      .btn {\n        flex: 1;\n        position: relative;\n      }\n      .btn:has([name='container'].has-slotted) {\n        background-color: transparent;\n      }\n      .btn.btn-hide-outline {\n        --outline-color: transparent;\n        --container-elevation: var(--md-sys-elevation-shadow-0);\n      }\n      slot[name='container'] {\n        display: block;\n        position: absolute;\n        inset: 0;\n        border-radius: inherit;\n        pointer-events: none;\n        --color: var(--container-color);\n        z-index: -1;\n        transition: inherit;\n      }\n      slot[name='container']::slotted(*) {\n        width: 100%;\n        height: 100%;\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "connectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "disconnectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValueMap<any> | Map<PropertyKey, unknown>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Map",
                        "package": "global:",
                        "start": 24,
                        "end": 27
                      },
                      {
                        "name": "PropertyKey",
                        "package": "global:",
                        "start": 28,
                        "end": 39
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "dispatchSetEnabledEvent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleContainerSlotChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "fieldName": "color"
            },
            {
              "name": "size",
              "type": {
                "text": "string"
              },
              "fieldName": "size"
            },
            {
              "name": "square",
              "type": {
                "text": "boolean"
              },
              "fieldName": "square"
            },
            {
              "name": "type",
              "type": {
                "text": "string"
              },
              "fieldName": "type"
            },
            {
              "name": "soft-disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "softDisabled"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "fieldName": "selected"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "fieldName": "href"
            },
            {
              "name": "download",
              "type": {
                "text": "string"
              },
              "fieldName": "download"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "fieldName": "target"
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "Fired when a toggle button is selected or unselected. --bubbles --composed"
            },
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired when a toggle button is selected or unselected. --bubbles"
            }
          ],
          "slots": [
            {
              "name": "-",
              "description": "Used to display a label and optional icon."
            },
            {
              "name": "container",
              "description": "Used to set a custom background container for the button."
            }
          ],
          "cssParts": [
            {
              "name": "btn",
              "description": "The button's root element."
            }
          ],
          "cssProperties": [
            {
              "name": "--container-color"
            },
            {
              "name": "--container-height"
            },
            {
              "name": "--container-elevation"
            },
            {
              "name": "--container-shape"
            },
            {
              "name": "--outline-width"
            },
            {
              "name": "--outline-color"
            },
            {
              "name": "--icon-label-space"
            },
            {
              "name": "--icon-color"
            },
            {
              "name": "--icon-size"
            },
            {
              "name": "--label-text"
            },
            {
              "name": "--label-text-tracking"
            },
            {
              "name": "--label-text-color"
            },
            {
              "name": "--leading-space"
            },
            {
              "name": "--state-layer-color"
            },
            {
              "name": "--trailing-space"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ButtonElement",
          "declaration": {
            "name": "ButtonElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/button/button.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/button/button.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "BUTTON_COLORS",
          "description": "Button color configurations.",
          "type": {
            "text": "{ readonly filled: \"filled\"; readonly elevated: \"elevated\"; readonly tonal: \"tonal\"; readonly outlined: \"outlined\"; readonly text: \"text\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "BUTTON_SIZES",
          "description": "Button size configurations.",
          "type": {
            "text": "{ readonly xs: \"xs\"; readonly sm: \"sm\"; readonly md: \"md\"; readonly lg: \"lg\"; readonly xl: \"xl\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "BUTTON_CLASSES",
          "description": "Button classes.",
          "type": {
            "text": "{ btn: string; btnFilled: string; btnElevated: string; btnTonal: string; btnOutlined: string; btnText: string; btnXs: string; btnSm: string; btnMd: string; btnLg: string; btnXl: string; btnSquare: string; btnUnselected: string; btnSelected: string; active: string; disabled: string; }"
          }
        },
        {
          "kind": "function",
          "name": "buttonClasses",
          "description": "Returns the button classes to apply to an element based on the given state.",
          "parameters": [
            {
              "name": "{\n  color,\n  size,\n  square = false,\n  selected,\n  active = false,\n  disabled = false,\n}",
              "description": "The state of the button.",
              "type": {
                "text": "ButtonClassesState",
                "references": [
                  {
                    "name": "ButtonClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/button/button.js",
                    "start": 0,
                    "end": 18
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "function",
          "name": "setupButton",
          "description": "Sets up button functionality for the given element.",
          "parameters": [
            {
              "name": "button",
              "description": "The element on which to set up button functionality.",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "name": "opts",
              "description": "Setup options, supports a cleanup `signal`.",
              "type": {
                "text": "{ signal?: AbortSignal; }",
                "references": [
                  {
                    "name": "AbortSignal",
                    "package": "global:",
                    "start": 11,
                    "end": 22
                  }
                ]
              },
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "variable",
          "name": "button",
          "description": "A Lit directive that adds button styling and functionality to its element.",
          "type": {
            "text": "(state?: ButtonClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "ButtonClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/button/button.js",
                "start": 9,
                "end": 27
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 30,
                "end": 47
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 52,
                "end": 67
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "BUTTON_COLORS",
          "declaration": {
            "name": "BUTTON_COLORS"
          }
        },
        {
          "kind": "js",
          "name": "BUTTON_SIZES",
          "declaration": {
            "name": "BUTTON_SIZES"
          }
        },
        {
          "kind": "js",
          "name": "BUTTON_CLASSES",
          "declaration": {
            "name": "BUTTON_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "buttonClasses",
          "declaration": {
            "name": "buttonClasses"
          }
        },
        {
          "kind": "js",
          "name": "setupButton",
          "declaration": {
            "name": "setupButton"
          }
        },
        {
          "kind": "js",
          "name": "button",
          "declaration": {
            "name": "button"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/button/md-gb-button.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/card/card-element.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "baseClass",
          "type": {
            "text": "MixinReturn<typeof LitElement>",
            "references": [
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 0,
                "end": 11
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "CardElement",
          "description": "A Material Design card.",
          "superclass": {
            "name": "baseClass",
            "package": "@material/web",
            "module": "labs/gb/components/card/card-element.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "hideOutline",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "lastFiredEnabledState",
              "privacy": "private",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "color",
              "description": "The color of the card.",
              "privacy": "public",
              "type": {
                "text": "CardColor",
                "references": [
                  {
                    "name": "CardColor",
                    "package": "@material/web",
                    "module": "labs/gb/components/card/card.js",
                    "start": 0,
                    "end": 9
                  }
                ]
              },
              "default": "'outlined'",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "disabled",
              "description": "Whether the card is disabled.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "interactive",
              "description": "Whether the card is interactive.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "interactive"
            },
            {
              "kind": "field",
              "name": "handleSetShowOutline",
              "privacy": "private",
              "type": {
                "text": "(event: Event) => void",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 8,
                    "end": 13
                  }
                ]
              },
              "default": "(event: Event) => {\n    const customEvent = event as CustomEvent<{shown: boolean}>;\n    this.hideOutline = !customEvent.detail.shown;\n  }"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "ShadowRootInit",
                "references": [
                  {
                    "name": "ShadowRootInit",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              },
              "default": "{\n    mode: 'open',\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    focusRingStyles,\n    rippleStyles,\n    cardStyles,\n    css`\n      :host {\n        display: inline-flex;\n        isolation: isolate;\n      }\n      .card {\n        flex: 1;\n        position: relative;\n      }\n      .card:has([name='container'].has-slotted) {\n        background-color: transparent;\n      }\n      .card.card-hide-outline {\n        --outline-color: transparent;\n        --container-elevation: var(--md-sys-elevation-shadow-0);\n      }\n      slot[name='container'] {\n        display: block;\n        position: absolute;\n        inset: 0;\n        border-radius: inherit;\n        pointer-events: none;\n        --color: var(--container-color);\n        z-index: -1;\n        transition: inherit;\n      }\n      slot[name='container']::slotted(*) {\n        width: 100%;\n        height: 100%;\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "connectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "disconnectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "changedProperties",
                  "type": {
                    "text": "PropertyValueMap<any> | Map<PropertyKey, unknown>",
                    "references": [
                      {
                        "name": "PropertyValueMap",
                        "package": "lit",
                        "module": "development/index.js",
                        "start": 0,
                        "end": 16
                      },
                      {
                        "name": "Map",
                        "package": "global:",
                        "start": 24,
                        "end": 27
                      },
                      {
                        "name": "PropertyKey",
                        "package": "global:",
                        "start": 28,
                        "end": 39
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "dispatchSetEnabledEvent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleContainerSlotChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "fieldName": "color"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "disabled"
            },
            {
              "name": "interactive",
              "type": {
                "text": "boolean"
              },
              "fieldName": "interactive"
            }
          ],
          "slots": [
            {
              "name": "-",
              "description": "Used to display the card's content. Note: add padding to content, not the host <md-gb-card> element."
            },
            {
              "name": "container",
              "description": "Used to set a custom background container for the card."
            }
          ],
          "cssParts": [
            {
              "name": "card",
              "description": "The card's root element."
            },
            {
              "name": "card-btn",
              "description": "The card's main action button, when interactive."
            }
          ],
          "cssProperties": [
            {
              "name": "--container-color"
            },
            {
              "name": "--container-elevation"
            },
            {
              "name": "--container-shape"
            },
            {
              "name": "--outline-color"
            },
            {
              "name": "--outline-width"
            },
            {
              "name": "--state-layer-color"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CardElement",
          "declaration": {
            "name": "CardElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/card/card.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/card/card.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "CARD_COLORS",
          "description": "Card color configurations.",
          "type": {
            "text": "{ readonly elevated: \"elevated\"; readonly filled: \"filled\"; readonly outlined: \"outlined\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "CARD_CLASSES",
          "description": "Card classes.",
          "type": {
            "text": "{ readonly card: \"card\"; readonly cardElevated: \"card-elevated\"; readonly cardFilled: \"card-filled\"; readonly cardOutlined: \"card-outlined\"; readonly hover: string; readonly focus: string; readonly disabled: string; }"
          }
        },
        {
          "kind": "function",
          "name": "cardClasses",
          "description": "Returns the card classes to apply to an element based on the given state.",
          "parameters": [
            {
              "name": "{\n  color,\n  interactive = false,\n  hover = false,\n  focus = false,\n  disabled = false,\n}",
              "description": "The state of the card.",
              "type": {
                "text": "CardClassesState",
                "references": [
                  {
                    "name": "CardClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/card/card.js",
                    "start": 0,
                    "end": 16
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "variable",
          "name": "card",
          "description": "A Lit directive that adds card styling and functionality to its element.",
          "type": {
            "text": "(state?: CardClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "CardClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/card/card.js",
                "start": 9,
                "end": 25
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 28,
                "end": 45
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 50,
                "end": 65
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CARD_COLORS",
          "declaration": {
            "name": "CARD_COLORS"
          }
        },
        {
          "kind": "js",
          "name": "CARD_CLASSES",
          "declaration": {
            "name": "CARD_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "cardClasses",
          "declaration": {
            "name": "cardClasses"
          }
        },
        {
          "kind": "js",
          "name": "card",
          "declaration": {
            "name": "card"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/card/md-gb-card.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/checkbox/checkbox-element.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "baseClass",
          "type": {
            "text": "MixinReturn<MixinReturn<MixinReturn<(abstract new (...args: any[]) => WithElementInternals) & typeof LitElement & FormAssociatedConstructor, FormAssociated>, ConstraintValidation>>",
            "references": [
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 0,
                "end": 11
              },
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 12,
                "end": 23
              },
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 24,
                "end": 35
              },
              {
                "name": "WithElementInternals",
                "package": "@material/web",
                "module": "labs/behaviors/element-internals.js",
                "start": 70,
                "end": 90
              },
              {
                "name": "FormAssociatedConstructor",
                "package": "@material/web",
                "module": "labs/behaviors/form-associated.js",
                "start": 114,
                "end": 139
              },
              {
                "name": "FormAssociated",
                "package": "@material/web",
                "module": "labs/behaviors/form-associated.js",
                "start": 141,
                "end": 155
              },
              {
                "name": "ConstraintValidation",
                "package": "@material/web",
                "module": "labs/behaviors/constraint-validation.js",
                "start": 158,
                "end": 178
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "CheckboxElement",
          "description": "A Material Design checkbox component.",
          "superclass": {
            "name": "baseClass",
            "package": "@material/web",
            "module": "labs/gb/components/checkbox/checkbox-element.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "error",
              "description": "Whether or not the checkbox is invalid.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "error"
            },
            {
              "kind": "field",
              "name": "checked",
              "description": "Whether or not the checkbox is selected.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "checked"
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "description": "Whether or not the checkbox is indeterminate.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "indeterminate"
            },
            {
              "kind": "field",
              "name": "required",
              "description": "When true, require the checkbox to be selected when participating in\nform submission.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#validation",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "required"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The value of the checkbox that is submitted with a form when selected.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "'on'",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "input",
              "privacy": "private",
              "type": {
                "text": "HTMLInputElement",
                "references": [
                  {
                    "name": "HTMLInputElement",
                    "package": "global:",
                    "start": 0,
                    "end": 16
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "dirtyCheckedness",
              "description": "Mimics the behavior of <input> dirty checkedness, where the `checked`\nattribute only updates the checked state if the checkbox has not been\ninteracted with.",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "defaultChecked",
              "privacy": "public",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "ShadowRootInit",
                "references": [
                  {
                    "name": "ShadowRootInit",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              },
              "default": "{\n    mode: 'open',\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    focusRingStyles,\n    rippleStyles,\n    checkboxStyles,\n    css`\n      :host {\n        display: inline-flex;\n      }\n      .checkbox {\n        flex: 1;\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "attributeChangedCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "newValue",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormValue]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormState]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[createValidator]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "CheckboxValidator",
                  "references": [
                    {
                      "name": "CheckboxValidator",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/checkbox-validator.js",
                      "start": 0,
                      "end": 17
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "[getValidityAnchor]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "HTMLInputElement",
                  "references": [
                    {
                      "name": "HTMLInputElement",
                      "package": "global:",
                      "start": 0,
                      "end": 16
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "error",
              "type": {
                "text": "boolean"
              },
              "fieldName": "error"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "fieldName": "checked"
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "fieldName": "indeterminate"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "fieldName": "required"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "Fired when the checkbox is checked or unchecked. --bubbles --composed"
            },
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired when the checkbox is checked or unchecked. --bubbles"
            }
          ],
          "cssParts": [
            {
              "name": "checkbox",
              "description": "The checkbox's root element."
            }
          ],
          "cssProperties": [
            {
              "name": "--container-color"
            },
            {
              "name": "--container-shape"
            },
            {
              "name": "--container-size"
            },
            {
              "name": "--icon-color"
            },
            {
              "name": "--icon-size"
            },
            {
              "name": "--outline-color"
            },
            {
              "name": "--outline-width"
            },
            {
              "name": "--state-layer-color"
            },
            {
              "name": "--state-layer-shape"
            },
            {
              "name": "--state-layer-size"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CheckboxElement",
          "declaration": {
            "name": "CheckboxElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/checkbox/checkbox.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/checkbox/checkbox.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "CHECKBOX_CLASSES",
          "description": "Checkbox classes.",
          "type": {
            "text": "{ readonly checkbox: \"checkbox\"; readonly invalid: string; readonly hover: string; readonly focus: string; readonly active: string; readonly checked: string; readonly indeterminate: string; readonly disabled: string; }"
          }
        },
        {
          "kind": "function",
          "name": "checkboxClasses",
          "description": "Returns the checkbox classes to apply to an element based on the given state.",
          "parameters": [
            {
              "name": "{\n  invalid = false,\n  hover = false,\n  focus = false,\n  active = false,\n  checked = false,\n  indeterminate = false,\n  disabled = false,\n}",
              "description": "The state of the checkbox.",
              "type": {
                "text": "CheckboxClassesState",
                "references": [
                  {
                    "name": "CheckboxClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/checkbox/checkbox.js",
                    "start": 0,
                    "end": 20
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "function",
          "name": "setupCheckbox",
          "description": "Sets up checkbox functionality for the given element.",
          "parameters": [
            {
              "name": "checkbox",
              "description": "The element on which to set up checkbox functionality.",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "name": "opts",
              "description": "Setup options, supports a cleanup `signal`.",
              "type": {
                "text": "{ signal?: AbortSignal; }",
                "references": [
                  {
                    "name": "AbortSignal",
                    "package": "global:",
                    "start": 11,
                    "end": 22
                  }
                ]
              },
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "variable",
          "name": "checkbox",
          "description": "A Lit directive that adds checkbox styling and functionality to its element.",
          "type": {
            "text": "(state?: CheckboxClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "CheckboxClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/checkbox/checkbox.js",
                "start": 9,
                "end": 29
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 32,
                "end": 49
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 54,
                "end": 69
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "CHECKBOX_CLASSES",
          "declaration": {
            "name": "CHECKBOX_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "checkboxClasses",
          "declaration": {
            "name": "checkboxClasses"
          }
        },
        {
          "kind": "js",
          "name": "setupCheckbox",
          "declaration": {
            "name": "setupCheckbox"
          }
        },
        {
          "kind": "js",
          "name": "checkbox",
          "declaration": {
            "name": "checkbox"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/checkbox/md-gb-checkbox.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/divider/divider-element.js",
      "declarations": [
        {
          "kind": "class",
          "name": "DividerElement",
          "description": "A Material Design divider component.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "vertical",
              "description": "Whether or not the divider is vertical.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "vertical",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    dividerStyles,\n    css`\n      :host {\n        display: flex;\n      }\n      .divider {\n        flex: 1;\n      }\n      :host(:not([vertical])) {\n        width: 100%;\n      }\n      :host([vertical]) {\n        min-height: 100%;\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "fieldName": "vertical"
            }
          ],
          "cssParts": [
            {
              "name": "divider",
              "description": "The divider element."
            }
          ],
          "cssProperties": [
            {
              "name": "--color"
            },
            {
              "name": "--thickness"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DividerElement",
          "declaration": {
            "name": "DividerElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/divider/divider.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/divider/divider.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "DIVIDER_CLASSES",
          "description": "Divider classes.",
          "type": {
            "text": "{ readonly divider: \"divider\"; readonly dividerVertical: \"divider-vertical\"; }"
          }
        },
        {
          "kind": "function",
          "name": "dividerClasses",
          "description": "Returns the divider classes to apply to an element based on the given state.",
          "parameters": [
            {
              "name": "{\n  vertical = false,\n}",
              "description": "The state of the divider.",
              "type": {
                "text": "DividerClassesState",
                "references": [
                  {
                    "name": "DividerClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/divider/divider.js",
                    "start": 0,
                    "end": 19
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "variable",
          "name": "divider",
          "description": "A Lit directive that adds divider styling to its element.",
          "type": {
            "text": "(state?: DividerClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "DividerClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/divider/divider.js",
                "start": 9,
                "end": 28
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 31,
                "end": 48
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 53,
                "end": 68
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DIVIDER_CLASSES",
          "declaration": {
            "name": "DIVIDER_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "dividerClasses",
          "declaration": {
            "name": "dividerClasses"
          }
        },
        {
          "kind": "js",
          "name": "divider",
          "declaration": {
            "name": "divider"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/divider/md-gb-divider.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/fab/fab-element.js",
      "declarations": [
        {
          "kind": "class",
          "name": "FabElement",
          "description": "A Material Design fab component.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "color",
              "privacy": "public",
              "type": {
                "text": "FabColor",
                "references": [
                  {
                    "name": "FabColor",
                    "package": "@material/web",
                    "module": "labs/gb/components/fab/fab.js",
                    "start": 0,
                    "end": 8
                  }
                ]
              },
              "default": "'primary-container'",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "size",
              "privacy": "public",
              "type": {
                "text": "FabSize",
                "references": [
                  {
                    "name": "FabSize",
                    "package": "@material/web",
                    "module": "labs/gb/components/fab/fab.js",
                    "start": 0,
                    "end": 7
                  }
                ]
              },
              "default": "'default'",
              "attribute": "size"
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    focusRingStyles,\n    rippleStyles,\n    fabStyles,\n    css`\n      :host {\n        display: inline-flex;\n      }\n      .fab {\n        flex: 1;\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "fieldName": "color"
            },
            {
              "name": "size",
              "type": {
                "text": "string"
              },
              "fieldName": "size"
            }
          ],
          "slots": [
            {
              "name": "-",
              "description": "Used to display an icon and optional label."
            }
          ],
          "cssParts": [
            {
              "name": "fab",
              "description": "The FAB's root element."
            }
          ],
          "cssProperties": [
            {
              "name": "--container-color"
            },
            {
              "name": "--container-elevation"
            },
            {
              "name": "--container-height"
            },
            {
              "name": "--container-shape"
            },
            {
              "name": "--icon-color"
            },
            {
              "name": "--icon-label-space"
            },
            {
              "name": "--icon-size"
            },
            {
              "name": "--label-text"
            },
            {
              "name": "--label-text-color"
            },
            {
              "name": "--label-text-tracking"
            },
            {
              "name": "--leading-space"
            },
            {
              "name": "--trailing-space"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FabElement",
          "declaration": {
            "name": "FabElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/fab/fab.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/fab/fab.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "FAB_COLORS",
          "description": "Fab color configurations.",
          "type": {
            "text": "{ readonly primary: \"primary\"; readonly primaryContainer: \"primary-container\"; readonly secondary: \"secondary\"; readonly secondaryContainer: \"secondary-container\"; readonly tertiary: \"tertiary\"; readonly tertiaryContainer: \"tertiary-container\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "FAB_SIZES",
          "description": "Fab size configurations.",
          "type": {
            "text": "{ readonly default: \"default\"; readonly md: \"md\"; readonly lg: \"lg\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "FAB_CLASSES",
          "description": "Fab classes.",
          "type": {
            "text": "{ readonly fab: \"fab\"; readonly fabPrimary: \"fab-primary\"; readonly fabPrimaryContainer: \"fab-primary-container\"; readonly fabSecondary: \"fab-secondary\"; readonly fabSecondaryContainer: \"fab-secondary-container\"; ... 5 more ...; readonly active: string; }"
          }
        },
        {
          "kind": "function",
          "name": "fabClasses",
          "description": "Returns the fab classes to apply to an element based on the given state.",
          "parameters": [
            {
              "name": "{\n  color,\n  size,\n  hover = false,\n  active = false,\n}",
              "description": "The state of the fab.",
              "type": {
                "text": "FabClassesState",
                "references": [
                  {
                    "name": "FabClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/fab/fab.js",
                    "start": 0,
                    "end": 15
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "function",
          "name": "setupFab",
          "description": "Sets up fab functionality for the given element.",
          "parameters": [
            {
              "name": "fab",
              "description": "The element on which to set up fab functionality.",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "name": "opts",
              "description": "Setup options, supports a cleanup `signal`.",
              "type": {
                "text": "{ signal?: AbortSignal; }",
                "references": [
                  {
                    "name": "AbortSignal",
                    "package": "global:",
                    "start": 11,
                    "end": 22
                  }
                ]
              },
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "variable",
          "name": "fab",
          "description": "A Lit directive that adds fab styling and functionality to its element.",
          "type": {
            "text": "(state?: FabClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "FabClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/fab/fab.js",
                "start": 9,
                "end": 24
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 27,
                "end": 44
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 49,
                "end": 64
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FAB_COLORS",
          "declaration": {
            "name": "FAB_COLORS"
          }
        },
        {
          "kind": "js",
          "name": "FAB_SIZES",
          "declaration": {
            "name": "FAB_SIZES"
          }
        },
        {
          "kind": "js",
          "name": "FAB_CLASSES",
          "declaration": {
            "name": "FAB_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "fabClasses",
          "declaration": {
            "name": "fabClasses"
          }
        },
        {
          "kind": "js",
          "name": "setupFab",
          "declaration": {
            "name": "setupFab"
          }
        },
        {
          "kind": "js",
          "name": "fab",
          "declaration": {
            "name": "fab"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/fab/md-gb-fab.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/focus/focus-ring.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/focus/focus-ring.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "FOCUS_RING_TYPES",
          "description": "Focus ring type configurations.",
          "type": {
            "text": "{ readonly outer: \"outer\"; readonly inner: \"inner\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "FOCUS_RING_CLASSES",
          "description": "Focus ring classes.",
          "type": {
            "text": "{ focusRingOuter: string; focusRingInner: string; focusRingTarget: string; focusRingHost: string; focusVisible: string; }"
          }
        },
        {
          "kind": "function",
          "name": "focusRingClasses",
          "description": "Returns the focus ring classes to apply to an element based on the given\nstate.",
          "parameters": [
            {
              "name": "{\n  type = FOCUS_RING_TYPES.outer,\n  focusVisible = false,\n}",
              "description": "The state of the focus ring.",
              "type": {
                "text": "FocusRingClassesState",
                "references": [
                  {
                    "name": "FocusRingClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/focus/focus-ring.js",
                    "start": 0,
                    "end": 21
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FOCUS_RING_TYPES",
          "declaration": {
            "name": "FOCUS_RING_TYPES"
          }
        },
        {
          "kind": "js",
          "name": "FOCUS_RING_CLASSES",
          "declaration": {
            "name": "FOCUS_RING_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "focusRingClasses",
          "declaration": {
            "name": "focusRingClasses"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/iconbutton/icon-button-element.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "baseClass",
          "type": {
            "text": "MixinReturn<MixinReturn<MixinReturn<(abstract new (...args: any[]) => WithElementInternals) & typeof LitElement & FormAssociatedConstructor, FormAssociated>, FormSubmitter>>",
            "references": [
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 0,
                "end": 11
              },
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 12,
                "end": 23
              },
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 24,
                "end": 35
              },
              {
                "name": "WithElementInternals",
                "package": "@material/web",
                "module": "labs/behaviors/element-internals.js",
                "start": 70,
                "end": 90
              },
              {
                "name": "FormAssociatedConstructor",
                "package": "@material/web",
                "module": "labs/behaviors/form-associated.js",
                "start": 114,
                "end": 139
              },
              {
                "name": "FormAssociated",
                "package": "@material/web",
                "module": "labs/behaviors/form-associated.js",
                "start": 141,
                "end": 155
              },
              {
                "name": "FormSubmitter",
                "package": "@material/web",
                "module": "labs/behaviors/form-submitter.js",
                "start": 158,
                "end": 171
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "IconButtonElement",
          "description": "A Material Design icon button component.",
          "superclass": {
            "name": "baseClass",
            "package": "@material/web",
            "module": "labs/gb/components/iconbutton/icon-button-element.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "color",
              "description": "The color of the button.",
              "privacy": "public",
              "type": {
                "text": "IconButtonColor",
                "references": [
                  {
                    "name": "IconButtonColor",
                    "package": "@material/web",
                    "module": "labs/gb/components/iconbutton/icon-button.js",
                    "start": 0,
                    "end": 15
                  }
                ]
              },
              "default": "'standard'",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "size",
              "description": "The size of the button.",
              "privacy": "public",
              "type": {
                "text": "IconButtonSize",
                "references": [
                  {
                    "name": "IconButtonSize",
                    "package": "@material/web",
                    "module": "labs/gb/components/iconbutton/icon-button.js",
                    "start": 0,
                    "end": 14
                  }
                ]
              },
              "default": "'sm'",
              "attribute": "size"
            },
            {
              "kind": "field",
              "name": "square",
              "description": "Changes the shape of the button to be square.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "square"
            },
            {
              "kind": "field",
              "name": "width",
              "description": "Changes the width of the button.",
              "privacy": "public",
              "type": {
                "text": "IconButtonWidth",
                "references": [
                  {
                    "name": "IconButtonWidth",
                    "package": "@material/web",
                    "module": "labs/gb/components/iconbutton/icon-button.js",
                    "start": 0,
                    "end": 15
                  }
                ]
              },
              "default": "''",
              "attribute": "width"
            },
            {
              "kind": "field",
              "name": "softDisabled",
              "description": "Whether or not the button is \"soft-disabled\" (disabled but still\nfocusable).",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "soft-disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "selected",
              "description": "Whether or not the button is selected, when `type=\"toggle\"`.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "selected"
            },
            {
              "kind": "field",
              "name": "href",
              "description": "The URL that the link button points to.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "download",
              "description": "The filename to use when downloading the linked resource.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "download"
            },
            {
              "kind": "field",
              "name": "target",
              "description": "Where to display the linked `href` URL for a link button.",
              "privacy": "public",
              "type": {
                "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
              },
              "default": "''",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "type",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "ShadowRootInit",
                "references": [
                  {
                    "name": "ShadowRootInit",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              },
              "default": "{\n    mode: 'open',\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    focusRingStyles,\n    rippleStyles,\n    iconButtonStyles,\n    css`\n      :host {\n        display: inline-flex;\n      }\n      .icon-btn {\n        flex: 1;\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "fieldName": "color"
            },
            {
              "name": "size",
              "type": {
                "text": "string"
              },
              "fieldName": "size"
            },
            {
              "name": "square",
              "type": {
                "text": "boolean"
              },
              "fieldName": "square"
            },
            {
              "name": "width",
              "type": {
                "text": "string"
              },
              "fieldName": "width"
            },
            {
              "name": "type",
              "type": {
                "text": "string"
              },
              "fieldName": "type"
            },
            {
              "name": "soft-disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "softDisabled"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "fieldName": "selected"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "fieldName": "href"
            },
            {
              "name": "download",
              "type": {
                "text": "string"
              },
              "fieldName": "download"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "fieldName": "target"
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "Fired when a toggle icon button is selected or unselected. --bubbles --composed"
            },
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired when a toggle button is selected or unselected. --bubbles"
            }
          ],
          "slots": [
            {
              "name": "-",
              "description": "Used to display an icon."
            }
          ],
          "cssParts": [
            {
              "name": "icon-btn",
              "description": "The icon button's root element."
            }
          ],
          "cssProperties": [
            {
              "name": "--container-color"
            },
            {
              "name": "--container-height"
            },
            {
              "name": "--container-shape"
            },
            {
              "name": "--icon-color"
            },
            {
              "name": "--icon-size"
            },
            {
              "name": "--outline-color"
            },
            {
              "name": "--outline-width"
            },
            {
              "name": "--leading-space"
            },
            {
              "name": "--trailing-space"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "IconButtonElement",
          "declaration": {
            "name": "IconButtonElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/iconbutton/icon-button.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/iconbutton/icon-button.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "ICON_BUTTON_COLORS",
          "description": "Icon Button color configurations.",
          "type": {
            "text": "{ readonly filled: \"filled\"; readonly tonal: \"tonal\"; readonly outlined: \"outlined\"; readonly standard: \"standard\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "ICON_BUTTON_SIZES",
          "description": "Icon Button size configurations.",
          "type": {
            "text": "{ readonly xs: \"xs\"; readonly sm: \"sm\"; readonly md: \"md\"; readonly lg: \"lg\"; readonly xl: \"xl\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "ICON_BUTTON_WIDTHS",
          "description": "Icon Button width configurations.",
          "type": {
            "text": "{ readonly narrow: \"narrow\"; readonly wide: \"wide\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "ICON_BUTTON_CLASSES",
          "description": "Icon Button classes.",
          "type": {
            "text": "{ iconBtn: string; iconBtnFilled: string; iconBtnTonal: string; iconBtnOutlined: string; iconBtnStandard: string; iconBtnXs: string; iconBtnSm: string; iconBtnMd: string; iconBtnLg: string; ... 7 more ...; disabled: string; }"
          }
        },
        {
          "kind": "function",
          "name": "iconButtonClasses",
          "description": "Returns the icon button classes to apply to an element based on the given\nstate.",
          "parameters": [
            {
              "name": "{\n  color,\n  size,\n  width,\n  square = false,\n  selected,\n  active = false,\n  disabled = false,\n}",
              "description": "The state of the icon button.",
              "type": {
                "text": "IconButtonClassesState",
                "references": [
                  {
                    "name": "IconButtonClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/iconbutton/icon-button.js",
                    "start": 0,
                    "end": 22
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "function",
          "name": "setupIconButton",
          "description": "Sets up icon button functionality for the given element.",
          "parameters": [
            {
              "name": "iconButton",
              "description": "The element on which to set up icon button functionality.",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "name": "opts",
              "description": "Setup options, supports a cleanup `signal`.",
              "type": {
                "text": "{ signal?: AbortSignal; }",
                "references": [
                  {
                    "name": "AbortSignal",
                    "package": "global:",
                    "start": 11,
                    "end": 22
                  }
                ]
              },
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "variable",
          "name": "iconButton",
          "description": "A Lit directive that adds icon button styling and functionality to its element.",
          "type": {
            "text": "(state?: IconButtonClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "IconButtonClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/iconbutton/icon-button.js",
                "start": 9,
                "end": 31
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 34,
                "end": 51
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 56,
                "end": 71
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ICON_BUTTON_COLORS",
          "declaration": {
            "name": "ICON_BUTTON_COLORS"
          }
        },
        {
          "kind": "js",
          "name": "ICON_BUTTON_SIZES",
          "declaration": {
            "name": "ICON_BUTTON_SIZES"
          }
        },
        {
          "kind": "js",
          "name": "ICON_BUTTON_WIDTHS",
          "declaration": {
            "name": "ICON_BUTTON_WIDTHS"
          }
        },
        {
          "kind": "js",
          "name": "ICON_BUTTON_CLASSES",
          "declaration": {
            "name": "ICON_BUTTON_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "iconButtonClasses",
          "declaration": {
            "name": "iconButtonClasses"
          }
        },
        {
          "kind": "js",
          "name": "setupIconButton",
          "declaration": {
            "name": "setupIconButton"
          }
        },
        {
          "kind": "js",
          "name": "iconButton",
          "declaration": {
            "name": "iconButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/iconbutton/md-gb-icon-button.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/list/list-element.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "baseClass",
          "type": {
            "text": "MixinReturn<typeof LitElement, WithElementInternals>",
            "references": [
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 0,
                "end": 11
              },
              {
                "name": "WithElementInternals",
                "package": "@material/web",
                "module": "labs/behaviors/element-internals.js",
                "start": 31,
                "end": 51
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "ListElement",
          "description": "A Material Design list component.",
          "superclass": {
            "name": "baseClass",
            "package": "@material/web",
            "module": "labs/gb/components/list/list-element.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "segmented",
              "description": "Whether to render the list with segmented items.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "segmented"
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    listStyles,\n    css`\n      :host {\n        display: flex;\n      }\n      .list {\n        flex: 1;\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "segmented",
              "type": {
                "text": "boolean"
              },
              "fieldName": "segmented"
            }
          ],
          "slots": [
            {
              "name": "-",
              "description": "Used to display list items."
            }
          ],
          "cssParts": [
            {
              "name": "list",
              "description": "The list's root element."
            }
          ],
          "cssProperties": [
            {
              "name": "--container-shape"
            },
            {
              "name": "--gap"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListElement",
          "declaration": {
            "name": "ListElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/list/list-item-element.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "baseClass",
          "type": {
            "text": "MixinReturn<MixinReturn<typeof LitElement, WithElementInternals>>",
            "references": [
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 0,
                "end": 11
              },
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 12,
                "end": 23
              },
              {
                "name": "WithElementInternals",
                "package": "@material/web",
                "module": "labs/behaviors/element-internals.js",
                "start": 43,
                "end": 63
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "ListItemElement",
          "description": "A Material Design list item component.",
          "superclass": {
            "name": "baseClass",
            "package": "@material/web",
            "module": "labs/gb/components/list/list-item-element.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "checked",
              "description": "Whether the list item is selected.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "checked"
            },
            {
              "kind": "field",
              "name": "disabled",
              "description": "Whether the list item is disabled.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "nonInteractive",
              "description": "Whether the list item is non-interactive.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "static",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "{ delegatesFocus: boolean; clonable?: boolean; customElementRegistry?: CustomElementRegistry; mode: ShadowRootMode; serializable?: boolean; slotAssignment?: SlotAssignmentMode; }",
                "references": [
                  {
                    "name": "CustomElementRegistry",
                    "package": "global:",
                    "start": 71,
                    "end": 92
                  },
                  {
                    "name": "ShadowRootMode",
                    "package": "global:",
                    "start": 100,
                    "end": 114
                  },
                  {
                    "name": "SlotAssignmentMode",
                    "package": "global:",
                    "start": 157,
                    "end": 175
                  }
                ]
              },
              "default": "{\n    ...LitElement.shadowRootOptions,\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    focusRingStyles,\n    rippleStyles,\n    listStyles,\n    css`\n      :host {\n        display: flex;\n        align-items: center;\n      }\n      .list-item {\n        flex: 1;\n        align-items: inherit;\n      }\n      :is(.list-item-leading, .list-item-trailing):not(:has(.has-slotted)) {\n        display: none;\n      }\n      slot:not(.has-slotted) {\n        display: contents;\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderContent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "fieldName": "checked"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "disabled"
            },
            {
              "name": "static",
              "type": {
                "text": "boolean"
              },
              "fieldName": "nonInteractive"
            }
          ],
          "slots": [
            {
              "name": "-",
              "description": "Used to display the item's primary label."
            },
            {
              "name": "avatar",
              "description": "Used to display a circular avatar before the item's content."
            },
            {
              "name": "leading",
              "description": "Used to display icons and content before the item's main content."
            },
            {
              "name": "overline",
              "description": "Used to display overline text above the main label."
            },
            {
              "name": "supporting-text",
              "description": "Used to display supporting text below the main label."
            },
            {
              "name": "trailing-text",
              "description": "Used to display metadata or text after the item's main content."
            },
            {
              "name": "trailing",
              "description": "Used to display icons and content after the item's main content."
            }
          ],
          "cssParts": [
            {
              "name": "list-item",
              "description": "The list item's root element."
            }
          ],
          "cssProperties": [
            {
              "name": "--container-height"
            },
            {
              "name": "--container-color"
            },
            {
              "name": "--container-shape"
            },
            {
              "name": "--label-text-color"
            },
            {
              "name": "--label-text"
            },
            {
              "name": "--label-text-tracking"
            },
            {
              "name": "--leading-space"
            },
            {
              "name": "--trailing-space"
            },
            {
              "name": "--between-space"
            },
            {
              "name": "--top-space"
            },
            {
              "name": "--bottom-space"
            },
            {
              "name": "--avatar-size"
            },
            {
              "name": "--avatar-shape"
            },
            {
              "name": "--avatar-color"
            },
            {
              "name": "--avatar-label"
            },
            {
              "name": "--avatar-label-tracking"
            },
            {
              "name": "--avatar-label-color"
            },
            {
              "name": "--leading-icon-color"
            },
            {
              "name": "--leading-icon-size"
            },
            {
              "name": "--trailing-icon-color"
            },
            {
              "name": "--trailing-icon-size"
            },
            {
              "name": "--overline"
            },
            {
              "name": "--overline-tracking"
            },
            {
              "name": "--overline-color"
            },
            {
              "name": "--supporting-text"
            },
            {
              "name": "--supporting-text-tracking"
            },
            {
              "name": "--supporting-text-color"
            },
            {
              "name": "--trailing-supporting-text"
            },
            {
              "name": "--trailing-supporting-text-tracking"
            },
            {
              "name": "--trailing-supporting-text-color"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListItemElement",
          "declaration": {
            "name": "ListItemElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/list/list.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/list/list.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "LIST_CLASSES",
          "description": "List classes.",
          "type": {
            "text": "{ readonly list: \"list\"; readonly listSegmented: \"list-segmented\"; }"
          }
        },
        {
          "kind": "function",
          "name": "listClasses",
          "description": "Returns the list classes to apply to an element based on the given state.",
          "parameters": [
            {
              "name": "{\n  segmented = false,\n}",
              "description": "The state of the list.",
              "type": {
                "text": "ListClassesState",
                "references": [
                  {
                    "name": "ListClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/list/list.js",
                    "start": 0,
                    "end": 16
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "variable",
          "name": "list",
          "description": "A Lit directive that adds list styling and functionality to its element.",
          "type": {
            "text": "(state?: ListClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "ListClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/list/list.js",
                "start": 9,
                "end": 25
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 28,
                "end": 45
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 50,
                "end": 65
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "LIST_ITEM_CLASSES",
          "description": "List item classes.",
          "type": {
            "text": "{ readonly listItem: \"list-item\"; readonly listItemStatic: \"list-item-static\"; readonly listItemContent: \"list-item-content\"; readonly listItemLeading: \"list-item-leading\"; readonly listItemTrailing: \"list-item-trailing\"; ... 8 more ...; readonly disabled: string; }"
          }
        },
        {
          "kind": "function",
          "name": "listItemClasses",
          "description": "Returns the list item classes to apply to an element based on the given\nstate.",
          "parameters": [
            {
              "name": "{\n  static: staticItem = false,\n  checked = false,\n  hover = false,\n  focus = false,\n  active = false,\n  disabled = false,\n}",
              "description": "The state of the list item.",
              "type": {
                "text": "ListItemClassesState",
                "references": [
                  {
                    "name": "ListItemClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/list/list.js",
                    "start": 0,
                    "end": 20
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "function",
          "name": "setupListItem",
          "description": "Sets up list item functionality for the given element.",
          "parameters": [
            {
              "name": "listItem",
              "description": "The element on which to set up list item functionality.",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "name": "opts",
              "description": "Setup options, supports a cleanup `signal`.",
              "type": {
                "text": "{ signal?: AbortSignal; }",
                "references": [
                  {
                    "name": "AbortSignal",
                    "package": "global:",
                    "start": 11,
                    "end": 22
                  }
                ]
              },
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "variable",
          "name": "listItem",
          "description": "A Lit directive that adds list item styling and functionality to its element.",
          "type": {
            "text": "(state?: ListItemClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "ListItemClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/list/list.js",
                "start": 9,
                "end": 29
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 32,
                "end": 49
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 54,
                "end": 69
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LIST_CLASSES",
          "declaration": {
            "name": "LIST_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "listClasses",
          "declaration": {
            "name": "listClasses"
          }
        },
        {
          "kind": "js",
          "name": "list",
          "declaration": {
            "name": "list"
          }
        },
        {
          "kind": "js",
          "name": "LIST_ITEM_CLASSES",
          "declaration": {
            "name": "LIST_ITEM_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "listItemClasses",
          "declaration": {
            "name": "listItemClasses"
          }
        },
        {
          "kind": "js",
          "name": "setupListItem",
          "declaration": {
            "name": "setupListItem"
          }
        },
        {
          "kind": "js",
          "name": "listItem",
          "declaration": {
            "name": "listItem"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/list/md-gb-list-item.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/list/md-gb-list.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/menu/md-gb-menu-group.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/menu/md-gb-menu-item.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/menu/md-gb-menu.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/menu/menu-element.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "baseClass",
          "type": {
            "text": "MixinReturn<MixinReturn<typeof LitElement, Focusable>, WithElementInternals>",
            "references": [
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 0,
                "end": 11
              },
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 12,
                "end": 23
              },
              {
                "name": "Focusable",
                "package": "@material/web",
                "module": "labs/behaviors/focusable.js",
                "start": 43,
                "end": 52
              },
              {
                "name": "WithElementInternals",
                "package": "@material/web",
                "module": "labs/behaviors/element-internals.js",
                "start": 55,
                "end": 75
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "MenuElement",
          "description": "A Material Design menu component.",
          "superclass": {
            "name": "baseClass",
            "package": "@material/web",
            "module": "labs/gb/components/menu/menu-element.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "color",
              "privacy": "public",
              "type": {
                "text": "MenuColor",
                "references": [
                  {
                    "name": "MenuColor",
                    "package": "@material/web",
                    "module": "labs/gb/components/menu/menu.js",
                    "start": 0,
                    "end": 9
                  }
                ]
              },
              "default": "MENU_COLORS.standard",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "previouslyFocused",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "itemsSet",
              "privacy": "private",
              "type": {
                "text": "Set<HTMLElement>",
                "references": [
                  {
                    "name": "Set",
                    "package": "global:",
                    "start": 0,
                    "end": 3
                  },
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 4,
                    "end": 15
                  }
                ]
              },
              "default": "new Set<HTMLElement>()"
            },
            {
              "kind": "field",
              "name": "items",
              "privacy": "public",
              "type": {
                "text": "HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[menuStyles, css``]"
            },
            {
              "kind": "method",
              "name": "connectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "fieldName": "color"
            }
          ],
          "slots": [
            {
              "name": "-",
              "description": "Used to display the menu's items."
            }
          ],
          "cssParts": [
            {
              "name": "menu",
              "description": "The menu's root element."
            }
          ],
          "cssProperties": [
            {
              "name": "--container-color"
            },
            {
              "name": "--container-elevation"
            },
            {
              "name": "--container-shape"
            },
            {
              "name": "--gap"
            },
            {
              "name": "--group-padding"
            },
            {
              "name": "--group-shape"
            },
            {
              "name": "--section-label-text-color"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MenuElement",
          "declaration": {
            "name": "MenuElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/menu/menu-group-element.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "baseClass",
          "type": {
            "text": "MixinReturn<typeof LitElement, WithElementInternals>",
            "references": [
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 0,
                "end": 11
              },
              {
                "name": "WithElementInternals",
                "package": "@material/web",
                "module": "labs/behaviors/element-internals.js",
                "start": 31,
                "end": 51
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "MenuGroupElement",
          "description": "A Material Design menu group component.",
          "superclass": {
            "name": "baseClass",
            "package": "@material/web",
            "module": "labs/gb/components/menu/menu-group-element.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "checkable",
              "privacy": "public",
              "type": {
                "text": "MenuItemCheckable",
                "references": [
                  {
                    "name": "MenuItemCheckable",
                    "package": "@material/web",
                    "module": "labs/gb/components/menu/menu.js",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "null",
              "attribute": "checkable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "menuContext",
              "privacy": "private",
              "type": {
                "text": "MenuContext",
                "references": [
                  {
                    "name": "MenuContext",
                    "package": "@material/web",
                    "module": "labs/gb/components/menu/menu.js",
                    "start": 0,
                    "end": 11
                  }
                ]
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "menu",
              "privacy": "public",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "items",
              "privacy": "public",
              "type": {
                "text": "HTMLElement[]",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    css`\n      :host {\n        display: contents;\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "checkable",
              "type": {
                "text": "string"
              },
              "fieldName": "checkable"
            }
          ],
          "slots": [
            {
              "name": "-",
              "description": "Used to display the menu group's items."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MenuGroupElement",
          "declaration": {
            "name": "MenuGroupElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/menu/menu-item-element.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "baseClass",
          "type": {
            "text": "MixinReturn<MixinReturn<typeof LitElement, Focusable>, WithElementInternals>",
            "references": [
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 0,
                "end": 11
              },
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 12,
                "end": 23
              },
              {
                "name": "Focusable",
                "package": "@material/web",
                "module": "labs/behaviors/focusable.js",
                "start": 43,
                "end": 52
              },
              {
                "name": "WithElementInternals",
                "package": "@material/web",
                "module": "labs/behaviors/element-internals.js",
                "start": 55,
                "end": 75
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "MenuItemElement",
          "description": "A Material Design menu item component.",
          "superclass": {
            "name": "baseClass",
            "package": "@material/web",
            "module": "labs/gb/components/menu/menu-item-element.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "checked",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "menuContext",
              "privacy": "private",
              "type": {
                "text": "MenuContext",
                "references": [
                  {
                    "name": "MenuContext",
                    "package": "@material/web",
                    "module": "labs/gb/components/menu/menu.js",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "checkable",
              "privacy": "private",
              "type": {
                "text": "MenuItemCheckable",
                "references": [
                  {
                    "name": "MenuItemCheckable",
                    "package": "@material/web",
                    "module": "labs/gb/components/menu/menu.js",
                    "start": 0,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "menu",
              "privacy": "public",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    focusRingStyles,\n    rippleStyles,\n    menuStyles,\n    css`\n      :host {\n        display: flex;\n        outline: none;\n      }\n      .menu-item {\n        flex: 1;\n      }\n      :is(.menu-item-leading, .menu-item-trailing):not(\n        :has(.has-slotted, .checkmark)\n      ) {\n        display: none;\n      }\n      slot:not(.has-slotted) {\n        display: contents;\n      }\n      .checkmark {\n        display: flex;\n        font: var(--md-icon-size) var(--md-icon-font);\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "connectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "disconnectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "renderContent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "updated",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "fieldName": "checked"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "disabled"
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired when a checkbox or menu item is checked or unchecked. --bubbles"
            },
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "Fired when a checkbox or menu item is checked or unchecked. --bubbles --composed"
            }
          ],
          "slots": [
            {
              "name": "-",
              "description": "Used to display the item's primary label."
            },
            {
              "name": "leading",
              "description": "Used to display icons and content before the item's main content."
            },
            {
              "name": "supporting-text",
              "description": "Used to display supporting text below the main label."
            },
            {
              "name": "trailing-text",
              "description": "Used to display metadata or text after the item's main content."
            },
            {
              "name": "trailing",
              "description": "Used to display icons and content after the item's main content."
            }
          ],
          "cssParts": [
            {
              "name": "menu-item",
              "description": "The menu item's root element."
            }
          ],
          "cssProperties": [
            {
              "name": "--between-space"
            },
            {
              "name": "--bottom-space"
            },
            {
              "name": "--container-color"
            },
            {
              "name": "--height"
            },
            {
              "name": "--inner-corner-corner-size"
            },
            {
              "name": "--label-text-color"
            },
            {
              "name": "--label-text"
            },
            {
              "name": "--label-text-tracking"
            },
            {
              "name": "--leading-icon-color"
            },
            {
              "name": "--leading-icon-size"
            },
            {
              "name": "--leading-space"
            },
            {
              "name": "--shape"
            },
            {
              "name": "--supporting-text-color"
            },
            {
              "name": "--supporting-text"
            },
            {
              "name": "--supporting-text-tracking"
            },
            {
              "name": "--top-space"
            },
            {
              "name": "--trailing-icon-color"
            },
            {
              "name": "--trailing-icon-size"
            },
            {
              "name": "--trailing-space"
            },
            {
              "name": "--trailing-supporting-text-color"
            },
            {
              "name": "--trailing-supporting-text"
            },
            {
              "name": "--trailing-supporting-text-tracking"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MenuItemElement",
          "declaration": {
            "name": "MenuItemElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/menu/menu.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/menu/menu.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "menuContext",
          "description": "Menu context to provide to menu items.",
          "type": {
            "text": "{ __context__: MenuContext; }",
            "references": [
              {
                "name": "MenuContext",
                "package": "@material/web",
                "module": "labs/gb/components/menu/menu.js",
                "start": 15,
                "end": 26
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "MENU_COLORS",
          "description": "Menu color configurations.",
          "type": {
            "text": "{ readonly standard: \"standard\"; readonly vibrant: \"vibrant\"; }"
          }
        },
        {
          "kind": "variable",
          "name": "MENU_CLASSES",
          "description": "Menu classes.",
          "type": {
            "text": "{ readonly menu: \"menu\"; readonly menuVibrant: \"menu-vibrant\"; }"
          }
        },
        {
          "kind": "function",
          "name": "menuClasses",
          "description": "Returns the menu classes to apply to an element based on the given state.",
          "parameters": [
            {
              "name": "{color}",
              "description": "The state of the menu.",
              "type": {
                "text": "MenuClassesState",
                "references": [
                  {
                    "name": "MenuClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/menu/menu.js",
                    "start": 0,
                    "end": 16
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "function",
          "name": "setupMenu",
          "description": "Sets up menu functionality for the given element.",
          "parameters": [
            {
              "name": "menu",
              "description": "The element on which to set up menu functionality.",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "name": "opts",
              "description": "Setup options, supports a cleanup `signal`.",
              "type": {
                "text": "{ signal?: AbortSignal; }",
                "references": [
                  {
                    "name": "AbortSignal",
                    "package": "global:",
                    "start": 11,
                    "end": 22
                  }
                ]
              },
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "variable",
          "name": "menu",
          "description": "A Lit directive that adds menu styling and functionality to its element.",
          "type": {
            "text": "(state?: MenuClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "MenuClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/menu/menu.js",
                "start": 9,
                "end": 25
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 28,
                "end": 45
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 50,
                "end": 65
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "menuItemCheckable",
          "description": "Context provided to menu items for the checkable state of a menu item group.",
          "type": {
            "text": "{ __context__: MenuItemCheckable; }",
            "references": [
              {
                "name": "MenuItemCheckable",
                "package": "@material/web",
                "module": "labs/gb/components/menu/menu.js",
                "start": 15,
                "end": 32
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "MENU_ITEM_CLASSES",
          "description": "Menu item classes.",
          "type": {
            "text": "{ readonly menuItem: \"menu-item\"; readonly checked: string; readonly hover: string; readonly focus: string; readonly active: string; readonly disabled: string; }"
          }
        },
        {
          "kind": "function",
          "name": "menuItemClasses",
          "description": "Returns the menu item classes to apply to an element based on the given\nstate.",
          "parameters": [
            {
              "name": "{\n  checked = false,\n  hover = false,\n  focus = false,\n  active = false,\n  disabled = false,\n}",
              "description": "The state of the menu item.",
              "type": {
                "text": "MenuItemClassesState",
                "references": [
                  {
                    "name": "MenuItemClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/menu/menu.js",
                    "start": 0,
                    "end": 20
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "function",
          "name": "setupMenuItem",
          "description": "Sets up menu item functionality for the given element.",
          "parameters": [
            {
              "name": "menuItem",
              "description": "The element on which to set up menu item functionality.",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "name": "opts",
              "description": "Setup options, supports a cleanup `signal`.",
              "type": {
                "text": "{ signal?: AbortSignal; }",
                "references": [
                  {
                    "name": "AbortSignal",
                    "package": "global:",
                    "start": 11,
                    "end": 22
                  }
                ]
              },
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "variable",
          "name": "menuItem",
          "description": "A Lit directive that adds menu item styling and functionality to its element.",
          "type": {
            "text": "(state?: MenuItemClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "MenuItemClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/menu/menu.js",
                "start": 9,
                "end": 29
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 32,
                "end": 49
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 54,
                "end": 69
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "menuContext",
          "declaration": {
            "name": "menuContext"
          }
        },
        {
          "kind": "js",
          "name": "MENU_COLORS",
          "declaration": {
            "name": "MENU_COLORS"
          }
        },
        {
          "kind": "js",
          "name": "MENU_CLASSES",
          "declaration": {
            "name": "MENU_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "menuClasses",
          "declaration": {
            "name": "menuClasses"
          }
        },
        {
          "kind": "js",
          "name": "setupMenu",
          "declaration": {
            "name": "setupMenu"
          }
        },
        {
          "kind": "js",
          "name": "menu",
          "declaration": {
            "name": "menu"
          }
        },
        {
          "kind": "js",
          "name": "menuItemCheckable",
          "declaration": {
            "name": "menuItemCheckable"
          }
        },
        {
          "kind": "js",
          "name": "MENU_ITEM_CLASSES",
          "declaration": {
            "name": "MENU_ITEM_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "menuItemClasses",
          "declaration": {
            "name": "menuItemClasses"
          }
        },
        {
          "kind": "js",
          "name": "setupMenuItem",
          "declaration": {
            "name": "setupMenuItem"
          }
        },
        {
          "kind": "js",
          "name": "menuItem",
          "declaration": {
            "name": "menuItem"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/radio/md-gb-radio.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/radio/radio-element.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "radioBaseClass",
          "type": {
            "text": "MixinReturn<MixinReturn<(abstract new (...args: any[]) => WithElementInternals) & (abstract new (...args: any[]) => Focusable) & typeof LitElement & FormAssociatedConstructor, FormAssociated>, ConstraintValidation>",
            "references": [
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 0,
                "end": 11
              },
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 12,
                "end": 23
              },
              {
                "name": "WithElementInternals",
                "package": "@material/web",
                "module": "labs/behaviors/element-internals.js",
                "start": 58,
                "end": 78
              },
              {
                "name": "Focusable",
                "package": "@material/web",
                "module": "labs/behaviors/focusable.js",
                "start": 116,
                "end": 125
              },
              {
                "name": "FormAssociatedConstructor",
                "package": "@material/web",
                "module": "labs/behaviors/form-associated.js",
                "start": 149,
                "end": 174
              },
              {
                "name": "FormAssociated",
                "package": "@material/web",
                "module": "labs/behaviors/form-associated.js",
                "start": 176,
                "end": 190
              },
              {
                "name": "ConstraintValidation",
                "package": "@material/web",
                "module": "labs/behaviors/constraint-validation.js",
                "start": 193,
                "end": 213
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "RadioElement",
          "description": "A Material Design radio component.",
          "superclass": {
            "name": "radioBaseClass",
            "package": "@material/web",
            "module": "labs/gb/components/radio/radio-element.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "required",
              "description": "Whether or not the radio is required. If any radio is required in a group,\nall radios are implicitly required.",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "required"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The element value to use in form submission when checked.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "'on'",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "radio",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "selectionController",
              "privacy": "private",
              "type": {
                "text": "SingleSelectionController",
                "references": [
                  {
                    "name": "SingleSelectionController",
                    "package": "@material/web",
                    "module": "radio/internal/single-selection-controller.js",
                    "start": 0,
                    "end": 25
                  }
                ]
              },
              "default": "new SingleSelectionController(this)"
            },
            {
              "kind": "field",
              "name": "dirtyCheckedness",
              "description": "Mimics the behavior of <input> dirty checkedness, where the `checked`\nattribute only updates the checked state if the radio has not been\ninteracted with.",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isFocused",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "checked",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "attribute": "checked"
            },
            {
              "kind": "field",
              "name": "defaultChecked",
              "privacy": "public",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    focusRingStyles,\n    rippleStyles,\n    radioStyles,\n    css`\n      :host {\n        display: inline-flex;\n        outline: none;\n      }\n      .radio {\n        flex: 1;\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "attributeChangedCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "newValue",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormValue]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormState]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[createValidator]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "RadioValidator",
                  "references": [
                    {
                      "name": "RadioValidator",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/radio-validator.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "[getValidityAnchor]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "HTMLElement",
                  "references": [
                    {
                      "name": "HTMLElement",
                      "package": "global:",
                      "start": 0,
                      "end": 11
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "fieldName": "checked"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "fieldName": "required"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "Fired when the radio is checked (but not unchecked). --bubbles --composed"
            },
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired when the radio is checked (but not unchecked). --bubbles"
            }
          ],
          "cssParts": [
            {
              "name": "radio",
              "description": "The radio's root element."
            }
          ],
          "cssProperties": [
            {
              "name": "--icon-color"
            },
            {
              "name": "--icon-size"
            },
            {
              "name": "--state-layer-color"
            },
            {
              "name": "--state-layer-shape"
            },
            {
              "name": "--state-layer-size"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RadioElement",
          "declaration": {
            "name": "RadioElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/radio/radio.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/radio/radio.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "RADIO_CLASSES",
          "description": "Radio classes.",
          "type": {
            "text": "{ readonly radio: \"radio\"; readonly hover: string; readonly focus: string; readonly active: string; readonly checked: string; readonly disabled: string; }"
          }
        },
        {
          "kind": "function",
          "name": "radioClasses",
          "description": "Returns the radio classes to apply to an element based on the given state.",
          "parameters": [
            {
              "name": "{\n  hover = false,\n  focus = false,\n  active = false,\n  checked = false,\n  disabled = false,\n}",
              "description": "The state of the radio.",
              "type": {
                "text": "RadioClassesState",
                "references": [
                  {
                    "name": "RadioClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/radio/radio.js",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "function",
          "name": "setupRadio",
          "description": "Sets up radio functionality for the given element.",
          "parameters": [
            {
              "name": "radio",
              "description": "The element on which to set up radio functionality.",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "name": "opts",
              "description": "Setup options, supports a cleanup `signal`.",
              "type": {
                "text": "{ signal?: AbortSignal; }",
                "references": [
                  {
                    "name": "AbortSignal",
                    "package": "global:",
                    "start": 11,
                    "end": 22
                  }
                ]
              },
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "variable",
          "name": "radio",
          "description": "A Lit directive that adds radio styling and functionality to its element.",
          "type": {
            "text": "(state?: RadioClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "RadioClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/radio/radio.js",
                "start": 9,
                "end": 26
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 29,
                "end": 46
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 51,
                "end": 66
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RADIO_CLASSES",
          "declaration": {
            "name": "RADIO_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "radioClasses",
          "declaration": {
            "name": "radioClasses"
          }
        },
        {
          "kind": "js",
          "name": "setupRadio",
          "declaration": {
            "name": "setupRadio"
          }
        },
        {
          "kind": "js",
          "name": "radio",
          "declaration": {
            "name": "radio"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/ripple/ripple.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/ripple/ripple.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "RIPPLE_CLASSES",
          "description": "Ripple classes.",
          "type": {
            "text": "{ ripple: string; rippleTarget: string; rippleHost: string; hover: string; active: string; disabled: string; }"
          }
        },
        {
          "kind": "function",
          "name": "rippleClasses",
          "description": "Returns the ripple classes to apply to an element based on the given state.",
          "parameters": [
            {
              "name": "{\n  hover = false,\n  active = false,\n  disabled = false,\n}",
              "description": "The state of the ripple.",
              "type": {
                "text": "RippleClassesState",
                "references": [
                  {
                    "name": "RippleClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/ripple/ripple.js",
                    "start": 0,
                    "end": 18
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "variable",
          "name": "MINIMUM_PRESS_MS",
          "type": {
            "text": "number"
          }
        },
        {
          "kind": "variable",
          "name": "ripplePropertiesRegistered",
          "type": {
            "text": "boolean"
          }
        },
        {
          "kind": "function",
          "name": "setupRipple",
          "description": "Sets up ripple functionality for the given element.",
          "parameters": [
            {
              "name": "ripple",
              "description": "The element on which to set up ripple functionality.",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "name": "opts",
              "description": "Setup options, supports a cleanup `signal`.",
              "type": {
                "text": "{ signal?: AbortSignal; }",
                "references": [
                  {
                    "name": "AbortSignal",
                    "package": "global:",
                    "start": 11,
                    "end": 22
                  }
                ]
              },
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "variable",
          "name": "ripple",
          "description": "A Lit directive that adds updates the position of a ripple to match pointer\ninteractions. Use with the `.ripple` class.",
          "type": {
            "text": "() => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 6,
                "end": 21
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RIPPLE_CLASSES",
          "declaration": {
            "name": "RIPPLE_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "rippleClasses",
          "declaration": {
            "name": "rippleClasses"
          }
        },
        {
          "kind": "js",
          "name": "setupRipple",
          "declaration": {
            "name": "setupRipple"
          }
        },
        {
          "kind": "js",
          "name": "ripple",
          "declaration": {
            "name": "ripple"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/shared/directives.js",
      "declarations": [
        {
          "kind": "function",
          "name": "createClassMapDirective",
          "description": "Creates a Lit directive that behaves like `classMap()`, but also provides\nelement setup and cleanup logic.\n\nThese directives bind to `class=\"${componentDirectiveName()}\"`.",
          "parameters": [
            {
              "name": "options",
              "description": "Options for creating the class map directive.",
              "type": {
                "text": "ClassMapDirectiveOptions<State>",
                "references": [
                  {
                    "name": "ClassMapDirectiveOptions",
                    "package": "@material/web",
                    "module": "labs/gb/components/shared/directives.js",
                    "start": 0,
                    "end": 24
                  },
                  {
                    "name": "State",
                    "package": "@material/web",
                    "module": "labs/gb/components/shared/directives.js",
                    "start": 25,
                    "end": 30
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "(state?: State & AdditionalClasses) => DirectiveResult<DirectiveClass>",
              "references": [
                {
                  "name": "State",
                  "package": "@material/web",
                  "module": "labs/gb/components/shared/directives.js",
                  "start": 9,
                  "end": 14
                },
                {
                  "name": "AdditionalClasses",
                  "package": "@material/web",
                  "module": "labs/gb/components/shared/directives.js",
                  "start": 17,
                  "end": 34
                },
                {
                  "name": "DirectiveResult",
                  "package": "lit",
                  "module": "async-directive.js",
                  "start": 39,
                  "end": 54
                }
              ]
            },
            "description": "A Lit `directive()` that binds to the class attribute."
          }
        },
        {
          "kind": "function",
          "name": "createElementDirective",
          "description": "Creates a Lit directive that can be used to add setup and cleanup logic to\nan element.\n\nThese directives bind as element parts.",
          "parameters": [
            {
              "name": "setupElement",
              "description": "The function to set up logic for the directive's element.",
              "type": {
                "text": "SetupElementFunction",
                "references": [
                  {
                    "name": "SetupElementFunction",
                    "package": "@material/web",
                    "module": "labs/gb/components/shared/directives.js",
                    "start": 0,
                    "end": 20
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "() => DirectiveResult<DirectiveClass>",
              "references": [
                {
                  "name": "DirectiveResult",
                  "package": "lit",
                  "module": "async-directive.js",
                  "start": 6,
                  "end": 21
                }
              ]
            },
            "description": "A Lit `directive()` that binds as an element part."
          }
        },
        {
          "kind": "class",
          "name": "SetupElementDirective",
          "description": "A base class for Lit element and attribute directives that provides a setup\nmethod for initializing logic when a directive's element is connected.",
          "superclass": {
            "name": "AsyncDirective",
            "package": "lit",
            "module": "async-directive.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "setupElement",
              "description": "Called when the directive's element changes. Use this method to add\nevent listeners or perform other setup logic.\n\nThe `signal` option is used to clean up setup logic when the element is\ndisconnected.",
              "privacy": "protected",
              "type": {
                "text": "(element: HTMLElement, opts: { signal: AbortSignal; }) => void",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 10,
                    "end": 21
                  },
                  {
                    "name": "AbortSignal",
                    "package": "global:",
                    "start": 39,
                    "end": 50
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "element",
              "privacy": "private",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "cleanup",
              "privacy": "private",
              "type": {
                "text": "AbortController",
                "references": [
                  {
                    "name": "AbortController",
                    "package": "global:",
                    "start": 0,
                    "end": 15
                  }
                ]
              }
            },
            {
              "kind": "method",
              "name": "update",
              "privacy": "public",
              "parameters": [
                {
                  "name": "{element}",
                  "type": {
                    "text": "ElementPart | AttributePart",
                    "references": [
                      {
                        "name": "ElementPart",
                        "package": "lit",
                        "module": "async-directive.js",
                        "start": 0,
                        "end": 11
                      },
                      {
                        "name": "AttributePart",
                        "package": "lit",
                        "module": "async-directive.js",
                        "start": 14,
                        "end": 27
                      }
                    ]
                  }
                },
                {
                  "name": "params",
                  "type": {
                    "text": "unknown[]"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "unknown"
                }
              }
            },
            {
              "kind": "method",
              "name": "disconnected",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "reconnected",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "createClassMapDirective",
          "declaration": {
            "name": "createClassMapDirective"
          }
        },
        {
          "kind": "js",
          "name": "createElementDirective",
          "declaration": {
            "name": "createElementDirective"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/shared/has-slotted.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "hasSlotted",
          "description": "Emulates the `:has-slotted` CSS pseudo class by adding a `.has-slotted` class\nto `<slot>` elements when they have assigned nodes.",
          "type": {
            "text": "() => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 6,
                "end": 21
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "hasSlotted",
          "declaration": {
            "name": "hasSlotted"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/shared/pseudo-classes.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "PSEUDO_CLASSES",
          "description": "Cross-component classes for emulating pseudo-classes.\n\nAll components that style with psuedo-classes for their DOM structure also\nsupport emulating these states.",
          "type": {
            "text": "{ active: string; checked: string; disabled: string; focus: string; focusVisible: string; hover: string; indeterminate: string; invalid: string; }"
          }
        },
        {
          "kind": "function",
          "name": "isDisabled",
          "description": "Returns whether the element is disabled.",
          "parameters": [
            {
              "name": "element",
              "description": "The element to check.",
              "type": {
                "text": "Element",
                "references": [
                  {
                    "name": "Element",
                    "package": "global:",
                    "start": 0,
                    "end": 7
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            },
            "description": "true if the element is disabled."
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "PSEUDO_CLASSES",
          "declaration": {
            "name": "PSEUDO_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "isDisabled",
          "declaration": {
            "name": "isDisabled"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/splitbutton/md-gb-split-button.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/splitbutton/split-button-element.js",
      "declarations": [
        {
          "kind": "class",
          "name": "SplitButtonElement",
          "description": "A Material Design split button component.",
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "members": [
            {
              "kind": "field",
              "name": "color",
              "privacy": "public",
              "type": {
                "text": "SplitButtonColor",
                "references": [
                  {
                    "name": "SplitButtonColor",
                    "package": "@material/web",
                    "module": "labs/gb/components/splitbutton/split-button.js",
                    "start": 0,
                    "end": 16
                  }
                ]
              },
              "default": "'filled'",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "size",
              "privacy": "public",
              "type": {
                "text": "SplitButtonSize",
                "references": [
                  {
                    "name": "SplitButtonSize",
                    "package": "@material/web",
                    "module": "labs/gb/components/splitbutton/split-button.js",
                    "start": 0,
                    "end": 15
                  }
                ]
              },
              "default": "'sm'",
              "attribute": "size"
            },
            {
              "kind": "field",
              "name": "selected",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "selected"
            },
            {
              "kind": "field",
              "name": "cleanupToggleListener",
              "privacy": "private",
              "type": {
                "text": "AbortController",
                "references": [
                  {
                    "name": "AbortController",
                    "package": "global:",
                    "start": 0,
                    "end": 15
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    focusRingStyles,\n    rippleStyles,\n    buttonStyles,\n    splitButtonStyles,\n    css`\n      :host {\n        display: inline-flex;\n      }\n      .split-btn {\n        flex: 1;\n      }\n      [name='leading'] {\n        display: contents;\n        &::slotted(button) {\n          all: inherit;\n          display: flex;\n        }\n      }\n      [name='trailing'] {\n        position: relative;\n        &::slotted(button) {\n          position: absolute;\n          inset: 0;\n          appearance: none;\n          background: none;\n          border: none;\n          outline: none;\n        }\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "updateSlotFocusVisible",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleTrailingSlotchange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "fieldName": "color"
            },
            {
              "name": "size",
              "type": {
                "text": "string"
              },
              "fieldName": "size"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "fieldName": "selected"
            }
          ],
          "slots": [
            {
              "name": "leading",
              "description": "Requires a `<button>` for the main action."
            },
            {
              "name": "trailing",
              "description": "Requires a `<button>` for the menu action. Use `popovertarget` to display a menu."
            },
            {
              "name": "-",
              "description": "Used to render the trailing button's popover menu."
            }
          ],
          "cssParts": [
            {
              "name": "split-btn",
              "description": "The split button's root element."
            },
            {
              "name": "leading-btn",
              "description": "The split button's main action."
            },
            {
              "name": "trailing-btn",
              "description": "The split button's menu action."
            }
          ],
          "cssProperties": [
            {
              "name": "--between-space"
            },
            {
              "name": "--icon-size"
            },
            {
              "name": "--inner-corner-size"
            },
            {
              "name": "--outer-corner-size"
            },
            {
              "name": "--leading-space"
            },
            {
              "name": "--trailing-space"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SplitButtonElement",
          "declaration": {
            "name": "SplitButtonElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/splitbutton/split-button.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/splitbutton/split-button.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "SPLIT_BUTTON_CLASSES",
          "description": "Split Button classes.",
          "type": {
            "text": "{ readonly splitButton: \"split-btn\"; readonly splitButtonSelected: \"split-btn-selected\"; }"
          }
        },
        {
          "kind": "function",
          "name": "splitButtonClasses",
          "description": "Returns the split button classes to apply to an element based on the given\nstate.",
          "parameters": [
            {
              "name": "{\n  selected = false,\n}",
              "description": "The state of the split button.",
              "type": {
                "text": "SplitButtonClassesState",
                "references": [
                  {
                    "name": "SplitButtonClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/splitbutton/split-button.js",
                    "start": 0,
                    "end": 23
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "variable",
          "name": "splitButton",
          "description": "A Lit directive that adds split button styling and functionality to its\nelement.",
          "type": {
            "text": "(state?: SplitButtonClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "SplitButtonClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/splitbutton/split-button.js",
                "start": 9,
                "end": 32
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 35,
                "end": 52
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 57,
                "end": 72
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SPLIT_BUTTON_CLASSES",
          "declaration": {
            "name": "SPLIT_BUTTON_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "splitButtonClasses",
          "declaration": {
            "name": "splitButtonClasses"
          }
        },
        {
          "kind": "js",
          "name": "splitButton",
          "declaration": {
            "name": "splitButton"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/switch/md-gb-switch.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/switch/switch-element.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "baseClass",
          "type": {
            "text": "MixinReturn<MixinReturn<MixinReturn<(abstract new (...args: any[]) => WithCustomStateSet) & (abstract new (...args: any[]) => WithElementInternals) & typeof LitElement & FormAssociatedConstructor, FormAssociated>, ConstraintValidation>>",
            "references": [
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 0,
                "end": 11
              },
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 12,
                "end": 23
              },
              {
                "name": "MixinReturn",
                "package": "@material/web",
                "module": "labs/behaviors/mixin.js",
                "start": 24,
                "end": 35
              },
              {
                "name": "WithCustomStateSet",
                "package": "@material/web",
                "module": "labs/behaviors/custom-state-set.js",
                "start": 70,
                "end": 88
              },
              {
                "name": "WithElementInternals",
                "package": "@material/web",
                "module": "labs/behaviors/element-internals.js",
                "start": 126,
                "end": 146
              },
              {
                "name": "FormAssociatedConstructor",
                "package": "@material/web",
                "module": "labs/behaviors/form-associated.js",
                "start": 170,
                "end": 195
              },
              {
                "name": "FormAssociated",
                "package": "@material/web",
                "module": "labs/behaviors/form-associated.js",
                "start": 197,
                "end": 211
              },
              {
                "name": "ConstraintValidation",
                "package": "@material/web",
                "module": "labs/behaviors/constraint-validation.js",
                "start": 214,
                "end": 234
              }
            ]
          }
        },
        {
          "kind": "class",
          "name": "SwitchElement",
          "description": "A Material Design switch component.",
          "superclass": {
            "name": "baseClass",
            "package": "@material/web",
            "module": "labs/gb/components/switch/switch-element.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "required",
              "description": "When true, require the switch to be selected when participating in\nform submission.\n\nhttps://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#validation",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "required"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The value associated with this switch on form submission. `null` is\nsubmitted when `selected` is `false`.",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "'on'",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "button",
              "privacy": "private",
              "type": {
                "text": "HTMLButtonElement",
                "references": [
                  {
                    "name": "HTMLButtonElement",
                    "package": "global:",
                    "start": 0,
                    "end": 17
                  }
                ]
              }
            },
            {
              "kind": "field",
              "name": "dirtyCheckedness",
              "description": "Mimics the behavior of <input> dirty checkedness, where the `checked`\nattribute only updates the checked state if the checkbox has not been\ninteracted with.",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "selected",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "attribute": "selected"
            },
            {
              "kind": "field",
              "name": "defaultSelected",
              "privacy": "public",
              "type": {
                "text": "boolean"
              }
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "ShadowRootInit",
                "references": [
                  {
                    "name": "ShadowRootInit",
                    "package": "global:",
                    "start": 0,
                    "end": 14
                  }
                ]
              },
              "default": "{\n    mode: 'open',\n    delegatesFocus: true,\n  }"
            },
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[\n    focusRingStyles,\n    rippleStyles,\n    switchStyles,\n    css`\n      :host {\n        display: inline-flex;\n      }\n      .switch {\n        flex: 1;\n      }\n      ::slotted(*) {\n        grid-area: handle;\n      }\n    `,\n  ]"
            },
            {
              "kind": "method",
              "name": "render",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TemplateResult<1>",
                  "references": [
                    {
                      "name": "TemplateResult",
                      "package": "lit-html",
                      "module": "development/lit-html.js",
                      "start": 0,
                      "end": 14
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event",
                    "references": [
                      {
                        "name": "Event",
                        "package": "global:",
                        "start": 0,
                        "end": 5
                      }
                    ]
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "attributeChangedCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "newValue",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormValue]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "[getFormState]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "privacy": "public",
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "[createValidator]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "CheckboxValidator",
                  "references": [
                    {
                      "name": "CheckboxValidator",
                      "package": "@material/web",
                      "module": "labs/behaviors/validators/checkbox-validator.js",
                      "start": 0,
                      "end": 17
                    }
                  ]
                }
              }
            },
            {
              "kind": "method",
              "name": "[getValidityAnchor]",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "HTMLButtonElement",
                  "references": [
                    {
                      "name": "HTMLButtonElement",
                      "package": "global:",
                      "start": 0,
                      "end": 17
                    }
                  ]
                }
              }
            }
          ],
          "customElement": true,
          "attributes": [
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "fieldName": "selected"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "fieldName": "required"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent",
                "references": [
                  {
                    "name": "InputEvent",
                    "package": "global:",
                    "start": 0,
                    "end": 10
                  }
                ]
              },
              "description": "Fired when the switch is selected or unselected. --bubbles --composed"
            },
            {
              "name": "change",
              "type": {
                "text": "Event",
                "references": [
                  {
                    "name": "Event",
                    "package": "global:",
                    "start": 0,
                    "end": 5
                  }
                ]
              },
              "description": "Fired when the switch is selected or unselected. --bubbles"
            }
          ],
          "slots": [
            {
              "name": "off-icon",
              "description": "Used to show an icon when the switch is unselected."
            },
            {
              "name": "on-icon",
              "description": "Used to show an icon when the switch is selected."
            }
          ],
          "cssParts": [
            {
              "name": "switch",
              "description": "The switch's root element."
            }
          ],
          "cssProperties": [
            {
              "name": "--handle-color"
            },
            {
              "name": "--handle-size"
            },
            {
              "name": "--with-icon-handle-size"
            },
            {
              "name": "--icon-color"
            },
            {
              "name": "--icon-size"
            },
            {
              "name": "--state-layer-color"
            },
            {
              "name": "--state-layer-size"
            },
            {
              "name": "--track-color"
            },
            {
              "name": "--track-height"
            },
            {
              "name": "--track-outline-color"
            },
            {
              "name": "--track-outline-width"
            },
            {
              "name": "--track-width"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SwitchElement",
          "declaration": {
            "name": "SwitchElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/switch/switch.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/components/switch/switch.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "SWITCH_CLASSES",
          "description": "Switch classes.",
          "type": {
            "text": "{ readonly switch: \"switch\"; readonly checked: string; readonly hover: string; readonly active: string; readonly disabled: string; }"
          }
        },
        {
          "kind": "function",
          "name": "switchClasses",
          "description": "Returns the switch classes to apply to an element based on the given state.",
          "parameters": [
            {
              "name": "{\n  checked = false,\n  hover = false,\n  active = false,\n  disabled = false,\n}",
              "description": "The state of the switch.",
              "type": {
                "text": "SwitchClassesState",
                "references": [
                  {
                    "name": "SwitchClassesState",
                    "package": "@material/web",
                    "module": "labs/gb/components/switch/switch.js",
                    "start": 0,
                    "end": 18
                  }
                ]
              },
              "default": "{}",
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "ClassInfo",
              "references": [
                {
                  "name": "ClassInfo",
                  "package": "lit",
                  "module": "directives/class-map.js",
                  "start": 0,
                  "end": 9
                }
              ]
            },
            "description": "An object of class names and truthy values if they apply."
          }
        },
        {
          "kind": "function",
          "name": "setupSwitch",
          "description": "Sets up switch functionality for the given element.",
          "parameters": [
            {
              "name": "switchEl",
              "description": "The element on which to set up switch functionality.",
              "type": {
                "text": "HTMLElement",
                "references": [
                  {
                    "name": "HTMLElement",
                    "package": "global:",
                    "start": 0,
                    "end": 11
                  }
                ]
              }
            },
            {
              "name": "opts",
              "description": "Setup options, supports a cleanup `signal`.",
              "type": {
                "text": "{ signal?: AbortSignal; }",
                "references": [
                  {
                    "name": "AbortSignal",
                    "package": "global:",
                    "start": 11,
                    "end": 22
                  }
                ]
              },
              "optional": true
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "variable",
          "name": "switchToggle",
          "description": "A Lit directive that adds switch styling and functionality to its element.",
          "type": {
            "text": "(state?: SwitchClassesState & AdditionalClasses) => DirectiveResult<DirectiveClass>",
            "references": [
              {
                "name": "SwitchClassesState",
                "package": "@material/web",
                "module": "labs/gb/components/switch/switch.js",
                "start": 9,
                "end": 27
              },
              {
                "name": "AdditionalClasses",
                "package": "@material/web",
                "module": "labs/gb/components/shared/directives.js",
                "start": 30,
                "end": 47
              },
              {
                "name": "DirectiveResult",
                "package": "lit-html",
                "module": "development/directive.js",
                "start": 52,
                "end": 67
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SWITCH_CLASSES",
          "declaration": {
            "name": "SWITCH_CLASSES"
          }
        },
        {
          "kind": "js",
          "name": "switchClasses",
          "declaration": {
            "name": "switchClasses"
          }
        },
        {
          "kind": "js",
          "name": "setupSwitch",
          "declaration": {
            "name": "setupSwitch"
          }
        },
        {
          "kind": "js",
          "name": "switchToggle",
          "declaration": {
            "name": "switchToggle"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/adopt-styles.js",
      "declarations": [
        {
          "kind": "function",
          "name": "adoptStyles",
          "description": "Adopts the given stylesheets to the provided document or shadow root owner.",
          "parameters": [
            {
              "name": "owner",
              "description": "The owner document, shadow root, or element to adopt the\nstyles to.",
              "type": {
                "text": "AdoptStylesOwner",
                "references": [
                  {
                    "name": "AdoptStylesOwner",
                    "package": "@material/web",
                    "module": "labs/gb/styles/adopt-styles.js",
                    "start": 0,
                    "end": 16
                  }
                ]
              }
            },
            {
              "name": "styles",
              "description": "The styles to adopt.",
              "type": {
                "text": "CSSResultOrNative | CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  },
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 20,
                    "end": 37
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "void"
            }
          }
        },
        {
          "kind": "function",
          "name": "adopt",
          "parameters": [
            {
              "name": "node",
              "type": {
                "text": "Node | DocumentOrShadowRoot",
                "references": [
                  {
                    "name": "Node",
                    "package": "global:",
                    "start": 0,
                    "end": 4
                  },
                  {
                    "name": "DocumentOrShadowRoot",
                    "package": "global:",
                    "start": 7,
                    "end": 27
                  }
                ]
              }
            },
            {
              "name": "stylesheets",
              "type": {
                "text": "CSSStyleSheet[]",
                "references": [
                  {
                    "name": "CSSStyleSheet",
                    "package": "global:",
                    "start": 0,
                    "end": 13
                  }
                ]
              }
            }
          ],
          "return": {
            "type": {
              "text": "boolean"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "adoptStyles",
          "declaration": {
            "name": "adoptStyles"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/m3.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/tailwind.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/color/md-color-tokens-full.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/color/md-color-tokens.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/elevation/md-elevation-tokens.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/icon/icon-element.js",
      "declarations": [
        {
          "kind": "class",
          "name": "IconElement",
          "description": "A Material Design icon component.",
          "superclass": {
            "name": "Icon",
            "package": "@material/web",
            "module": "icon/internal/icon.js"
          },
          "members": [
            {
              "kind": "field",
              "name": "styles",
              "static": true,
              "privacy": "public",
              "type": {
                "text": "CSSResultOrNative[]",
                "references": [
                  {
                    "name": "CSSResultOrNative",
                    "package": "lit",
                    "start": 0,
                    "end": 17
                  }
                ]
              },
              "default": "[iconStyles]"
            },
            {
              "kind": "method",
              "name": "connectedCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "IconElement",
          "declaration": {
            "name": "IconElement"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/icon/md-gb-icon.js"
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/icon/md-icon.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/motion/md-motion-tokens-easing.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/shape/md-shape-tokens.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/space/md-space-tokens.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "labs/gb/styles/typography/md-typography-tokens.cssresult.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "styles",
          "type": {
            "text": "CSSResult",
            "references": [
              {
                "name": "CSSResult",
                "package": "lit",
                "module": "development/index.js",
                "start": 0,
                "end": 9
              }
            ]
          }
        },
        {
          "kind": "variable",
          "name": "default",
          "type": {
            "text": "CSSStyleSheet",
            "references": [
              {
                "name": "CSSStyleSheet",
                "package": "global:",
                "start": 0,
                "end": 13
              }
            ]
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "styles",
          "declaration": {
            "name": "styles"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "default"
          }
        }
      ]
    }
  ]
}