{
 "schemaVersion": "2.1.0",
 "readme": "Material Web 3.0 (labs/gb): the md-gb-* custom elements.",
 "modules": [
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/appbar/md-gb-app-bar.js",
   "declarations": [
    {
     "kind": "class",
     "name": "AppBarElement",
     "tagName": "md-gb-app-bar",
     "customElement": true,
     "description": "A Material Design app bar component.",
     "summary": "A Material Design app bar component.",
     "attributes": [
      {
       "name": "centered",
       "type": {
        "text": "boolean"
       },
       "fieldName": "centered",
       "default": "false",
       "description": "Whether the title and subtitle are centered instead of leading-aligned (the M3 Expressive \"centered text\" configuration). Defaults to `false`."
      },
      {
       "name": "scroll-behavior",
       "type": {
        "text": "\"hide\" | \"compress\""
       },
       "fieldName": "scrollBehavior",
       "description": "How the app bar reacts to scrolling: `hide` (hide on scroll down, reveal on scroll up) or `compress` (medium and large flexible app bars become small until scrolled back to the top)."
      },
      {
       "name": "scrolled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "scrolled",
       "default": "false",
       "description": "Whether the app bar is in its scrolled state. Defaults to `false`. A medium or large flexible app bar in its scrolled state is shown as a small one (app-bars.md: \"When scrolled, medium flexible and large flexible app bars can transform into small app bars\")."
      },
      {
       "name": "scroll-target",
       "type": {
        "text": "string"
       },
       "fieldName": "scrollTarget",
       "default": "''",
       "description": "The id of the element whose scrolling drives `scroll-behavior`. Defaults to the window."
      },
      {
       "name": "size",
       "type": {
        "text": "AppBarSize"
       },
       "fieldName": "size",
       "default": "'sm'",
       "description": "The size of the app bar (`sm`, `md`, `lg`). Defaults to `sm`."
      },
      {
       "name": "variant",
       "type": {
        "text": "AppBarVariant"
       },
       "fieldName": "variant",
       "default": "'standard'",
       "description": "The behavioral variant of the app bar (`standard` or `search`). Defaults to `standard`."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "centered",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the title and subtitle are centered instead of leading-aligned (the M3 Expressive \"centered text\" configuration). Defaults to `false`.",
       "attribute": "centered",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "scrollBehavior",
       "type": {
        "text": "\"hide\" | \"compress\""
       },
       "privacy": "public",
       "description": "How the app bar reacts to scrolling: `hide` (hide on scroll down, reveal on scroll up) or `compress` (medium and large flexible app bars become small until scrolled back to the top).",
       "attribute": "scroll-behavior",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "scrolled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the app bar is in its scrolled state. Defaults to `false`. A medium or large flexible app bar in its scrolled state is shown as a small one (app-bars.md: \"When scrolled, medium flexible and large flexible app bars can transform into small app bars\").",
       "attribute": "scrolled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "scrollTarget",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The id of the element whose scrolling drives `scroll-behavior`. Defaults to the window.",
       "attribute": "scroll-target"
      },
      {
       "kind": "field",
       "name": "size",
       "type": {
        "text": "AppBarSize"
       },
       "privacy": "public",
       "default": "'sm'",
       "description": "The size of the app bar (`sm`, `md`, `lg`). Defaults to `sm`.",
       "attribute": "size",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "variant",
       "type": {
        "text": "AppBarVariant"
       },
       "privacy": "public",
       "default": "'standard'",
       "description": "The behavioral variant of the app bar (`standard` or `search`). Defaults to `standard`.",
       "attribute": "variant",
       "reflects": true
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "AppBarElement",
     "declaration": {
      "name": "AppBarElement",
      "module": "labs/gb/components/appbar/md-gb-app-bar.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-app-bar",
     "declaration": {
      "name": "AppBarElement",
      "module": "labs/gb/components/appbar/md-gb-app-bar.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/scaffold/md-gb-app-scaffold.js",
   "declarations": [
    {
     "kind": "class",
     "name": "AppScaffoldElement",
     "tagName": "md-gb-app-scaffold",
     "customElement": true,
     "description": "A Material Design app scaffold (bars, rails, FAB, snackbar).",
     "summary": "A Material Design app scaffold (bars, rails, FAB, snackbar).",
     "attributes": [
      {
       "name": "auto-expand-rail",
       "type": {
        "text": "boolean"
       },
       "fieldName": "autoExpandRail",
       "default": "false",
       "description": "Whether to expand a slotted navigation rail at large and extra-large windows and collapse it below (spec: breakpoints, swapping components). Applied when the window size class changes."
      },
      {
       "name": "navigation",
       "type": {
        "text": "ScaffoldNavigation"
       },
       "fieldName": "navigation",
       "default": "'auto'",
       "description": "Which navigation component to show."
      },
      {
       "name": "side-sheet-navigation",
       "type": {
        "text": "SideSheetNavigation"
       },
       "fieldName": "sideSheetNavigation",
       "default": "'keep'",
       "description": "What the navigation rail does while a side sheet is present (spec: breakpoints and scaffold): `keep` it as is, `collapse` it to the collapsed rail, or `hide` it completely. A side sheet is present while the nested pane scaffold shows its tertiary pane or `side-sheet-open` is set."
      },
      {
       "name": "side-sheet-open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "sideSheetOpen",
       "default": "false",
       "description": "Whether an app-managed side sheet is open."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "autoExpandRail",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to expand a slotted navigation rail at large and extra-large windows and collapse it below (spec: breakpoints, swapping components). Applied when the window size class changes.",
       "attribute": "auto-expand-rail",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "navigation",
       "type": {
        "text": "ScaffoldNavigation"
       },
       "privacy": "public",
       "default": "'auto'",
       "description": "Which navigation component to show.",
       "attribute": "navigation",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "sideSheetNavigation",
       "type": {
        "text": "SideSheetNavigation"
       },
       "privacy": "public",
       "default": "'keep'",
       "description": "What the navigation rail does while a side sheet is present (spec: breakpoints and scaffold): `keep` it as is, `collapse` it to the collapsed rail, or `hide` it completely. A side sheet is present while the nested pane scaffold shows its tertiary pane or `side-sheet-open` is set.",
       "attribute": "side-sheet-navigation",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "sideSheetOpen",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether an app-managed side sheet is open.",
       "attribute": "side-sheet-open",
       "reflects": true
      }
     ],
     "events": [
      {
       "name": "navigation-change",
       "type": {
        "text": "CustomEvent<NavigationChangeDetail>"
       },
       "description": "Fired when the shown navigation component changes. --bubbles --composed"
      },
      {
       "name": "window-class-change",
       "type": {
        "text": "CustomEvent<WindowClassChangeDetail>"
       },
       "description": "Fired when the window size class changes. --bubbles --composed"
      },
      {
       "name": "window-height-class-change",
       "type": {
        "text": "CustomEvent<WindowHeightClassChangeDetail>"
       },
       "description": "Fired when the window height size class changes. --bubbles --composed"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The content, typically an `md-gb-pane-scaffold`. Scrolls."
      },
      {
       "name": "companion-rail",
       "description": "A companion rail on the trailing side of large and extra-large windows, holding supporting controls or actions that modify or relate to the content in a pane."
      },
      {
       "name": "fab",
       "description": "A FAB, 16px from the trailing and bottom edges of the content."
      },
      {
       "name": "navigation-bar",
       "description": "A navigation bar (`md-gb-nav-bar`) at the bottom."
      },
      {
       "name": "navigation-rail",
       "description": "A navigation rail (`md-gb-nav-rail`) at the leading edge."
      },
      {
       "name": "snackbar",
       "description": "A snackbar host (`md-gb-snackbar`), above the FAB."
      },
      {
       "name": "toolbar",
       "description": "A toolbar floating in the bottom rail region, centered above the navigation bar (mobile)."
      },
      {
       "name": "top-app-bar",
       "description": "A top app bar (`md-gb-app-bar`), beside the rail."
      }
     ],
     "cssParts": [
      {
       "name": "body",
       "description": "The content region (content, FAB and snackbar)."
      },
      {
       "name": "companion-rail",
       "description": "The companion rail region."
      },
      {
       "name": "content",
       "description": "The scrolling content container."
      },
      {
       "name": "navigation-bar",
       "description": "The navigation bar region."
      },
      {
       "name": "rail",
       "description": "The navigation rail region."
      },
      {
       "name": "scaffold",
       "description": "The scaffold grid."
      },
      {
       "name": "toolbar",
       "description": "The floating toolbar region."
      },
      {
       "name": "top-app-bar",
       "description": "The top app bar region."
      }
     ],
     "cssProperties": [
      {
       "name": "--container-color",
       "description": "Scaffold background."
      },
      {
       "name": "--content-color",
       "description": "Scaffold content color."
      },
      {
       "name": "--scrollbar-gutter",
       "description": "`stable` reserves the content's scrollbar gutter, so a scrollbar that appears doesn't move the content (default `auto`: the pane widths are measured to the edges)."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "AppScaffoldElement",
     "declaration": {
      "name": "AppScaffoldElement",
      "module": "labs/gb/components/scaffold/md-gb-app-scaffold.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-app-scaffold",
     "declaration": {
      "name": "AppScaffoldElement",
      "module": "labs/gb/components/scaffold/md-gb-app-scaffold.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/select/md-gb-autocomplete.js",
   "declarations": [
    {
     "kind": "class",
     "name": "AutocompleteElement",
     "tagName": "md-gb-autocomplete",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "superclass": {
      "name": "SelectBase",
      "module": "/labs/gb/components/select/select-base.js"
     },
     "attributes": [
      {
       "name": "error",
       "type": {
        "text": "boolean"
       },
       "fieldName": "error",
       "default": "false",
       "description": "Whether the field is in a visually invalid state. Overrides the error state set by `reportValidity()`."
      },
      {
       "name": "error-text",
       "type": {
        "text": "string"
       },
       "fieldName": "errorText",
       "default": "''",
       "description": "The message that replaces the supporting text while `error` is true. Overrides the message shown by `reportValidity()`."
      },
      {
       "name": "filter",
       "type": {
        "text": "AutocompleteFilter"
       },
       "fieldName": "filter",
       "default": "'contains'",
       "description": "How options are filtered by the typed text: `contains` (default), `starts-with`, or `none` (the page updates the options itself, e.g. from a server, on `input`)."
      },
      {
       "name": "has-leading-icon",
       "type": {
        "text": "boolean"
       },
       "fieldName": "hasLeadingIcon",
       "default": "false",
       "description": "Whether a leading icon is slotted. Set it for SSR."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "The floating label; also the field's accessible name."
      },
      {
       "name": "no-asterisk",
       "type": {
        "text": "boolean"
       },
       "fieldName": "noAsterisk",
       "default": "false",
       "description": "Hides the asterisk added to the label of a required field."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "open",
       "default": "false",
       "description": "Whether the menu is open."
      },
      {
       "name": "placeholder",
       "type": {
        "text": "string"
       },
       "fieldName": "placeholder",
       "default": "''",
       "description": "Hint text shown in the input while it is empty and the label floats."
      },
      {
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "fieldName": "required",
       "default": "false",
       "description": "Whether a value is required. Adds an asterisk to the label."
      },
      {
       "name": "supporting-text",
       "type": {
        "text": "string"
       },
       "fieldName": "supportingText",
       "default": "''",
       "description": "Additional information shown below the field."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "default": "''",
       "description": "The text in the field."
      },
      {
       "name": "variant",
       "type": {
        "text": "TextFieldVariant"
       },
       "fieldName": "variant",
       "default": "'filled'",
       "description": "The variant: `filled` (default) or `outlined`."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "error",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the field is in a visually invalid state. Overrides the error state set by `reportValidity()`.",
       "attribute": "error",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "errorText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The message that replaces the supporting text while `error` is true. Overrides the message shown by `reportValidity()`.",
       "attribute": "error-text"
      },
      {
       "kind": "field",
       "name": "filter",
       "type": {
        "text": "AutocompleteFilter"
       },
       "privacy": "public",
       "default": "'contains'",
       "description": "How options are filtered by the typed text: `contains` (default), `starts-with`, or `none` (the page updates the options itself, e.g. from a server, on `input`).",
       "attribute": "filter"
      },
      {
       "kind": "field",
       "name": "hasLeadingIcon",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether a leading icon is slotted. Set it for SSR.",
       "attribute": "has-leading-icon"
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The floating label; also the field's accessible name.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "noAsterisk",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Hides the asterisk added to the label of a required field.",
       "attribute": "no-asterisk"
      },
      {
       "kind": "field",
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the menu is open.",
       "attribute": "open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "placeholder",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Hint text shown in the input while it is empty and the label floats.",
       "attribute": "placeholder",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether a value is required. Adds an asterisk to the label.",
       "attribute": "required",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "supportingText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Additional information shown below the field.",
       "attribute": "supporting-text"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The text in the field.",
       "attribute": "value"
      },
      {
       "kind": "field",
       "name": "variant",
       "type": {
        "text": "TextFieldVariant"
       },
       "privacy": "public",
       "default": "'filled'",
       "description": "The variant: `filled` (default) or `outlined`.",
       "attribute": "variant",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "blur",
       "privacy": "public",
       "description": "[MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/blur)",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "focus",
       "privacy": "public",
       "description": "[MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)",
       "parameters": [
        {
         "name": "options",
         "type": {
          "text": "FocusOptions"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formDisabledCallback",
       "privacy": "public",
       "description": "A callback for when a form component should be disabled or enabled. This can be called in a variety of situations, such as disabled `<fieldset>`s.",
       "parameters": [
        {
         "name": "disabled",
         "type": {
          "text": "boolean"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formResetCallback",
       "privacy": "public",
       "description": "An optional callback for when the form requests to reset its value. Typically, the default value that is reset is represented in the attribute of an element. This means the attribute used for the value should not update as the value changes. For example, a checkbox should not change its default `checked` attribute when selected. Ensure form values do not reflect.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formStateRestoreCallback",
       "privacy": "public",
       "description": "An optional callback for when the form restores the state of a component. For example, when a page is reloaded or forms are autofilled.",
       "parameters": [
        {
         "name": "state",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "reset",
       "privacy": "public",
       "description": "Restores the `value` attribute and clears native errors.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "select",
       "privacy": "public",
       "description": "Selects all the text.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "setCustomValidity",
       "privacy": "public",
       "description": "Sets the element's constraint validation error message. When set to a non-empty string, `validity.customError` will be true and `validationMessage` will display the provided error. Use this method to customize error messages reported. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setCustomValidity",
       "parameters": [
        {
         "name": "error",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "showPicker",
       "privacy": "public",
       "description": "Opens the menu.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "The text was committed (picked option or native change). --bubbles"
      },
      {
       "name": "closed",
       "type": {
        "text": "Event"
       },
       "description": "The menu closed."
      },
      {
       "name": "closing",
       "type": {
        "text": "Event"
       },
       "description": "The menu is about to close."
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "The text changed by typing or picking an option. --bubbles --composed"
      },
      {
       "name": "invalid",
       "type": {
        "text": "Event"
       },
       "description": "Fired when `checkValidity()` or `reportValidity()` finds the field invalid. --bubbles"
      },
      {
       "name": "opened",
       "type": {
        "text": "Event"
       },
       "description": "The menu opened."
      },
      {
       "name": "opening",
       "type": {
        "text": "Event"
       },
       "description": "The menu is about to open."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The `md-gb-select-option` suggestions."
      },
      {
       "name": "leading-icon",
       "description": "An icon before the input."
      },
      {
       "name": "trailing-icon",
       "description": "Replaces the dropdown arrow icon."
      }
     ],
     "cssParts": [
      {
       "name": "arrow",
       "description": "The dropdown arrow."
      },
      {
       "name": "container",
       "description": "The field's container."
      },
      {
       "name": "input",
       "description": "The native `<input>`."
      },
      {
       "name": "label",
       "description": "The floating label."
      },
      {
       "name": "menu",
       "description": "The `listbox` menu."
      },
      {
       "name": "supporting-text",
       "description": "The supporting or error text."
      }
     ],
     "cssProperties": [
      {
       "name": "--caret-color",
       "description": "Input caret color."
      },
      {
       "name": "--container-color",
       "description": "Field container color."
      },
      {
       "name": "--input-text-color",
       "description": "Input text color."
      },
      {
       "name": "--label-text-color",
       "description": "Label color."
      },
      {
       "name": "--menu-min-width",
       "description": "Minimum menu width."
      },
      {
       "name": "--trailing-icon-expanded-rotation",
       "description": "Dropdown arrow rotation while open."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "AutocompleteElement",
     "declaration": {
      "name": "AutocompleteElement",
      "module": "labs/gb/components/select/md-gb-autocomplete.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-autocomplete",
     "declaration": {
      "name": "AutocompleteElement",
      "module": "labs/gb/components/select/md-gb-autocomplete.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/badge/md-gb-badge.js",
   "declarations": [
    {
     "kind": "class",
     "name": "BadgeElement",
     "tagName": "md-gb-badge",
     "customElement": true,
     "description": "A Material Design badge component.",
     "summary": "A Material Design badge component.",
     "attributes": [
      {
       "name": "anchored",
       "type": {
        "text": "boolean"
       },
       "fieldName": "anchored",
       "default": "false",
       "description": "Anchors the badge to the top trailing corner of its positioned parent (the icon's bounding box)."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "'New notification'",
       "description": "Screen reader text for a small (non-counting) badge. Spec: non-counting badges announce \"New notification\", read after the destination's label."
      },
      {
       "name": "max",
       "type": {
        "text": "number"
       },
       "fieldName": "max",
       "default": "999",
       "description": "The largest count shown before it is truncated to `max+`."
      },
      {
       "name": "value",
       "type": {
        "text": "number"
       },
       "fieldName": "value",
       "description": "A count to display. Counts above `max` show as `max+` (spec: limit content to four characters, including a +). Slotted content is shown when unset."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "anchored",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Anchors the badge to the top trailing corner of its positioned parent (the icon's bounding box).",
       "attribute": "anchored",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'New notification'",
       "description": "Screen reader text for a small (non-counting) badge. Spec: non-counting badges announce \"New notification\", read after the destination's label.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "max",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "999",
       "description": "The largest count shown before it is truncated to `max+`.",
       "attribute": "max"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "description": "A count to display. Counts above `max` show as `max+` (spec: limit content to four characters, including a +). Slotted content is shown when unset.",
       "attribute": "value"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The large badge's label, e.g. a count."
      }
     ],
     "cssParts": [
      {
       "name": "badge",
       "description": "The badge container."
      }
     ],
     "cssProperties": [
      {
       "name": "--container-color"
      },
      {
       "name": "--label-text-color"
      },
      {
       "name": "--padding-inline"
      },
      {
       "name": "--shape"
      },
      {
       "name": "--size"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "BadgeElement",
     "declaration": {
      "name": "BadgeElement",
      "module": "labs/gb/components/badge/md-gb-badge.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-badge",
     "declaration": {
      "name": "BadgeElement",
      "module": "labs/gb/components/badge/md-gb-badge.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/sheet/md-gb-bottom-sheet.js",
   "declarations": [
    {
     "kind": "class",
     "name": "BottomSheetElement",
     "tagName": "md-gb-bottom-sheet",
     "customElement": true,
     "description": "A Material Design bottom sheet.",
     "summary": "A Material Design bottom sheet.",
     "superclass": {
      "name": "SheetBase",
      "module": "/labs/gb/components/sheet/sheet-base.js"
     },
     "attributes": [
      {
       "name": "close-label",
       "type": {
        "text": "string"
       },
       "fieldName": "closeLabel",
       "default": "'Close'",
       "description": "Accessible label of the close icon button of a full-screen sheet."
      },
      {
       "name": "collapse-label",
       "type": {
        "text": "string"
       },
       "fieldName": "collapseLabel",
       "default": "'Collapse'",
       "description": "Accessible label of the collapse icon button of a full-screen sheet."
      },
      {
       "name": "drag-handle-label",
       "type": {
        "text": "string"
       },
       "fieldName": "dragHandleLabel",
       "default": "'Drag handle'",
       "description": "Accessible label of the drag handle button."
      },
      {
       "name": "hide-drag-handle",
       "type": {
        "text": "boolean"
       },
       "fieldName": "hideDragHandle",
       "default": "false",
       "description": "Whether to hide the drag handle (which also disables dragging)."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "'Bottom sheet'",
       "description": "Accessible label of the sheet dialog."
      },
      {
       "name": "modal",
       "type": {
        "text": "boolean"
       },
       "fieldName": "modal",
       "default": "false",
       "description": "Whether the sheet is modal: shown above a scrim, blocking the rest of the page, and closed by Escape or a scrim click."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "open",
       "description": "Whether the sheet is open. Setting it calls `show()` or `close()`."
      },
      {
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "fieldName": "quick",
       "default": "false",
       "description": "Whether to skip the opening and closing motion."
      },
      {
       "name": "skip-partially-expanded",
       "type": {
        "text": "boolean"
       },
       "fieldName": "skipPartiallyExpanded",
       "default": "false",
       "description": "Whether the sheet has no partially expanded height: it opens expanded and the drag handle closes it."
      },
      {
       "name": "state",
       "type": {
        "text": "BottomSheetState"
       },
       "fieldName": "state",
       "default": "BOTTOM_SHEET_STATES.partiallyExpanded",
       "description": "The resting height while open: `partially-expanded` or `expanded`. Updated when the user drags or activates the drag handle."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "closeLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Close'",
       "description": "Accessible label of the close icon button of a full-screen sheet.",
       "attribute": "close-label"
      },
      {
       "kind": "field",
       "name": "collapseLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Collapse'",
       "description": "Accessible label of the collapse icon button of a full-screen sheet.",
       "attribute": "collapse-label"
      },
      {
       "kind": "field",
       "name": "dragHandleLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Drag handle'",
       "description": "Accessible label of the drag handle button.",
       "attribute": "drag-handle-label"
      },
      {
       "kind": "field",
       "name": "hideDragHandle",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to hide the drag handle (which also disables dragging).",
       "attribute": "hide-drag-handle"
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Bottom sheet'",
       "description": "Accessible label of the sheet dialog.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "modal",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the sheet is modal: shown above a scrim, blocking the rest of the page, and closed by Escape or a scrim click.",
       "attribute": "modal",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether the sheet is open. Setting it calls `show()` or `close()`.",
       "attribute": "open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to skip the opening and closing motion.",
       "attribute": "quick",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "skipPartiallyExpanded",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the sheet has no partially expanded height: it opens expanded and the drag handle closes it.",
       "attribute": "skip-partially-expanded"
      },
      {
       "kind": "field",
       "name": "state",
       "type": {
        "text": "BottomSheetState"
       },
       "privacy": "public",
       "default": "BOTTOM_SHEET_STATES.partiallyExpanded",
       "description": "The resting height while open: `partially-expanded` or `expanded`. Updated when the user drags or activates the drag handle.",
       "attribute": "state",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "close",
       "privacy": "public",
       "description": "Closes the sheet. Resolves after the closing motion.",
       "parameters": [
        {
         "name": "reason",
         "type": {
          "text": "string"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "expand",
       "privacy": "public",
       "description": "Expands the sheet to its full height.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "handleBack",
       "privacy": "public",
       "description": "Handles a back request (the Android back gesture or button, which a modal sheet receives through its dialog): plays the predictive back motion and closes the sheet with reason `back`. If the `close` event is canceled, the sheet settles back. Resolves after the closing motion. Call it for an in-app back control that should behave like the system back.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "partialExpand",
       "privacy": "public",
       "description": "Moves the sheet to its partially expanded height, when it has one.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "render",
       "privacy": "public",
       "description": "Invoked on each update to perform rendering tasks. This method may return any value renderable by lit-html's `ChildPart` - typically a `TemplateResult`. Setting properties inside this method will *not* trigger the element to update.",
       "return": {
        "type": {
         "text": "TemplateResult<1>"
        }
       }
      },
      {
       "kind": "method",
       "name": "show",
       "privacy": "public",
       "description": "Opens the sheet. Resolves after the opening motion.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      }
     ],
     "events": [
      {
       "name": "close",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired when the sheet begins closing. Cancelable; canceling keeps it open."
      },
      {
       "name": "closed",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired after the closing motion."
      },
      {
       "name": "open",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the sheet begins opening. Cancelable."
      },
      {
       "name": "opened",
       "type": {
        "text": "Event"
       },
       "description": "Fired after the opening motion."
      },
      {
       "name": "state-change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the user moves the sheet to another height (`state`)."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The sheet content. It scrolls when taller than the sheet."
      }
     ],
     "cssParts": [
      {
       "name": "container",
       "description": "The sheet container."
      },
      {
       "name": "content",
       "description": "The container of the default slot."
      },
      {
       "name": "dialog",
       "description": "The `<dialog>` holding the sheet; its `::backdrop` is the scrim."
      },
      {
       "name": "drag-handle",
       "description": "The drag handle button."
      }
     ],
     "cssProperties": [
      {
       "name": "--container-color",
       "description": "Container color."
      },
      {
       "name": "--container-elevation",
       "description": "Container box shadow."
      },
      {
       "name": "--container-shape",
       "description": "Top corner radius."
      },
      {
       "name": "--drag-handle-color",
       "description": "Drag handle color."
      },
      {
       "name": "--drag-handle-height",
       "description": "Drag handle height."
      },
      {
       "name": "--drag-handle-padding-block",
       "description": "Space above and below the drag handle."
      },
      {
       "name": "--drag-handle-width",
       "description": "Drag handle width."
      },
      {
       "name": "--max-width",
       "description": "Maximum container width."
      },
      {
       "name": "--partially-expanded-height",
       "description": "Maximum visible height of a partially expanded modal sheet."
      },
      {
       "name": "--peek-height",
       "description": "Visible height of a partially expanded standard sheet."
      },
      {
       "name": "--scrim-color",
       "description": "Scrim color of a modal sheet."
      },
      {
       "name": "--scrim-opacity",
       "description": "Scrim opacity of a modal sheet."
      },
      {
       "name": "--top-margin",
       "description": "Minimum space above the expanded sheet."
      },
      {
       "name": "--wide-margin",
       "description": "Top and side margins when the sheet is wider than its max width."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "BottomSheetElement",
     "declaration": {
      "name": "BottomSheetElement",
      "module": "labs/gb/components/sheet/md-gb-bottom-sheet.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-bottom-sheet",
     "declaration": {
      "name": "BottomSheetElement",
      "module": "labs/gb/components/sheet/md-gb-bottom-sheet.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/button/md-gb-button.js",
   "declarations": [
    {
     "kind": "class",
     "name": "ButtonElement",
     "tagName": "md-gb-button",
     "customElement": true,
     "description": "A Material Design button.",
     "summary": "A Material Design button.",
     "attributes": [
      {
       "name": "color",
       "type": {
        "text": "\"filled\" | \"elevated\" | \"tonal\" | \"outlined\" | \"text\""
       },
       "fieldName": "color",
       "default": "'text'",
       "description": "The color of the button."
      },
      {
       "name": "download",
       "type": {
        "text": "string"
       },
       "fieldName": "download",
       "default": "''",
       "description": "The filename to use when downloading the linked resource. If not specified, the browser will determine a filename. This is only applicable when the button is used as a link (`href` is set)."
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       },
       "fieldName": "href",
       "default": "''",
       "description": "The URL that the link button points to."
      },
      {
       "name": "referrerpolicy",
       "type": {
        "text": "string"
       },
       "fieldName": "referrerPolicy",
       "default": "''",
       "description": "Sets the underlying `HTMLAnchorElement`'s `referrerpolicy` attribute when `href` is set."
      },
      {
       "name": "rel",
       "type": {
        "text": "string"
       },
       "fieldName": "rel",
       "default": "''",
       "description": "Sets the underlying `HTMLAnchorElement`'s `rel` attribute when `href` is set."
      },
      {
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selected",
       "default": "false",
       "description": "Whether or not the button is selected, when `type=\"toggle\"`. TODO: replace reflected `[selected]` with `:state(selected)`"
      },
      {
       "name": "size",
       "type": {
        "text": "\"sm\" | \"md\" | \"lg\" | \"xs\" | \"xl\""
       },
       "fieldName": "size",
       "default": "'sm'",
       "description": "The size of the button."
      },
      {
       "name": "soft-disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "softDisabled",
       "default": "false",
       "description": "Whether or not the button is \"soft-disabled\" (disabled but still focusable). Use this when a button needs increased visibility when disabled. See https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls for more guidance on when this is needed."
      },
      {
       "name": "square",
       "type": {
        "text": "boolean"
       },
       "fieldName": "square",
       "default": "false",
       "description": "Changes the shape of the button to be square."
      },
      {
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "fieldName": "target",
       "default": "''",
       "description": "Where to display the linked `href` URL for a link button. Common options include `_blank` to open in a new tab."
      },
      {
       "name": "type",
       "type": {
        "text": "string"
       },
       "fieldName": "type",
       "description": "A string indicating the behavior of the button. - \"submit\" (default): A button that submits its associated form. - \"reset\": A button that resets its associated form. - \"button\": A normal button. - \"toggle\": A toggle button using the `selected` property. - \"link\": An anchor link (`<a>`). Type is always \"link\" when `href` is set."
      },
      {
       "name": "unfilled-icon",
       "type": {
        "text": "boolean"
       },
       "fieldName": "unfilledIcon",
       "default": "false",
       "description": "Set when the icon has no filled version: a selected toggle button then shows the icon in semibold weight instead of filled."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "color",
       "type": {
        "text": "\"filled\" | \"elevated\" | \"tonal\" | \"outlined\" | \"text\""
       },
       "privacy": "public",
       "default": "'text'",
       "description": "The color of the button.",
       "attribute": "color"
      },
      {
       "kind": "field",
       "name": "download",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The filename to use when downloading the linked resource. If not specified, the browser will determine a filename. This is only applicable when the button is used as a link (`href` is set).",
       "attribute": "download"
      },
      {
       "kind": "field",
       "name": "href",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The URL that the link button points to.",
       "attribute": "href"
      },
      {
       "kind": "field",
       "name": "referrerPolicy",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Sets the underlying `HTMLAnchorElement`'s `referrerpolicy` attribute when `href` is set.",
       "attribute": "referrerpolicy"
      },
      {
       "kind": "field",
       "name": "rel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Sets the underlying `HTMLAnchorElement`'s `rel` attribute when `href` is set.",
       "attribute": "rel"
      },
      {
       "kind": "field",
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether or not the button is selected, when `type=\"toggle\"`. TODO: replace reflected `[selected]` with `:state(selected)`",
       "attribute": "selected",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "size",
       "type": {
        "text": "\"sm\" | \"md\" | \"lg\" | \"xs\" | \"xl\""
       },
       "privacy": "public",
       "default": "'sm'",
       "description": "The size of the button.",
       "attribute": "size"
      },
      {
       "kind": "field",
       "name": "softDisabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether or not the button is \"soft-disabled\" (disabled but still focusable). Use this when a button needs increased visibility when disabled. See https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#kbd_disabled_controls for more guidance on when this is needed.",
       "attribute": "soft-disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "square",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Changes the shape of the button to be square.",
       "attribute": "square"
      },
      {
       "kind": "field",
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "privacy": "public",
       "default": "''",
       "description": "Where to display the linked `href` URL for a link button. Common options include `_blank` to open in a new tab.",
       "attribute": "target"
      },
      {
       "kind": "field",
       "name": "type",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "description": "A string indicating the behavior of the button. - \"submit\" (default): A button that submits its associated form. - \"reset\": A button that resets its associated form. - \"button\": A normal button. - \"toggle\": A toggle button using the `selected` property. - \"link\": An anchor link (`<a>`). Type is always \"link\" when `href` is set.",
       "attribute": "type",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "unfilledIcon",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Set when the icon has no filled version: a selected toggle button then shows the icon in semibold weight instead of filled.",
       "attribute": "unfilled-icon",
       "reflects": true
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when a toggle button is selected or unselected. --bubbles"
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "Fired when a toggle button is selected or unselected. --bubbles --composed"
      }
     ],
     "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-elevation"
      },
      {
       "name": "--container-height"
      },
      {
       "name": "--container-shape",
       "description": "The resolved shape; defaults to the round or square shape."
      },
      {
       "name": "--container-shape-round"
      },
      {
       "name": "--container-shape-square"
      },
      {
       "name": "--icon-color"
      },
      {
       "name": "--icon-label-space"
      },
      {
       "name": "--icon-size"
      },
      {
       "name": "--label-text"
      },
      {
       "name": "--label-text-axes"
      },
      {
       "name": "--label-text-color"
      },
      {
       "name": "--label-text-tracking"
      },
      {
       "name": "--leading-space"
      },
      {
       "name": "--md-icon-fill"
      },
      {
       "name": "--outline-color"
      },
      {
       "name": "--outline-width"
      },
      {
       "name": "--state-layer-color"
      },
      {
       "name": "--trailing-space"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "ButtonElement",
     "declaration": {
      "name": "ButtonElement",
      "module": "labs/gb/components/button/md-gb-button.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-button",
     "declaration": {
      "name": "ButtonElement",
      "module": "labs/gb/components/button/md-gb-button.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/buttongroup/md-gb-button-group.js",
   "declarations": [
    {
     "kind": "class",
     "name": "ButtonGroupElement",
     "tagName": "md-gb-button-group",
     "customElement": true,
     "description": "A Material Design button group.",
     "summary": "A Material Design button group.",
     "attributes": [
      {
       "name": "density",
       "type": {
        "text": "Density"
       },
       "fieldName": "density",
       "description": "The density of the buttons inside, from 0 (default) to -3. Each step down removes 4px from the buttons' height (button-groups.md: \"Button groups adapt to the height of the buttons inside, including when density is applied\"); touch targets stay 48px. A button's own non-zero `density` wins. Values are clamped to that range."
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false",
       "description": "Whether the button group is disabled."
      },
      {
       "name": "overflow-menu",
       "type": {
        "text": "boolean"
       },
       "fieldName": "overflowMenu",
       "default": "false",
       "description": "Whether the buttons at the trailing edge that do not fit collapse into a trailing overflow menu, and come back when the group has room again (button-groups.md, Adaptive design: \"Buttons at the trailing edge of the button group can be customized to collapse into an overflow menu at smaller breakpoints, and become visible again at larger sizes.\"). The group is as wide as its container allows: give it a width, or put it in a narrower container, to make buttons overflow. Choosing a menu entry clicks the original button."
      },
      {
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "fieldName": "required",
       "default": "false",
       "description": "Whether selection is required in single-select mode."
      },
      {
       "name": "resizing",
       "type": {
        "text": "ButtonGroupResizing"
       },
       "fieldName": "resizing",
       "default": "\"\"",
       "description": "How the group and its buttons resize (button-groups.md, Resizing). `fixed`: every button keeps the width its own size and width give it. `flexible`: the group fills the width of its container and its buttons grow with it; an icon button does not stretch past its set width, and a button with `resizing=\"fixed\"` keeps its width. A button with `resizing=\"flexible\"` in a fixed group grows when the group is given more width. Unset: a connected group is flexible (it spans its surface), a standard group is fixed."
      },
      {
       "name": "selection",
       "type": {
        "text": "ButtonGroupSelection"
       },
       "fieldName": "selection",
       "default": "\"none\"",
       "description": "The selection mode."
      },
      {
       "name": "variant",
       "type": {
        "text": "ButtonGroupVariant"
       },
       "fieldName": "variant",
       "default": "\"standard\"",
       "description": "The visual variant of the button group."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "Density"
       },
       "privacy": "public",
       "description": "The density of the buttons inside, from 0 (default) to -3. Each step down removes 4px from the buttons' height (button-groups.md: \"Button groups adapt to the height of the buttons inside, including when density is applied\"); touch targets stay 48px. A button's own non-zero `density` wins. Values are clamped to that range.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the button group is disabled.",
       "attribute": "disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "overflowMenu",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the buttons at the trailing edge that do not fit collapse into a trailing overflow menu, and come back when the group has room again (button-groups.md, Adaptive design: \"Buttons at the trailing edge of the button group can be customized to collapse into an overflow menu at smaller breakpoints, and become visible again at larger sizes.\"). The group is as wide as its container allows: give it a width, or put it in a narrower container, to make buttons overflow. Choosing a menu entry clicks the original button.",
       "attribute": "overflow-menu",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether selection is required in single-select mode.",
       "attribute": "required",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "resizing",
       "type": {
        "text": "ButtonGroupResizing"
       },
       "privacy": "public",
       "default": "\"\"",
       "description": "How the group and its buttons resize (button-groups.md, Resizing). `fixed`: every button keeps the width its own size and width give it. `flexible`: the group fills the width of its container and its buttons grow with it; an icon button does not stretch past its set width, and a button with `resizing=\"fixed\"` keeps its width. A button with `resizing=\"flexible\"` in a fixed group grows when the group is given more width. Unset: a connected group is flexible (it spans its surface), a standard group is fixed.",
       "attribute": "resizing",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "selection",
       "type": {
        "text": "ButtonGroupSelection"
       },
       "privacy": "public",
       "default": "\"none\"",
       "description": "The selection mode.",
       "attribute": "selection",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "variant",
       "type": {
        "text": "ButtonGroupVariant"
       },
       "privacy": "public",
       "default": "\"standard\"",
       "description": "The visual variant of the button group.",
       "attribute": "variant",
       "reflects": true
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when selection changes. --bubbles"
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "Fired when selection changes. --bubbles --composed"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Used to display buttons."
      },
      {
       "name": "overflow",
       "description": "Replaces the default overflow button (see `overflowMenu`)."
      }
     ],
     "cssProperties": [
      {
       "name": "--between-space"
      },
      {
       "name": "--density-step",
       "description": "Button height removed per density step."
      },
      {
       "name": "--inner-corner-size"
      },
      {
       "name": "--motion-spring-fast-spatial"
      },
      {
       "name": "--motion-spring-fast-spatial-duration"
      },
      {
       "name": "--outer-corner-size"
      },
      {
       "name": "--outer-corner-square-size"
      },
      {
       "name": "--pressed-inner-corner-size"
      },
      {
       "name": "--pressed-item-width-multiplier"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "ButtonGroupElement",
     "declaration": {
      "name": "ButtonGroupElement",
      "module": "labs/gb/components/buttongroup/md-gb-button-group.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-button-group",
     "declaration": {
      "name": "ButtonGroupElement",
      "module": "labs/gb/components/buttongroup/md-gb-button-group.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/card/md-gb-card.js",
   "declarations": [
    {
     "kind": "class",
     "name": "CardElement",
     "tagName": "md-gb-card",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "color",
       "type": {
        "text": "CardColor"
       },
       "fieldName": "color",
       "default": "'outlined'",
       "description": "The color of the card."
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false",
       "description": "Whether the card is disabled."
      },
      {
       "name": "dragged",
       "type": {
        "text": "boolean"
       },
       "fieldName": "dragged",
       "default": "false",
       "description": "Whether the card is picked up and being dragged (raised elevation). The app moves the card. Spec Cards > Accessibility > Dragging and dismissing (WCAG 2.5.7): also offer a single-pointer alternative, e.g. a menu opened by tapping a \"more\" button or pressing and holding the card, with move and delete actions (see the \"Reorder (drag or menu)\" demo). Don't let the menu cover the card."
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       },
       "fieldName": "href",
       "default": "''",
       "description": "Makes an interactive card a link (spec: directly actionable cards have the button or link role)."
      },
      {
       "name": "interactive",
       "type": {
        "text": "boolean"
       },
       "fieldName": "interactive",
       "default": "false",
       "description": "Whether the card is interactive."
      },
      {
       "name": "selectable",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selectable",
       "default": "false",
       "description": "Whether an interactive card can be selected: activating it toggles `selected` (selection.md lists cards among the components that can be selected)."
      },
      {
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selected",
       "default": "false",
       "description": "Whether a `selectable` card is selected. A selected card shows a check mark and a change in surface color."
      },
      {
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "fieldName": "target",
       "default": "''",
       "description": "The link target, when `href` is set."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "color",
       "type": {
        "text": "CardColor"
       },
       "privacy": "public",
       "default": "'outlined'",
       "description": "The color of the card.",
       "attribute": "color"
      },
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the card is disabled.",
       "attribute": "disabled"
      },
      {
       "kind": "field",
       "name": "dragged",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the card is picked up and being dragged (raised elevation). The app moves the card. Spec Cards > Accessibility > Dragging and dismissing (WCAG 2.5.7): also offer a single-pointer alternative, e.g. a menu opened by tapping a \"more\" button or pressing and holding the card, with move and delete actions (see the \"Reorder (drag or menu)\" demo). Don't let the menu cover the card.",
       "attribute": "dragged",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "href",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Makes an interactive card a link (spec: directly actionable cards have the button or link role).",
       "attribute": "href"
      },
      {
       "kind": "field",
       "name": "interactive",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the card is interactive.",
       "attribute": "interactive"
      },
      {
       "kind": "field",
       "name": "selectable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether an interactive card can be selected: activating it toggles `selected` (selection.md lists cards among the components that can be selected).",
       "attribute": "selectable",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether a `selectable` card is selected. A selected card shows a check mark and a change in surface color.",
       "attribute": "selected",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "privacy": "public",
       "default": "''",
       "description": "The link target, when `href` is set.",
       "attribute": "target"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Used to display the card's content. The card has 16dp left/right padding; set `--padding-inline: 0` for full-bleed content. 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 (a button, or a link when `href` is set), when interactive."
      }
     ],
     "cssProperties": [
      {
       "name": "--container-color"
      },
      {
       "name": "--container-elevation"
      },
      {
       "name": "--container-shape"
      },
      {
       "name": "--disabled-content-opacity"
      },
      {
       "name": "--outline-color"
      },
      {
       "name": "--outline-width"
      },
      {
       "name": "--state-layer-color"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "CardElement",
     "declaration": {
      "name": "CardElement",
      "module": "labs/gb/components/card/md-gb-card.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-card",
     "declaration": {
      "name": "CardElement",
      "module": "labs/gb/components/card/md-gb-card.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/carousel/md-gb-carousel.js",
   "declarations": [
    {
     "kind": "class",
     "name": "CarouselElement",
     "tagName": "md-gb-carousel",
     "customElement": true,
     "description": "A Material Design carousel.",
     "summary": "A Material Design carousel.",
     "attributes": [
      {
       "name": "alignment",
       "type": {
        "text": "CarouselAlignment"
       },
       "fieldName": "alignment",
       "default": "'start'",
       "description": "Start or center alignment of the hero layout."
      },
      {
       "name": "layout",
       "type": {
        "text": "CarouselLayout"
       },
       "fieldName": "layout",
       "default": "'multi-browse'",
       "description": "The carousel layout."
      },
      {
       "name": "orientation",
       "type": {
        "text": "CarouselOrientation"
       },
       "fieldName": "orientation",
       "description": "The scrolling axis. Defaults to vertical for the full-screen layout and horizontal for the others."
      },
      {
       "name": "scroll-mode",
       "type": {
        "text": "CarouselScrollMode"
       },
       "fieldName": "scrollMode",
       "description": "`snap` snaps items into the layout when released; `free` lets them stop anywhere. Defaults to `free` for uncontained layouts and `snap` for the others."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "alignment",
       "type": {
        "text": "CarouselAlignment"
       },
       "privacy": "public",
       "default": "'start'",
       "description": "Start or center alignment of the hero layout.",
       "attribute": "alignment",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "layout",
       "type": {
        "text": "CarouselLayout"
       },
       "privacy": "public",
       "default": "'multi-browse'",
       "description": "The carousel layout.",
       "attribute": "layout",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "orientation",
       "type": {
        "text": "CarouselOrientation"
       },
       "privacy": "public",
       "description": "The scrolling axis. Defaults to vertical for the full-screen layout and horizontal for the others.",
       "attribute": "orientation",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "scrollMode",
       "type": {
        "text": "CarouselScrollMode"
       },
       "privacy": "public",
       "description": "`snap` snaps items into the layout when released; `free` lets them stop anywhere. Defaults to `free` for uncontained layouts and `snap` for the others.",
       "attribute": "scroll-mode",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "next",
       "privacy": "public",
       "description": "Scrolls to the next item.",
       "parameters": [
        {
         "name": "behavior",
         "type": {
          "text": "ScrollBehavior"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "previous",
       "privacy": "public",
       "description": "Scrolls to the previous item.",
       "parameters": [
        {
         "name": "behavior",
         "type": {
          "text": "ScrollBehavior"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "relayout",
       "privacy": "public",
       "description": "Recomputes the layout. The carousel does this on resize and when items or properties change; call it after changing `--item-width` or other layout tokens.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "scrollToItem",
       "privacy": "public",
       "description": "Scrolls an item to its snapped position in the layout.",
       "parameters": [
        {
         "name": "index",
         "type": {
          "text": "number"
         }
        },
        {
         "name": "behavior",
         "type": {
          "text": "ScrollBehavior"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The `md-gb-carousel-item` elements."
      }
     ],
     "cssParts": [
      {
       "name": "carousel",
       "description": "The container."
      },
      {
       "name": "scroller",
       "description": "The scroll container (`role=\"list\"`)."
      }
     ],
     "cssProperties": [
      {
       "name": "--container-color",
       "description": "Item container color, behind its visual."
      },
      {
       "name": "--container-elevation",
       "description": "Item elevation."
      },
      {
       "name": "--container-shape",
       "description": "Item corner radius."
      },
      {
       "name": "--full-screen-item-spacing",
       "description": "Space between full-screen items."
      },
      {
       "name": "--height",
       "description": "Carousel height (default 221px, Compose samples)."
      },
      {
       "name": "--item-spacing",
       "description": "Space between items."
      },
      {
       "name": "--item-width",
       "description": "Preferred large item width (multi-browse, hero) or item width (uncontained). `auto` picks a layout default."
      },
      {
       "name": "--label-padding",
       "description": "Item label padding."
      },
      {
       "name": "--label-scrim-color",
       "description": "Scrim behind item labels."
      },
      {
       "name": "--label-text",
       "description": "Item label typography."
      },
      {
       "name": "--label-text-axes",
       "description": "Item label font variation settings."
      },
      {
       "name": "--label-text-color",
       "description": "Item label color."
      },
      {
       "name": "--label-text-tracking",
       "description": "Item label letter spacing."
      },
      {
       "name": "--padding-block",
       "description": "Top/bottom container padding."
      },
      {
       "name": "--padding-inline",
       "description": "Leading/trailing container padding."
      },
      {
       "name": "--small-item-max-width",
       "description": "Maximum small item width."
      },
      {
       "name": "--small-item-min-width",
       "description": "Minimum small item width."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "CarouselElement",
     "declaration": {
      "name": "CarouselElement",
      "module": "labs/gb/components/carousel/md-gb-carousel.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-carousel",
     "declaration": {
      "name": "CarouselElement",
      "module": "labs/gb/components/carousel/md-gb-carousel.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/carousel/md-gb-carousel-item.js",
   "declarations": [
    {
     "kind": "class",
     "name": "CarouselItemElement",
     "tagName": "md-gb-carousel-item",
     "customElement": true,
     "description": "A Material Design carousel item.",
     "summary": "A Material Design carousel item.",
     "attributes": [
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false",
       "description": "Whether the item is disabled."
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       },
       "fieldName": "href",
       "default": "''",
       "description": "Makes the item a link to this URL."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "The accessible name of the item. Defaults to its label text."
      },
      {
       "name": "outlined",
       "type": {
        "text": "boolean"
       },
       "fieldName": "outlined",
       "default": "false",
       "description": "Whether the item has an outline (`with-outline` tokens)."
      },
      {
       "name": "target",
       "type": {
        "text": "string"
       },
       "fieldName": "target",
       "default": "''",
       "description": "The link target, with `href`."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the item is disabled.",
       "attribute": "disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "href",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Makes the item a link to this URL.",
       "attribute": "href"
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The accessible name of the item. Defaults to its label text.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "outlined",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the item has an outline (`with-outline` tokens).",
       "attribute": "outlined",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "target",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The link target, with `href`.",
       "attribute": "target"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The item visual, such as an `<img>` or `<video>`. It is sized to cover the item."
      },
      {
       "name": "label",
       "description": "Brief label text shown over the visual."
      }
     ],
     "cssParts": [
      {
       "name": "action",
       "description": "The button or link that activates the item."
      },
      {
       "name": "content",
       "description": "The masked visual and label."
      },
      {
       "name": "frame",
       "description": "The masked outline, elevation and focus ring."
      },
      {
       "name": "item",
       "description": "The item root."
      },
      {
       "name": "label",
       "description": "The label container."
      }
     ],
     "cssProperties": [
      {
       "name": "--carousel-item-fraction",
       "description": "Read-only: the item's current size between the carousel's smallest (0) and large (1) item sizes."
      },
      {
       "name": "--carousel-item-size",
       "description": "Read-only: the item's current masked size along the scrolling axis."
      },
      {
       "name": "--with-outline-outline-color",
       "description": "Outline color of outlined items."
      },
      {
       "name": "--with-outline-outline-width",
       "description": "Outline width of outlined items."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "CarouselItemElement",
     "declaration": {
      "name": "CarouselItemElement",
      "module": "labs/gb/components/carousel/md-gb-carousel-item.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-carousel-item",
     "declaration": {
      "name": "CarouselItemElement",
      "module": "labs/gb/components/carousel/md-gb-carousel-item.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/checkbox/md-gb-checkbox.js",
   "declarations": [
    {
     "kind": "class",
     "name": "CheckboxElement",
     "tagName": "md-gb-checkbox",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "checked",
       "type": {
        "text": "boolean"
       },
       "fieldName": "checked",
       "default": "false",
       "description": "Whether or not the checkbox is selected."
      },
      {
       "name": "density",
       "type": {
        "text": "Density"
       },
       "fieldName": "density",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the checkbox's layout box (48px) and state layer (40px); the touch target stays 48px. Values are clamped to that range. checkbox.md: don't apply density by default; let people opt in to a denser layout."
      },
      {
       "name": "error",
       "type": {
        "text": "boolean"
       },
       "fieldName": "error",
       "default": "false",
       "description": "Whether or not the checkbox is invalid."
      },
      {
       "name": "indeterminate",
       "type": {
        "text": "boolean"
       },
       "fieldName": "indeterminate",
       "default": "false",
       "description": "Whether or not the checkbox is indeterminate. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes"
      },
      {
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "fieldName": "required",
       "default": "false",
       "description": "When true, require the checkbox to be selected when participating in form submission. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#validation"
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "default": "'on'",
       "description": "The value of the checkbox that is submitted with a form when selected. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value"
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "checked",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether or not the checkbox is selected.",
       "attribute": "checked"
      },
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "Density"
       },
       "privacy": "public",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the checkbox's layout box (48px) and state layer (40px); the touch target stays 48px. Values are clamped to that range. checkbox.md: don't apply density by default; let people opt in to a denser layout.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "error",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether or not the checkbox is invalid.",
       "attribute": "error"
      },
      {
       "kind": "field",
       "name": "indeterminate",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether or not the checkbox is indeterminate. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#indeterminate_state_checkboxes",
       "attribute": "indeterminate"
      },
      {
       "kind": "field",
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "When true, require the checkbox to be selected when participating in form submission. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#validation",
       "attribute": "required"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'on'",
       "description": "The value of the checkbox that is submitted with a form when selected. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value",
       "attribute": "value"
      },
      {
       "kind": "method",
       "name": "formDisabledCallback",
       "privacy": "public",
       "description": "A callback for when a form component should be disabled or enabled. This can be called in a variety of situations, such as disabled `<fieldset>`s.",
       "parameters": [
        {
         "name": "disabled",
         "type": {
          "text": "boolean"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formResetCallback",
       "privacy": "public",
       "description": "An optional callback for when the form requests to reset its value. Typically, the default value that is reset is represented in the attribute of an element. This means the attribute used for the value should not update as the value changes. For example, a checkbox should not change its default `checked` attribute when selected. Ensure form values do not reflect.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formStateRestoreCallback",
       "privacy": "public",
       "description": "An optional callback for when the form restores the state of a component. For example, when a page is reloaded or forms are autofilled.",
       "parameters": [
        {
         "name": "state",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the checkbox is checked or unchecked. --bubbles"
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "Fired when the checkbox is checked or unchecked. --bubbles --composed"
      }
     ],
     "cssParts": [
      {
       "name": "checkbox",
       "description": "The checkbox's root element."
      }
     ],
     "cssProperties": [
      {
       "name": "--container-color"
      },
      {
       "name": "--container-shape"
      },
      {
       "name": "--container-size"
      },
      {
       "name": "--density-step",
       "description": "Size removed per density step."
      },
      {
       "name": "--icon-color"
      },
      {
       "name": "--icon-size"
      },
      {
       "name": "--outline-color"
      },
      {
       "name": "--outline-width"
      },
      {
       "name": "--state-layer-color"
      },
      {
       "name": "--state-layer-shape"
      },
      {
       "name": "--state-layer-size",
       "description": "State layer size at density 0."
      },
      {
       "name": "--target-size",
       "description": "The minimum touch target size, kept at any density."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "CheckboxElement",
     "declaration": {
      "name": "CheckboxElement",
      "module": "labs/gb/components/checkbox/md-gb-checkbox.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-checkbox",
     "declaration": {
      "name": "CheckboxElement",
      "module": "labs/gb/components/checkbox/md-gb-checkbox.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/chip/md-gb-chip.js",
   "declarations": [
    {
     "kind": "class",
     "name": "ChipElement",
     "tagName": "md-gb-chip",
     "customElement": true,
     "description": "A Material Design Expressive Chip component.",
     "summary": "A Material Design Expressive Chip component.",
     "attributes": [
      {
       "name": "color",
       "type": {
        "text": "ChipColor"
       },
       "fieldName": "color",
       "default": "\"flat\""
      },
      {
       "name": "density",
       "type": {
        "text": "Density"
       },
       "fieldName": "density",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the container height (32px); the label and icons keep their size and the touch target stays 48px (chips.md: \"regardless of placement or density\"). Values are clamped to that range. Density 0 inherits the density of an enclosing `md-gb-chip-set`. chips.md: don't apply density by default; let people opt in to a denser layout."
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false",
       "description": "Whether the chip is disabled."
      },
      {
       "name": "dragged",
       "type": {
        "text": "boolean"
       },
       "fieldName": "dragged",
       "default": "false",
       "description": "Whether the chip is being dragged (spec dragged state elevation)."
      },
      {
       "name": "editable",
       "type": {
        "text": "boolean"
       },
       "fieldName": "editable",
       "default": "false",
       "description": "Whether the text of an input chip can be edited (chips.md \"Input chips\": \"Input chips can support editing to change their contents, such as correcting an email address\"). Editing starts by interacting with the chip: a second click, Enter or Space on the selected chip, or a double click. Committing with Enter or by leaving the field changes the chip's text and fires `edit`; Escape (or emptying the text) keeps the old text."
      },
      {
       "name": "elevated",
       "type": {
        "text": "boolean"
       },
       "fieldName": "elevated",
       "default": "false",
       "description": "Elevated container, for chips on images or complex backgrounds. Input chips have no elevated style."
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       },
       "fieldName": "href",
       "default": "\"\"",
       "description": "The URL destination; makes an assist chip a link."
      },
      {
       "name": "referrerpolicy",
       "type": {
        "text": "string"
       },
       "fieldName": "referrerPolicy",
       "default": "\"\"",
       "description": "Sets the underlying `HTMLAnchorElement`'s `referrerpolicy` attribute when `href` is set."
      },
      {
       "name": "rel",
       "type": {
        "text": "string"
       },
       "fieldName": "rel",
       "default": "\"\"",
       "description": "Sets the underlying `HTMLAnchorElement`'s `rel` attribute when `href` is set."
      },
      {
       "name": "removable",
       "type": {
        "text": "boolean"
       },
       "fieldName": "removable",
       "default": "false",
       "description": "Whether the chip has a remove button (input chips)."
      },
      {
       "name": "remove-label",
       "type": {
        "text": "string"
       },
       "fieldName": "removeLabel",
       "default": "\"\"",
       "description": "The remove button's accessible label. Defaults to \"Remove {chip label}\" (spec: the remove action is labeled separately)."
      },
      {
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selected",
       "default": "false",
       "description": "Whether the filter (or input) chip is selected."
      },
      {
       "name": "soft-disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "softDisabled",
       "default": "false",
       "description": "Whether the chip is soft-disabled (`aria-disabled=\"true\"` while preserving focusability)."
      },
      {
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "fieldName": "target",
       "default": "\"\"",
       "description": "Where to display the linked `href` URL for a link chip."
      },
      {
       "name": "type",
       "type": {
        "text": "ChipType"
       },
       "fieldName": "type",
       "default": "\"assist\"",
       "description": "The chip type: `assist` (default), `filter`, `input` or `suggestion`."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "description": "The value a chip set submits while the chip is selected. Defaults to the label text, like a native `<option>`."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "color",
       "type": {
        "text": "ChipColor"
       },
       "privacy": "public",
       "default": "\"flat\"",
       "attribute": "color"
      },
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "Density"
       },
       "privacy": "public",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the container height (32px); the label and icons keep their size and the touch target stays 48px (chips.md: \"regardless of placement or density\"). Values are clamped to that range. Density 0 inherits the density of an enclosing `md-gb-chip-set`. chips.md: don't apply density by default; let people opt in to a denser layout.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the chip is disabled.",
       "attribute": "disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "dragged",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the chip is being dragged (spec dragged state elevation).",
       "attribute": "dragged",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "editable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the text of an input chip can be edited (chips.md \"Input chips\": \"Input chips can support editing to change their contents, such as correcting an email address\"). Editing starts by interacting with the chip: a second click, Enter or Space on the selected chip, or a double click. Committing with Enter or by leaving the field changes the chip's text and fires `edit`; Escape (or emptying the text) keeps the old text.",
       "attribute": "editable",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "elevated",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Elevated container, for chips on images or complex backgrounds. Input chips have no elevated style.",
       "attribute": "elevated",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "groupDisabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the chip's set is disabled (a disabled form fieldset)."
      },
      {
       "kind": "field",
       "name": "href",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "\"\"",
       "description": "The URL destination; makes an assist chip a link.",
       "attribute": "href"
      },
      {
       "kind": "field",
       "name": "referrerPolicy",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "\"\"",
       "description": "Sets the underlying `HTMLAnchorElement`'s `referrerpolicy` attribute when `href` is set.",
       "attribute": "referrerpolicy"
      },
      {
       "kind": "field",
       "name": "rel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "\"\"",
       "description": "Sets the underlying `HTMLAnchorElement`'s `rel` attribute when `href` is set.",
       "attribute": "rel"
      },
      {
       "kind": "field",
       "name": "removable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the chip has a remove button (input chips).",
       "attribute": "removable",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "removeLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "\"\"",
       "description": "The remove button's accessible label. Defaults to \"Remove {chip label}\" (spec: the remove action is labeled separately).",
       "attribute": "remove-label"
      },
      {
       "kind": "field",
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the filter (or input) chip is selected.",
       "attribute": "selected",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "softDisabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the chip is soft-disabled (`aria-disabled=\"true\"` while preserving focusability).",
       "attribute": "soft-disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "privacy": "public",
       "default": "\"\"",
       "description": "Where to display the linked `href` URL for a link chip.",
       "attribute": "target"
      },
      {
       "kind": "field",
       "name": "type",
       "type": {
        "text": "ChipType"
       },
       "privacy": "public",
       "default": "\"assist\"",
       "description": "The chip type: `assist` (default), `filter`, `input` or `suggestion`.",
       "attribute": "type"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "description": "The value a chip set submits while the chip is selected. Defaults to the label text, like a native `<option>`.",
       "attribute": "value"
      },
      {
       "kind": "method",
       "name": "cancelEdit",
       "privacy": "public",
       "description": "Ends editing and keeps the old text.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "commitEdit",
       "privacy": "public",
       "description": "Ends editing and applies the new text (empty or unchanged text keeps the old).",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "focus",
       "privacy": "public",
       "description": "Focuses the chip's primary action, or its remove button with `{trailing: true}` (chip set navigation backwards into a chip).",
       "parameters": [
        {
         "name": "options",
         "type": {
          "text": "FocusOptions & { trailing?: boolean; }"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "startEdit",
       "privacy": "public",
       "description": "Turns an editable input chip into a text string to edit. Does nothing for other chips.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when a filter chip's selection changes. --bubbles"
      },
      {
       "name": "edit",
       "type": {
        "text": "CustomEvent"
       },
       "description": "Fired when an `editable` chip's new text is committed; `detail` has `value` and `previousValue`. --bubbles --composed"
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "Fired when a filter chip's selection changes. --bubbles --composed"
      },
      {
       "name": "remove",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the remove button is activated, or Backspace / Delete is pressed on a removable chip. --bubbles --composed"
      },
      {
       "name": "update-focus",
       "type": {
        "text": "Event"
       },
       "description": "Fired when `disabled` changes, so a chip set can update its tab stop. --bubbles"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The chip label text."
      },
      {
       "name": "icon",
       "description": "An optional leading icon, or an avatar (`class=\"chip-avatar\"` or an `<img>`; input chips)."
      },
      {
       "name": "remove-icon",
       "description": "The remove button icon when `removable` (default: the `close` symbol)."
      },
      {
       "name": "trailing-icon",
       "description": "An optional trailing icon (filter chips, e.g. a drop-down arrow)."
      }
     ],
     "cssParts": [
      {
       "name": "chip",
       "description": "The root container element."
      }
     ],
     "cssProperties": [
      {
       "name": "--avatar-opacity"
      },
      {
       "name": "--avatar-shape"
      },
      {
       "name": "--avatar-size"
      },
      {
       "name": "--container-color"
      },
      {
       "name": "--container-elevation"
      },
      {
       "name": "--container-height",
       "description": "Container height at density 0."
      },
      {
       "name": "--container-shape"
      },
      {
       "name": "--density-step",
       "description": "Container height removed per density step."
      },
      {
       "name": "--icon-label-space"
      },
      {
       "name": "--label-text"
      },
      {
       "name": "--label-text-color"
      },
      {
       "name": "--leading-icon-color"
      },
      {
       "name": "--leading-icon-size"
      },
      {
       "name": "--leading-space"
      },
      {
       "name": "--outline-color"
      },
      {
       "name": "--outline-width"
      },
      {
       "name": "--target-size",
       "description": "The minimum touch target size, kept at any density."
      },
      {
       "name": "--trailing-icon-color"
      },
      {
       "name": "--trailing-icon-size"
      },
      {
       "name": "--trailing-space"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "ChipElement",
     "declaration": {
      "name": "ChipElement",
      "module": "labs/gb/components/chip/md-gb-chip.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-chip",
     "declaration": {
      "name": "ChipElement",
      "module": "labs/gb/components/chip/md-gb-chip.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/chip/md-gb-chip-set.js",
   "declarations": [
    {
     "kind": "class",
     "name": "ChipSetElement",
     "tagName": "md-gb-chip-set",
     "customElement": true,
     "description": "A Material Design Expressive chip set.",
     "summary": "A Material Design Expressive chip set.",
     "attributes": [
      {
       "name": "density",
       "type": {
        "text": "Density"
       },
       "fieldName": "density",
       "description": "The density of the chips, from 0 (default) to -3: each step down removes 4px from the chips' height. A chip's own non-zero `density` wins. Values are clamped to that range."
      },
      {
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "fieldName": "required",
       "default": "false",
       "description": "Single-select: the selected chip can't be unselected."
      },
      {
       "name": "selection",
       "type": {
        "text": "SelectionMode"
       },
       "fieldName": "selection",
       "default": "\"multiple\"",
       "description": "How many filter chips can be selected: `none`, `single` or `multiple`."
      },
      {
       "name": "single-line",
       "type": {
        "text": "boolean"
       },
       "fieldName": "singleLine",
       "default": "false",
       "description": "Keep the chips on one line and scroll horizontally instead of wrapping."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "Density"
       },
       "privacy": "public",
       "description": "The density of the chips, from 0 (default) to -3: each step down removes 4px from the chips' height. A chip's own non-zero `density` wins. Values are clamped to that range.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Single-select: the selected chip can't be unselected.",
       "attribute": "required",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "selection",
       "type": {
        "text": "SelectionMode"
       },
       "privacy": "public",
       "default": "\"multiple\"",
       "description": "How many filter chips can be selected: `none`, `single` or `multiple`.",
       "attribute": "selection",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "singleLine",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Keep the chips on one line and scroll horizontally instead of wrapping.",
       "attribute": "single-line",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "formDisabledCallback",
       "privacy": "public",
       "description": "A callback for when a form component should be disabled or enabled. This can be called in a variety of situations, such as disabled `<fieldset>`s.",
       "parameters": [
        {
         "name": "disabled",
         "type": {
          "text": "boolean"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formResetCallback",
       "privacy": "public",
       "description": "An optional callback for when the form requests to reset its value. Typically, the default value that is reset is represented in the attribute of an element. This means the attribute used for the value should not update as the value changes. For example, a checkbox should not change its default `checked` attribute when selected. Ensure form values do not reflect.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formStateRestoreCallback",
       "privacy": "public",
       "description": "An optional callback for when the form restores the state of a component. For example, when a page is reloaded or forms are autofilled.",
       "parameters": [
        {
         "name": "state",
         "type": {
          "text": "FormRestoreState"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The chips."
      }
     ],
     "cssProperties": [
      {
       "name": "--chip-set-overflow-inset",
       "description": "Room kept for touch targets and focus rings when a single-line set clips its overflow."
      },
      {
       "name": "--chip-set-space",
       "description": "The space between chips and between lines."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "ChipSetElement",
     "declaration": {
      "name": "ChipSetElement",
      "module": "labs/gb/components/chip/md-gb-chip-set.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-chip-set",
     "declaration": {
      "name": "ChipSetElement",
      "module": "labs/gb/components/chip/md-gb-chip-set.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/datepicker/md-gb-date-picker.js",
   "declarations": [
    {
     "kind": "class",
     "name": "DatePickerElement",
     "tagName": "md-gb-date-picker",
     "customElement": true,
     "description": "A Material Design date picker (docked or modal, single date or range).",
     "summary": "A Material Design date picker (docked or modal, single date or range).",
     "attributes": [
      {
       "name": "clearable",
       "type": {
        "text": "boolean"
       },
       "fieldName": "clearable",
       "default": "false",
       "description": "Shows a Clear button that removes the selection."
      },
      {
       "name": "density",
       "type": {
        "text": "Density"
       },
       "fieldName": "density",
       "description": "The density of the picker's text fields (the docked field and the modal input mode's fields), from 0 (default) to -3, as `md-gb-text-field` `density`. Values are clamped to that range. The calendar itself never gets denser (date-pickers.md, Accessibility: \"Interactive targets for all elements meet Material's 48x48dp minimum touch target requirement. Increasing density would negatively impact accessibility by limiting tappable/clickable targets\"): its dates, menus and buttons keep their size, including inside a dense container."
      },
      {
       "name": "error",
       "type": {
        "text": "boolean"
       },
       "fieldName": "error",
       "default": "false",
       "description": "Forces the error state of the docked field."
      },
      {
       "name": "error-text",
       "type": {
        "text": "string"
       },
       "fieldName": "errorText",
       "default": "''",
       "description": "The message shown on the docked field while `error` is set."
      },
      {
       "name": "first-day-of-week",
       "type": {
        "text": "number"
       },
       "fieldName": "firstDayOfWeek",
       "default": "-1",
       "description": "The first day of the week, 0 (Sunday) to 6 (Saturday). -1 (default) uses the locale's."
      },
      {
       "name": "fullscreen",
       "type": {
        "text": "boolean"
       },
       "fieldName": "fullscreen",
       "default": "false",
       "description": "Modal: the full-screen layout the spec recommends on compact windows. The dialog covers the window and has a close (x) icon button and a **Save** button in place of Cancel and OK."
      },
      {
       "name": "hide-actions",
       "type": {
        "text": "boolean"
       },
       "fieldName": "hideActions",
       "default": "false",
       "description": "Hides the Cancel and OK buttons; a selection is committed right away."
      },
      {
       "name": "inline",
       "type": {
        "text": "boolean"
       },
       "fieldName": "inline",
       "default": "false",
       "description": "Renders the calendar surface in the page flow, always visible, instead of a docked popup (without the text field) or a modal dialog."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "Docked: the text field label. Defaults to \"Date\" (range: \"Dates\")."
      },
      {
       "name": "locale",
       "type": {
        "text": "string"
       },
       "fieldName": "locale",
       "default": "''",
       "description": "A BCP 47 locale. Defaults to the document's `lang`, else the browser's."
      },
      {
       "name": "max",
       "type": {
        "text": "string"
       },
       "fieldName": "max",
       "default": "''",
       "description": "The latest selectable date (ISO)."
      },
      {
       "name": "min",
       "type": {
        "text": "string"
       },
       "fieldName": "min",
       "default": "''",
       "description": "The earliest selectable date (ISO)."
      },
      {
       "name": "mode",
       "type": {
        "text": "DatePickerMode"
       },
       "fieldName": "mode",
       "default": "'picker'",
       "description": "Modal: shows the calendar (`picker`) or the date input (`input`)."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "open",
       "description": "Whether the popup (docked) or dialog (modal) is open."
      },
      {
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "fieldName": "quick",
       "default": "false",
       "description": "Skips animations."
      },
      {
       "name": "range",
       "type": {
        "text": "boolean"
       },
       "fieldName": "range",
       "default": "false",
       "description": "Selects a start and end date."
      },
      {
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "fieldName": "required",
       "default": "false",
       "description": "A value is required: with no date (or a range without an end date) the picker is invalid (`valueMissing`)."
      },
      {
       "name": "supporting-text",
       "type": {
        "text": "string"
       },
       "fieldName": "supportingText",
       "default": "''",
       "description": "Docked: the field's supporting text. Defaults to the date format, e.g. MM/DD/YYYY."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "default": "''",
       "description": "The committed value: an ISO date (`YYYY-MM-DD`), or an ISO interval (`start/end`) when `range` is set. Empty when nothing is selected."
      },
      {
       "name": "variant",
       "type": {
        "text": "DatePickerVariant"
       },
       "fieldName": "variant",
       "default": "'docked'",
       "description": "`docked` (default) or `modal`."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "clearable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Shows a Clear button that removes the selection.",
       "attribute": "clearable"
      },
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "Density"
       },
       "privacy": "public",
       "description": "The density of the picker's text fields (the docked field and the modal input mode's fields), from 0 (default) to -3, as `md-gb-text-field` `density`. Values are clamped to that range. The calendar itself never gets denser (date-pickers.md, Accessibility: \"Interactive targets for all elements meet Material's 48x48dp minimum touch target requirement. Increasing density would negatively impact accessibility by limiting tappable/clickable targets\"): its dates, menus and buttons keep their size, including inside a dense container.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "error",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Forces the error state of the docked field.",
       "attribute": "error",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "errorText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The message shown on the docked field while `error` is set.",
       "attribute": "error-text"
      },
      {
       "kind": "field",
       "name": "firstDayOfWeek",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "-1",
       "description": "The first day of the week, 0 (Sunday) to 6 (Saturday). -1 (default) uses the locale's.",
       "attribute": "first-day-of-week"
      },
      {
       "kind": "field",
       "name": "fullscreen",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Modal: the full-screen layout the spec recommends on compact windows. The dialog covers the window and has a close (x) icon button and a **Save** button in place of Cancel and OK.",
       "attribute": "fullscreen",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "hideActions",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Hides the Cancel and OK buttons; a selection is committed right away.",
       "attribute": "hide-actions"
      },
      {
       "kind": "field",
       "name": "inline",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Renders the calendar surface in the page flow, always visible, instead of a docked popup (without the text field) or a modal dialog.",
       "attribute": "inline",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "isDateDisabled",
       "type": {
        "text": "(date: string) => boolean"
       },
       "privacy": "public",
       "default": "null",
       "description": "Returns true for dates that can't be selected (in addition to dates outside `min` / `max`). Receives an ISO date."
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Docked: the text field label. Defaults to \"Date\" (range: \"Dates\").",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "locale",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "A BCP 47 locale. Defaults to the document's `lang`, else the browser's.",
       "attribute": "locale"
      },
      {
       "kind": "field",
       "name": "max",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The latest selectable date (ISO).",
       "attribute": "max"
      },
      {
       "kind": "field",
       "name": "min",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The earliest selectable date (ISO).",
       "attribute": "min"
      },
      {
       "kind": "field",
       "name": "mode",
       "type": {
        "text": "DatePickerMode"
       },
       "privacy": "public",
       "default": "'picker'",
       "description": "Modal: shows the calendar (`picker`) or the date input (`input`).",
       "attribute": "mode",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether the popup (docked) or dialog (modal) is open.",
       "attribute": "open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Skips animations.",
       "attribute": "quick",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "range",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Selects a start and end date.",
       "attribute": "range",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "A value is required: with no date (or a range without an end date) the picker is invalid (`valueMissing`).",
       "attribute": "required",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "strings",
       "type": {
        "text": "Partial<DatePickerStrings>"
       },
       "privacy": "public",
       "default": "{}",
       "description": "Overrides for the user-facing strings."
      },
      {
       "kind": "field",
       "name": "supportingText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Docked: the field's supporting text. Defaults to the date format, e.g. MM/DD/YYYY.",
       "attribute": "supporting-text"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The committed value: an ISO date (`YYYY-MM-DD`), or an ISO interval (`start/end`) when `range` is set. Empty when nothing is selected.",
       "attribute": "value"
      },
      {
       "kind": "field",
       "name": "variant",
       "type": {
        "text": "DatePickerVariant"
       },
       "privacy": "public",
       "default": "'docked'",
       "description": "`docked` (default) or `modal`.",
       "attribute": "variant",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "cancel",
       "privacy": "public",
       "description": "Discards the pending selection: fires a cancelable `cancel` event, then closes the popup or dialog.",
       "parameters": [
        {
         "name": "reason",
         "type": {
          "text": "string"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "boolean"
        }
       }
      },
      {
       "kind": "method",
       "name": "close",
       "privacy": "public",
       "description": "Closes the popup or dialog without changing the value (use `confirm()` to commit the pending selection).",
       "parameters": [
        {
         "name": "reason",
         "type": {
          "text": "string"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "confirm",
       "privacy": "public",
       "description": "Commits the pending selection to `value` (firing `change` if it changed) and closes the popup or dialog. In the date input mode, invalid text shows its error and keeps the picker open.",
       "return": {
        "type": {
         "text": "boolean"
        }
       }
      },
      {
       "kind": "method",
       "name": "focus",
       "privacy": "public",
       "description": "[MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)",
       "parameters": [
        {
         "name": "options",
         "type": {
          "text": "FocusOptions"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formDisabledCallback",
       "privacy": "public",
       "description": "A callback for when a form component should be disabled or enabled. This can be called in a variety of situations, such as disabled `<fieldset>`s.",
       "parameters": [
        {
         "name": "disabled",
         "type": {
          "text": "boolean"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formResetCallback",
       "privacy": "public",
       "description": "An optional callback for when the form requests to reset its value. Typically, the default value that is reset is represented in the attribute of an element. This means the attribute used for the value should not update as the value changes. For example, a checkbox should not change its default `checked` attribute when selected. Ensure form values do not reflect.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formStateRestoreCallback",
       "privacy": "public",
       "description": "An optional callback for when the form restores the state of a component. For example, when a page is reloaded or forms are autofilled.",
       "parameters": [
        {
         "name": "state",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "show",
       "privacy": "public",
       "description": "Opens the calendar popup (docked) or dialog (modal). The pending selection starts from `value`, and focus moves to the selected date (or today).",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "showMonth",
       "privacy": "public",
       "description": "Shows the given month (`year`, `month` 1-12) in the calendar.",
       "parameters": [
        {
         "name": "year",
         "type": {
          "text": "number"
         }
        },
        {
         "name": "month",
         "type": {
          "text": "number"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "cancel",
       "type": {
        "text": "Event"
       },
       "description": "The selection was dismissed (Cancel, Escape or a click outside). Cancelable: canceling keeps the picker open."
      },
      {
       "name": "change",
       "type": {
        "text": "CustomEvent<DatePickerValueDetail>"
       },
       "description": "The value was committed (OK, Enter, typing in the docked field, or a pick with `hide-actions`). --bubbles"
      },
      {
       "name": "close",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "The popup or dialog began closing; `reason` is `confirm` or `cancel`."
      },
      {
       "name": "input",
       "type": {
        "text": "CustomEvent<DatePickerValueDetail>"
       },
       "description": "The pending selection changed (a date was picked or a valid date typed). --bubbles --composed"
      },
      {
       "name": "open",
       "type": {
        "text": "Event"
       },
       "description": "The popup or dialog opened."
      }
     ],
     "cssParts": [
      {
       "name": "actions",
       "description": "The text buttons row."
      },
      {
       "name": "container",
       "description": "The picker surface."
      },
      {
       "name": "field",
       "description": "The docked text field."
      },
      {
       "name": "grid",
       "description": "The month grid."
      },
      {
       "name": "header",
       "description": "The header (modal headline region, or docked menus)."
      }
     ],
     "cssProperties": [
      {
       "name": "--anchor-spacing",
       "description": "Docked: distance between the field and the calendar."
      },
      {
       "name": "--container-color",
       "description": "Surface color."
      },
      {
       "name": "--container-elevation",
       "description": "Surface shadow."
      },
      {
       "name": "--container-shape",
       "description": "Surface corner radius."
      },
      {
       "name": "--container-width",
       "description": "Surface width."
      },
      {
       "name": "--date-container-height",
       "description": "Date indicator height."
      },
      {
       "name": "--date-container-shape",
       "description": "Date indicator shape."
      },
      {
       "name": "--date-container-width",
       "description": "Date indicator width."
      },
      {
       "name": "--date-disabled-label-text-color",
       "description": "Disabled date color."
      },
      {
       "name": "--date-label-text",
       "description": "Date typography."
      },
      {
       "name": "--date-selected-container-color",
       "description": "Selected date indicator color."
      },
      {
       "name": "--date-selected-label-text-color",
       "description": "Selected date color."
      },
      {
       "name": "--date-today-container-outline-color",
       "description": "Today's outline color."
      },
      {
       "name": "--date-today-container-outline-width",
       "description": "Today's outline width."
      },
      {
       "name": "--date-today-label-text-color",
       "description": "Today's date color."
      },
      {
       "name": "--date-unselected-label-text-color",
       "description": "Unselected date color."
      },
      {
       "name": "--date-unselected-outside-month-label-text-color",
       "description": "Docked: adjacent month date color."
      },
      {
       "name": "--divider-color",
       "description": "Divider color."
      },
      {
       "name": "--header-headline",
       "description": "Modal headline typography."
      },
      {
       "name": "--header-headline-color",
       "description": "Modal headline color."
      },
      {
       "name": "--header-supporting-text",
       "description": "Modal supporting text typography."
      },
      {
       "name": "--header-supporting-text-color",
       "description": "Modal supporting text color."
      },
      {
       "name": "--menu-button-label-text-color",
       "description": "Month / year menu button color."
      },
      {
       "name": "--menu-list-item-selected-container-color",
       "description": "Docked selected month / year color."
      },
      {
       "name": "--range-selection-active-indicator-container-color",
       "description": "In-range highlight color."
      },
      {
       "name": "--range-selection-container-elevation",
       "description": "Full-screen surface shadow."
      },
      {
       "name": "--range-selection-container-shape",
       "description": "Full-screen surface corner radius."
      },
      {
       "name": "--range-selection-date-in-range-label-text-color",
       "description": "In-range date color."
      },
      {
       "name": "--range-selection-header-container-height",
       "description": "Full-screen header height."
      },
      {
       "name": "--range-selection-month-subhead",
       "description": "Modal range: month subhead typography."
      },
      {
       "name": "--range-selection-month-subhead-color",
       "description": "Modal range: month subhead color."
      },
      {
       "name": "--scrim-color",
       "description": "Modal scrim color."
      },
      {
       "name": "--scrim-opacity",
       "description": "Modal scrim opacity."
      },
      {
       "name": "--weekdays-label-text",
       "description": "Weekday label typography."
      },
      {
       "name": "--weekdays-label-text-color",
       "description": "Weekday label color."
      },
      {
       "name": "--year-selection-year-selected-container-color",
       "description": "Selected year color."
      },
      {
       "name": "--year-selection-year-selected-label-text-color",
       "description": "Selected year label color."
      },
      {
       "name": "--year-selection-year-unselected-label-text-color",
       "description": "Unselected year color."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "DatePickerElement",
     "declaration": {
      "name": "DatePickerElement",
      "module": "labs/gb/components/datepicker/md-gb-date-picker.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-date-picker",
     "declaration": {
      "name": "DatePickerElement",
      "module": "labs/gb/components/datepicker/md-gb-date-picker.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/dialog/md-gb-dialog.js",
   "declarations": [
    {
     "kind": "class",
     "name": "DialogElement",
     "tagName": "md-gb-dialog",
     "customElement": true,
     "description": "A Material Design dialog component.",
     "summary": "A Material Design dialog component.",
     "attributes": [
      {
       "name": "always-full-screen",
       "type": {
        "text": "boolean"
       },
       "fieldName": "alwaysFullScreen",
       "default": "false",
       "description": "Full-screen dialogs are for compact windows only (dialogs.md: use a basic dialog at medium and expanded). So `full-screen` applies at compact windows and the dialog is a basic dialog above, with the same slots. The host gets `adaptive-basic` while it falls back. Set `always-full-screen` to keep the full-screen variant at every window size."
      },
      {
       "name": "close-label",
       "type": {
        "text": "string"
       },
       "fieldName": "closeLabel",
       "default": "'Close'",
       "description": "Accessible label of the full-screen close icon button."
      },
      {
       "name": "full-screen",
       "type": {
        "text": "boolean"
       },
       "fieldName": "fullScreen",
       "default": "false",
       "description": "Uses the full-screen variant: the dialog fills the window, with a header holding a close icon button, the headline and the confirm action. Meant for compact windows; use a basic dialog at larger breakpoints."
      },
      {
       "name": "no-focus-trap",
       "type": {
        "text": "boolean"
       },
       "fieldName": "noFocusTrap",
       "default": "false",
       "description": "Turns off focus trapping, which keeps Tab and Shift+Tab cycling inside the dialog. Trapping is recommended for accessibility."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "open",
       "description": "Opens the dialog when set to `true` and closes it when set to `false`."
      },
      {
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "fieldName": "quick",
       "default": "false",
       "description": "Skips the opening and closing animations."
      },
      {
       "name": "type",
       "type": {
        "text": "DialogType"
       },
       "fieldName": "type",
       "default": "''",
       "description": "The dialog's accessibility role. `alert` (`role=\"alertdialog\"`) or `dialog` (`role=\"dialog\"`). When empty, basic dialogs are alert dialogs, as the spec asks for on the web, and full-screen dialogs are dialogs."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "alwaysFullScreen",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Full-screen dialogs are for compact windows only (dialogs.md: use a basic dialog at medium and expanded). So `full-screen` applies at compact windows and the dialog is a basic dialog above, with the same slots. The host gets `adaptive-basic` while it falls back. Set `always-full-screen` to keep the full-screen variant at every window size.",
       "attribute": "always-full-screen",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "closeLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Close'",
       "description": "Accessible label of the full-screen close icon button.",
       "attribute": "close-label"
      },
      {
       "kind": "field",
       "name": "fullScreen",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Uses the full-screen variant: the dialog fills the window, with a header holding a close icon button, the headline and the confirm action. Meant for compact windows; use a basic dialog at larger breakpoints.",
       "attribute": "full-screen",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "noFocusTrap",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Turns off focus trapping, which keeps Tab and Shift+Tab cycling inside the dialog. Trapping is recommended for accessibility.",
       "attribute": "no-focus-trap"
      },
      {
       "kind": "field",
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Opens the dialog when set to `true` and closes it when set to `false`.",
       "attribute": "open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Skips the opening and closing animations.",
       "attribute": "quick",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "returnValue",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The dialog's return value, usually which button closed it. Set by `close(returnValue)` and by `<form method=\"dialog\">` submitters' `value`. Canceling (Escape, scrim, close button) leaves it unchanged. https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/returnValue"
      },
      {
       "kind": "field",
       "name": "type",
       "type": {
        "text": "DialogType"
       },
       "privacy": "public",
       "default": "''",
       "description": "The dialog's accessibility role. `alert` (`role=\"alertdialog\"`) or `dialog` (`role=\"dialog\"`). When empty, basic dialogs are alert dialogs, as the spec asks for on the web, and full-screen dialogs are dialogs.",
       "attribute": "type"
      },
      {
       "kind": "method",
       "name": "close",
       "privacy": "public",
       "description": "Closes the dialog and fires a cancelable `close` event, then `closed` after the exit animation. Focus returns to the element focused before the dialog opened.",
       "parameters": [
        {
         "name": "returnValue",
         "type": {
          "text": "string"
         },
         "optional": true
        },
        {
         "name": "reason",
         "type": {
          "text": "string"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "show",
       "privacy": "public",
       "description": "Opens the dialog as a modal and fires a cancelable `open` event, then `opened` after the enter animation. Focus moves to the first child with an `autofocus` attribute, else the first focusable element, else the dialog.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      }
     ],
     "events": [
      {
       "name": "cancel",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the dialog is canceled with Escape, a scrim click or the full-screen close button. Cancelable; canceling keeps the dialog open."
      },
      {
       "name": "close",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the dialog begins closing; `returnValue` is already set. Cancelable."
      },
      {
       "name": "closed",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the dialog has closed and animations finished."
      },
      {
       "name": "open",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the dialog begins opening. Cancelable."
      },
      {
       "name": "opened",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the dialog has opened and animations finished."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The supporting text or custom content (lists, form fields). Scrolls between the pinned headline and actions when it overflows."
      },
      {
       "name": "actions",
       "description": "The action buttons, dismissive first and confirming last. Basic: end-aligned below the content. Full-screen: the confirm action at the end of the header."
      },
      {
       "name": "headline",
       "description": "The headline. Labels the dialog (`aria-labelledby`)."
      },
      {
       "name": "icon",
       "description": "An optional hero icon above the headline (basic only). Centers the headline."
      }
     ],
     "cssParts": [
      {
       "name": "actions",
       "description": "The actions container."
      },
      {
       "name": "close-button",
       "description": "The full-screen close icon button."
      },
      {
       "name": "content",
       "description": "The content container."
      },
      {
       "name": "header",
       "description": "The headline region (full-screen: the header bar)."
      },
      {
       "name": "headline",
       "description": "The headline element."
      },
      {
       "name": "icon",
       "description": "The hero icon container."
      },
      {
       "name": "scroller",
       "description": "The scroll container of the content."
      }
     ],
     "cssProperties": [
      {
       "name": "--action-focus-label-text-color",
       "description": "Action label text color when focused."
      },
      {
       "name": "--action-hover-label-text-color",
       "description": "Action label text color when hovered."
      },
      {
       "name": "--action-label-text",
       "description": "Action label typography."
      },
      {
       "name": "--action-label-text-axes",
       "description": "Action label typography font variation settings."
      },
      {
       "name": "--action-label-text-color",
       "description": "Action label text color."
      },
      {
       "name": "--action-label-text-tracking",
       "description": "Action label letter spacing."
      },
      {
       "name": "--action-pressed-label-text-color",
       "description": "Action label text color when pressed."
      },
      {
       "name": "--container-color",
       "description": "Container background color."
      },
      {
       "name": "--container-elevation",
       "description": "Container box shadow elevation."
      },
      {
       "name": "--container-shape",
       "description": "Container border radius."
      },
      {
       "name": "--header-action-label-text",
       "description": "Full-screen action label typography."
      },
      {
       "name": "--header-action-label-text-axes",
       "description": "Full-screen action label typography font variation settings."
      },
      {
       "name": "--header-action-label-text-color",
       "description": "Full-screen action label color."
      },
      {
       "name": "--header-action-label-text-tracking",
       "description": "Full-screen action label letter spacing."
      },
      {
       "name": "--header-container-color",
       "description": "Full-screen header color."
      },
      {
       "name": "--header-container-elevation",
       "description": "Full-screen header elevation."
      },
      {
       "name": "--header-container-height",
       "description": "Full-screen header height."
      },
      {
       "name": "--header-headline",
       "description": "Full-screen headline typography."
      },
      {
       "name": "--header-headline-axes",
       "description": "Full-screen headline typography font variation settings."
      },
      {
       "name": "--header-headline-color",
       "description": "Full-screen headline color."
      },
      {
       "name": "--header-headline-tracking",
       "description": "Full-screen headline letter spacing."
      },
      {
       "name": "--header-icon-color",
       "description": "Full-screen close icon color."
      },
      {
       "name": "--header-icon-size",
       "description": "Full-screen close icon size."
      },
      {
       "name": "--header-on-scroll-container-color",
       "description": "Full-screen header color when the content is scrolled."
      },
      {
       "name": "--header-on-scroll-container-elevation",
       "description": "Full-screen header elevation when the content is scrolled."
      },
      {
       "name": "--headline",
       "description": "Headline typography."
      },
      {
       "name": "--headline-axes",
       "description": "Headline typography font variation settings."
      },
      {
       "name": "--headline-color",
       "description": "Headline color."
      },
      {
       "name": "--headline-tracking",
       "description": "Headline letter spacing."
      },
      {
       "name": "--max-width",
       "description": "Basic dialog maximum width."
      },
      {
       "name": "--min-width",
       "description": "Basic dialog minimum width."
      },
      {
       "name": "--scrim-color",
       "description": "Scrim color."
      },
      {
       "name": "--scrim-opacity",
       "description": "Scrim opacity."
      },
      {
       "name": "--supporting-text",
       "description": "Supporting text typography."
      },
      {
       "name": "--supporting-text-axes",
       "description": "Supporting text typography font variation settings."
      },
      {
       "name": "--supporting-text-color",
       "description": "Supporting text color."
      },
      {
       "name": "--supporting-text-tracking",
       "description": "Supporting text letter spacing."
      },
      {
       "name": "--with-icon-icon-color",
       "description": "Hero icon color."
      },
      {
       "name": "--with-icon-icon-size",
       "description": "Hero icon size."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "DialogElement",
     "declaration": {
      "name": "DialogElement",
      "module": "labs/gb/components/dialog/md-gb-dialog.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-dialog",
     "declaration": {
      "name": "DialogElement",
      "module": "labs/gb/components/dialog/md-gb-dialog.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/divider/md-gb-divider.js",
   "declarations": [
    {
     "kind": "class",
     "name": "DividerElement",
     "tagName": "md-gb-divider",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "inset",
       "type": {
        "text": "boolean"
       },
       "fieldName": "inset",
       "default": "false",
       "description": "Indents both ends 16dp (spec: middle-inset divider)."
      },
      {
       "name": "inset-end",
       "type": {
        "text": "boolean"
       },
       "fieldName": "insetEnd",
       "default": "false",
       "description": "Indents the trailing end 16dp."
      },
      {
       "name": "inset-start",
       "type": {
        "text": "boolean"
       },
       "fieldName": "insetStart",
       "default": "false",
       "description": "Indents the leading end 16dp (spec: inset divider)."
      },
      {
       "name": "vertical",
       "type": {
        "text": "boolean"
       },
       "fieldName": "vertical",
       "default": "false",
       "description": "Whether or not the divider is vertical."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "inset",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Indents both ends 16dp (spec: middle-inset divider).",
       "attribute": "inset",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "insetEnd",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Indents the trailing end 16dp.",
       "attribute": "inset-end",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "insetStart",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Indents the leading end 16dp (spec: inset divider).",
       "attribute": "inset-start",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "vertical",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether or not the divider is vertical.",
       "attribute": "vertical",
       "reflects": true
      }
     ],
     "cssParts": [
      {
       "name": "divider",
       "description": "The divider element."
      }
     ],
     "cssProperties": [
      {
       "name": "--color"
      },
      {
       "name": "--inset-leading-space"
      },
      {
       "name": "--inset-trailing-space"
      },
      {
       "name": "--thickness"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "DividerElement",
     "declaration": {
      "name": "DividerElement",
      "module": "labs/gb/components/divider/md-gb-divider.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-divider",
     "declaration": {
      "name": "DividerElement",
      "module": "labs/gb/components/divider/md-gb-divider.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/fab/md-gb-fab.js",
   "declarations": [
    {
     "kind": "class",
     "name": "FabElement",
     "tagName": "md-gb-fab",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "color",
       "type": {
        "text": "FabColor"
       },
       "fieldName": "color",
       "default": "'primary-container'"
      },
      {
       "name": "expanded",
       "type": {
        "text": "boolean"
       },
       "fieldName": "expanded",
       "default": "true",
       "description": "Whether the extended FAB shows its label. When `false`, the label collapses and the FAB becomes an icon-only FAB. Set the attribute to `expanded=\"false\"` to collapse it from markup."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "The extended FAB's label. Without one, the FAB is icon-only."
      },
      {
       "name": "scroll-target",
       "type": {
        "text": "string"
       },
       "fieldName": "scrollTarget",
       "default": "''",
       "description": "Opt-in: the `id` of a scroll container (in the same root), or `window`. The FAB collapses while it scrolls down and expands while it scrolls up."
      },
      {
       "name": "size",
       "type": {
        "text": "FabSize"
       },
       "fieldName": "size",
       "default": "'default'",
       "description": "The size. With a `label`, `default`, `md` and `lg` are the small, medium and large extended FABs. `sm` is the small (40dp) icon-only FAB, which the spec no longer recommends."
      },
      {
       "name": "tooltip",
       "type": {
        "text": "boolean"
       },
       "fieldName": "tooltip",
       "default": "true",
       "description": "Shows a tooltip with the FAB's name (the `label`, else `aria-label`) on hover and keyboard focus. On by default for an icon-only FAB, whose icon has no visible text (floating-action-button.md: on web, a FAB should display a tooltip with its text label); `tooltip=\"false\"` turns it off."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "color",
       "type": {
        "text": "FabColor"
       },
       "privacy": "public",
       "default": "'primary-container'",
       "attribute": "color"
      },
      {
       "kind": "field",
       "name": "expanded",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "true",
       "description": "Whether the extended FAB shows its label. When `false`, the label collapses and the FAB becomes an icon-only FAB. Set the attribute to `expanded=\"false\"` to collapse it from markup.",
       "attribute": "expanded"
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The extended FAB's label. Without one, the FAB is icon-only.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "scrollTarget",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Opt-in: the `id` of a scroll container (in the same root), or `window`. The FAB collapses while it scrolls down and expands while it scrolls up.",
       "attribute": "scroll-target"
      },
      {
       "kind": "field",
       "name": "size",
       "type": {
        "text": "FabSize"
       },
       "privacy": "public",
       "default": "'default'",
       "description": "The size. With a `label`, `default`, `md` and `lg` are the small, medium and large extended FABs. `sm` is the small (40dp) icon-only FAB, which the spec no longer recommends.",
       "attribute": "size"
      },
      {
       "kind": "field",
       "name": "tooltip",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "true",
       "description": "Shows a tooltip with the FAB's name (the `label`, else `aria-label`) on hover and keyboard focus. On by default for an icon-only FAB, whose icon has no visible text (floating-action-button.md: on web, a FAB should display a tooltip with its text label); `tooltip=\"false\"` turns it off.",
       "attribute": "tooltip"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The icon. Text placed here is shown but does not collapse; use `label` for an extended FAB."
      }
     ],
     "cssParts": [
      {
       "name": "fab",
       "description": "The FAB's root element."
      },
      {
       "name": "label",
       "description": "The extended FAB's label."
      }
     ],
     "cssProperties": [
      {
       "name": "--container-color"
      },
      {
       "name": "--container-elevation"
      },
      {
       "name": "--container-height"
      },
      {
       "name": "--container-shape"
      },
      {
       "name": "--container-width"
      },
      {
       "name": "--icon-color"
      },
      {
       "name": "--icon-label-space"
      },
      {
       "name": "--icon-size"
      },
      {
       "name": "--label-text"
      },
      {
       "name": "--label-text-axes"
      },
      {
       "name": "--label-text-color"
      },
      {
       "name": "--label-text-tracking"
      },
      {
       "name": "--leading-space"
      },
      {
       "name": "--trailing-space"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "FabElement",
     "declaration": {
      "name": "FabElement",
      "module": "labs/gb/components/fab/md-gb-fab.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-fab",
     "declaration": {
      "name": "FabElement",
      "module": "labs/gb/components/fab/md-gb-fab.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/fabmenu/md-gb-fab-menu.js",
   "declarations": [
    {
     "kind": "class",
     "name": "FabMenuElement",
     "tagName": "md-gb-fab-menu",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "align",
       "type": {
        "text": "FabMenuAlign"
       },
       "fieldName": "align",
       "default": "FAB_MENU_ALIGNS.end",
       "description": "The alignment of the items. Defaults to the end, as the FAB."
      },
      {
       "name": "color",
       "type": {
        "text": "FabMenuColor"
       },
       "fieldName": "color",
       "default": "FAB_MENU_COLORS.primary",
       "description": "The color of the FAB, close button and items."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "open",
       "default": "false",
       "description": "Whether the menu is open."
      },
      {
       "name": "size",
       "type": {
        "text": "FabSize"
       },
       "fieldName": "size",
       "default": "'default'",
       "description": "The size of the FAB. The close button is always the same size."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "align",
       "type": {
        "text": "FabMenuAlign"
       },
       "privacy": "public",
       "default": "FAB_MENU_ALIGNS.end",
       "description": "The alignment of the items. Defaults to the end, as the FAB.",
       "attribute": "align"
      },
      {
       "kind": "field",
       "name": "color",
       "type": {
        "text": "FabMenuColor"
       },
       "privacy": "public",
       "default": "FAB_MENU_COLORS.primary",
       "description": "The color of the FAB, close button and items.",
       "attribute": "color"
      },
      {
       "kind": "field",
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the menu is open.",
       "attribute": "open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "size",
       "type": {
        "text": "FabSize"
       },
       "privacy": "public",
       "default": "'default'",
       "description": "The size of the FAB. The close button is always the same size.",
       "attribute": "size"
      }
     ],
     "events": [
      {
       "name": "activate",
       "type": {
        "text": "CustomEvent<FabMenuActivateDetail>"
       },
       "description": "Fired when an item is activated, before the menu closes. Cancel it to keep the menu open. --bubbles --composed"
      },
      {
       "name": "toggle",
       "type": {
        "text": "ToggleEvent"
       },
       "description": "Fired when the menu opens or closes from user interaction, before the change. Cancel it to keep the menu as it is."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The menu's items, typically `<md-gb-fab-menu-item>`s."
      },
      {
       "name": "close-icon",
       "description": "The close button's icon. Defaults to a \"close\" icon."
      },
      {
       "name": "icon",
       "description": "The FAB's icon. Defaults to an \"add\" icon."
      }
     ],
     "cssParts": [
      {
       "name": "button",
       "description": "The FAB that toggles the menu."
      },
      {
       "name": "fab-menu",
       "description": "The menu's root element."
      },
      {
       "name": "list",
       "description": "The menu's list of items."
      }
     ],
     "cssProperties": [
      {
       "name": "--close-button-between-space"
      },
      {
       "name": "--close-button-container-elevation"
      },
      {
       "name": "--close-button-container-height"
      },
      {
       "name": "--close-button-container-shape"
      },
      {
       "name": "--close-button-container-width"
      },
      {
       "name": "--close-button-icon-size"
      },
      {
       "name": "--item-between-space"
      },
      {
       "name": "--item-container-elevation"
      },
      {
       "name": "--item-container-height"
      },
      {
       "name": "--item-container-shape"
      },
      {
       "name": "--item-icon-label-space"
      },
      {
       "name": "--item-icon-size"
      },
      {
       "name": "--item-label-text"
      },
      {
       "name": "--item-label-text-axes"
      },
      {
       "name": "--item-label-text-tracking"
      },
      {
       "name": "--item-leading-space"
      },
      {
       "name": "--item-trailing-space"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "FabMenuElement",
     "declaration": {
      "name": "FabMenuElement",
      "module": "labs/gb/components/fabmenu/md-gb-fab-menu.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-fab-menu",
     "declaration": {
      "name": "FabMenuElement",
      "module": "labs/gb/components/fabmenu/md-gb-fab-menu.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/fabmenu/md-gb-fab-menu-item.js",
   "declarations": [
    {
     "kind": "class",
     "name": "FabMenuItemElement",
     "tagName": "md-gb-fab-menu-item",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "slots": [
      {
       "name": "",
       "description": "The item's label. FAB menu items should always have a label."
      },
      {
       "name": "icon",
       "description": "The item's leading icon."
      }
     ],
     "cssParts": [
      {
       "name": "item",
       "description": "The item's container."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "FabMenuItemElement",
     "declaration": {
      "name": "FabMenuItemElement",
      "module": "labs/gb/components/fabmenu/md-gb-fab-menu-item.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-fab-menu-item",
     "declaration": {
      "name": "FabMenuItemElement",
      "module": "labs/gb/components/fabmenu/md-gb-fab-menu-item.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/iconbutton/md-gb-icon-button.js",
   "declarations": [
    {
     "kind": "class",
     "name": "IconButtonElement",
     "tagName": "md-gb-icon-button",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "color",
       "type": {
        "text": "IconButtonColor"
       },
       "fieldName": "color",
       "default": "'standard'",
       "description": "The color of the button."
      },
      {
       "name": "density",
       "type": {
        "text": "Density"
       },
       "fieldName": "density",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the container height (and the width of a default-width button); the icon keeps its size and the touch target stays at least 48px. Values are clamped to that range. Density 0 inherits the density of an enclosing `md-gb-button-group`. icon-buttons.md: don't apply density by default; let people opt in to a denser layout."
      },
      {
       "name": "download",
       "type": {
        "text": "string"
       },
       "fieldName": "download",
       "default": "''",
       "description": "The filename to use when downloading the linked resource."
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       },
       "fieldName": "href",
       "default": "''",
       "description": "The URL that the link button points to."
      },
      {
       "name": "referrerpolicy",
       "type": {
        "text": "string"
       },
       "fieldName": "referrerPolicy",
       "default": "''",
       "description": "Sets the underlying `HTMLAnchorElement`'s `referrerpolicy` attribute when `href` is set."
      },
      {
       "name": "rel",
       "type": {
        "text": "string"
       },
       "fieldName": "rel",
       "default": "''",
       "description": "Sets the underlying `HTMLAnchorElement`'s `rel` attribute when `href` is set."
      },
      {
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selected",
       "default": "false",
       "description": "Whether or not the button is selected, when `type=\"toggle\"`. TODO: replace reflected `[selected]` with `:state(selected)`"
      },
      {
       "name": "size",
       "type": {
        "text": "IconButtonSize"
       },
       "fieldName": "size",
       "default": "'sm'",
       "description": "The size of the button."
      },
      {
       "name": "soft-disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "softDisabled",
       "default": "false",
       "description": "Whether or not the button is \"soft-disabled\" (disabled but still focusable)."
      },
      {
       "name": "square",
       "type": {
        "text": "boolean"
       },
       "fieldName": "square",
       "default": "false",
       "description": "Changes the shape of the button to be square."
      },
      {
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "fieldName": "target",
       "default": "''",
       "description": "Where to display the linked `href` URL for a link button."
      },
      {
       "name": "tooltip",
       "type": {
        "text": "boolean"
       },
       "fieldName": "tooltip",
       "default": "false",
       "description": "Shows a tooltip with the button's accessibility label (`aria-label`) on hover and keyboard focus. The label should describe the action, not name the icon."
      },
      {
       "name": "type",
       "type": {
        "text": "string"
       },
       "fieldName": "type",
       "description": "A string indicating the behavior of the button. - \"submit\" (default): A button that submits its associated form. - \"reset\": A button that resets its associated form. - \"button\": A normal button. - \"toggle\": A toggle button using the `selected` property. - \"link\": An anchor link (`<a>`). Type is always \"link\" when `href` is set."
      },
      {
       "name": "unfilled-icon",
       "type": {
        "text": "boolean"
       },
       "fieldName": "unfilledIcon",
       "default": "false",
       "description": "Set when the icon has no filled version: a selected toggle button then shows the icon in semibold weight instead of filled."
      },
      {
       "name": "width",
       "type": {
        "text": "IconButtonWidth"
       },
       "fieldName": "width",
       "default": "''",
       "description": "Changes the width of the button."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "color",
       "type": {
        "text": "IconButtonColor"
       },
       "privacy": "public",
       "default": "'standard'",
       "description": "The color of the button.",
       "attribute": "color"
      },
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "Density"
       },
       "privacy": "public",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the container height (and the width of a default-width button); the icon keeps its size and the touch target stays at least 48px. Values are clamped to that range. Density 0 inherits the density of an enclosing `md-gb-button-group`. icon-buttons.md: don't apply density by default; let people opt in to a denser layout.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "download",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The filename to use when downloading the linked resource.",
       "attribute": "download"
      },
      {
       "kind": "field",
       "name": "href",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The URL that the link button points to.",
       "attribute": "href"
      },
      {
       "kind": "field",
       "name": "referrerPolicy",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Sets the underlying `HTMLAnchorElement`'s `referrerpolicy` attribute when `href` is set.",
       "attribute": "referrerpolicy"
      },
      {
       "kind": "field",
       "name": "rel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Sets the underlying `HTMLAnchorElement`'s `rel` attribute when `href` is set.",
       "attribute": "rel"
      },
      {
       "kind": "field",
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether or not the button is selected, when `type=\"toggle\"`. TODO: replace reflected `[selected]` with `:state(selected)`",
       "attribute": "selected",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "size",
       "type": {
        "text": "IconButtonSize"
       },
       "privacy": "public",
       "default": "'sm'",
       "description": "The size of the button.",
       "attribute": "size"
      },
      {
       "kind": "field",
       "name": "softDisabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether or not the button is \"soft-disabled\" (disabled but still focusable).",
       "attribute": "soft-disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "square",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Changes the shape of the button to be square.",
       "attribute": "square"
      },
      {
       "kind": "field",
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "privacy": "public",
       "default": "''",
       "description": "Where to display the linked `href` URL for a link button.",
       "attribute": "target"
      },
      {
       "kind": "field",
       "name": "tooltip",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Shows a tooltip with the button's accessibility label (`aria-label`) on hover and keyboard focus. The label should describe the action, not name the icon.",
       "attribute": "tooltip",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "type",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "description": "A string indicating the behavior of the button. - \"submit\" (default): A button that submits its associated form. - \"reset\": A button that resets its associated form. - \"button\": A normal button. - \"toggle\": A toggle button using the `selected` property. - \"link\": An anchor link (`<a>`). Type is always \"link\" when `href` is set.",
       "attribute": "type",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "unfilledIcon",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Set when the icon has no filled version: a selected toggle button then shows the icon in semibold weight instead of filled.",
       "attribute": "unfilled-icon",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "width",
       "type": {
        "text": "IconButtonWidth"
       },
       "privacy": "public",
       "default": "''",
       "description": "Changes the width of the button.",
       "attribute": "width"
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when a toggle button is selected or unselected. --bubbles"
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "Fired when a toggle icon button is selected or unselected. --bubbles --composed"
      }
     ],
     "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",
       "description": "Container height at density 0."
      },
      {
       "name": "--container-shape",
       "description": "The resolved shape; defaults to the round or square shape."
      },
      {
       "name": "--container-shape-round"
      },
      {
       "name": "--container-shape-square"
      },
      {
       "name": "--density-step",
       "description": "Container height removed per density step."
      },
      {
       "name": "--icon-color"
      },
      {
       "name": "--icon-size"
      },
      {
       "name": "--leading-space"
      },
      {
       "name": "--md-icon-fill"
      },
      {
       "name": "--outline-color"
      },
      {
       "name": "--outline-width"
      },
      {
       "name": "--target-size",
       "description": "The minimum touch target size, kept at any density."
      },
      {
       "name": "--trailing-space"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "IconButtonElement",
     "declaration": {
      "name": "IconButtonElement",
      "module": "labs/gb/components/iconbutton/md-gb-icon-button.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-icon-button",
     "declaration": {
      "name": "IconButtonElement",
      "module": "labs/gb/components/iconbutton/md-gb-icon-button.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/list/md-gb-list.js",
   "declarations": [
    {
     "kind": "class",
     "name": "ListElement",
     "tagName": "md-gb-list",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "density",
       "type": {
        "text": "ListDensity"
       },
       "fieldName": "density",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the items' height (spec foundations Density: \"decreasing the top and bottom padding or overall height by 4dp\"). Values are clamped to that range. Like `md-gb-segmented-button-set`'s `density`."
      },
      {
       "name": "reorderable",
       "type": {
        "text": "boolean"
       },
       "fieldName": "reorderable",
       "default": "false",
       "description": "Whether the items can be reordered. Shows a drag handle on every item."
      },
      {
       "name": "segmented",
       "type": {
        "text": "boolean"
       },
       "fieldName": "segmented",
       "default": "false",
       "description": "Whether to render the list with segmented items."
      },
      {
       "name": "selectable",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selectable",
       "default": "false",
       "description": "Whether the user can select several items with a long press (and drag), and by tapping them while in selection mode."
      },
      {
       "name": "selection-primary",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selectionPrimary",
       "default": "false",
       "description": "Whether selecting is the list's primary activity: a `selectable` list then always shows the selection checkboxes (on desktop)."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "ListDensity"
       },
       "privacy": "public",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the items' height (spec foundations Density: \"decreasing the top and bottom padding or overall height by 4dp\"). Values are clamped to that range. Like `md-gb-segmented-button-set`'s `density`.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "reorderable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the items can be reordered. Shows a drag handle on every item.",
       "attribute": "reorderable",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "reorderMessages",
       "type": {
        "text": "ListReorderMessages"
       },
       "privacy": "public",
       "default": "LIST_REORDER_MESSAGES",
       "description": "The screen reader announcements made while reordering."
      },
      {
       "kind": "field",
       "name": "segmented",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to render the list with segmented items.",
       "attribute": "segmented"
      },
      {
       "kind": "field",
       "name": "selectable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the user can select several items with a long press (and drag), and by tapping them while in selection mode.",
       "attribute": "selectable",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "selectionPrimary",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether selecting is the list's primary activity: a `selectable` list then always shows the selection checkboxes (on desktop).",
       "attribute": "selection-primary",
       "reflects": true
      }
     ],
     "events": [
      {
       "name": "itemselectionchange",
       "type": {
        "text": "Event"
       },
       "description": "When the user changes the selected items of a `selectable` list (`ListSelectionChangeEvent` with `selected`)."
      },
      {
       "name": "reorder",
       "type": {
        "text": "Event"
       },
       "description": "When the user drops an item at a new position (`ListReorderEvent` with `from`, `to` and `item`). Cancelable."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Used to display list items."
      }
     ],
     "cssParts": [
      {
       "name": "drop-zone",
       "description": "The drop target shown while dragging."
      },
      {
       "name": "list",
       "description": "The list's root element."
      }
     ],
     "cssProperties": [
      {
       "name": "--container-shape"
      },
      {
       "name": "--gap"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "ListElement",
     "declaration": {
      "name": "ListElement",
      "module": "labs/gb/components/list/md-gb-list.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-list",
     "declaration": {
      "name": "ListElement",
      "module": "labs/gb/components/list/md-gb-list.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/list/md-gb-list-item.js",
   "declarations": [
    {
     "kind": "class",
     "name": "ListItemElement",
     "tagName": "md-gb-list-item",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "checked",
       "type": {
        "text": "boolean"
       },
       "fieldName": "checked",
       "default": "false",
       "description": "Whether the list item is selected."
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false",
       "description": "Whether the list item is disabled."
      },
      {
       "name": "dragging",
       "type": {
        "text": "boolean"
       },
       "fieldName": "dragging",
       "default": "false",
       "description": "Whether the item is being dragged. Set by the list while reordering."
      },
      {
       "name": "drag-handle-label",
       "type": {
        "text": "string"
       },
       "fieldName": "dragHandleLabel",
       "default": "\"Reorder\"",
       "description": "The accessible label prefix of the drag handle; the item's label text is appended (e.g. \"Reorder Apples\")."
      },
      {
       "name": "expandable",
       "type": {
        "text": "boolean"
       },
       "fieldName": "expandable",
       "default": "false",
       "description": "Whether the item expands to reveal the content in its `nested` slot. Expandable items are always interactive."
      },
      {
       "name": "expanded",
       "type": {
        "text": "boolean"
       },
       "fieldName": "expanded",
       "default": "false",
       "description": "Whether an `expandable` item is expanded."
      },
      {
       "name": "grabbed",
       "type": {
        "text": "boolean"
       },
       "fieldName": "grabbed",
       "default": "false",
       "description": "Whether the item is grabbed for reordering without dragging (with the keyboard or a tap on the drag handle). Set by the list; shows the move up and move down buttons."
      },
      {
       "name": "move-down-label",
       "type": {
        "text": "string"
       },
       "fieldName": "moveDownLabel",
       "default": "\"Move down\"",
       "description": "The accessible label prefix of the move down button; the item's label text is appended."
      },
      {
       "name": "move-up-label",
       "type": {
        "text": "string"
       },
       "fieldName": "moveUpLabel",
       "default": "\"Move up\"",
       "description": "The accessible label prefix of the move up button; the item's label text is appended (e.g. \"Move up Apples\")."
      },
      {
       "name": "static",
       "type": {
        "text": "boolean"
       },
       "fieldName": "nonInteractive",
       "default": "false",
       "description": "Whether the list item is non-interactive."
      },
      {
       "name": "no-reveal-button",
       "type": {
        "text": "boolean"
       },
       "fieldName": "noRevealButton",
       "default": "false",
       "description": "Hides the \"more\" button that reveals the swipe actions with a tap. Only set it when the app offers another single-pointer way to reach them (e.g. a menu), as the spec requires one."
      },
      {
       "name": "reorderable",
       "type": {
        "text": "boolean"
       },
       "fieldName": "reorderable",
       "default": "false",
       "description": "Whether to show a drag handle to reorder the item within its `md-gb-list`. Set by the list when the list is `reorderable`."
      },
      {
       "name": "reveal-button-label",
       "type": {
        "text": "string"
       },
       "fieldName": "revealButtonLabel",
       "default": "\"More actions\"",
       "description": "The accessible label prefix of the \"more\" button; the item's label text is appended (e.g. \"More actions Apples\")."
      },
      {
       "name": "revealed",
       "type": {
        "text": "ListItemRevealed"
       },
       "fieldName": "revealed",
       "default": "\"\"",
       "description": "The side whose swipe actions are revealed, or `''` when closed."
      },
      {
       "name": "selection-visible",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selectionVisible",
       "default": "false",
       "description": "Whether the selection checkbox is always shown: the list sets it when selection is the primary activity or once an item is selected (selection.md, \"Click\"). Otherwise the checkbox shows on hover."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "checked",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the list item is selected.",
       "attribute": "checked"
      },
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the list item is disabled.",
       "attribute": "disabled"
      },
      {
       "kind": "field",
       "name": "dragging",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the item is being dragged. Set by the list while reordering.",
       "attribute": "dragging",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "dragHandleLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "\"Reorder\"",
       "description": "The accessible label prefix of the drag handle; the item's label text is appended (e.g. \"Reorder Apples\").",
       "attribute": "drag-handle-label"
      },
      {
       "kind": "field",
       "name": "expandable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the item expands to reveal the content in its `nested` slot. Expandable items are always interactive.",
       "attribute": "expandable",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "expanded",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether an `expandable` item is expanded.",
       "attribute": "expanded",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "grabbed",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the item is grabbed for reordering without dragging (with the keyboard or a tap on the drag handle). Set by the list; shows the move up and move down buttons.",
       "attribute": "grabbed",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "moveDownLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "\"Move down\"",
       "description": "The accessible label prefix of the move down button; the item's label text is appended.",
       "attribute": "move-down-label"
      },
      {
       "kind": "field",
       "name": "moveUpLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "\"Move up\"",
       "description": "The accessible label prefix of the move up button; the item's label text is appended (e.g. \"Move up Apples\").",
       "attribute": "move-up-label"
      },
      {
       "kind": "field",
       "name": "nonInteractive",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the list item is non-interactive.",
       "attribute": "static",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "noRevealButton",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Hides the \"more\" button that reveals the swipe actions with a tap. Only set it when the app offers another single-pointer way to reach them (e.g. a menu), as the spec requires one.",
       "attribute": "no-reveal-button"
      },
      {
       "kind": "field",
       "name": "reorderable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to show a drag handle to reorder the item within its `md-gb-list`. Set by the list when the list is `reorderable`.",
       "attribute": "reorderable",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "revealButtonLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "\"More actions\"",
       "description": "The accessible label prefix of the \"more\" button; the item's label text is appended (e.g. \"More actions Apples\").",
       "attribute": "reveal-button-label"
      },
      {
       "kind": "field",
       "name": "revealed",
       "type": {
        "text": "ListItemRevealed"
       },
       "privacy": "public",
       "default": "\"\"",
       "description": "The side whose swipe actions are revealed, or `''` when closed.",
       "attribute": "revealed",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "rovingTabIndex",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "null",
       "description": "Set by a parent `md-gb-list` to make the list a single tab stop with arrow-key navigation (roving tabindex, lists.md Keyboard navigation): `0` on the list's tab stop, `-1` on the other items, `null` (default) for an item outside a list. While set, the item's other controls (drag handle, \"more\" and move buttons, actions) leave the tab order and are reached with Left/Right."
      },
      {
       "kind": "field",
       "name": "selectable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the item shows a selection checkbox (hover, or whenever `selectionVisible`). Set by a `selectable` parent `md-gb-list`."
      },
      {
       "kind": "field",
       "name": "selectionVisible",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the selection checkbox is always shown: the list sets it when selection is the primary activity or once an item is selected (selection.md, \"Click\"). Otherwise the checkbox shows on hover.",
       "attribute": "selection-visible",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "close",
       "privacy": "public",
       "description": "Hides the swipe actions.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "focusDragHandle",
       "privacy": "public",
       "description": "Focuses the item's drag handle, if it has one.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "focusPrimary",
       "privacy": "public",
       "description": "Focuses the item itself (its primary action), or its first control when the item is `static` or disabled. Used by `md-gb-list`'s arrow keys.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "reveal",
       "privacy": "public",
       "description": "Reveals the swipe actions on one side.",
       "parameters": [
        {
         "name": "side",
         "type": {
          "text": "\"leading\" | \"trailing\""
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "rowElements",
       "privacy": "public",
       "description": "The item's focusable elements in visual order (start to end): leading actions, interactive `avatar`/`leading` content, the item, interactive `trailing` content, the \"more\" button, the move up / move down buttons, the drag handle and the trailing actions. Left/Right move through them.",
       "return": {
        "type": {
         "text": "HTMLElement[]"
        }
       }
      }
     ],
     "events": [
      {
       "name": "reveal-change",
       "type": {
        "text": "Event"
       },
       "description": "When the user reveals or hides the swipe actions."
      },
      {
       "name": "toggle",
       "type": {
        "text": "Event"
       },
       "description": "When the user expands or collapses an `expandable` item (`ToggleEvent`)."
      }
     ],
     "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": "leading-actions",
       "description": "Buttons revealed by swiping toward the end."
      },
      {
       "name": "nested",
       "description": "Nested items or content an `expandable` item reveals."
      },
      {
       "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",
       "description": "Used to display icons and content after the item's main content."
      },
      {
       "name": "trailing-actions",
       "description": "Buttons revealed by swiping toward the start. The last one is the primary action."
      },
      {
       "name": "trailing-text",
       "description": "Used to display metadata or text after the item's main content."
      }
     ],
     "cssParts": [
      {
       "name": "actions",
       "description": "The container of the revealed actions."
      },
      {
       "name": "drag-handle",
       "description": "The reorder drag handle."
      },
      {
       "name": "list-item",
       "description": "The list item's root element."
      },
      {
       "name": "move-down",
       "description": "The button that moves a grabbed item down."
      },
      {
       "name": "move-up",
       "description": "The button that moves a grabbed item up."
      },
      {
       "name": "nested",
       "description": "The expandable region of nested content."
      },
      {
       "name": "reveal-button",
       "description": "The \"more\" button that reveals the swipe actions."
      }
     ],
     "cssProperties": [
      {
       "name": "--avatar-color"
      },
      {
       "name": "--avatar-label"
      },
      {
       "name": "--avatar-label-axes"
      },
      {
       "name": "--avatar-label-color"
      },
      {
       "name": "--avatar-label-tracking"
      },
      {
       "name": "--avatar-shape"
      },
      {
       "name": "--avatar-size"
      },
      {
       "name": "--between-space"
      },
      {
       "name": "--bottom-space"
      },
      {
       "name": "--container-color"
      },
      {
       "name": "--container-height"
      },
      {
       "name": "--container-shape"
      },
      {
       "name": "--density-step",
       "description": "Height removed per density step (set `density` on `md-gb-list`)."
      },
      {
       "name": "--label-text"
      },
      {
       "name": "--label-text-color"
      },
      {
       "name": "--label-text-tracking"
      },
      {
       "name": "--leading-icon-color"
      },
      {
       "name": "--leading-icon-size"
      },
      {
       "name": "--leading-space"
      },
      {
       "name": "--overline"
      },
      {
       "name": "--overline-axes"
      },
      {
       "name": "--overline-color"
      },
      {
       "name": "--overline-tracking"
      },
      {
       "name": "--supporting-text"
      },
      {
       "name": "--supporting-text-axes"
      },
      {
       "name": "--supporting-text-color"
      },
      {
       "name": "--supporting-text-tracking"
      },
      {
       "name": "--top-space"
      },
      {
       "name": "--trailing-icon-color"
      },
      {
       "name": "--trailing-icon-size"
      },
      {
       "name": "--trailing-space"
      },
      {
       "name": "--trailing-supporting-text"
      },
      {
       "name": "--trailing-supporting-text-axes"
      },
      {
       "name": "--trailing-supporting-text-color"
      },
      {
       "name": "--trailing-supporting-text-tracking"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "ListItemElement",
     "declaration": {
      "name": "ListItemElement",
      "module": "labs/gb/components/list/md-gb-list-item.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-list-item",
     "declaration": {
      "name": "ListItemElement",
      "module": "labs/gb/components/list/md-gb-list-item.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/loadingindicator/md-gb-loading-indicator.js",
   "declarations": [
    {
     "kind": "class",
     "name": "LoadingIndicatorElement",
     "tagName": "md-gb-loading-indicator",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "contained",
       "type": {
        "text": "boolean"
       },
       "fieldName": "contained",
       "default": "false",
       "description": "Whether the indicator has a container."
      },
      {
       "name": "value",
       "type": {
        "text": "number"
       },
       "fieldName": "value",
       "description": "Progress from 0 to 1. When set, the indicator is determinate; when unset (the default), it is indeterminate."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "contained",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the indicator has a container.",
       "attribute": "contained",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "description": "Progress from 0 to 1. When set, the indicator is determinate; when unset (the default), it is indeterminate.",
       "attribute": "value"
      }
     ],
     "cssParts": [
      {
       "name": "indicator",
       "description": "The indicator container."
      }
     ],
     "cssProperties": [
      {
       "name": "--active-indicator-color"
      },
      {
       "name": "--active-indicator-size"
      },
      {
       "name": "--container-color"
      },
      {
       "name": "--container-height"
      },
      {
       "name": "--container-shape"
      },
      {
       "name": "--container-width"
      },
      {
       "name": "--progress"
      },
      {
       "name": "--size",
       "description": "The container size, clamped to 24dp-240dp (48dp default)."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "LoadingIndicatorElement",
     "declaration": {
      "name": "LoadingIndicatorElement",
      "module": "labs/gb/components/loadingindicator/md-gb-loading-indicator.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-loading-indicator",
     "declaration": {
      "name": "LoadingIndicatorElement",
      "module": "labs/gb/components/loadingindicator/md-gb-loading-indicator.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/menu/md-gb-menu.js",
   "declarations": [
    {
     "kind": "class",
     "name": "MenuElement",
     "tagName": "md-gb-menu",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "color",
       "type": {
        "text": "MenuColor"
       },
       "fieldName": "color",
       "default": "MENU_COLORS.standard",
       "description": "The color style: `standard` (surface-based) or `vibrant` (tertiary)."
      },
      {
       "name": "context-for",
       "type": {
        "text": "string"
       },
       "fieldName": "contextFor",
       "default": "''",
       "description": "The id of an element (in the same root) that opens this menu as a context menu on a secondary click, the context menu key or a long press (menus.md \"Context menus ... usually open with a secondary click\"; \"Performs a specific action to trigger the menu, like right-click or press-and-hold\")."
      },
      {
       "name": "density",
       "type": {
        "text": "Density"
       },
       "fieldName": "density",
       "description": "The density, from 0 (default) to -3 (menus.md \"Density\": \"On web only, density levels control the spacing between elements. Increasing density decreases the top and bottom padding\"). Each step removes 4px from the items' height; submenus inherit it. Values are clamped to that range. Dense items are smaller than the 48px recommended target, so don't apply density by default; let people opt in (grids-spacing.md \"Avoid applying component scaling by default\")."
      },
      {
       "name": "filter-for",
       "type": {
        "text": "string"
       },
       "fieldName": "filterFor",
       "default": "''",
       "description": "The id of a text field (in the same root) the menu is attached to. As the person types in it, the menu opens (without taking focus) and shows only the items whose label contains the text, case-insensitively (menus.md \"Filtering\": \"As someone types, the list of menu options filters to show relevant results\"). The remaining items ease into their new position (\"Menu items ease into their new position as the menu is filtered\"), unless motion is reduced. Fires `filter` with the query."
      },
      {
       "name": "layout",
       "type": {
        "text": "MenuLayout"
       },
       "fieldName": "layout",
       "default": "'standard'",
       "description": "The layout: `standard` items on one surface, or `grouped` `md-gb-menu-group`s on separate surfaces with gaps between them."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "color",
       "type": {
        "text": "MenuColor"
       },
       "privacy": "public",
       "default": "MENU_COLORS.standard",
       "description": "The color style: `standard` (surface-based) or `vibrant` (tertiary).",
       "attribute": "color"
      },
      {
       "kind": "field",
       "name": "contextFor",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The id of an element (in the same root) that opens this menu as a context menu on a secondary click, the context menu key or a long press (menus.md \"Context menus ... usually open with a secondary click\"; \"Performs a specific action to trigger the menu, like right-click or press-and-hold\").",
       "attribute": "context-for"
      },
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "Density"
       },
       "privacy": "public",
       "description": "The density, from 0 (default) to -3 (menus.md \"Density\": \"On web only, density levels control the spacing between elements. Increasing density decreases the top and bottom padding\"). Each step removes 4px from the items' height; submenus inherit it. Values are clamped to that range. Dense items are smaller than the 48px recommended target, so don't apply density by default; let people opt in (grids-spacing.md \"Avoid applying component scaling by default\").",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "filterFor",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The id of a text field (in the same root) the menu is attached to. As the person types in it, the menu opens (without taking focus) and shows only the items whose label contains the text, case-insensitively (menus.md \"Filtering\": \"As someone types, the list of menu options filters to show relevant results\"). The remaining items ease into their new position (\"Menu items ease into their new position as the menu is filtered\"), unless motion is reduced. Fires `filter` with the query.",
       "attribute": "filter-for"
      },
      {
       "kind": "field",
       "name": "layout",
       "type": {
        "text": "MenuLayout"
       },
       "privacy": "public",
       "default": "'standard'",
       "description": "The layout: `standard` items on one surface, or `grouped` `md-gb-menu-group`s on separate surfaces with gaps between them.",
       "attribute": "layout",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "closeAll",
       "privacy": "public",
       "description": "Closes this menu and every menu it is a submenu of.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "filter",
       "privacy": "public",
       "description": "Shows only the items whose label contains `query`, easing the others into their new position.",
       "parameters": [
        {
         "name": "query",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "showAt",
       "privacy": "public",
       "description": "Opens the menu at a point in the viewport (a context menu), keeping it inside the window: it opens below and after the point, and flips when there is no room.",
       "parameters": [
        {
         "name": "x",
         "type": {
          "text": "number"
         }
        },
        {
         "name": "y",
         "type": {
          "text": "number"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The menu's items, groups and dividers."
      }
     ],
     "cssParts": [
      {
       "name": "menu",
       "description": "The menu's root element."
      }
     ],
     "cssProperties": [
      {
       "name": "--container-color"
      },
      {
       "name": "--container-elevation"
      },
      {
       "name": "--container-max-width"
      },
      {
       "name": "--container-min-width"
      },
      {
       "name": "--container-shape"
      },
      {
       "name": "--density-step",
       "description": "Item height removed per density step (set on the items)."
      },
      {
       "name": "--gap",
       "description": "Space between groups in the grouped layout."
      },
      {
       "name": "--group-padding"
      },
      {
       "name": "--group-shape"
      },
      {
       "name": "--section-label-text"
      },
      {
       "name": "--section-label-text-color"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "MenuElement",
     "declaration": {
      "name": "MenuElement",
      "module": "labs/gb/components/menu/md-gb-menu.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-menu",
     "declaration": {
      "name": "MenuElement",
      "module": "labs/gb/components/menu/md-gb-menu.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/menu/md-gb-menu-group.js",
   "declarations": [
    {
     "kind": "class",
     "name": "MenuGroupElement",
     "tagName": "md-gb-menu-group",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "checkable",
       "type": {
        "text": "MenuItemCheckable"
       },
       "fieldName": "checkable",
       "default": "null"
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "The section label shown above the group's items."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "checkable",
       "type": {
        "text": "MenuItemCheckable"
       },
       "privacy": "public",
       "default": "null",
       "attribute": "checkable",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The section label shown above the group's items.",
       "attribute": "label"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Used to display the menu group's items."
      }
     ],
     "cssParts": [
      {
       "name": "group",
       "description": "The group's root element."
      },
      {
       "name": "label",
       "description": "The section label."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "MenuGroupElement",
     "declaration": {
      "name": "MenuGroupElement",
      "module": "labs/gb/components/menu/md-gb-menu-group.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-menu-group",
     "declaration": {
      "name": "MenuGroupElement",
      "module": "labs/gb/components/menu/md-gb-menu-group.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/menu/md-gb-menu-item.js",
   "declarations": [
    {
     "kind": "class",
     "name": "MenuItemElement",
     "tagName": "md-gb-menu-item",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "checked",
       "type": {
        "text": "boolean"
       },
       "fieldName": "checked",
       "default": "false"
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false"
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "checked",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "attribute": "checked",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "attribute": "disabled",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "closeSubmenu",
       "privacy": "public",
       "description": "Closes the item's submenu.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "openSubmenu",
       "privacy": "public",
       "description": "Opens the item's submenu next to it and focuses its first item.",
       "parameters": [
        {
         "name": "focus",
         "type": {
          "text": "boolean"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when a checkbox or menu item is checked or unchecked. --bubbles"
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "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": "submenu",
       "description": "An `md-gb-menu` to open as this item's submenu."
      },
      {
       "name": "supporting-text",
       "description": "Used to display supporting text below the main label."
      },
      {
       "name": "trailing",
       "description": "Used to display icons and content after the item's main content."
      },
      {
       "name": "trailing-text",
       "description": "Used to display metadata or text 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"
      },
      {
       "name": "--label-text-axes"
      },
      {
       "name": "--label-text-color"
      },
      {
       "name": "--label-text-tracking"
      },
      {
       "name": "--leading-icon-color"
      },
      {
       "name": "--leading-icon-size"
      },
      {
       "name": "--leading-space"
      },
      {
       "name": "--shape"
      },
      {
       "name": "--supporting-text"
      },
      {
       "name": "--supporting-text-axes"
      },
      {
       "name": "--supporting-text-color"
      },
      {
       "name": "--supporting-text-tracking"
      },
      {
       "name": "--top-space"
      },
      {
       "name": "--trailing-icon-color"
      },
      {
       "name": "--trailing-icon-size"
      },
      {
       "name": "--trailing-space"
      },
      {
       "name": "--trailing-supporting-text"
      },
      {
       "name": "--trailing-supporting-text-axes"
      },
      {
       "name": "--trailing-supporting-text-color"
      },
      {
       "name": "--trailing-supporting-text-tracking"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "MenuItemElement",
     "declaration": {
      "name": "MenuItemElement",
      "module": "labs/gb/components/menu/md-gb-menu-item.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-menu-item",
     "declaration": {
      "name": "MenuItemElement",
      "module": "labs/gb/components/menu/md-gb-menu-item.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/navbar/md-gb-nav-bar.js",
   "declarations": [
    {
     "kind": "class",
     "name": "NavBarElement",
     "tagName": "md-gb-nav-bar",
     "customElement": true,
     "description": "A Material Design gBreeze navigation bar custom element.",
     "summary": "A Material Design gBreeze navigation bar custom element.",
     "superclass": {
      "name": "AriaTablistElement",
      "module": "/labs/aria/tabs/tablist.js"
     },
     "attributes": [
      {
       "name": "autoselect",
       "type": {
        "text": "boolean"
       },
       "fieldName": "autoSelect",
       "default": "false",
       "description": "Whether or not to automatically select a tab when it is focused."
      },
      {
       "name": "item-layout",
       "type": {
        "text": "NavBarLayout"
       },
       "fieldName": "itemLayout",
       "default": "'vertical'",
       "description": "The layout orientation of items: `vertical`, `horizontal`, or `auto` (vertical in compact windows, horizontal from medium windows, 600px)."
      },
      {
       "name": "orientation",
       "type": {
        "text": "\"horizontal\" | \"vertical\""
       },
       "fieldName": "orientation",
       "default": "'horizontal'",
       "description": "Orientation of the tablist ('horizontal' or 'vertical')."
      },
      {
       "name": "scroll-behavior",
       "type": {
        "text": "\"hide\""
       },
       "fieldName": "scrollBehavior",
       "description": "How the bar reacts to scrolling: `hide` hides it on scroll down."
      },
      {
       "name": "scroll-target",
       "type": {
        "text": "string"
       },
       "fieldName": "scrollTarget",
       "default": "''",
       "description": "The id of the element whose scrolling drives `scroll-behavior`. Defaults to the window."
      },
      {
       "name": "selected-index",
       "type": {
        "text": "number"
       },
       "fieldName": "selectedIndex",
       "description": "The 0-based index of the currently active navigation bar item. Alias for `selectedTabIndex`."
      },
      {
       "name": "selectedtabindex",
       "type": {
        "text": "number"
       },
       "fieldName": "selectedTabIndex",
       "description": "The index of the currently selected tab."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "autoSelect",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether or not to automatically select a tab when it is focused.",
       "attribute": "autoselect"
      },
      {
       "kind": "field",
       "name": "itemLayout",
       "type": {
        "text": "NavBarLayout"
       },
       "privacy": "public",
       "default": "'vertical'",
       "description": "The layout orientation of items: `vertical`, `horizontal`, or `auto` (vertical in compact windows, horizontal from medium windows, 600px).",
       "attribute": "item-layout",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "orientation",
       "type": {
        "text": "\"horizontal\" | \"vertical\""
       },
       "privacy": "public",
       "default": "'horizontal'",
       "description": "Orientation of the tablist ('horizontal' or 'vertical').",
       "attribute": "orientation",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "scrollBehavior",
       "type": {
        "text": "\"hide\""
       },
       "privacy": "public",
       "description": "How the bar reacts to scrolling: `hide` hides it on scroll down.",
       "attribute": "scroll-behavior",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "scrollTarget",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The id of the element whose scrolling drives `scroll-behavior`. Defaults to the window.",
       "attribute": "scroll-target"
      },
      {
       "kind": "field",
       "name": "selectedIndex",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "description": "The 0-based index of the currently active navigation bar item. Alias for `selectedTabIndex`.",
       "attribute": "selected-index"
      },
      {
       "kind": "field",
       "name": "selectedTabIndex",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "description": "The index of the currently selected tab.",
       "attribute": "selectedtabindex"
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the selected navigation bar item changes. --bubbles"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Used to display navigation bar items (`md-gb-nav-bar-item`)."
      }
     ],
     "cssParts": [
      {
       "name": "nav-bar",
       "description": "The navigation bar's root container."
      }
     ],
     "cssProperties": [
      {
       "name": "--container-color"
      },
      {
       "name": "--container-elevation"
      },
      {
       "name": "--container-height"
      },
      {
       "name": "--container-shadow-color"
      },
      {
       "name": "--container-shape"
      },
      {
       "name": "--item-active-icon-color"
      },
      {
       "name": "--item-active-indicator-color"
      },
      {
       "name": "--item-active-indicator-height"
      },
      {
       "name": "--item-active-indicator-icon-label-space"
      },
      {
       "name": "--item-active-indicator-leading-space"
      },
      {
       "name": "--item-active-indicator-shape"
      },
      {
       "name": "--item-active-indicator-trailing-space"
      },
      {
       "name": "--item-active-indicator-width"
      },
      {
       "name": "--item-active-label-text-color"
      },
      {
       "name": "--item-active-state-layer-color"
      },
      {
       "name": "--item-between-space"
      },
      {
       "name": "--item-container-between-space"
      },
      {
       "name": "--item-icon-size"
      },
      {
       "name": "--item-inactive-icon-color"
      },
      {
       "name": "--item-inactive-label-text-color"
      },
      {
       "name": "--item-inactive-state-layer-color"
      },
      {
       "name": "--item-label-text"
      },
      {
       "name": "--item-label-text-axes"
      },
      {
       "name": "--item-label-text-tracking"
      },
      {
       "name": "--motion-duration"
      },
      {
       "name": "--motion-easing"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "NavBarElement",
     "declaration": {
      "name": "NavBarElement",
      "module": "labs/gb/components/navbar/md-gb-nav-bar.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-nav-bar",
     "declaration": {
      "name": "NavBarElement",
      "module": "labs/gb/components/navbar/md-gb-nav-bar.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/navbar/md-gb-nav-bar-item.js",
   "declarations": [
    {
     "kind": "class",
     "name": "NavBarItemElement",
     "tagName": "md-gb-nav-bar-item",
     "customElement": true,
     "description": "A Material Design gBreeze navigation bar item custom element.",
     "summary": "A Material Design gBreeze navigation bar item custom element.",
     "superclass": {
      "name": "AriaTabElement",
      "module": "/labs/aria/tabs/tab.js"
     },
     "attributes": [
      {
       "name": "active",
       "type": {
        "text": "boolean"
       },
       "fieldName": "active",
       "description": "Whether the navigation bar item is active. Alias for `selected`."
      },
      {
       "name": "badge",
       "type": {
        "text": "string"
       },
       "fieldName": "badge",
       "default": "''",
       "description": "Optional badge text (or 'dot' / 'true' for a small dot badge)."
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false",
       "description": "Whether the navigation bar item is disabled."
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       },
       "fieldName": "href",
       "default": "''",
       "description": "The URL the destination links to. The item is then a link (role `link`, `aria-current=\"page\"` while selected) instead of a tab."
      },
      {
       "name": "item-layout",
       "type": {
        "text": "NavBarItemLayout"
       },
       "fieldName": "itemLayout",
       "default": "'vertical'",
       "description": "The layout orientation of the item ('vertical' or 'horizontal')."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "Optional label text if not provided via default slot."
      },
      {
       "name": "rel",
       "type": {
        "text": "string"
       },
       "fieldName": "rel",
       "default": "''",
       "description": "The link's `rel` attribute, when `href` is set."
      },
      {
       "name": "tabpanel",
       "type": {
        "text": "string"
       },
       "fieldName": "tabpanel",
       "description": "ID of the associated `md-aria-tabpanel` element."
      },
      {
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "fieldName": "target",
       "default": "''",
       "description": "Where to open the linked `href`, e.g. `_blank`."
      },
      {
       "name": "unfilled-icon",
       "type": {
        "text": "boolean"
       },
       "fieldName": "unfilledIcon",
       "default": "false",
       "description": "Whether the icon has no filled style. The active destination then uses the semibold icon weight instead of the filled icon."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "active",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether the navigation bar item is active. Alias for `selected`.",
       "attribute": "active",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "badge",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Optional badge text (or 'dot' / 'true' for a small dot badge).",
       "attribute": "badge"
      },
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the navigation bar item is disabled.",
       "attribute": "disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "href",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The URL the destination links to. The item is then a link (role `link`, `aria-current=\"page\"` while selected) instead of a tab.",
       "attribute": "href"
      },
      {
       "kind": "field",
       "name": "itemLayout",
       "type": {
        "text": "NavBarItemLayout"
       },
       "privacy": "public",
       "default": "'vertical'",
       "description": "The layout orientation of the item ('vertical' or 'horizontal').",
       "attribute": "item-layout",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Optional label text if not provided via default slot.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "rel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The link's `rel` attribute, when `href` is set.",
       "attribute": "rel"
      },
      {
       "kind": "field",
       "name": "tabpanel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "description": "ID of the associated `md-aria-tabpanel` element.",
       "attribute": "tabpanel",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "privacy": "public",
       "default": "''",
       "description": "Where to open the linked `href`, e.g. `_blank`.",
       "attribute": "target"
      },
      {
       "kind": "field",
       "name": "unfilledIcon",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the icon has no filled style. The active destination then uses the semibold icon weight instead of the filled icon.",
       "attribute": "unfilled-icon",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "click",
       "privacy": "public",
       "description": "Activates the destination: follows its link, else clicks the tab.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Used to display the item's label text."
      },
      {
       "name": "badge",
       "description": "Used to display a custom badge on the item's icon."
      },
      {
       "name": "icon",
       "description": "Used to display the item's icon (`md-gb-icon`)."
      }
     ],
     "cssParts": [
      {
       "name": "indicator",
       "description": "The active indicator / icon container element."
      },
      {
       "name": "label",
       "description": "The label text container element."
      },
      {
       "name": "nav-bar-item",
       "description": "The navigation bar item's presentational container."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "NavBarItemElement",
     "declaration": {
      "name": "NavBarItemElement",
      "module": "labs/gb/components/navbar/md-gb-nav-bar-item.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-nav-bar-item",
     "declaration": {
      "name": "NavBarItemElement",
      "module": "labs/gb/components/navbar/md-gb-nav-bar-item.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/navdrawer/md-gb-nav-drawer.js",
   "declarations": [
    {
     "kind": "class",
     "name": "NavDrawerElement",
     "tagName": "md-gb-nav-drawer",
     "customElement": true,
     "description": "A Material Design navigation drawer custom element.",
     "summary": "A Material Design navigation drawer custom element.",
     "attributes": [
      {
       "name": "gestures-disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "gesturesDisabled",
       "default": "false",
       "description": "Whether swiping a modal drawer closed is turned off (Compose `gesturesEnabled = false`). Escape, the scrim and `close()` still close it."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "The accessible name of the navigation landmark. Use it instead of `aria-label` when the host sits outside any landmark: the host's `aria-label` moves to a data attribute that checkers (axe `region`) still read as a name on a host that has no landmark role."
      },
      {
       "name": "modal",
       "type": {
        "text": "boolean"
       },
       "fieldName": "modal",
       "default": "false",
       "description": "Whether the drawer is modal: it opens over a scrim that blocks the rest of the app, instead of sitting next to the content."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "open",
       "description": "Whether the drawer is open."
      },
      {
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "fieldName": "quick",
       "default": "false",
       "description": "Whether to skip the open and close transitions."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "gesturesDisabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether swiping a modal drawer closed is turned off (Compose `gesturesEnabled = false`). Escape, the scrim and `close()` still close it.",
       "attribute": "gestures-disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The accessible name of the navigation landmark. Use it instead of `aria-label` when the host sits outside any landmark: the host's `aria-label` moves to a data attribute that checkers (axe `region`) still read as a name on a host that has no landmark role.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "modal",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the drawer is modal: it opens over a scrim that blocks the rest of the app, instead of sitting next to the content.",
       "attribute": "modal",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether the drawer is open.",
       "attribute": "open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to skip the open and close transitions.",
       "attribute": "quick",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "close",
       "privacy": "public",
       "description": "Closes the drawer. Resolves once it has finished animating.",
       "parameters": [
        {
         "name": "reason",
         "type": {
          "text": "string"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "show",
       "privacy": "public",
       "description": "Opens the drawer. Resolves once it has finished animating.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "toggle",
       "privacy": "public",
       "description": "Opens the drawer when closed, closes it when open.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the user selects a different item. --bubbles"
      },
      {
       "name": "close",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired when the drawer starts closing. --cancelable"
      },
      {
       "name": "closed",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired when the drawer has closed and finished animating."
      },
      {
       "name": "open",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the drawer starts opening. --cancelable"
      },
      {
       "name": "opened",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the drawer has opened and finished animating."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Navigation items (`md-gb-nav-drawer-item`), section labels (headings or `.nav-drawer-section-label`) and dividers (`md-gb-divider` or `<hr>`)."
      },
      {
       "name": "headline",
       "description": "Optional headline shown above the items."
      }
     ],
     "cssParts": [
      {
       "name": "dialog",
       "description": "The modal drawer's `<dialog>`."
      },
      {
       "name": "drawer",
       "description": "The drawer sheet."
      },
      {
       "name": "nav",
       "description": "The `<nav>` landmark."
      },
      {
       "name": "scrim",
       "description": "The modal drawer's scrim."
      }
     ],
     "cssProperties": [
      {
       "name": "--active-focus-icon-color"
      },
      {
       "name": "--active-focus-label-text-color"
      },
      {
       "name": "--active-hover-icon-color"
      },
      {
       "name": "--active-hover-label-text-color"
      },
      {
       "name": "--active-icon-color"
      },
      {
       "name": "--active-indicator-color"
      },
      {
       "name": "--active-indicator-height"
      },
      {
       "name": "--active-indicator-shape"
      },
      {
       "name": "--active-indicator-width"
      },
      {
       "name": "--active-label-text"
      },
      {
       "name": "--active-label-text-axes"
      },
      {
       "name": "--active-label-text-color"
      },
      {
       "name": "--active-pressed-icon-color"
      },
      {
       "name": "--active-pressed-label-text-color"
      },
      {
       "name": "--container-color"
      },
      {
       "name": "--container-elevation"
      },
      {
       "name": "--container-height"
      },
      {
       "name": "--container-padding-block"
      },
      {
       "name": "--container-padding-inline"
      },
      {
       "name": "--container-shape",
       "description": "Radius of the end corners."
      },
      {
       "name": "--container-width"
      },
      {
       "name": "--container-width-minimum"
      },
      {
       "name": "--divider-inset"
      },
      {
       "name": "--headline"
      },
      {
       "name": "--headline-axes"
      },
      {
       "name": "--headline-color"
      },
      {
       "name": "--headline-tracking"
      },
      {
       "name": "--icon-size"
      },
      {
       "name": "--inactive-focus-icon-color"
      },
      {
       "name": "--inactive-focus-label-text-color"
      },
      {
       "name": "--inactive-hover-icon-color"
      },
      {
       "name": "--inactive-hover-label-text-color"
      },
      {
       "name": "--inactive-icon-color"
      },
      {
       "name": "--inactive-label-text-color"
      },
      {
       "name": "--inactive-pressed-icon-color"
      },
      {
       "name": "--inactive-pressed-label-text-color"
      },
      {
       "name": "--item-icon-label-space"
      },
      {
       "name": "--item-leading-space"
      },
      {
       "name": "--item-trailing-space"
      },
      {
       "name": "--label-text"
      },
      {
       "name": "--label-text-axes"
      },
      {
       "name": "--label-text-tracking"
      },
      {
       "name": "--large-badge-label"
      },
      {
       "name": "--large-badge-label-axes"
      },
      {
       "name": "--large-badge-label-color"
      },
      {
       "name": "--large-badge-label-tracking"
      },
      {
       "name": "--motion-close-duration"
      },
      {
       "name": "--motion-close-easing"
      },
      {
       "name": "--motion-effects-duration"
      },
      {
       "name": "--motion-effects-easing"
      },
      {
       "name": "--motion-open-duration"
      },
      {
       "name": "--motion-open-easing"
      },
      {
       "name": "--scrim-color"
      },
      {
       "name": "--scrollbar-gutter",
       "description": "`stable` reserves the scrollbar gutter, so a scrollbar that appears doesn't move the items (default `auto`: where scrollbars take space it would narrow the 12dp indicator padding)."
      },
      {
       "name": "--section-label-height"
      },
      {
       "name": "--section-label-leading-space"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "NavDrawerElement",
     "declaration": {
      "name": "NavDrawerElement",
      "module": "labs/gb/components/navdrawer/md-gb-nav-drawer.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-nav-drawer",
     "declaration": {
      "name": "NavDrawerElement",
      "module": "labs/gb/components/navdrawer/md-gb-nav-drawer.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/navdrawer/md-gb-nav-drawer-item.js",
   "declarations": [
    {
     "kind": "class",
     "name": "NavDrawerItemElement",
     "tagName": "md-gb-nav-drawer-item",
     "customElement": true,
     "description": "A Material Design navigation drawer item custom element.",
     "summary": "A Material Design navigation drawer item custom element.",
     "attributes": [
      {
       "name": "badge",
       "type": {
        "text": "string"
       },
       "fieldName": "badge",
       "default": "''",
       "description": "Trailing badge label text, such as an unread count. Ignored when content is slotted into `badge`."
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false",
       "description": "Whether the item is disabled."
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       },
       "fieldName": "href",
       "default": "''",
       "description": "The URL the item links to. Renders a link (`<a>`) when set."
      },
      {
       "name": "rel",
       "type": {
        "text": "string"
       },
       "fieldName": "rel",
       "default": "''",
       "description": "The link's `rel` attribute, when `href` is set."
      },
      {
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selected",
       "default": "false",
       "description": "Whether the item is the selected (current) destination."
      },
      {
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "fieldName": "target",
       "default": "''",
       "description": "Where to open the linked `href`, e.g. `_blank`."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "badge",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Trailing badge label text, such as an unread count. Ignored when content is slotted into `badge`.",
       "attribute": "badge"
      },
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the item is disabled.",
       "attribute": "disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "href",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The URL the item links to. Renders a link (`<a>`) when set.",
       "attribute": "href"
      },
      {
       "kind": "field",
       "name": "rel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The link's `rel` attribute, when `href` is set.",
       "attribute": "rel"
      },
      {
       "kind": "field",
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the item is the selected (current) destination.",
       "attribute": "selected",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "tabStop",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "true",
       "description": "Whether the item is in the tab order. The parent `md-gb-nav-drawer` manages this to provide a single tab stop with arrow key navigation."
      },
      {
       "kind": "field",
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "privacy": "public",
       "default": "''",
       "description": "Where to open the linked `href`, e.g. `_blank`.",
       "attribute": "target"
      },
      {
       "kind": "method",
       "name": "blur",
       "privacy": "public",
       "description": "[MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/blur)",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "focus",
       "privacy": "public",
       "description": "Focuses the item's link or button.",
       "parameters": [
        {
         "name": "options",
         "type": {
          "text": "FocusOptions"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The item's label text."
      },
      {
       "name": "badge",
       "description": "Trailing badge label text (overrides the `badge` property)."
      },
      {
       "name": "icon",
       "description": "The item's leading icon (`md-gb-icon`). Filled when selected."
      }
     ],
     "cssParts": [
      {
       "name": "badge",
       "description": "The trailing badge label container."
      },
      {
       "name": "icon",
       "description": "The icon container."
      },
      {
       "name": "item",
       "description": "The item's link or button."
      },
      {
       "name": "label",
       "description": "The label text container."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "NavDrawerItemElement",
     "declaration": {
      "name": "NavDrawerItemElement",
      "module": "labs/gb/components/navdrawer/md-gb-nav-drawer-item.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-nav-drawer-item",
     "declaration": {
      "name": "NavDrawerItemElement",
      "module": "labs/gb/components/navdrawer/md-gb-nav-drawer-item.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/navrail/md-gb-nav-rail.js",
   "declarations": [
    {
     "kind": "class",
     "name": "NavRailElement",
     "tagName": "md-gb-nav-rail",
     "customElement": true,
     "description": "A Material Design navigation rail custom element.",
     "summary": "A Material Design navigation rail custom element.",
     "superclass": {
      "name": "AriaTablistElement",
      "module": "/labs/aria/tabs/tablist.js"
     },
     "attributes": [
      {
       "name": "alignment",
       "type": {
        "text": "NavRailAlignment"
       },
       "fieldName": "alignment",
       "default": "'top'",
       "description": "Vertical alignment of items ('top', 'center', or 'bottom')."
      },
      {
       "name": "autoselect",
       "type": {
        "text": "boolean"
       },
       "fieldName": "autoSelect",
       "default": "false",
       "description": "Whether or not to automatically select a tab when it is focused."
      },
      {
       "name": "collapsible",
       "type": {
        "text": "boolean"
       },
       "fieldName": "collapsible",
       "default": "false",
       "description": "Whether the navigation rail renders a built-in expand/collapse menu button in the header when no toggle button is slotted into `slot=\"header\"`."
      },
      {
       "name": "divider",
       "type": {
        "text": "boolean"
       },
       "fieldName": "divider",
       "default": "false",
       "description": "Whether a vertical divider marks the edge of the rail next to the app's content."
      },
      {
       "name": "elevated",
       "type": {
        "text": "boolean"
       },
       "fieldName": "elevated",
       "default": "false",
       "description": "Whether the rail is elevated to level 1, to distinguish it from content that scrolls underneath it."
      },
      {
       "name": "expanded",
       "type": {
        "text": "boolean"
       },
       "fieldName": "expanded",
       "default": "false",
       "description": "Whether the navigation rail is expanded to show horizontal items."
      },
      {
       "name": "hide-when-collapsed",
       "type": {
        "text": "boolean"
       },
       "fieldName": "hideWhenCollapsed",
       "default": "false",
       "description": "Hide when collapsed (navigation-rail.md): the collapsed rail is not shown and takes no space, so the body content fills in. The expanded rail (always modal in this mode) appears over the content when the app's menu button calls `expand()` or `toggle()`; keep that menu button accessible."
      },
      {
       "name": "item-layout",
       "type": {
        "text": "NavRailItemLayout"
       },
       "fieldName": "itemLayout",
       "default": "'vertical'",
       "description": "The layout orientation of items ('vertical' or 'horizontal')."
      },
      {
       "name": "modal",
       "type": {
        "text": "boolean"
       },
       "fieldName": "modal",
       "default": "false",
       "description": "Whether the expanded navigation rail is modal: it opens over the content with a scrim, with modal elevation and shape."
      },
      {
       "name": "narrow",
       "type": {
        "text": "boolean"
       },
       "fieldName": "narrow",
       "default": "false",
       "description": "Whether the collapsed rail uses the narrow width (`md.comp.nav-rail.collapsed.narrow.container.width`, 80dp)."
      },
      {
       "name": "selected-index",
       "type": {
        "text": "number"
       },
       "fieldName": "selectedIndex",
       "description": "The 0-based index of the currently active navigation rail item. Alias for `selectedTabIndex`."
      },
      {
       "name": "selectedtabindex",
       "type": {
        "text": "number"
       },
       "fieldName": "selectedTabIndex",
       "description": "The index of the currently selected tab."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "alignment",
       "type": {
        "text": "NavRailAlignment"
       },
       "privacy": "public",
       "default": "'top'",
       "description": "Vertical alignment of items ('top', 'center', or 'bottom').",
       "attribute": "alignment",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "autoSelect",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether or not to automatically select a tab when it is focused.",
       "attribute": "autoselect"
      },
      {
       "kind": "field",
       "name": "collapsible",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the navigation rail renders a built-in expand/collapse menu button in the header when no toggle button is slotted into `slot=\"header\"`.",
       "attribute": "collapsible",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "divider",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether a vertical divider marks the edge of the rail next to the app's content.",
       "attribute": "divider",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "elevated",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the rail is elevated to level 1, to distinguish it from content that scrolls underneath it.",
       "attribute": "elevated",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "expanded",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the navigation rail is expanded to show horizontal items.",
       "attribute": "expanded",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "hideWhenCollapsed",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Hide when collapsed (navigation-rail.md): the collapsed rail is not shown and takes no space, so the body content fills in. The expanded rail (always modal in this mode) appears over the content when the app's menu button calls `expand()` or `toggle()`; keep that menu button accessible.",
       "attribute": "hide-when-collapsed",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "itemLayout",
       "type": {
        "text": "NavRailItemLayout"
       },
       "privacy": "public",
       "default": "'vertical'",
       "description": "The layout orientation of items ('vertical' or 'horizontal').",
       "attribute": "item-layout",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "modal",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the expanded navigation rail is modal: it opens over the content with a scrim, with modal elevation and shape.",
       "attribute": "modal",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "narrow",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the collapsed rail uses the narrow width (`md.comp.nav-rail.collapsed.narrow.container.width`, 80dp).",
       "attribute": "narrow",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "selectedIndex",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "description": "The 0-based index of the currently active navigation rail item. Alias for `selectedTabIndex`.",
       "attribute": "selected-index"
      },
      {
       "kind": "field",
       "name": "selectedTabIndex",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "description": "The index of the currently selected tab.",
       "attribute": "selectedtabindex"
      },
      {
       "kind": "method",
       "name": "collapse",
       "privacy": "public",
       "description": "Collapses the navigation rail.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "expand",
       "privacy": "public",
       "description": "Expands the navigation rail.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "handleBack",
       "privacy": "public",
       "description": "Handles a back request (the Android back gesture or button) on the modal expanded rail: plays the predictive back motion, then collapses the rail. Call it for an in-app back control that should behave like the system back. Resolves after the back motion.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "toggle",
       "privacy": "public",
       "description": "Toggles the expanded state of the navigation rail.",
       "parameters": [
        {
         "name": "force",
         "type": {
          "text": "boolean"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "boolean"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the selected item changes. --bubbles"
      },
      {
       "name": "toggle",
       "type": {
        "text": "CustomEvent<{expanded: boolean, reason?: string}>"
       },
       "description": "Fired when the expanded state is toggled. --bubbles"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Used to display navigation rail items (`md-gb-nav-rail-item`)."
      },
      {
       "name": "header",
       "description": "Used to display optional header controls (menu button, FAB)."
      }
     ],
     "cssParts": [
      {
       "name": "header",
       "description": "The navigation rail's header container."
      },
      {
       "name": "items",
       "description": "The navigation rail's items container."
      },
      {
       "name": "menu-button",
       "description": "The built-in expand/collapse menu button when `collapsible`."
      },
      {
       "name": "nav-rail",
       "description": "The navigation rail's root container."
      },
      {
       "name": "scrim",
       "description": "The modal rail's scrim, while expanded. A `modal` rail expands over the content with a scrim, like Compose `ModalWideNavigationRail`. Clicking the scrim, pressing Escape or swiping the rail toward its edge collapses it. The scrim (and the menu button of a `collapsible` rail) are the single-pointer alternatives to the swipe. While a modal rail is expanded, focus moves into it, Tab stays inside it, page scrolling is locked, and focus returns to the previous element when it collapses. The `toggle` event's `detail.reason` says why a modal rail collapsed (`escape`, `back`, `scrim` or `swipe`). Predictive back applies to the modal expanded rail (navigation-rail.md): while it is expanded the rail listens for back requests with a `CloseWatcher` (the Android back gesture or button, and Escape), falling back to Escape on the document where `CloseWatcher` is missing. A back request plays the predictive back motion (the rail pops off its edge, Compose `ModalWideNavigationRail` scales) and collapses the rail. A FAB (`md-gb-fab` with a `label`) in the header is an extended FAB while the rail is expanded and an icon FAB while it is collapsed."
      }
     ],
     "cssProperties": [
      {
       "name": "--collapsed-item-vertical-space"
      },
      {
       "name": "--collapsed-narrow-container-width"
      },
      {
       "name": "--collapsed-top-space"
      },
      {
       "name": "--container-color"
      },
      {
       "name": "--container-elevation"
      },
      {
       "name": "--container-shape"
      },
      {
       "name": "--container-vertical-padding"
      },
      {
       "name": "--container-width"
      },
      {
       "name": "--expanded-container-color"
      },
      {
       "name": "--expanded-container-width-maximum"
      },
      {
       "name": "--expanded-container-width-minimum"
      },
      {
       "name": "--expanded-modal-container-color"
      },
      {
       "name": "--expanded-top-space"
      },
      {
       "name": "--header-space-minimum"
      },
      {
       "name": "--item-active-focused-icon-color"
      },
      {
       "name": "--item-active-focused-label-text-color"
      },
      {
       "name": "--item-active-hovered-icon-color"
      },
      {
       "name": "--item-active-hovered-label-text-color"
      },
      {
       "name": "--item-active-icon-color"
      },
      {
       "name": "--item-active-indicator-color"
      },
      {
       "name": "--item-active-indicator-height"
      },
      {
       "name": "--item-active-indicator-shape"
      },
      {
       "name": "--item-active-indicator-width"
      },
      {
       "name": "--item-active-label-text-color"
      },
      {
       "name": "--item-active-pressed-icon-color"
      },
      {
       "name": "--item-active-pressed-label-text-color"
      },
      {
       "name": "--item-active-state-layer-color"
      },
      {
       "name": "--item-container-height"
      },
      {
       "name": "--item-container-vertical-space"
      },
      {
       "name": "--item-full-width-leading-space"
      },
      {
       "name": "--item-full-width-trailing-space"
      },
      {
       "name": "--item-horizontal-active-indicator-height"
      },
      {
       "name": "--item-horizontal-active-indicator-width",
       "description": "The expanded destinations' pill width: `fit-content` (default) hugs the icon and label; `100%` takes the destination's width."
      },
      {
       "name": "--item-horizontal-icon-label-space"
      },
      {
       "name": "--item-icon-size"
      },
      {
       "name": "--item-inactive-focused-icon-color"
      },
      {
       "name": "--item-inactive-focused-label-text-color"
      },
      {
       "name": "--item-inactive-hovered-icon-color"
      },
      {
       "name": "--item-inactive-hovered-label-text-color"
      },
      {
       "name": "--item-inactive-icon-color"
      },
      {
       "name": "--item-inactive-label-text-color"
      },
      {
       "name": "--item-inactive-pressed-icon-color"
      },
      {
       "name": "--item-inactive-pressed-label-text-color"
      },
      {
       "name": "--item-inactive-state-layer-color"
      },
      {
       "name": "--item-label-text-font"
      },
      {
       "name": "--item-label-text-font-axes"
      },
      {
       "name": "--item-label-text-font-tracking"
      },
      {
       "name": "--item-outer-space"
      },
      {
       "name": "--item-vertical-icon-label-space"
      },
      {
       "name": "--item-vertical-leading-space"
      },
      {
       "name": "--item-vertical-trailing-space"
      },
      {
       "name": "--modal-container-elevation"
      },
      {
       "name": "--modal-container-shape"
      },
      {
       "name": "--modal-scrim-color"
      },
      {
       "name": "--motion-duration"
      },
      {
       "name": "--motion-easing"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "NavRailElement",
     "declaration": {
      "name": "NavRailElement",
      "module": "labs/gb/components/navrail/md-gb-nav-rail.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-nav-rail",
     "declaration": {
      "name": "NavRailElement",
      "module": "labs/gb/components/navrail/md-gb-nav-rail.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/navrail/md-gb-nav-rail-item.js",
   "declarations": [
    {
     "kind": "class",
     "name": "NavRailItemElement",
     "tagName": "md-gb-nav-rail-item",
     "customElement": true,
     "description": "A Material Design navigation rail item custom element.",
     "summary": "A Material Design navigation rail item custom element.",
     "superclass": {
      "name": "AriaTabElement",
      "module": "/labs/aria/tabs/tab.js"
     },
     "attributes": [
      {
       "name": "active",
       "type": {
        "text": "boolean"
       },
       "fieldName": "active",
       "description": "Whether the navigation rail item is active. Alias for `selected`. TODO: replace reflected `[active]` with `:state(selected)`"
      },
      {
       "name": "badge",
       "type": {
        "text": "string"
       },
       "fieldName": "badge",
       "default": "''",
       "description": "Optional badge text (or 'dot' / 'true' for a small dot badge)."
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false",
       "description": "Whether the navigation rail item is disabled."
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       },
       "fieldName": "href",
       "default": "''",
       "description": "The URL the destination links to. The item is then a link (role `link`, `aria-current=\"page\"` while selected) instead of a tab."
      },
      {
       "name": "item-layout",
       "type": {
        "text": "NavRailItemLayout"
       },
       "fieldName": "itemLayout",
       "default": "'vertical'",
       "description": "The layout orientation of the item ('vertical' or 'horizontal')."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "Optional label text if not provided via default slot."
      },
      {
       "name": "rel",
       "type": {
        "text": "string"
       },
       "fieldName": "rel",
       "default": "''",
       "description": "The link's `rel` attribute, when `href` is set."
      },
      {
       "name": "secondary",
       "type": {
        "text": "boolean"
       },
       "fieldName": "secondary",
       "default": "false",
       "description": "Whether the destination is secondary: it shows only while the rail is expanded."
      },
      {
       "name": "tabpanel",
       "type": {
        "text": "string"
       },
       "fieldName": "tabpanel",
       "description": "ID of the associated `md-aria-tabpanel` element."
      },
      {
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "fieldName": "target",
       "default": "''",
       "description": "Where to open the linked `href`, e.g. `_blank`."
      },
      {
       "name": "unfilled-icon",
       "type": {
        "text": "boolean"
       },
       "fieldName": "unfilledIcon",
       "default": "false",
       "description": "Whether the icon has no filled style. The active destination then uses the semibold icon weight instead of the filled icon."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "active",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether the navigation rail item is active. Alias for `selected`. TODO: replace reflected `[active]` with `:state(selected)`",
       "attribute": "active",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "badge",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Optional badge text (or 'dot' / 'true' for a small dot badge).",
       "attribute": "badge"
      },
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the navigation rail item is disabled.",
       "attribute": "disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "href",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The URL the destination links to. The item is then a link (role `link`, `aria-current=\"page\"` while selected) instead of a tab.",
       "attribute": "href"
      },
      {
       "kind": "field",
       "name": "itemLayout",
       "type": {
        "text": "NavRailItemLayout"
       },
       "privacy": "public",
       "default": "'vertical'",
       "description": "The layout orientation of the item ('vertical' or 'horizontal').",
       "attribute": "item-layout",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Optional label text if not provided via default slot.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "rel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The link's `rel` attribute, when `href` is set.",
       "attribute": "rel"
      },
      {
       "kind": "field",
       "name": "secondary",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the destination is secondary: it shows only while the rail is expanded.",
       "attribute": "secondary",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "tabpanel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "description": "ID of the associated `md-aria-tabpanel` element.",
       "attribute": "tabpanel",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "target",
       "type": {
        "text": "\"\" | \"_blank\" | \"_parent\" | \"_self\" | \"_top\""
       },
       "privacy": "public",
       "default": "''",
       "description": "Where to open the linked `href`, e.g. `_blank`.",
       "attribute": "target"
      },
      {
       "kind": "field",
       "name": "unfilledIcon",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the icon has no filled style. The active destination then uses the semibold icon weight instead of the filled icon.",
       "attribute": "unfilled-icon",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "click",
       "privacy": "public",
       "description": "Activates the destination: follows its link, else clicks the tab.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Used to display the item's label text."
      },
      {
       "name": "badge",
       "description": "Used to display a custom badge on the item's icon."
      },
      {
       "name": "icon",
       "description": "Used to display the item's icon (`md-gb-icon`)."
      }
     ],
     "cssParts": [
      {
       "name": "indicator",
       "description": "The active indicator / icon container element."
      },
      {
       "name": "label",
       "description": "The label text container element."
      },
      {
       "name": "nav-rail-item",
       "description": "The navigation rail item's presentational container."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "NavRailItemElement",
     "declaration": {
      "name": "NavRailItemElement",
      "module": "labs/gb/components/navrail/md-gb-nav-rail-item.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-nav-rail-item",
     "declaration": {
      "name": "NavRailItemElement",
      "module": "labs/gb/components/navrail/md-gb-nav-rail-item.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/scaffold/md-gb-pane-scaffold.js",
   "declarations": [
    {
     "kind": "class",
     "name": "PaneScaffoldElement",
     "tagName": "md-gb-pane-scaffold",
     "customElement": true,
     "description": "A Material Design pane scaffold (list-detail, supporting pane, feed).",
     "summary": "A Material Design pane scaffold (list-detail, supporting pane, feed).",
     "attributes": [
      {
       "name": "arrangement",
       "type": {
        "text": "PaneArrangement"
       },
       "fieldName": "arrangement",
       "default": "'fixed-flexible'",
       "description": "How two panes share the width."
      },
      {
       "name": "collapsed-pane",
       "type": {
        "text": "\"primary\" | \"secondary\""
       },
       "fieldName": "collapsedPane",
       "default": "null",
       "description": "A pane collapsed with the drag handle, or null."
      },
      {
       "name": "detail-open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "detailOpen",
       "default": "false",
       "description": "List-detail: whether an item is selected. Single-pane windows show the detail (primary) pane when true and the list (secondary) pane when false; two-pane windows show the `placeholder` slot instead of the detail while false."
      },
      {
       "name": "drag-handle-label",
       "type": {
        "text": "string"
       },
       "fieldName": "dragHandleLabel",
       "default": "'Resize panes'",
       "description": "Accessible label of the drag handle."
      },
      {
       "name": "handle-tap",
       "type": {
        "text": "PaneHandleTap"
       },
       "fieldName": "handleTap",
       "default": "'toggle'",
       "description": "What a tap, Enter or Space on the drag handle does, the single-pointer alternative to dragging it: `toggle` (default) switches between one and two panes; `cycle` steps through the snap widths and then collapses the secondary pane."
      },
      {
       "name": "layout",
       "type": {
        "text": "PaneScaffoldLayout"
       },
       "fieldName": "layout",
       "default": "'list-detail'",
       "description": "The canonical layout."
      },
      {
       "name": "levitate",
       "type": {
        "text": "PaneLevitate"
       },
       "fieldName": "levitate",
       "default": "'none'",
       "description": "The levitate strategy for the secondary pane of supporting pane and feed layouts in windows too small for two panes: `none` reflows it below the primary pane, `floating` floats it above, `docked` docks it to the bottom edge at compact (floating from medium)."
      },
      {
       "name": "levitate-coplanar",
       "type": {
        "text": "boolean"
       },
       "fieldName": "levitateCoplanar",
       "default": "false",
       "description": "Keeps a levitated pane co-planar at large and extra-large windows. By default it floats there (spec: scaffold, \"On large screens: floating panes are the default\")."
      },
      {
       "name": "levitate-draggable",
       "type": {
        "text": "boolean"
       },
       "fieldName": "levitateDraggable",
       "default": "false",
       "description": "Lets a floating pane be dragged by its handle, or moved with the arrow keys while the handle is focused (spec: scaffold, floating panes \"can be customized to be dragged or resized\")."
      },
      {
       "name": "levitate-label",
       "type": {
        "text": "string"
       },
       "fieldName": "levitateLabel",
       "default": "''",
       "description": "Accessible label of a modal levitated pane (its dialog role)."
      },
      {
       "name": "levitate-modal",
       "type": {
        "text": "boolean"
       },
       "fieldName": "levitateModal",
       "default": "false",
       "description": "Whether the levitated secondary pane is modal (scrim, inert panes)."
      },
      {
       "name": "levitate-move-label",
       "type": {
        "text": "string"
       },
       "fieldName": "levitateMoveLabel",
       "default": "'Move pane'",
       "description": "Accessible label of the floating pane's move handle."
      },
      {
       "name": "levitate-open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "levitateOpen",
       "default": "false",
       "description": "Whether the levitated secondary pane is shown."
      },
      {
       "name": "levitate-resizable",
       "type": {
        "text": "boolean"
       },
       "fieldName": "levitateResizable",
       "default": "false",
       "description": "Lets a floating pane be resized by its corner handle, or with the arrow keys while the handle is focused."
      },
      {
       "name": "levitate-resize-label",
       "type": {
        "text": "string"
       },
       "fieldName": "levitateResizeLabel",
       "default": "'Resize pane'",
       "description": "Accessible label of the floating pane's resize handle."
      },
      {
       "name": "medium-two-pane",
       "type": {
        "text": "boolean"
       },
       "fieldName": "mediumTwoPane",
       "default": "false",
       "description": "Whether medium windows show two panes (50% each) instead of one. The spec limits this to low-density content such as settings."
      },
      {
       "name": "pane-width",
       "type": {
        "text": "number"
       },
       "fieldName": "paneWidth",
       "default": "null",
       "description": "Width in px of the secondary pane set with the drag handle, or null for the default width. Set it to restore a persisted width."
      },
      {
       "name": "resizable",
       "type": {
        "text": "boolean"
       },
       "fieldName": "resizable",
       "default": "false",
       "description": "Whether two-pane layouts render a drag handle to resize the panes."
      },
      {
       "name": "resize-behavior",
       "type": {
        "text": "PaneResizeBehavior"
       },
       "fieldName": "resizeBehavior",
       "default": "undefined",
       "description": "`persistent` keeps a resized width or collapsed pane across window size class changes; `temporary` returns to the default layout. Defaults to persistent for list-detail and temporary for the other layouts."
      },
      {
       "name": "scroll-label",
       "type": {
        "text": "string"
       },
       "fieldName": "scrollLabel",
       "default": "'Panes'",
       "description": "Accessible label of the stacked panes' scroll region. Only used while the stacked panes overflow and hold nothing focusable: the region is then focusable (so the keyboard can scroll it) and a labelled `region`."
      },
      {
       "name": "secondary-position",
       "type": {
        "text": "PanePosition"
       },
       "fieldName": "secondaryPosition",
       "default": "undefined",
       "description": "Where the secondary pane sits in two-pane layouts. Defaults to `start` for list-detail and `end` for supporting pane and feed layouts. Mirrors in right-to-left."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "arrangement",
       "type": {
        "text": "PaneArrangement"
       },
       "privacy": "public",
       "default": "'fixed-flexible'",
       "description": "How two panes share the width.",
       "attribute": "arrangement",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "collapsedPane",
       "type": {
        "text": "\"primary\" | \"secondary\""
       },
       "privacy": "public",
       "default": "null",
       "description": "A pane collapsed with the drag handle, or null.",
       "attribute": "collapsed-pane",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "detailOpen",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "List-detail: whether an item is selected. Single-pane windows show the detail (primary) pane when true and the list (secondary) pane when false; two-pane windows show the `placeholder` slot instead of the detail while false.",
       "attribute": "detail-open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "dragHandleLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Resize panes'",
       "description": "Accessible label of the drag handle.",
       "attribute": "drag-handle-label"
      },
      {
       "kind": "field",
       "name": "handleTap",
       "type": {
        "text": "PaneHandleTap"
       },
       "privacy": "public",
       "default": "'toggle'",
       "description": "What a tap, Enter or Space on the drag handle does, the single-pointer alternative to dragging it: `toggle` (default) switches between one and two panes; `cycle` steps through the snap widths and then collapses the secondary pane.",
       "attribute": "handle-tap"
      },
      {
       "kind": "field",
       "name": "layout",
       "type": {
        "text": "PaneScaffoldLayout"
       },
       "privacy": "public",
       "default": "'list-detail'",
       "description": "The canonical layout.",
       "attribute": "layout",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "levitate",
       "type": {
        "text": "PaneLevitate"
       },
       "privacy": "public",
       "default": "'none'",
       "description": "The levitate strategy for the secondary pane of supporting pane and feed layouts in windows too small for two panes: `none` reflows it below the primary pane, `floating` floats it above, `docked` docks it to the bottom edge at compact (floating from medium).",
       "attribute": "levitate",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "levitateCoplanar",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Keeps a levitated pane co-planar at large and extra-large windows. By default it floats there (spec: scaffold, \"On large screens: floating panes are the default\").",
       "attribute": "levitate-coplanar",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "levitateDraggable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Lets a floating pane be dragged by its handle, or moved with the arrow keys while the handle is focused (spec: scaffold, floating panes \"can be customized to be dragged or resized\").",
       "attribute": "levitate-draggable",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "levitateLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Accessible label of a modal levitated pane (its dialog role).",
       "attribute": "levitate-label"
      },
      {
       "kind": "field",
       "name": "levitateModal",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the levitated secondary pane is modal (scrim, inert panes).",
       "attribute": "levitate-modal",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "levitateMoveLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Move pane'",
       "description": "Accessible label of the floating pane's move handle.",
       "attribute": "levitate-move-label"
      },
      {
       "kind": "field",
       "name": "levitateOpen",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the levitated secondary pane is shown.",
       "attribute": "levitate-open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "levitateResizable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Lets a floating pane be resized by its corner handle, or with the arrow keys while the handle is focused.",
       "attribute": "levitate-resizable",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "levitateResizeLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Resize pane'",
       "description": "Accessible label of the floating pane's resize handle.",
       "attribute": "levitate-resize-label"
      },
      {
       "kind": "field",
       "name": "mediumTwoPane",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether medium windows show two panes (50% each) instead of one. The spec limits this to low-density content such as settings.",
       "attribute": "medium-two-pane",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "paneWidth",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "null",
       "description": "Width in px of the secondary pane set with the drag handle, or null for the default width. Set it to restore a persisted width.",
       "attribute": "pane-width"
      },
      {
       "kind": "field",
       "name": "resizable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether two-pane layouts render a drag handle to resize the panes.",
       "attribute": "resizable",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "resizeBehavior",
       "type": {
        "text": "PaneResizeBehavior"
       },
       "privacy": "public",
       "default": "undefined",
       "description": "`persistent` keeps a resized width or collapsed pane across window size class changes; `temporary` returns to the default layout. Defaults to persistent for list-detail and temporary for the other layouts.",
       "attribute": "resize-behavior"
      },
      {
       "kind": "field",
       "name": "scrollLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Panes'",
       "description": "Accessible label of the stacked panes' scroll region. Only used while the stacked panes overflow and hold nothing focusable: the region is then focusable (so the keyboard can scroll it) and a labelled `region`.",
       "attribute": "scroll-label"
      },
      {
       "kind": "field",
       "name": "secondaryPosition",
       "type": {
        "text": "PanePosition"
       },
       "privacy": "public",
       "default": "undefined",
       "description": "Where the secondary pane sits in two-pane layouts. Defaults to `start` for list-detail and `end` for supporting pane and feed layouts. Mirrors in right-to-left.",
       "attribute": "secondary-position",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "closeDetail",
       "privacy": "public",
       "description": "List-detail: returns to the list (e.g. from the detail pane's back button in a single-pane window).",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "closeLevitated",
       "privacy": "public",
       "description": "Hides the levitated secondary pane.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "measureFold",
       "privacy": "public",
       "description": "Finds where the viewport's fold crosses the scaffold. Call it after moving the scaffold without resizing it.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "openDetail",
       "privacy": "public",
       "description": "List-detail: shows the detail pane (e.g. after selecting an item).",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "openLevitated",
       "privacy": "public",
       "description": "Shows the levitated secondary pane.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "resetPaneWidth",
       "privacy": "public",
       "description": "Returns the panes to their default widths.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "levitate-close",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the scaffold closes a levitated pane (Escape, or using something behind a modal pane). --bubbles --composed"
      },
      {
       "name": "pane-layout-change",
       "type": {
        "text": "CustomEvent<PaneLayoutChangeDetail>"
       },
       "description": "Fired when the visible panes change. --bubbles --composed"
      },
      {
       "name": "pane-resize",
       "type": {
        "text": "CustomEvent<PaneResizeDetail>"
       },
       "description": "Fired when the panes are resized or collapsed with the drag handle. --bubbles --composed"
      },
      {
       "name": "window-class-change",
       "type": {
        "text": "CustomEvent<WindowClassChangeDetail>"
       },
       "description": "Fired when the window size class changes. --bubbles --composed"
      },
      {
       "name": "window-height-class-change",
       "type": {
        "text": "CustomEvent<WindowHeightClassChangeDetail>"
       },
       "description": "Fired when the window height size class changes. --bubbles --composed"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The primary (flexible) pane: the detail pane of a list-detail layout, the focus pane of a supporting pane layout, or the feed items (laid out on a grid) of a feed layout."
      },
      {
       "name": "placeholder",
       "description": "Shown in the primary pane of a two-pane list-detail layout while `detail-open` is false (no item selected). Levitate (spec: scaffold, \"Levitate\"): with `levitate=\"floating\"` or `levitate=\"docked\"`, the secondary pane of a supporting pane or feed layout floats above the primary pane (or docks to the bottom edge at compact, like a bottom sheet) in windows too small for two co-planar panes, while `levitate-open` is set. `levitate-modal` makes it modal: a scrim covers the panes, the primary pane is inert, focus moves into the pane and back to the trigger, and the pane closes when something behind it is used or Escape is pressed. Modality is scoped to the scaffold; use `md-gb-dialog` or `md-gb-sheet` for app-wide modals. At large and extra-large windows a levitated pane keeps floating (spec: \"On large screens, floating panes are the default\"); the scrim is optional (`levitate-modal` adds it). `levitate-coplanar` opts into a co-planar pane there instead. `levitate-draggable` and `levitate-resizable` add a move handle and a resize corner to a floating pane: drag them, or focus them and use the arrow keys (Shift moves in larger steps). `levitate-change` fires after each move or resize. Foldables: the scaffold reads the fold (hinge) from the Viewport Segments API and keeps panes off it. A vertical fold splits two panes at the fold with the spacer on it (at least the spacer width); a horizontal fold (tabletop) stacks the supporting pane below it. The fold crossing the scaffold is reflected as the `fold` attribute (`vertical` or `horizontal`). Browsers without the API keep the regular layout."
      },
      {
       "name": "secondary",
       "description": "The secondary pane: the list of a list-detail layout or the supporting pane. It is the fixed pane in fixed-and-flexible arrangements."
      },
      {
       "name": "tertiary",
       "description": "An optional third pane (e.g. a standard side sheet), shown at extra-large only."
      }
     ],
     "cssParts": [
      {
       "name": "drag-handle",
       "description": "The drag handle."
      },
      {
       "name": "pane",
       "description": "Each pane."
      },
      {
       "name": "primary",
       "description": "The primary pane."
      },
      {
       "name": "scaffold",
       "description": "The flex container of the panes."
      },
      {
       "name": "scrim",
       "description": "The scrim behind a modal levitated pane."
      },
      {
       "name": "secondary",
       "description": "The secondary pane."
      },
      {
       "name": "spacer",
       "description": "The spacer between panes."
      },
      {
       "name": "tertiary",
       "description": "The tertiary pane."
      }
     ],
     "cssProperties": [
      {
       "name": "--feed-columns",
       "description": "Overrides the number of feed grid columns."
      },
      {
       "name": "--md-gb-scaffold-companion-inline-size",
       "description": "Width of a companion rail on the trailing side of the scaffold. Set by `md-gb-app-scaffold`."
      },
      {
       "name": "--md-gb-scaffold-nav-inline-size",
       "description": "Width of a navigation rail beside the scaffold, so split panes keep the spacer centered in the window. Set by `md-gb-app-scaffold`."
      },
      {
       "name": "--pane-container-color",
       "description": "Pane background (transparent: panes blend with the background, implicit grouping)."
      },
      {
       "name": "--pane-container-shape",
       "description": "Pane corner radius."
      },
      {
       "name": "--scrollbar-gutter",
       "description": "`stable` reserves the panes' scrollbar gutters, so a scrollbar that appears doesn't move their content (default `auto`: the spacer is centered on the pane edges)."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "PaneScaffoldElement",
     "declaration": {
      "name": "PaneScaffoldElement",
      "module": "labs/gb/components/scaffold/md-gb-pane-scaffold.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-pane-scaffold",
     "declaration": {
      "name": "PaneScaffoldElement",
      "module": "labs/gb/components/scaffold/md-gb-pane-scaffold.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/progress/md-gb-progress.js",
   "declarations": [
    {
     "kind": "class",
     "name": "ProgressElement",
     "tagName": "md-gb-progress",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "circular",
       "type": {
        "text": "boolean"
       },
       "fieldName": "circular",
       "default": "false",
       "description": "Whether the indicator is circular instead of linear."
      },
      {
       "name": "value",
       "type": {
        "text": "number"
       },
       "fieldName": "value",
       "description": "Progress from 0 to 1. When set, the indicator is determinate; when unset (the default), it is indeterminate."
      },
      {
       "name": "wavy",
       "type": {
        "text": "boolean"
       },
       "fieldName": "wavy",
       "default": "false",
       "description": "Whether the active indicator is wavy instead of flat (the default)."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "circular",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the indicator is circular instead of linear.",
       "attribute": "circular",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "description": "Progress from 0 to 1. When set, the indicator is determinate; when unset (the default), it is indeterminate.",
       "attribute": "value"
      },
      {
       "kind": "field",
       "name": "wavy",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the active indicator is wavy instead of flat (the default).",
       "attribute": "wavy",
       "reflects": true
      }
     ],
     "cssParts": [
      {
       "name": "indicator",
       "description": "The indicator container."
      }
     ],
     "cssProperties": [
      {
       "name": "--active-indicator-color"
      },
      {
       "name": "--active-indicator-thickness"
      },
      {
       "name": "--height",
       "description": "Linear only."
      },
      {
       "name": "--progress"
      },
      {
       "name": "--size",
       "description": "Circular only."
      },
      {
       "name": "--stop-indicator-color"
      },
      {
       "name": "--stop-indicator-shape"
      },
      {
       "name": "--stop-indicator-size"
      },
      {
       "name": "--stop-indicator-trailing-space"
      },
      {
       "name": "--track-active-indicator-space"
      },
      {
       "name": "--track-color"
      },
      {
       "name": "--track-shape"
      },
      {
       "name": "--track-thickness"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "ProgressElement",
     "declaration": {
      "name": "ProgressElement",
      "module": "labs/gb/components/progress/md-gb-progress.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-progress",
     "declaration": {
      "name": "ProgressElement",
      "module": "labs/gb/components/progress/md-gb-progress.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/pulltorefresh/md-gb-pull-to-refresh.js",
   "declarations": [
    {
     "kind": "class",
     "name": "PullToRefreshElement",
     "tagName": "md-gb-pull-to-refresh",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false",
       "description": "Whether pulling is turned off (Compose `enabled = false`)."
      },
      {
       "name": "indicator",
       "type": {
        "text": "PullToRefreshIndicator"
       },
       "fieldName": "indicator",
       "default": "'loading'",
       "description": "The indicator: `loading` (M3 Expressive contained loading indicator) or `circular` (circular arrow and progress indicator)."
      },
      {
       "name": "indicator-label",
       "type": {
        "text": "string"
       },
       "fieldName": "indicatorLabel",
       "default": "DEFAULT_LABEL",
       "description": "Accessible label of the indicator, e.g. \"Refreshing news\"."
      },
      {
       "name": "refreshing",
       "type": {
        "text": "boolean"
       },
       "fieldName": "refreshing",
       "default": "false",
       "description": "Whether content is refreshing. Set by a pull past the threshold (or `refresh()`); set it back to false once the content has refreshed."
      },
      {
       "name": "threshold",
       "type": {
        "text": "number"
       },
       "fieldName": "threshold",
       "default": "PULL_TO_REFRESH_THRESHOLD_PX",
       "description": "How far (px) the indicator must be pulled before releasing it refreshes (Compose `PullToRefreshDefaults.PositionalThreshold`, 80dp)."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether pulling is turned off (Compose `enabled = false`).",
       "attribute": "disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "indicator",
       "type": {
        "text": "PullToRefreshIndicator"
       },
       "privacy": "public",
       "default": "'loading'",
       "description": "The indicator: `loading` (M3 Expressive contained loading indicator) or `circular` (circular arrow and progress indicator).",
       "attribute": "indicator",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "indicatorLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "DEFAULT_LABEL",
       "description": "Accessible label of the indicator, e.g. \"Refreshing news\".",
       "attribute": "indicator-label"
      },
      {
       "kind": "field",
       "name": "refreshing",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether content is refreshing. Set by a pull past the threshold (or `refresh()`); set it back to false once the content has refreshed.",
       "attribute": "refreshing",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "threshold",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "PULL_TO_REFRESH_THRESHOLD_PX",
       "description": "How far (px) the indicator must be pulled before releasing it refreshes (Compose `PullToRefreshDefaults.PositionalThreshold`, 80dp).",
       "attribute": "threshold"
      },
      {
       "kind": "method",
       "name": "refresh",
       "privacy": "public",
       "description": "Starts a refresh without a gesture, e.g. from a refresh button: fires `refresh` and, unless it is cancelled, sets `refreshing`.",
       "return": {
        "type": {
         "text": "boolean"
        }
       }
      }
     ],
     "events": [
      {
       "name": "refresh",
       "type": {
        "text": "Event"
       },
       "description": "Fired when a pull (or `refresh()`) starts a refresh. Cancel it to keep `refreshing` false. --cancelable"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The scrolling content."
      }
     ],
     "cssParts": [
      {
       "name": "indicator",
       "description": "The indicator container."
      },
      {
       "name": "scroller",
       "description": "The element that scrolls the content."
      }
     ],
     "cssProperties": [
      {
       "name": "--indicator-color"
      },
      {
       "name": "--indicator-container-color"
      },
      {
       "name": "--indicator-container-height"
      },
      {
       "name": "--indicator-container-shape"
      },
      {
       "name": "--indicator-container-width"
      },
      {
       "name": "--indicator-elevation"
      },
      {
       "name": "--indicator-max-distance",
       "description": "How far the indicator moves below the top edge at the threshold."
      },
      {
       "name": "--motion-effects-duration"
      },
      {
       "name": "--motion-effects-easing"
      },
      {
       "name": "--motion-settle-duration"
      },
      {
       "name": "--motion-settle-easing"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "PullToRefreshElement",
     "declaration": {
      "name": "PullToRefreshElement",
      "module": "labs/gb/components/pulltorefresh/md-gb-pull-to-refresh.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-pull-to-refresh",
     "declaration": {
      "name": "PullToRefreshElement",
      "module": "labs/gb/components/pulltorefresh/md-gb-pull-to-refresh.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/radio/md-gb-radio.js",
   "declarations": [
    {
     "kind": "class",
     "name": "RadioElement",
     "tagName": "md-gb-radio",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "checked",
       "type": {
        "text": "boolean"
       },
       "fieldName": "checked",
       "description": "Whether or not the radio is selected."
      },
      {
       "name": "density",
       "type": {
        "text": "Density"
       },
       "fieldName": "density",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the radio's layout box (48px) and state layer (40px); the touch target stays 48px. Values are clamped to that range. radio-button.md: don't apply density by default; let people opt in to a denser layout."
      },
      {
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "fieldName": "required",
       "default": "false",
       "description": "Whether or not the radio is required. If any radio is required in a group, all radios are implicitly required."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "default": "'on'",
       "description": "The element value to use in form submission when checked."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "checked",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether or not the radio is selected.",
       "attribute": "checked"
      },
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "Density"
       },
       "privacy": "public",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the radio's layout box (48px) and state layer (40px); the touch target stays 48px. Values are clamped to that range. radio-button.md: don't apply density by default; let people opt in to a denser layout.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether or not the radio is required. If any radio is required in a group, all radios are implicitly required.",
       "attribute": "required"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'on'",
       "description": "The element value to use in form submission when checked.",
       "attribute": "value"
      },
      {
       "kind": "method",
       "name": "formDisabledCallback",
       "privacy": "public",
       "description": "A callback for when a form component should be disabled or enabled. This can be called in a variety of situations, such as disabled `<fieldset>`s.",
       "parameters": [
        {
         "name": "disabled",
         "type": {
          "text": "boolean"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formResetCallback",
       "privacy": "public",
       "description": "An optional callback for when the form requests to reset its value. Typically, the default value that is reset is represented in the attribute of an element. This means the attribute used for the value should not update as the value changes. For example, a checkbox should not change its default `checked` attribute when selected. Ensure form values do not reflect.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formStateRestoreCallback",
       "privacy": "public",
       "description": "An optional callback for when the form restores the state of a component. For example, when a page is reloaded or forms are autofilled.",
       "parameters": [
        {
         "name": "state",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the radio is checked (but not unchecked). --bubbles"
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "Fired when the radio is checked (but not unchecked). --bubbles --composed"
      }
     ],
     "cssParts": [
      {
       "name": "radio",
       "description": "The radio's root element."
      }
     ],
     "cssProperties": [
      {
       "name": "--density-step",
       "description": "Size removed per density step."
      },
      {
       "name": "--icon-color"
      },
      {
       "name": "--icon-size"
      },
      {
       "name": "--state-layer-color"
      },
      {
       "name": "--state-layer-shape"
      },
      {
       "name": "--state-layer-size",
       "description": "State layer size at density 0."
      },
      {
       "name": "--target-size",
       "description": "The minimum touch target size, kept at any density."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "RadioElement",
     "declaration": {
      "name": "RadioElement",
      "module": "labs/gb/components/radio/md-gb-radio.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-radio",
     "declaration": {
      "name": "RadioElement",
      "module": "labs/gb/components/radio/md-gb-radio.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/search/md-gb-search-bar.js",
   "declarations": [
    {
     "kind": "class",
     "name": "SearchBarElement",
     "tagName": "md-gb-search-bar",
     "customElement": true,
     "description": "A Material Design search bar.",
     "summary": "A Material Design search bar.",
     "attributes": [
      {
       "name": "back-label",
       "type": {
        "text": "string"
       },
       "fieldName": "backLabel",
       "default": "'Back'",
       "description": "Accessible label of the view's back button."
      },
      {
       "name": "clear-label",
       "type": {
        "text": "string"
       },
       "fieldName": "clearLabel",
       "default": "'Clear search'",
       "description": "Accessible label of the view's clear button."
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false",
       "description": "Whether the search bar is disabled."
      },
      {
       "name": "divided",
       "type": {
        "text": "boolean"
       },
       "fieldName": "divided",
       "default": "false",
       "description": "Uses the divided (baseline) view style."
      },
      {
       "name": "docked",
       "type": {
        "text": "boolean"
       },
       "fieldName": "docked",
       "default": "false",
       "description": "Opens the view docked below the bar, for medium and larger windows. Otherwise it opens full-screen."
      },
      {
       "name": "expanded",
       "type": {
        "text": "boolean"
       },
       "fieldName": "expanded",
       "description": "Whether the search view is open."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "Accessible label of the inputs. Defaults to `placeholder`, per the spec."
      },
      {
       "name": "placeholder",
       "type": {
        "text": "string"
       },
       "fieldName": "placeholder",
       "default": "''",
       "description": "Hinted search text, e.g. \"Search messages\"."
      },
      {
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "fieldName": "quick",
       "default": "false",
       "description": "Whether to skip the open and close animations."
      },
      {
       "name": "results-label",
       "type": {
        "text": "string"
       },
       "fieldName": "resultsLabel",
       "default": "'Search results'",
       "description": "Accessible label of the results listbox."
      },
      {
       "name": "searching",
       "type": {
        "text": "boolean"
       },
       "fieldName": "searching",
       "default": "false",
       "description": "Whether the app is searching: shows progress in the view."
      },
      {
       "name": "searching-label",
       "type": {
        "text": "string"
       },
       "fieldName": "searchingLabel",
       "default": "'Searching'",
       "description": "Accessible label of the searching progress indicator."
      },
      {
       "name": "suggestions-label",
       "type": {
        "text": "string"
       },
       "fieldName": "suggestionsLabel",
       "default": "'Suggestions available'",
       "description": "Announced when suggestions or results become available."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "default": "''",
       "description": "The search text. Shared with the view."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "backLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Back'",
       "description": "Accessible label of the view's back button.",
       "attribute": "back-label"
      },
      {
       "kind": "field",
       "name": "clearLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Clear search'",
       "description": "Accessible label of the view's clear button.",
       "attribute": "clear-label"
      },
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the search bar is disabled.",
       "attribute": "disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "divided",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Uses the divided (baseline) view style.",
       "attribute": "divided",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "docked",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Opens the view docked below the bar, for medium and larger windows. Otherwise it opens full-screen.",
       "attribute": "docked",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "expanded",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether the search view is open.",
       "attribute": "expanded",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Accessible label of the inputs. Defaults to `placeholder`, per the spec.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "placeholder",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Hinted search text, e.g. \"Search messages\".",
       "attribute": "placeholder"
      },
      {
       "kind": "field",
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to skip the open and close animations.",
       "attribute": "quick",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "resultsLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Search results'",
       "description": "Accessible label of the results listbox.",
       "attribute": "results-label"
      },
      {
       "kind": "field",
       "name": "searching",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the app is searching: shows progress in the view.",
       "attribute": "searching",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "searchingLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Searching'",
       "description": "Accessible label of the searching progress indicator.",
       "attribute": "searching-label"
      },
      {
       "kind": "field",
       "name": "suggestionsLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Suggestions available'",
       "description": "Announced when suggestions or results become available.",
       "attribute": "suggestions-label"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The search text. Shared with the view.",
       "attribute": "value"
      },
      {
       "kind": "method",
       "name": "close",
       "privacy": "public",
       "description": "Closes the search view.",
       "parameters": [
        {
         "name": "reason",
         "type": {
          "text": "string"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "focus",
       "privacy": "public",
       "description": "Focuses the search bar input.",
       "parameters": [
        {
         "name": "options",
         "type": {
          "text": "FocusOptions"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "render",
       "privacy": "public",
       "description": "Invoked on each update to perform rendering tasks. This method may return any value renderable by lit-html's `ChildPart` - typically a `TemplateResult`. Setting properties inside this method will *not* trigger the element to update.",
       "return": {
        "type": {
         "text": "TemplateResult<1>"
        }
       }
      },
      {
       "kind": "method",
       "name": "show",
       "privacy": "public",
       "description": "Opens the search view.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the search text is committed."
      },
      {
       "name": "close",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired when the view begins closing. Cancelable."
      },
      {
       "name": "closed",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired when the view has closed."
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "Fired when the search text changes."
      },
      {
       "name": "open",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the view begins opening. Cancelable."
      },
      {
       "name": "opened",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the view has opened and animations finished."
      },
      {
       "name": "search",
       "type": {
        "text": "CustomEvent<{value: string}>"
       },
       "description": "Fired when a search is executed with Enter in the view."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Search suggestions or results, shown in the view. Use elements with `role=\"option\"`; slotted elements without a role get it."
      },
      {
       "name": "avatar",
       "description": "A trailing avatar image."
      },
      {
       "name": "leading",
       "description": "A navigation icon button. Defaults to a non-functional search icon."
      },
      {
       "name": "trailing",
       "description": "Up to two trailing icons or icon buttons."
      },
      {
       "name": "view-trailing",
       "description": "Trailing icon buttons in the view's header."
      }
     ],
     "cssParts": [
      {
       "name": "bar",
       "description": "The search bar container."
      },
      {
       "name": "input",
       "description": "The search bar input."
      },
      {
       "name": "view",
       "description": "The `md-gb-search-view`."
      }
     ],
     "cssProperties": [
      {
       "name": "--avatar-shape",
       "description": "Avatar shape."
      },
      {
       "name": "--avatar-size",
       "description": "Avatar size."
      },
      {
       "name": "--contained-avatar-target-size",
       "description": "Avatar tap target size."
      },
      {
       "name": "--contained-icon-label-gap",
       "description": "Space between the icon targets and the input."
      },
      {
       "name": "--contained-leading-margin",
       "description": "Recommended margin to the start of the window."
      },
      {
       "name": "--contained-leading-space",
       "description": "Space before the leading icon target."
      },
      {
       "name": "--contained-motion-duration",
       "description": "Expand and collapse duration."
      },
      {
       "name": "--contained-motion-spring",
       "description": "Expand and collapse easing."
      },
      {
       "name": "--contained-no-actions-leading-space",
       "description": "Leading space without a leading icon."
      },
      {
       "name": "--contained-no-actions-trailing-space",
       "description": "Trailing space without trailing icons."
      },
      {
       "name": "--contained-trailing-actions-gap",
       "description": "Gap between trailing icon targets."
      },
      {
       "name": "--contained-trailing-actions-leading-space",
       "description": "Space before the trailing icon targets."
      },
      {
       "name": "--contained-trailing-actions-trailing-space",
       "description": "Space after the trailing icon targets."
      },
      {
       "name": "--contained-trailing-margin",
       "description": "Recommended margin to the end of the window."
      },
      {
       "name": "--contained-trailing-space",
       "description": "Trailing space."
      },
      {
       "name": "--container-color",
       "description": "Container color."
      },
      {
       "name": "--container-height",
       "description": "Container height."
      },
      {
       "name": "--container-shape",
       "description": "Container shape."
      },
      {
       "name": "--icon-size",
       "description": "Icon size."
      },
      {
       "name": "--icon-target-size",
       "description": "Icon tap target size."
      },
      {
       "name": "--input-text",
       "description": "Input typography."
      },
      {
       "name": "--input-text-axes",
       "description": "Input font variation settings."
      },
      {
       "name": "--input-text-color",
       "description": "Input text color."
      },
      {
       "name": "--input-text-tracking",
       "description": "Input letter spacing."
      },
      {
       "name": "--leading-icon-color",
       "description": "Leading icon color."
      },
      {
       "name": "--leading-icon-leading-icon-label-space",
       "description": "Divided style space between the leading icon and input."
      },
      {
       "name": "--leading-space",
       "description": "Divided style leading space."
      },
      {
       "name": "--max-width",
       "description": "Maximum width."
      },
      {
       "name": "--min-width",
       "description": "Minimum width."
      },
      {
       "name": "--supporting-text",
       "description": "Placeholder typography."
      },
      {
       "name": "--supporting-text-axes",
       "description": "Placeholder font variation settings."
      },
      {
       "name": "--supporting-text-color",
       "description": "Placeholder color."
      },
      {
       "name": "--supporting-text-tracking",
       "description": "Placeholder letter spacing."
      },
      {
       "name": "--trailing-icon-color",
       "description": "Trailing icon color."
      },
      {
       "name": "--trailing-icon-label-trailing-icon-space",
       "description": "Divided style space between the input and trailing icon."
      },
      {
       "name": "--trailing-space",
       "description": "Divided style trailing space."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "SearchBarElement",
     "declaration": {
      "name": "SearchBarElement",
      "module": "labs/gb/components/search/md-gb-search-bar.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-search-bar",
     "declaration": {
      "name": "SearchBarElement",
      "module": "labs/gb/components/search/md-gb-search-bar.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/search/md-gb-search-view.js",
   "declarations": [
    {
     "kind": "class",
     "name": "SearchViewElement",
     "tagName": "md-gb-search-view",
     "customElement": true,
     "description": "Focused search: suggestions or results opened from a search bar.",
     "summary": "Focused search: suggestions or results opened from a search bar.",
     "attributes": [
      {
       "name": "back-label",
       "type": {
        "text": "string"
       },
       "fieldName": "backLabel",
       "default": "'Back'",
       "description": "Accessible label of the back button."
      },
      {
       "name": "clear-label",
       "type": {
        "text": "string"
       },
       "fieldName": "clearLabel",
       "default": "'Clear search'",
       "description": "Accessible label of the clear button."
      },
      {
       "name": "divided",
       "type": {
        "text": "boolean"
       },
       "fieldName": "divided",
       "default": "false",
       "description": "Divided (baseline) style, with a divider between the header and results. Otherwise the view uses the contained M3 Expressive style."
      },
      {
       "name": "docked",
       "type": {
        "text": "boolean"
       },
       "fieldName": "docked",
       "default": "false",
       "description": "Docked layout: a drop-down below the search bar over a scrim. Otherwise the view is full-screen."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "Accessible label of the input and dialog. Defaults to `placeholder`."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "open",
       "description": "Whether the view is open."
      },
      {
       "name": "placeholder",
       "type": {
        "text": "string"
       },
       "fieldName": "placeholder",
       "default": "''",
       "description": "Hinted search text."
      },
      {
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "fieldName": "quick",
       "default": "false",
       "description": "Whether to skip the open and close animations."
      },
      {
       "name": "results-label",
       "type": {
        "text": "string"
       },
       "fieldName": "resultsLabel",
       "default": "'Search results'",
       "description": "Accessible label of the results listbox."
      },
      {
       "name": "searching",
       "type": {
        "text": "boolean"
       },
       "fieldName": "searching",
       "default": "false",
       "description": "Whether the app is searching: shows a progress indicator under the header and marks the results busy for assistive technology."
      },
      {
       "name": "searching-label",
       "type": {
        "text": "string"
       },
       "fieldName": "searchingLabel",
       "default": "'Searching'",
       "description": "Accessible label of the searching progress indicator."
      },
      {
       "name": "suggestions-label",
       "type": {
        "text": "string"
       },
       "fieldName": "suggestionsLabel",
       "default": "'Suggestions available'",
       "description": "Announced when suggestions or results become available."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "default": "''",
       "description": "The search text."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "backLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Back'",
       "description": "Accessible label of the back button.",
       "attribute": "back-label"
      },
      {
       "kind": "field",
       "name": "bar",
       "type": {
        "text": "HTMLElement"
       },
       "privacy": "public",
       "default": "null",
       "description": "The search bar the view expands from. Docked, the view is positioned over it."
      },
      {
       "kind": "field",
       "name": "clearLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Clear search'",
       "description": "Accessible label of the clear button.",
       "attribute": "clear-label"
      },
      {
       "kind": "field",
       "name": "divided",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Divided (baseline) style, with a divider between the header and results. Otherwise the view uses the contained M3 Expressive style.",
       "attribute": "divided",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "docked",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Docked layout: a drop-down below the search bar over a scrim. Otherwise the view is full-screen.",
       "attribute": "docked",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Accessible label of the input and dialog. Defaults to `placeholder`.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether the view is open.",
       "attribute": "open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "placeholder",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Hinted search text.",
       "attribute": "placeholder"
      },
      {
       "kind": "field",
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to skip the open and close animations.",
       "attribute": "quick",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "resultsLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Search results'",
       "description": "Accessible label of the results listbox.",
       "attribute": "results-label"
      },
      {
       "kind": "field",
       "name": "searching",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the app is searching: shows a progress indicator under the header and marks the results busy for assistive technology.",
       "attribute": "searching",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "searchingLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Searching'",
       "description": "Accessible label of the searching progress indicator.",
       "attribute": "searching-label"
      },
      {
       "kind": "field",
       "name": "suggestionsLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Suggestions available'",
       "description": "Announced when suggestions or results become available.",
       "attribute": "suggestions-label"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The search text.",
       "attribute": "value"
      },
      {
       "kind": "method",
       "name": "clear",
       "privacy": "public",
       "description": "Clears the search text and focuses the input.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "close",
       "privacy": "public",
       "description": "Closes the view.",
       "parameters": [
        {
         "name": "reason",
         "type": {
          "text": "string"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "focus",
       "privacy": "public",
       "description": "Focuses the search input.",
       "parameters": [
        {
         "name": "options",
         "type": {
          "text": "FocusOptions"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "handleBack",
       "privacy": "public",
       "description": "Handles a back request (the Android back gesture or button, which the view receives through its dialog): a full-screen view plays the predictive back motion, then the view closes with reason `back`. Call it for an in-app back control that should behave like the system back.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "render",
       "privacy": "public",
       "description": "Invoked on each update to perform rendering tasks. This method may return any value renderable by lit-html's `ChildPart` - typically a `TemplateResult`. Setting properties inside this method will *not* trigger the element to update.",
       "return": {
        "type": {
         "text": "TemplateResult<1>"
        }
       }
      },
      {
       "kind": "method",
       "name": "show",
       "privacy": "public",
       "description": "Opens the view.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the input text is committed."
      },
      {
       "name": "close",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired when the view begins closing. Cancelable. See `SEARCH_CLOSE_REASONS`."
      },
      {
       "name": "closed",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired when the view has closed."
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "Fired when the input text changes."
      },
      {
       "name": "open",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the view begins opening. Cancelable."
      },
      {
       "name": "opened",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the view has opened and animations finished."
      },
      {
       "name": "search",
       "type": {
        "text": "CustomEvent<{value: string}>"
       },
       "description": "Fired when a search is executed with Enter."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Search suggestions or results."
      },
      {
       "name": "leading",
       "description": "Replaces the back icon button."
      },
      {
       "name": "trailing",
       "description": "Trailing icons or icon buttons, after the clear button."
      }
     ],
     "cssParts": [
      {
       "name": "container",
       "description": "The view's container."
      },
      {
       "name": "dialog",
       "description": "The modal `<dialog>`."
      },
      {
       "name": "divider",
       "description": "The divider of the divided style."
      },
      {
       "name": "header",
       "description": "The header with the input."
      },
      {
       "name": "input",
       "description": "The search input."
      },
      {
       "name": "results",
       "description": "The `role=\"listbox\"` results container."
      }
     ],
     "cssProperties": [
      {
       "name": "--bar-container-height",
       "description": "Contained full-screen bar height."
      },
      {
       "name": "--bar-results-gap",
       "description": "Contained docked gap between the bar and results."
      },
      {
       "name": "--bar-shape",
       "description": "Contained bar shape."
      },
      {
       "name": "--contained-background-color",
       "description": "Contained full-screen background color."
      },
      {
       "name": "--contained-icon-label-gap",
       "description": "Space between the icon targets and the input."
      },
      {
       "name": "--contained-leading-margin",
       "description": "Contained full-screen bar leading margin."
      },
      {
       "name": "--contained-motion-duration",
       "description": "Contained expand and collapse duration."
      },
      {
       "name": "--contained-motion-spring",
       "description": "Contained expand and collapse easing."
      },
      {
       "name": "--contained-trailing-margin",
       "description": "Contained full-screen bar trailing margin."
      },
      {
       "name": "--container-color",
       "description": "Container color."
      },
      {
       "name": "--container-shape",
       "description": "Container shape."
      },
      {
       "name": "--content-fade-in-delay",
       "description": "Results fade in delay."
      },
      {
       "name": "--content-fade-in-duration",
       "description": "Results fade in duration."
      },
      {
       "name": "--content-fade-in-easing",
       "description": "Results fade in easing."
      },
      {
       "name": "--content-fade-out-duration",
       "description": "Results fade out duration."
      },
      {
       "name": "--content-fade-out-easing",
       "description": "Results fade out easing."
      },
      {
       "name": "--divided-collapse-motion-duration",
       "description": "Divided collapse duration."
      },
      {
       "name": "--divided-collapse-motion-spring",
       "description": "Divided collapse easing."
      },
      {
       "name": "--divided-expand-motion-duration",
       "description": "Divided expand duration."
      },
      {
       "name": "--divided-expand-motion-spring",
       "description": "Divided expand easing."
      },
      {
       "name": "--divider-color",
       "description": "Divided style divider color."
      },
      {
       "name": "--header-container-height",
       "description": "Header height."
      },
      {
       "name": "--header-input-text",
       "description": "Input typography."
      },
      {
       "name": "--header-input-text-axes",
       "description": "Input font variation settings."
      },
      {
       "name": "--header-input-text-color",
       "description": "Input text color."
      },
      {
       "name": "--header-input-text-tracking",
       "description": "Input letter spacing."
      },
      {
       "name": "--header-leading-icon-color",
       "description": "Back icon color."
      },
      {
       "name": "--header-supporting-text",
       "description": "Placeholder typography."
      },
      {
       "name": "--header-supporting-text-axes",
       "description": "Placeholder font variation settings."
      },
      {
       "name": "--header-supporting-text-color",
       "description": "Placeholder color."
      },
      {
       "name": "--header-supporting-text-tracking",
       "description": "Placeholder letter spacing."
      },
      {
       "name": "--header-trailing-icon-color",
       "description": "Trailing icon color."
      },
      {
       "name": "--icon-size",
       "description": "Icon size."
      },
      {
       "name": "--icon-target-size",
       "description": "Icon tap target size."
      },
      {
       "name": "--leading-space",
       "description": "Space before the leading icon."
      },
      {
       "name": "--max-height",
       "description": "Docked maximum height."
      },
      {
       "name": "--max-width",
       "description": "Docked maximum width."
      },
      {
       "name": "--min-height",
       "description": "Docked minimum height."
      },
      {
       "name": "--min-width",
       "description": "Docked minimum width."
      },
      {
       "name": "--results-shape",
       "description": "Contained docked results shape."
      },
      {
       "name": "--scrim-color",
       "description": "Docked scrim color."
      },
      {
       "name": "--trailing-space",
       "description": "Space after the trailing icon."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "SearchViewElement",
     "declaration": {
      "name": "SearchViewElement",
      "module": "labs/gb/components/search/md-gb-search-view.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-search-view",
     "declaration": {
      "name": "SearchViewElement",
      "module": "labs/gb/components/search/md-gb-search-view.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/segmentedbutton/md-gb-segmented-button.js",
   "declarations": [
    {
     "kind": "class",
     "name": "SegmentedButtonElement",
     "tagName": "md-gb-segmented-button",
     "customElement": true,
     "description": "One segment of a Material Design segmented button set.",
     "summary": "One segment of a Material Design segmented button set.",
     "attributes": [
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false",
       "description": "Whether the segment is disabled."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "Label text, rendered before the default slot's content."
      },
      {
       "name": "no-checkmark",
       "type": {
        "text": "boolean"
       },
       "fieldName": "noCheckmark",
       "default": "false",
       "description": "Whether to hide the checkmark that shows when selected."
      },
      {
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selected",
       "default": "false",
       "description": "Whether the segment is selected."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "default": "''",
       "description": "The value submitted with the set's form when selected."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the segment is disabled.",
       "attribute": "disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "focusable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "true",
       "description": "Whether the segment is the set's tab stop (roving `tabindex`). Set by `md-gb-segmented-button-set`."
      },
      {
       "kind": "field",
       "name": "groupDisabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the parent set is disabled. Set by `md-gb-segmented-button-set`."
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Label text, rendered before the default slot's content.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "mode",
       "type": {
        "text": "SegmentedButtonMode"
       },
       "privacy": "public",
       "default": "'single'",
       "description": "The selection mode of the parent set: `radio` semantics for `single`, `checkbox` for `multiple`. Set by `md-gb-segmented-button-set`."
      },
      {
       "kind": "field",
       "name": "noCheckmark",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to hide the checkmark that shows when selected.",
       "attribute": "no-checkmark"
      },
      {
       "kind": "field",
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the segment is selected.",
       "attribute": "selected",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The value submitted with the set's form when selected.",
       "attribute": "value"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The label text."
      },
      {
       "name": "icon",
       "description": "An optional leading icon, such as `<md-gb-icon>`."
      }
     ],
     "cssParts": [
      {
       "name": "button",
       "description": "The segment's `<button>`."
      }
     ],
     "cssProperties": [
      {
       "name": "--container-height",
       "description": "Segment height at density 0."
      },
      {
       "name": "--container-shape",
       "description": "Outer corner radius of the first and last segments."
      },
      {
       "name": "--density-step",
       "description": "Height removed per density step."
      },
      {
       "name": "--icon-label-space",
       "description": "Space between the icon and the label."
      },
      {
       "name": "--icon-size",
       "description": "Icon and checkmark size."
      },
      {
       "name": "--label-text",
       "description": "Label typography."
      },
      {
       "name": "--label-text-axes",
       "description": "Label font variation settings."
      },
      {
       "name": "--label-text-tracking",
       "description": "Label letter spacing."
      },
      {
       "name": "--leading-space",
       "description": "Padding before the content."
      },
      {
       "name": "--min-width",
       "description": "Minimum segment width."
      },
      {
       "name": "--outline-color",
       "description": "Outline color."
      },
      {
       "name": "--outline-width",
       "description": "Outline width."
      },
      {
       "name": "--target-size",
       "description": "Minimum touch target height."
      },
      {
       "name": "--trailing-space",
       "description": "Padding after the content."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "SegmentedButtonElement",
     "declaration": {
      "name": "SegmentedButtonElement",
      "module": "labs/gb/components/segmentedbutton/md-gb-segmented-button.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-segmented-button",
     "declaration": {
      "name": "SegmentedButtonElement",
      "module": "labs/gb/components/segmentedbutton/md-gb-segmented-button.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/segmentedbutton/md-gb-segmented-button-set.js",
   "declarations": [
    {
     "kind": "class",
     "name": "SegmentedButtonSetElement",
     "tagName": "md-gb-segmented-button-set",
     "customElement": true,
     "description": "A Material Design segmented button set.",
     "summary": "A Material Design segmented button set.",
     "attributes": [
      {
       "name": "density",
       "type": {
        "text": "SegmentedButtonDensity"
       },
       "fieldName": "density",
       "description": "The density, from 0 (default, 40px) to -3. Each step down removes 4px from the height. Values are clamped to that range."
      },
      {
       "name": "multiselect",
       "type": {
        "text": "boolean"
       },
       "fieldName": "multiselect",
       "default": "false",
       "description": "Whether more than one segment can be selected."
      },
      {
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "fieldName": "required",
       "default": "false",
       "description": "In single-select mode, whether a segment must stay selected: the selected segment can't be unselected."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "SegmentedButtonDensity"
       },
       "privacy": "public",
       "description": "The density, from 0 (default, 40px) to -3. Each step down removes 4px from the height. Values are clamped to that range.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "multiselect",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether more than one segment can be selected.",
       "attribute": "multiselect",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "In single-select mode, whether a segment must stay selected: the selected segment can't be unselected.",
       "attribute": "required",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "formDisabledCallback",
       "privacy": "public",
       "description": "A callback for when a form component should be disabled or enabled. This can be called in a variety of situations, such as disabled `<fieldset>`s.",
       "parameters": [
        {
         "name": "disabled",
         "type": {
          "text": "boolean"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formResetCallback",
       "privacy": "public",
       "description": "An optional callback for when the form requests to reset its value. Typically, the default value that is reset is represented in the attribute of an element. This means the attribute used for the value should not update as the value changes. For example, a checkbox should not change its default `checked` attribute when selected. Ensure form values do not reflect.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formStateRestoreCallback",
       "privacy": "public",
       "description": "An optional callback for when the form restores the state of a component. For example, when a page is reloaded or forms are autofilled.",
       "parameters": [
        {
         "name": "state",
         "type": {
          "text": "FormRestoreState"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the user changes the selection. --bubbles"
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "Fired when the user changes the selection. --bubbles --composed"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The `md-gb-segmented-button` segments."
      }
     ],
     "cssProperties": [
      {
       "name": "--container-height",
       "description": "Segment height at density 0."
      },
      {
       "name": "--container-shape",
       "description": "Outer corner radius of the first and last segments."
      },
      {
       "name": "--density-step",
       "description": "Height removed per density step."
      },
      {
       "name": "--icon-label-space",
       "description": "Space between the icon and the label."
      },
      {
       "name": "--icon-size",
       "description": "Icon and checkmark size."
      },
      {
       "name": "--label-text",
       "description": "Label typography."
      },
      {
       "name": "--label-text-axes",
       "description": "Label font variation settings."
      },
      {
       "name": "--label-text-tracking",
       "description": "Label letter spacing."
      },
      {
       "name": "--leading-space",
       "description": "Padding before each segment's content."
      },
      {
       "name": "--min-width",
       "description": "Minimum segment width."
      },
      {
       "name": "--outline-color",
       "description": "Outline color."
      },
      {
       "name": "--outline-width",
       "description": "Outline width."
      },
      {
       "name": "--target-size",
       "description": "Minimum touch target height."
      },
      {
       "name": "--trailing-space",
       "description": "Padding after each segment's content."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "SegmentedButtonSetElement",
     "declaration": {
      "name": "SegmentedButtonSetElement",
      "module": "labs/gb/components/segmentedbutton/md-gb-segmented-button-set.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-segmented-button-set",
     "declaration": {
      "name": "SegmentedButtonSetElement",
      "module": "labs/gb/components/segmentedbutton/md-gb-segmented-button-set.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/select/md-gb-select.js",
   "declarations": [
    {
     "kind": "class",
     "name": "SelectElement",
     "tagName": "md-gb-select",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "superclass": {
      "name": "SelectBase",
      "module": "/labs/gb/components/select/select-base.js"
     },
     "attributes": [
      {
       "name": "display-text",
       "type": {
        "text": "string"
       },
       "fieldName": "displayText",
       "description": "The text shown in the field. Defaults to the selected option's `displayText`; set it for SSR."
      },
      {
       "name": "error",
       "type": {
        "text": "boolean"
       },
       "fieldName": "error",
       "default": "false",
       "description": "Whether the field is in a visually invalid state. Overrides the error state set by `reportValidity()`."
      },
      {
       "name": "error-text",
       "type": {
        "text": "string"
       },
       "fieldName": "errorText",
       "default": "''",
       "description": "The message that replaces the supporting text while `error` is true. Overrides the message shown by `reportValidity()`."
      },
      {
       "name": "has-leading-icon",
       "type": {
        "text": "boolean"
       },
       "fieldName": "hasLeadingIcon",
       "default": "false",
       "description": "Whether a leading icon is slotted. Set it for SSR."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "The floating label; also the field's accessible name."
      },
      {
       "name": "no-asterisk",
       "type": {
        "text": "boolean"
       },
       "fieldName": "noAsterisk",
       "default": "false",
       "description": "Hides the asterisk added to the label of a required field."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "open",
       "default": "false",
       "description": "Whether the menu is open."
      },
      {
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "fieldName": "required",
       "default": "false",
       "description": "Whether a value is required. Adds an asterisk to the label."
      },
      {
       "name": "selected-index",
       "type": {
        "text": "number"
       },
       "fieldName": "selectedIndex",
       "description": "The index of the selected option, or -1."
      },
      {
       "name": "supporting-text",
       "type": {
        "text": "string"
       },
       "fieldName": "supportingText",
       "default": "''",
       "description": "Additional information shown below the field."
      },
      {
       "name": "typeahead-delay",
       "type": {
        "text": "number"
       },
       "fieldName": "typeaheadDelay",
       "default": "DEFAULT_TYPEAHEAD_DELAY",
       "description": "The longest time between typeahead keystrokes, in milliseconds."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "description": "The value of the selected option, or `''`. Setting it selects the first option with that value (or none)."
      },
      {
       "name": "variant",
       "type": {
        "text": "TextFieldVariant"
       },
       "fieldName": "variant",
       "default": "'filled'",
       "description": "The variant: `filled` (default) or `outlined`."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "displayText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "description": "The text shown in the field. Defaults to the selected option's `displayText`; set it for SSR.",
       "attribute": "display-text"
      },
      {
       "kind": "field",
       "name": "error",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the field is in a visually invalid state. Overrides the error state set by `reportValidity()`.",
       "attribute": "error",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "errorText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The message that replaces the supporting text while `error` is true. Overrides the message shown by `reportValidity()`.",
       "attribute": "error-text"
      },
      {
       "kind": "field",
       "name": "hasLeadingIcon",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether a leading icon is slotted. Set it for SSR.",
       "attribute": "has-leading-icon"
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The floating label; also the field's accessible name.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "noAsterisk",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Hides the asterisk added to the label of a required field.",
       "attribute": "no-asterisk"
      },
      {
       "kind": "field",
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the menu is open.",
       "attribute": "open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether a value is required. Adds an asterisk to the label.",
       "attribute": "required",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "selectedIndex",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "description": "The index of the selected option, or -1.",
       "attribute": "selected-index"
      },
      {
       "kind": "field",
       "name": "supportingText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Additional information shown below the field.",
       "attribute": "supporting-text"
      },
      {
       "kind": "field",
       "name": "typeaheadDelay",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "DEFAULT_TYPEAHEAD_DELAY",
       "description": "The longest time between typeahead keystrokes, in milliseconds.",
       "attribute": "typeahead-delay"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "description": "The value of the selected option, or `''`. Setting it selects the first option with that value (or none).",
       "attribute": "value"
      },
      {
       "kind": "field",
       "name": "variant",
       "type": {
        "text": "TextFieldVariant"
       },
       "privacy": "public",
       "default": "'filled'",
       "description": "The variant: `filled` (default) or `outlined`.",
       "attribute": "variant",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "blur",
       "privacy": "public",
       "description": "[MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/blur)",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "focus",
       "privacy": "public",
       "description": "[MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)",
       "parameters": [
        {
         "name": "options",
         "type": {
          "text": "FocusOptions"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formDisabledCallback",
       "privacy": "public",
       "description": "A callback for when a form component should be disabled or enabled. This can be called in a variety of situations, such as disabled `<fieldset>`s.",
       "parameters": [
        {
         "name": "disabled",
         "type": {
          "text": "boolean"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formResetCallback",
       "privacy": "public",
       "description": "An optional callback for when the form requests to reset its value. Typically, the default value that is reset is represented in the attribute of an element. This means the attribute used for the value should not update as the value changes. For example, a checkbox should not change its default `checked` attribute when selected. Ensure form values do not reflect.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formStateRestoreCallback",
       "privacy": "public",
       "description": "An optional callback for when the form restores the state of a component. For example, when a page is reloaded or forms are autofilled.",
       "parameters": [
        {
         "name": "state",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "reset",
       "privacy": "public",
       "description": "Restores the default selection (`selected` attributes).",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "select",
       "privacy": "public",
       "description": "Selects the first option with the given value.",
       "parameters": [
        {
         "name": "value",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "selectIndex",
       "privacy": "public",
       "description": "Selects the option at the given index.",
       "parameters": [
        {
         "name": "index",
         "type": {
          "text": "number"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "setCustomValidity",
       "privacy": "public",
       "description": "Sets the element's constraint validation error message. When set to a non-empty string, `validity.customError` will be true and `validationMessage` will display the provided error. Use this method to customize error messages reported. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setCustomValidity",
       "parameters": [
        {
         "name": "error",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "showPicker",
       "privacy": "public",
       "description": "Opens the menu.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "The person selected a different option. --bubbles"
      },
      {
       "name": "closed",
       "type": {
        "text": "Event"
       },
       "description": "The menu closed."
      },
      {
       "name": "closing",
       "type": {
        "text": "Event"
       },
       "description": "The menu is about to close."
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "The person selected a different option. --bubbles --composed"
      },
      {
       "name": "invalid",
       "type": {
        "text": "Event"
       },
       "description": "Fired when `checkValidity()` or `reportValidity()` finds the select invalid. --bubbles"
      },
      {
       "name": "opened",
       "type": {
        "text": "Event"
       },
       "description": "The menu opened."
      },
      {
       "name": "opening",
       "type": {
        "text": "Event"
       },
       "description": "The menu is about to open."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The `md-gb-select-option`s (and dividers)."
      },
      {
       "name": "leading-icon",
       "description": "An icon before the selected text."
      },
      {
       "name": "trailing-icon",
       "description": "Replaces the dropdown arrow icon."
      }
     ],
     "cssParts": [
      {
       "name": "arrow",
       "description": "The dropdown arrow."
      },
      {
       "name": "container",
       "description": "The field's container."
      },
      {
       "name": "field",
       "description": "The `combobox` showing the selected text."
      },
      {
       "name": "label",
       "description": "The floating label."
      },
      {
       "name": "menu",
       "description": "The `listbox` menu."
      },
      {
       "name": "supporting-text",
       "description": "The supporting or error text."
      }
     ],
     "cssProperties": [
      {
       "name": "--active-indicator-color",
       "description": "Filled active indicator color."
      },
      {
       "name": "--active-indicator-height",
       "description": "Filled active indicator thickness."
      },
      {
       "name": "--container-color",
       "description": "Field container color."
      },
      {
       "name": "--container-shape",
       "description": "Field container corner radius."
      },
      {
       "name": "--input-text",
       "description": "Selected text typography."
      },
      {
       "name": "--input-text-axes",
       "description": "Selected text font variation settings."
      },
      {
       "name": "--input-text-color",
       "description": "Selected text color."
      },
      {
       "name": "--input-text-tracking",
       "description": "Selected text letter spacing."
      },
      {
       "name": "--label-text",
       "description": "Label typography."
      },
      {
       "name": "--label-text-axes",
       "description": "Label font variation settings."
      },
      {
       "name": "--label-text-color",
       "description": "Label color."
      },
      {
       "name": "--label-text-populated-line-height",
       "description": "Floated label line height."
      },
      {
       "name": "--label-text-populated-size",
       "description": "Floated label font size."
      },
      {
       "name": "--label-text-tracking",
       "description": "Label letter spacing."
      },
      {
       "name": "--leading-icon-color",
       "description": "Leading icon color."
      },
      {
       "name": "--leading-icon-size",
       "description": "Leading icon size."
      },
      {
       "name": "--menu-closed-scale",
       "description": "Scale the menu opens from."
      },
      {
       "name": "--menu-min-width",
       "description": "Minimum menu width."
      },
      {
       "name": "--menu-window-margin",
       "description": "Space kept between the menu and the window edge."
      },
      {
       "name": "--outline-color",
       "description": "Outlined container outline color."
      },
      {
       "name": "--outline-width",
       "description": "Outlined container outline width."
      },
      {
       "name": "--supporting-text",
       "description": "Supporting text typography."
      },
      {
       "name": "--supporting-text-axes",
       "description": "Supporting text font variation settings."
      },
      {
       "name": "--supporting-text-color",
       "description": "Supporting text color."
      },
      {
       "name": "--supporting-text-tracking",
       "description": "Supporting text letter spacing."
      },
      {
       "name": "--trailing-icon-color",
       "description": "Dropdown arrow color."
      },
      {
       "name": "--trailing-icon-expanded-rotation",
       "description": "Dropdown arrow rotation while open."
      },
      {
       "name": "--trailing-icon-size",
       "description": "Dropdown arrow size."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "SelectElement",
     "declaration": {
      "name": "SelectElement",
      "module": "labs/gb/components/select/md-gb-select.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-select",
     "declaration": {
      "name": "SelectElement",
      "module": "labs/gb/components/select/md-gb-select.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/select/md-gb-select-option.js",
   "declarations": [
    {
     "kind": "class",
     "name": "SelectOptionElement",
     "tagName": "md-gb-select-option",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "disabled",
       "default": "false",
       "description": "Whether the option cannot be selected. It can still become active."
      },
      {
       "name": "display-text",
       "type": {
        "text": "string"
       },
       "fieldName": "displayText",
       "description": "The text shown in the field when the option is selected. Defaults to the option's label text."
      },
      {
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selected",
       "description": "Whether the option is selected. The `selected` attribute is the default selection restored on form reset."
      },
      {
       "name": "typeahead-text",
       "type": {
        "text": "string"
       },
       "fieldName": "typeaheadText",
       "description": "The text matched by typeahead and filtering. Defaults to `displayText`."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "description": "The form value. Defaults to `displayText`, like a native `<option>`."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "disabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the option cannot be selected. It can still become active.",
       "attribute": "disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "displayText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "description": "The text shown in the field when the option is selected. Defaults to the option's label text.",
       "attribute": "display-text"
      },
      {
       "kind": "field",
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether the option is selected. The `selected` attribute is the default selection restored on form reset.",
       "attribute": "selected"
      },
      {
       "kind": "field",
       "name": "typeaheadText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "description": "The text matched by typeahead and filtering. Defaults to `displayText`.",
       "attribute": "typeahead-text"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "description": "The form value. Defaults to `displayText`, like a native `<option>`.",
       "attribute": "value"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The option's label."
      },
      {
       "name": "leading",
       "description": "An icon before the label. Without one, a selected option shows a checkmark."
      },
      {
       "name": "supporting-text",
       "description": "Supporting text below the label."
      },
      {
       "name": "trailing",
       "description": "An icon after the label."
      },
      {
       "name": "trailing-text",
       "description": "Metadata after the label, such as a keyboard shortcut."
      }
     ],
     "cssParts": [
      {
       "name": "menu-item",
       "description": "The option's root element."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "SelectOptionElement",
     "declaration": {
      "name": "SelectOptionElement",
      "module": "labs/gb/components/select/md-gb-select-option.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-select-option",
     "declaration": {
      "name": "SelectOptionElement",
      "module": "labs/gb/components/select/md-gb-select-option.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/sheet/md-gb-side-sheet.js",
   "declarations": [
    {
     "kind": "class",
     "name": "SideSheetElement",
     "tagName": "md-gb-side-sheet",
     "customElement": true,
     "description": "A Material Design side sheet.",
     "summary": "A Material Design side sheet.",
     "superclass": {
      "name": "SheetBase",
      "module": "/labs/gb/components/sheet/sheet-base.js"
     },
     "attributes": [
      {
       "name": "back-label",
       "type": {
        "text": "string"
       },
       "fieldName": "backLabel",
       "default": "'Back'",
       "description": "Accessible label of the back icon button."
      },
      {
       "name": "close-label",
       "type": {
        "text": "string"
       },
       "fieldName": "closeLabel",
       "default": "'Close'",
       "description": "Accessible label of the close icon button."
      },
      {
       "name": "detached",
       "type": {
        "text": "boolean"
       },
       "fieldName": "detached",
       "default": "false",
       "description": "Whether the sheet floats inset from the window edges with rounded corners, instead of touching them."
      },
      {
       "name": "divider",
       "type": {
        "text": "boolean"
       },
       "fieldName": "divider",
       "default": "false",
       "description": "Whether to draw dividers: along the inline start edge of a standard docked sheet, and above the actions."
      },
      {
       "name": "gestures-disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "gesturesDisabled",
       "default": "false",
       "description": "Whether to turn off swipe to dismiss on a modal sheet."
      },
      {
       "name": "has-back-button",
       "type": {
        "text": "boolean"
       },
       "fieldName": "hasBackButton",
       "default": "false",
       "description": "Whether to show the back icon button before the headline."
      },
      {
       "name": "headline",
       "type": {
        "text": "string"
       },
       "fieldName": "headline",
       "default": "''",
       "description": "The headline text."
      },
      {
       "name": "hide-close-button",
       "type": {
        "text": "boolean"
       },
       "fieldName": "hideCloseButton",
       "default": "false",
       "description": "Whether to hide the close icon button. Material requires a close affordance in every side sheet; provide another one when hiding it."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "Accessible label of the sheet dialog, used when it has no headline."
      },
      {
       "name": "modal",
       "type": {
        "text": "boolean"
       },
       "fieldName": "modal",
       "default": "false",
       "description": "Whether the sheet is modal: shown above a scrim, blocking the rest of the page, and closed by Escape or a scrim click."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "open",
       "description": "Whether the sheet is open. Setting it calls `show()` or `close()`."
      },
      {
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "fieldName": "quick",
       "default": "false",
       "description": "Whether to skip the opening and closing motion."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "backLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Back'",
       "description": "Accessible label of the back icon button.",
       "attribute": "back-label"
      },
      {
       "kind": "field",
       "name": "closeLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Close'",
       "description": "Accessible label of the close icon button.",
       "attribute": "close-label"
      },
      {
       "kind": "field",
       "name": "detached",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the sheet floats inset from the window edges with rounded corners, instead of touching them.",
       "attribute": "detached",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "divider",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to draw dividers: along the inline start edge of a standard docked sheet, and above the actions.",
       "attribute": "divider",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "gesturesDisabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to turn off swipe to dismiss on a modal sheet.",
       "attribute": "gestures-disabled"
      },
      {
       "kind": "field",
       "name": "hasBackButton",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to show the back icon button before the headline.",
       "attribute": "has-back-button"
      },
      {
       "kind": "field",
       "name": "headline",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The headline text.",
       "attribute": "headline"
      },
      {
       "kind": "field",
       "name": "hideCloseButton",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to hide the close icon button. Material requires a close affordance in every side sheet; provide another one when hiding it.",
       "attribute": "hide-close-button"
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Accessible label of the sheet dialog, used when it has no headline.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "modal",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the sheet is modal: shown above a scrim, blocking the rest of the page, and closed by Escape or a scrim click.",
       "attribute": "modal",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether the sheet is open. Setting it calls `show()` or `close()`.",
       "attribute": "open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to skip the opening and closing motion.",
       "attribute": "quick",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "close",
       "privacy": "public",
       "description": "Closes the sheet. Resolves after the closing motion.",
       "parameters": [
        {
         "name": "reason",
         "type": {
          "text": "string"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "handleBack",
       "privacy": "public",
       "description": "Handles a back request (the Android back gesture or button, which a modal sheet receives through its dialog): plays the predictive back motion and closes the sheet with reason `back`. If the `close` event is canceled, the sheet settles back. Resolves after the closing motion. Call it for an in-app back control that should behave like the system back.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "render",
       "privacy": "public",
       "description": "Invoked on each update to perform rendering tasks. This method may return any value renderable by lit-html's `ChildPart` - typically a `TemplateResult`. Setting properties inside this method will *not* trigger the element to update.",
       "return": {
        "type": {
         "text": "TemplateResult<1>"
        }
       }
      },
      {
       "kind": "method",
       "name": "show",
       "privacy": "public",
       "description": "Opens the sheet. Resolves after the opening motion.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      }
     ],
     "events": [
      {
       "name": "back",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the back icon button is activated."
      },
      {
       "name": "close",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired when the sheet begins closing. Cancelable; canceling keeps it open."
      },
      {
       "name": "closed",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired after the closing motion."
      },
      {
       "name": "open",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the sheet begins opening. Cancelable."
      },
      {
       "name": "opened",
       "type": {
        "text": "Event"
       },
       "description": "Fired after the opening motion."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The sheet content. It scrolls vertically when taller than the sheet."
      },
      {
       "name": "actions",
       "description": "Action buttons at the bottom of the sheet, such as Save and Cancel."
      },
      {
       "name": "headline",
       "description": "Headline content; replaces the `headline` text."
      }
     ],
     "cssParts": [
      {
       "name": "actions",
       "description": "The container of the actions slot."
      },
      {
       "name": "container",
       "description": "The sheet container."
      },
      {
       "name": "content",
       "description": "The container of the default slot."
      },
      {
       "name": "dialog",
       "description": "The `<dialog>` holding the sheet; its `::backdrop` is the scrim."
      },
      {
       "name": "header",
       "description": "The header row."
      },
      {
       "name": "headline",
       "description": "The headline."
      }
     ],
     "cssProperties": [
      {
       "name": "--actions-height",
       "description": "Actions row minimum height."
      },
      {
       "name": "--actions-padding-block-end",
       "description": "Space below the actions."
      },
      {
       "name": "--actions-padding-block-start",
       "description": "Space above the actions."
      },
      {
       "name": "--container-color",
       "description": "Container color."
      },
      {
       "name": "--container-elevation",
       "description": "Container box shadow."
      },
      {
       "name": "--container-height",
       "description": "Height of a standard sheet."
      },
      {
       "name": "--container-margin",
       "description": "Inset from the window edges (16px when detached)."
      },
      {
       "name": "--container-shape",
       "description": "Corner radius (the inline start corners of a docked modal sheet; every corner of a detached sheet)."
      },
      {
       "name": "--container-width",
       "description": "Container width (capped at `--max-width`)."
      },
      {
       "name": "--divider-color",
       "description": "Divider color."
      },
      {
       "name": "--header-gap",
       "description": "Space between header elements."
      },
      {
       "name": "--header-height",
       "description": "Header minimum height."
      },
      {
       "name": "--headline",
       "description": "Headline typography."
      },
      {
       "name": "--headline-axes",
       "description": "Headline font variation settings."
      },
      {
       "name": "--headline-color",
       "description": "Headline color."
      },
      {
       "name": "--headline-tracking",
       "description": "Headline letter spacing."
      },
      {
       "name": "--icon-padding-inline",
       "description": "Header padding next to the back or close icon button."
      },
      {
       "name": "--max-width",
       "description": "Maximum container width."
      },
      {
       "name": "--padding-inline",
       "description": "Start and end padding."
      },
      {
       "name": "--scrim-color",
       "description": "Scrim color of a modal sheet."
      },
      {
       "name": "--scrim-opacity",
       "description": "Scrim opacity of a modal sheet."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "SideSheetElement",
     "declaration": {
      "name": "SideSheetElement",
      "module": "labs/gb/components/sheet/md-gb-side-sheet.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-side-sheet",
     "declaration": {
      "name": "SideSheetElement",
      "module": "labs/gb/components/sheet/md-gb-side-sheet.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/slider/md-gb-slider.js",
   "declarations": [
    {
     "kind": "class",
     "name": "SliderElement",
     "tagName": "md-gb-slider",
     "customElement": true,
     "description": "A Material Design slider component.",
     "summary": "A Material Design slider component.",
     "attributes": [
      {
       "name": "label-end",
       "type": {
        "text": "string"
       },
       "fieldName": "ariaLabelEnd",
       "default": "''"
      },
      {
       "name": "label-start",
       "type": {
        "text": "string"
       },
       "fieldName": "ariaLabelStart",
       "default": "''"
      },
      {
       "name": "valuetext-end",
       "type": {
        "text": "string"
       },
       "fieldName": "ariaValueTextEnd",
       "default": "''"
      },
      {
       "name": "valuetext-start",
       "type": {
        "text": "string"
       },
       "fieldName": "ariaValueTextStart",
       "default": "''"
      },
      {
       "name": "centered",
       "type": {
        "text": "boolean"
       },
       "fieldName": "centered",
       "default": "false"
      },
      {
       "name": "labeled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "labeled",
       "default": "false"
      },
      {
       "name": "max",
       "type": {
        "text": "number"
       },
       "fieldName": "max",
       "default": "100"
      },
      {
       "name": "min",
       "type": {
        "text": "number"
       },
       "fieldName": "min",
       "default": "0"
      },
      {
       "name": "orientation",
       "type": {
        "text": "SliderOrientation"
       },
       "fieldName": "orientation",
       "default": "'horizontal'",
       "description": "The orientation of the slider. Vertical orientation applies to standard, discrete, and centered variants (range is not supported in vertical orientation)."
      },
      {
       "name": "range",
       "type": {
        "text": "boolean"
       },
       "fieldName": "range",
       "default": "false"
      },
      {
       "name": "size",
       "type": {
        "text": "SliderSize"
       },
       "fieldName": "size",
       "default": "'xs'"
      },
      {
       "name": "step",
       "type": {
        "text": "number | \"any\""
       },
       "fieldName": "step",
       "default": "1"
      },
      {
       "name": "ticks",
       "type": {
        "text": "boolean"
       },
       "fieldName": "ticks",
       "default": "false"
      },
      {
       "name": "value",
       "type": {
        "text": "number"
       },
       "fieldName": "value"
      },
      {
       "name": "value-end",
       "type": {
        "text": "number"
       },
       "fieldName": "valueEnd"
      },
      {
       "name": "value-label",
       "type": {
        "text": "string"
       },
       "fieldName": "valueLabel",
       "default": "''"
      },
      {
       "name": "value-label-end",
       "type": {
        "text": "string"
       },
       "fieldName": "valueLabelEnd",
       "default": "''"
      },
      {
       "name": "value-label-start",
       "type": {
        "text": "string"
       },
       "fieldName": "valueLabelStart",
       "default": "''"
      },
      {
       "name": "value-start",
       "type": {
        "text": "number"
       },
       "fieldName": "valueStart"
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "ariaLabelEnd",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "attribute": "label-end"
      },
      {
       "kind": "field",
       "name": "ariaLabelStart",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "attribute": "label-start"
      },
      {
       "kind": "field",
       "name": "ariaValueTextEnd",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "attribute": "valuetext-end"
      },
      {
       "kind": "field",
       "name": "ariaValueTextStart",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "attribute": "valuetext-start"
      },
      {
       "kind": "field",
       "name": "centered",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "attribute": "centered",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "labeled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "attribute": "labeled"
      },
      {
       "kind": "field",
       "name": "max",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "100",
       "attribute": "max"
      },
      {
       "kind": "field",
       "name": "min",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "0",
       "attribute": "min"
      },
      {
       "kind": "field",
       "name": "orientation",
       "type": {
        "text": "SliderOrientation"
       },
       "privacy": "public",
       "default": "'horizontal'",
       "description": "The orientation of the slider. Vertical orientation applies to standard, discrete, and centered variants (range is not supported in vertical orientation).",
       "attribute": "orientation",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "range",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "attribute": "range",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "size",
       "type": {
        "text": "SliderSize"
       },
       "privacy": "public",
       "default": "'xs'",
       "attribute": "size",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "step",
       "type": {
        "text": "number | \"any\""
       },
       "privacy": "public",
       "default": "1",
       "attribute": "step"
      },
      {
       "kind": "field",
       "name": "ticks",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "attribute": "ticks"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "attribute": "value"
      },
      {
       "kind": "field",
       "name": "valueEnd",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "attribute": "value-end"
      },
      {
       "kind": "field",
       "name": "valueLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "attribute": "value-label"
      },
      {
       "kind": "field",
       "name": "valueLabelEnd",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "attribute": "value-label-end"
      },
      {
       "kind": "field",
       "name": "valueLabelStart",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "attribute": "value-label-start"
      },
      {
       "kind": "field",
       "name": "valueStart",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "attribute": "value-start"
      },
      {
       "kind": "method",
       "name": "focus",
       "privacy": "public",
       "description": "[MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formDisabledCallback",
       "privacy": "public",
       "description": "A callback for when a form component should be disabled or enabled. This can be called in a variety of situations, such as disabled `<fieldset>`s.",
       "parameters": [
        {
         "name": "disabled",
         "type": {
          "text": "boolean"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formResetCallback",
       "privacy": "public",
       "description": "An optional callback for when the form requests to reset its value. Typically, the default value that is reset is represented in the attribute of an element. This means the attribute used for the value should not update as the value changes. For example, a checkbox should not change its default `checked` attribute when selected. Ensure form values do not reflect.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formStateRestoreCallback",
       "privacy": "public",
       "description": "An optional callback for when the form restores the state of a component. For example, when a page is reloaded or forms are autofilled.",
       "parameters": [
        {
         "name": "state",
         "type": {
          "text": "string | [string, string][]"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the slider value commit changes from user interaction. --bubbles"
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "Fired when the slider value changes from user interaction. --bubbles --composed"
      }
     ],
     "cssProperties": [
      {
       "name": "--active-handle-leading-space"
      },
      {
       "name": "--active-track-color"
      },
      {
       "name": "--active-track-inner-corner-size"
      },
      {
       "name": "--focus-handle-width"
      },
      {
       "name": "--handle-color"
      },
      {
       "name": "--handle-height"
      },
      {
       "name": "--handle-shape"
      },
      {
       "name": "--handle-width"
      },
      {
       "name": "--icon-color"
      },
      {
       "name": "--icon-color-active"
      },
      {
       "name": "--icon-size"
      },
      {
       "name": "--inactive-track-color"
      },
      {
       "name": "--inactive-track-shape-trailing"
      },
      {
       "name": "--state-layer-size"
      },
      {
       "name": "--stop-indicator-color"
      },
      {
       "name": "--stop-indicator-color-selected"
      },
      {
       "name": "--stop-indicator-min-spacing"
      },
      {
       "name": "--stop-indicator-size"
      },
      {
       "name": "--track-height"
      },
      {
       "name": "--track-shape"
      },
      {
       "name": "--value-indicator-bottom-space"
      },
      {
       "name": "--value-indicator-color"
      },
      {
       "name": "--value-indicator-label-text-color"
      },
      {
       "name": "--value-indicator-width"
      },
      {
       "name": "--with-overlap-handle-outline-color"
      },
      {
       "name": "--with-overlap-handle-outline-width"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "SliderElement",
     "declaration": {
      "name": "SliderElement",
      "module": "labs/gb/components/slider/md-gb-slider.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-slider",
     "declaration": {
      "name": "SliderElement",
      "module": "labs/gb/components/slider/md-gb-slider.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/snackbar/md-gb-snackbar.js",
   "declarations": [
    {
     "kind": "class",
     "name": "SnackbarElement",
     "tagName": "md-gb-snackbar",
     "customElement": true,
     "description": "A Material Design snackbar component.",
     "summary": "A Material Design snackbar component.",
     "attributes": [
      {
       "name": "action-label",
       "type": {
        "text": "string"
       },
       "fieldName": "actionLabel",
       "default": "''",
       "description": "Visible text of the built-in action button. Rendered only when non-empty and nothing is slotted into `action`."
      },
      {
       "name": "align",
       "type": {
        "text": "\"start\" | \"center\""
       },
       "fieldName": "align",
       "default": "'center'",
       "description": "Where a snackbar sits on wide layouts: `center` (default) or `start` (left-aligned). Use the same value wherever snackbars appear, so they always show in the same spot. Compact layouts span the width."
      },
      {
       "name": "anchor",
       "type": {
        "text": "string"
       },
       "fieldName": "anchor",
       "default": "''",
       "description": "The id of an element the snackbar appears above, such as a FAB or a docked toolbar, in the snackbar's root (document or shadow root). See `anchorElement`."
      },
      {
       "name": "close-label",
       "type": {
        "text": "string"
       },
       "fieldName": "closeLabel",
       "default": "'Close'",
       "description": "Accessible label for the built-in dismiss button."
      },
      {
       "name": "fixed",
       "type": {
        "text": "boolean"
       },
       "fieldName": "fixed",
       "default": "false",
       "description": "Whether the snackbar should be positioned relative to the viewport (fixed)."
      },
      {
       "name": "has-close-button",
       "type": {
        "text": "boolean"
       },
       "fieldName": "hasCloseButton",
       "default": "false",
       "description": "Whether to display a close icon button."
      },
      {
       "name": "label-text",
       "type": {
        "text": "string"
       },
       "fieldName": "labelText",
       "default": "''",
       "description": "Supporting message text to display. Rendered before default slot content."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "open",
       "description": "Whether the snackbar is currently open."
      },
      {
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "fieldName": "quick",
       "default": "false",
       "description": "Whether to skip opening and closing transition delays."
      },
      {
       "name": "timeout-ms",
       "type": {
        "text": "number"
       },
       "fieldName": "timeoutMs",
       "default": "5000",
       "description": "Time in milliseconds before the snackbar automatically dismisses. Set to 0 or a negative value (e.g. -1) to disable auto-dismiss. Read when the snackbar opens; changing it while open takes effect on the next open."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "actionLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Visible text of the built-in action button. Rendered only when non-empty and nothing is slotted into `action`.",
       "attribute": "action-label"
      },
      {
       "kind": "field",
       "name": "align",
       "type": {
        "text": "\"start\" | \"center\""
       },
       "privacy": "public",
       "default": "'center'",
       "description": "Where a snackbar sits on wide layouts: `center` (default) or `start` (left-aligned). Use the same value wherever snackbars appear, so they always show in the same spot. Compact layouts span the width.",
       "attribute": "align",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "anchor",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The id of an element the snackbar appears above, such as a FAB or a docked toolbar, in the snackbar's root (document or shadow root). See `anchorElement`.",
       "attribute": "anchor"
      },
      {
       "kind": "field",
       "name": "anchorElement",
       "type": {
        "text": "HTMLElement"
       },
       "privacy": "public",
       "default": "null",
       "description": "An element the snackbar appears above, such as a FAB or a docked toolbar: while open, the snackbar's bottom edge sits `--bottom-offset` above the element's top edge. Takes precedence over `anchor`."
      },
      {
       "kind": "field",
       "name": "closeLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Close'",
       "description": "Accessible label for the built-in dismiss button.",
       "attribute": "close-label"
      },
      {
       "kind": "field",
       "name": "fixed",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the snackbar should be positioned relative to the viewport (fixed).",
       "attribute": "fixed",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "hasCloseButton",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to display a close icon button.",
       "attribute": "has-close-button"
      },
      {
       "kind": "field",
       "name": "labelText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Supporting message text to display. Rendered before default slot content.",
       "attribute": "label-text"
      },
      {
       "kind": "field",
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether the snackbar is currently open.",
       "attribute": "open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to skip opening and closing transition delays.",
       "attribute": "quick",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "timeoutMs",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "5000",
       "description": "Time in milliseconds before the snackbar automatically dismisses. Set to 0 or a negative value (e.g. -1) to disable auto-dismiss. Read when the snackbar opens; changing it while open takes effect on the next open.",
       "attribute": "timeout-ms"
      },
      {
       "kind": "method",
       "name": "close",
       "privacy": "public",
       "description": "Closes the snackbar.",
       "parameters": [
        {
         "name": "reason",
         "type": {
          "text": "string"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "render",
       "privacy": "public",
       "description": "Invoked on each update to perform rendering tasks. This method may return any value renderable by lit-html's `ChildPart` - typically a `TemplateResult`. Setting properties inside this method will *not* trigger the element to update.",
       "return": {
        "type": {
         "text": "TemplateResult<1>"
        }
       }
      },
      {
       "kind": "method",
       "name": "show",
       "privacy": "public",
       "description": "Opens the snackbar.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "updateAnchorPosition",
       "privacy": "public",
       "description": "Places the snackbar above its anchor. Called while open when the window or the anchor resizes; call it after moving the anchor.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "close",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired when the snackbar begins closing."
      },
      {
       "name": "closed",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired when the snackbar has closed."
      },
      {
       "name": "open",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the snackbar begins opening."
      },
      {
       "name": "opened",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the snackbar has opened and animations finished."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Default slot for rich content (rendered after `label-text`). If both `label-text` and slotted content are provided, both render."
      },
      {
       "name": "action",
       "description": "Slot for a custom action button; replaces the built-in action rendered from `action-label`. Prefer the `action-label` attribute, which renders a text button matching the spec. A slotted plain `<button>` is styled by the snackbar, with hover, focus and pressed states. A slotted text `<md-gb-button>` gets the `--action-label-text*` colors and typography, but keeps its own 16px padding and pressed shape, because its component tokens can't be set from outside its shadow root."
      },
      {
       "name": "dismiss",
       "description": "Slot for dismiss button (falls back to close icon button when `has-close-button` is set)."
      }
     ],
     "cssParts": [
      {
       "name": "actions",
       "description": "The container wrapping action and dismiss slots."
      },
      {
       "name": "label",
       "description": "The container wrapping the label content."
      },
      {
       "name": "surface",
       "description": "The surface container of the snackbar."
      }
     ],
     "cssProperties": [
      {
       "name": "--action-label-text",
       "description": "Action button label typography."
      },
      {
       "name": "--action-label-text-axes",
       "description": "Action button label typography font variation settings."
      },
      {
       "name": "--action-label-text-color",
       "description": "Action button label text color."
      },
      {
       "name": "--action-label-text-tracking",
       "description": "Action button label letter spacing."
      },
      {
       "name": "--bottom-offset",
       "description": "Inset block end distance from container bottom, or from the top of the `anchor`."
      },
      {
       "name": "--container-color",
       "description": "Container background color."
      },
      {
       "name": "--container-elevation",
       "description": "Container box shadow elevation."
      },
      {
       "name": "--container-shape",
       "description": "Container border radius."
      },
      {
       "name": "--icon-color",
       "description": "Close icon color."
      },
      {
       "name": "--icon-size",
       "description": "Close icon size."
      },
      {
       "name": "--max-width",
       "description": "Maximum surface width in wide layout."
      },
      {
       "name": "--min-height",
       "description": "Minimum surface height (the single-line height)."
      },
      {
       "name": "--min-width",
       "description": "Minimum surface width in wide layout."
      },
      {
       "name": "--position",
       "description": "CSS position property (`absolute` by default)."
      },
      {
       "name": "--supporting-text",
       "description": "Supporting label typography."
      },
      {
       "name": "--supporting-text-axes",
       "description": "Supporting label typography font variation settings."
      },
      {
       "name": "--supporting-text-color",
       "description": "Supporting label text color."
      },
      {
       "name": "--supporting-text-tracking",
       "description": "Supporting label letter spacing."
      },
      {
       "name": "--with-single-line-container-height",
       "description": "Single-line container height (spec 48dp)."
      },
      {
       "name": "--with-two-lines-container-height",
       "description": "Two-line container height (spec 68dp)."
      },
      {
       "name": "--z-index",
       "description": "Z-index of the snackbar."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "SnackbarElement",
     "declaration": {
      "name": "SnackbarElement",
      "module": "labs/gb/components/snackbar/md-gb-snackbar.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-snackbar",
     "declaration": {
      "name": "SnackbarElement",
      "module": "labs/gb/components/snackbar/md-gb-snackbar.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/snackbar/md-gb-snackbar-host.js",
   "declarations": [
    {
     "kind": "class",
     "name": "SnackbarHostElement",
     "tagName": "md-gb-snackbar-host",
     "customElement": true,
     "description": "Shows queued snackbars one at a time.",
     "summary": "Shows queued snackbars one at a time.",
     "attributes": [
      {
       "name": "anchor",
       "type": {
        "text": "string"
       },
       "fieldName": "anchor",
       "default": "''",
       "description": "The id of the element the built-in snackbar appears above, such as a FAB (see `md-gb-snackbar` `anchor`)."
      },
      {
       "name": "close-label",
       "type": {
        "text": "string"
       },
       "fieldName": "closeLabel",
       "default": "'Close'",
       "description": "Accessible label of the close icon button."
      },
      {
       "name": "fixed",
       "type": {
        "text": "boolean"
       },
       "fieldName": "fixed",
       "default": "false",
       "description": "Whether the built-in snackbar is positioned in the viewport (fixed)."
      },
      {
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "fieldName": "quick",
       "default": "false",
       "description": "Whether to skip the snackbar's opening and closing motion."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "anchor",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The id of the element the built-in snackbar appears above, such as a FAB (see `md-gb-snackbar` `anchor`).",
       "attribute": "anchor"
      },
      {
       "kind": "field",
       "name": "anchorElement",
       "type": {
        "text": "HTMLElement"
       },
       "privacy": "public",
       "default": "null",
       "description": "The element the built-in snackbar appears above, such as a FAB."
      },
      {
       "kind": "field",
       "name": "closeLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Close'",
       "description": "Accessible label of the close icon button.",
       "attribute": "close-label"
      },
      {
       "kind": "field",
       "name": "fixed",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the built-in snackbar is positioned in the viewport (fixed).",
       "attribute": "fixed",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to skip the snackbar's opening and closing motion.",
       "attribute": "quick",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "dismissAll",
       "privacy": "public",
       "description": "Dismisses the current snackbar and every queued one.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "render",
       "privacy": "public",
       "description": "Invoked on each update to perform rendering tasks. This method may return any value renderable by lit-html's `ChildPart` - typically a `TemplateResult`. Setting properties inside this method will *not* trigger the element to update.",
       "return": {
        "type": {
         "text": "TemplateResult<1>"
        }
       }
      },
      {
       "kind": "method",
       "name": "showSnackbar",
       "privacy": "public",
       "description": "Queues a snackbar and resolves when it ends: `action-performed` when its action is activated, otherwise `dismissed`.",
       "parameters": [
        {
         "name": "options",
         "type": {
          "text": "string | ShowSnackbarOptions"
         }
        }
       ],
       "return": {
        "type": {
         "text": "Promise<SnackbarResult>"
        }
       }
      }
     ],
     "events": [
      {
       "name": "close",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Bubbles from the snackbar when it begins closing."
      },
      {
       "name": "closed",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Bubbles from the snackbar when it has closed."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Optional `md-gb-snackbar` to show the messages in."
      }
     ],
     "cssParts": [
      {
       "name": "snackbar",
       "description": "The built-in snackbar, when none is slotted."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "SnackbarHostElement",
     "declaration": {
      "name": "SnackbarHostElement",
      "module": "labs/gb/components/snackbar/md-gb-snackbar-host.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-snackbar-host",
     "declaration": {
      "name": "SnackbarHostElement",
      "module": "labs/gb/components/snackbar/md-gb-snackbar-host.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/splitbutton/md-gb-split-button.js",
   "declarations": [
    {
     "kind": "class",
     "name": "SplitButtonElement",
     "tagName": "md-gb-split-button",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "color",
       "type": {
        "text": "SplitButtonColor"
       },
       "fieldName": "color",
       "default": "'filled'"
      },
      {
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selected",
       "default": "false"
      },
      {
       "name": "size",
       "type": {
        "text": "SplitButtonSize"
       },
       "fieldName": "size",
       "default": "'sm'"
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "color",
       "type": {
        "text": "SplitButtonColor"
       },
       "privacy": "public",
       "default": "'filled'",
       "attribute": "color"
      },
      {
       "kind": "field",
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "attribute": "selected"
      },
      {
       "kind": "field",
       "name": "size",
       "type": {
        "text": "SplitButtonSize"
       },
       "privacy": "public",
       "default": "'sm'",
       "attribute": "size"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Used to render the trailing button's popover menu."
      },
      {
       "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."
      }
     ],
     "cssParts": [
      {
       "name": "leading-btn",
       "description": "The split button's main action."
      },
      {
       "name": "split-btn",
       "description": "The split button's root element."
      },
      {
       "name": "trailing-btn",
       "description": "The split button's menu action."
      }
     ],
     "cssProperties": [
      {
       "name": "--between-space"
      },
      {
       "name": "--icon-size"
      },
      {
       "name": "--inner-corner-size"
      },
      {
       "name": "--leading-space"
      },
      {
       "name": "--outer-corner-size"
      },
      {
       "name": "--trailing-space"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "SplitButtonElement",
     "declaration": {
      "name": "SplitButtonElement",
      "module": "labs/gb/components/splitbutton/md-gb-split-button.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-split-button",
     "declaration": {
      "name": "SplitButtonElement",
      "module": "labs/gb/components/splitbutton/md-gb-split-button.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/switch/md-gb-switch.js",
   "declarations": [
    {
     "kind": "class",
     "name": "SwitchElement",
     "tagName": "md-gb-switch",
     "customElement": true,
     "description": "A Material Design component.",
     "summary": "A Material Design component.",
     "attributes": [
      {
       "name": "density",
       "type": {
        "text": "Density"
       },
       "fieldName": "density",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the state layer (40px); the track keeps its size and the touch target stays 48px. Values are clamped to that range. switch.md: don't apply density by default; let people opt in to a denser layout."
      },
      {
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "fieldName": "required",
       "default": "false",
       "description": "When true, require the switch to be selected when participating in form submission. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#validation"
      },
      {
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selected",
       "description": "Puts the switch in the selected state and sets the form submission value to the `value` property."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "default": "'on'",
       "description": "The value associated with this switch on form submission. `null` is submitted when `selected` is `false`."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "Density"
       },
       "privacy": "public",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the state layer (40px); the track keeps its size and the touch target stays 48px. Values are clamped to that range. switch.md: don't apply density by default; let people opt in to a denser layout.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "When true, require the switch to be selected when participating in form submission. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#validation",
       "attribute": "required"
      },
      {
       "kind": "field",
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Puts the switch in the selected state and sets the form submission value to the `value` property.",
       "attribute": "selected"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'on'",
       "description": "The value associated with this switch on form submission. `null` is submitted when `selected` is `false`.",
       "attribute": "value"
      },
      {
       "kind": "method",
       "name": "formDisabledCallback",
       "privacy": "public",
       "description": "A callback for when a form component should be disabled or enabled. This can be called in a variety of situations, such as disabled `<fieldset>`s.",
       "parameters": [
        {
         "name": "disabled",
         "type": {
          "text": "boolean"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formResetCallback",
       "privacy": "public",
       "description": "An optional callback for when the form requests to reset its value. Typically, the default value that is reset is represented in the attribute of an element. This means the attribute used for the value should not update as the value changes. For example, a checkbox should not change its default `checked` attribute when selected. Ensure form values do not reflect.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formStateRestoreCallback",
       "privacy": "public",
       "description": "An optional callback for when the form restores the state of a component. For example, when a page is reloaded or forms are autofilled.",
       "parameters": [
        {
         "name": "state",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when the switch is selected or unselected. --bubbles"
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "Fired when the switch is selected or unselected. --bubbles --composed"
      }
     ],
     "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": "--density-step",
       "description": "State layer size removed per density step."
      },
      {
       "name": "--handle-color"
      },
      {
       "name": "--handle-height"
      },
      {
       "name": "--handle-shape"
      },
      {
       "name": "--handle-width"
      },
      {
       "name": "--icon-color"
      },
      {
       "name": "--icon-size"
      },
      {
       "name": "--state-layer-color"
      },
      {
       "name": "--state-layer-shape"
      },
      {
       "name": "--state-layer-size",
       "description": "State layer size at density 0."
      },
      {
       "name": "--target-size",
       "description": "The minimum touch target size, kept at any density."
      },
      {
       "name": "--track-color"
      },
      {
       "name": "--track-height"
      },
      {
       "name": "--track-opacity"
      },
      {
       "name": "--track-outline-color"
      },
      {
       "name": "--track-outline-width"
      },
      {
       "name": "--track-shape"
      },
      {
       "name": "--track-width"
      },
      {
       "name": "--with-icon-handle-height"
      },
      {
       "name": "--with-icon-handle-width"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "SwitchElement",
     "declaration": {
      "name": "SwitchElement",
      "module": "labs/gb/components/switch/md-gb-switch.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-switch",
     "declaration": {
      "name": "SwitchElement",
      "module": "labs/gb/components/switch/md-gb-switch.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/tabs/md-gb-tab.js",
   "declarations": [
    {
     "kind": "class",
     "name": "TabElement",
     "tagName": "md-gb-tab",
     "customElement": true,
     "description": "A Material Design tab component.",
     "summary": "A Material Design tab component.",
     "superclass": {
      "name": "AriaTabElement",
      "module": "/labs/aria/tabs/tab.js"
     },
     "attributes": [
      {
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "fieldName": "selected",
       "description": "Whether the tab is selected."
      },
      {
       "name": "tabpanel",
       "type": {
        "text": "string"
       },
       "fieldName": "tabpanel",
       "description": "ID of the associated `md-aria-tabpanel` element."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether the tab is selected.",
       "attribute": "selected",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "tabpanel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "description": "ID of the associated `md-aria-tabpanel` element.",
       "attribute": "tabpanel",
       "reflects": true
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Used to display an optional leading icon, such as `<md-gb-icon>`. Icons are unclassed; the tab sets `--md-icon-*` for them."
      },
      {
       "name": "badge",
       "description": "Used to display an optional badge, such as `<span class=\"badge tab-badge\">`."
      },
      {
       "name": "label",
       "description": "Used to display the tab's label. `<span class=\"tab-label\">` in the default slot is equivalent. Bare text is not supported."
      }
     ],
     "cssProperties": [
      {
       "name": "--badge-space"
      },
      {
       "name": "--focus-indicator-clearance"
      },
      {
       "name": "--focus-indicator-inset"
      },
      {
       "name": "--focus-indicator-shape"
      },
      {
       "name": "--icon-badge-inset"
      },
      {
       "name": "--icon-color"
      },
      {
       "name": "--icon-label-space"
      },
      {
       "name": "--icon-size"
      },
      {
       "name": "--label-text"
      },
      {
       "name": "--label-text-axes"
      },
      {
       "name": "--label-text-color"
      },
      {
       "name": "--label-text-tracking"
      },
      {
       "name": "--leading-space"
      },
      {
       "name": "--stacked-icon-label-space"
      },
      {
       "name": "--tab-scroll-margin"
      },
      {
       "name": "--trailing-space"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "TabElement",
     "declaration": {
      "name": "TabElement",
      "module": "labs/gb/components/tabs/md-gb-tab.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-tab",
     "declaration": {
      "name": "TabElement",
      "module": "labs/gb/components/tabs/md-gb-tab.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/tabs/md-gb-tab-panels.js",
   "declarations": [
    {
     "kind": "class",
     "name": "TabPanelsElement",
     "tagName": "md-gb-tab-panels",
     "customElement": true,
     "description": "The swipeable content panels of a set of Material Design tabs.",
     "summary": "The swipeable content panels of a set of Material Design tabs.",
     "attributes": [
      {
       "name": "gestures-disabled",
       "type": {
        "text": "boolean"
       },
       "fieldName": "gesturesDisabled",
       "default": "false",
       "description": "Whether to turn off swiping between panels."
      },
      {
       "name": "for",
       "type": {
        "text": "string"
       },
       "fieldName": "htmlFor",
       "default": "''",
       "description": "The id of the `<md-gb-tabs>` these panels belong to."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "gesturesDisabled",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to turn off swiping between panels.",
       "attribute": "gestures-disabled",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "htmlFor",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The id of the `<md-gb-tabs>` these panels belong to.",
       "attribute": "for"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The tab panels: elements with `role=\"tabpanel\"`, such as `<md-aria-tabpanel>` or `<div role=\"tabpanel\">`."
      }
     ],
     "cssProperties": [
      {
       "name": "--transition-duration",
       "description": "Duration of a slide between panels."
      },
      {
       "name": "--transition-easing",
       "description": "Easing of a slide between panels."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "TabPanelsElement",
     "declaration": {
      "name": "TabPanelsElement",
      "module": "labs/gb/components/tabs/md-gb-tab-panels.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-tab-panels",
     "declaration": {
      "name": "TabPanelsElement",
      "module": "labs/gb/components/tabs/md-gb-tab-panels.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/tabs/md-gb-tabs.js",
   "declarations": [
    {
     "kind": "class",
     "name": "TabsElement",
     "tagName": "md-gb-tabs",
     "customElement": true,
     "description": "A Material Design tabs component.",
     "summary": "A Material Design tabs component.",
     "superclass": {
      "name": "AriaTablistElement",
      "module": "/labs/aria/tabs/tablist.js"
     },
     "attributes": [
      {
       "name": "align",
       "type": {
        "text": "\"start\" | \"center\""
       },
       "fieldName": "align",
       "default": "'center'",
       "description": "Where fixed tabs sit when the window is wider than compact: `center` (default) or `start`, the leading edge. tabs.md, Responsive layout: \"The group of tabs should use a fluid margin and align to the center or leading edge of the body region.\" At compact windows the tabs fill the full width."
      },
      {
       "name": "autoselect",
       "type": {
        "text": "boolean"
       },
       "fieldName": "autoSelect",
       "default": "false",
       "description": "Whether or not to automatically select a tab when it is focused."
      },
      {
       "name": "density",
       "type": {
        "text": "Density"
       },
       "fieldName": "density",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the tabs' height (48px, or 64px with icon and label); values are clamped to that range. tabs.md \"Avoid applying density by default\": dense tabs are below the 48x48 CSS pixel target, so let people opt in (a denser layout or theme) and keep the controls that change it at 48x48."
      },
      {
       "name": "orientation",
       "type": {
        "text": "\"horizontal\" | \"vertical\""
       },
       "fieldName": "orientation",
       "default": "'horizontal'",
       "description": "Orientation of the tablist ('horizontal' or 'vertical')."
      },
      {
       "name": "scrollable",
       "type": {
        "text": "boolean"
       },
       "fieldName": "scrollable",
       "default": "false",
       "description": "Scrollable tabs: each tab's width is defined by its label (tabs.md) rather than every tab taking the width of the widest, and the bar scrolls when they overflow. Fixed tabs (the default) are equal."
      },
      {
       "name": "scroll-behavior",
       "type": {
        "text": "\"hide\""
       },
       "fieldName": "scrollBehavior",
       "description": "How the tabs react to scrolling: `hide` scrolls them off the screen when the page scrolls down and returns them when it scrolls up (tabs.md). Tabs attached to an app bar (its `tabs` slot) leave this unset: the app bar moves them with itself as one unit."
      },
      {
       "name": "scroll-target",
       "type": {
        "text": "string"
       },
       "fieldName": "scrollTarget",
       "default": "''",
       "description": "The id of the element whose scrolling drives `scroll-behavior`. Defaults to the window."
      },
      {
       "name": "selectedtabindex",
       "type": {
        "text": "number"
       },
       "fieldName": "selectedTabIndex",
       "description": "The index of the currently selected tab."
      },
      {
       "name": "variant",
       "type": {
        "text": "TabsVariant"
       },
       "fieldName": "variant",
       "default": "'primary'",
       "description": "The visual variant of the tabs."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "align",
       "type": {
        "text": "\"start\" | \"center\""
       },
       "privacy": "public",
       "default": "'center'",
       "description": "Where fixed tabs sit when the window is wider than compact: `center` (default) or `start`, the leading edge. tabs.md, Responsive layout: \"The group of tabs should use a fluid margin and align to the center or leading edge of the body region.\" At compact windows the tabs fill the full width.",
       "attribute": "align",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "autoSelect",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether or not to automatically select a tab when it is focused.",
       "attribute": "autoselect"
      },
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "Density"
       },
       "privacy": "public",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the tabs' height (48px, or 64px with icon and label); values are clamped to that range. tabs.md \"Avoid applying density by default\": dense tabs are below the 48x48 CSS pixel target, so let people opt in (a denser layout or theme) and keep the controls that change it at 48x48.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "orientation",
       "type": {
        "text": "\"horizontal\" | \"vertical\""
       },
       "privacy": "public",
       "default": "'horizontal'",
       "description": "Orientation of the tablist ('horizontal' or 'vertical').",
       "attribute": "orientation",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "scrollable",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Scrollable tabs: each tab's width is defined by its label (tabs.md) rather than every tab taking the width of the widest, and the bar scrolls when they overflow. Fixed tabs (the default) are equal.",
       "attribute": "scrollable",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "scrollBehavior",
       "type": {
        "text": "\"hide\""
       },
       "privacy": "public",
       "description": "How the tabs react to scrolling: `hide` scrolls them off the screen when the page scrolls down and returns them when it scrolls up (tabs.md). Tabs attached to an app bar (its `tabs` slot) leave this unset: the app bar moves them with itself as one unit.",
       "attribute": "scroll-behavior",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "scrollTarget",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The id of the element whose scrolling drives `scroll-behavior`. Defaults to the window.",
       "attribute": "scroll-target"
      },
      {
       "kind": "field",
       "name": "selectedTabIndex",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "description": "The index of the currently selected tab.",
       "attribute": "selectedtabindex"
      },
      {
       "kind": "field",
       "name": "variant",
       "type": {
        "text": "TabsVariant"
       },
       "privacy": "public",
       "default": "'primary'",
       "description": "The visual variant of the tabs.",
       "attribute": "variant",
       "reflects": true
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Used to display `<md-gb-tab>` children."
      }
     ],
     "cssProperties": [
      {
       "name": "--active-indicator-color"
      },
      {
       "name": "--active-indicator-height"
      },
      {
       "name": "--active-indicator-inset"
      },
      {
       "name": "--active-indicator-min-length"
      },
      {
       "name": "--active-indicator-shape"
      },
      {
       "name": "--container-color"
      },
      {
       "name": "--container-height"
      },
      {
       "name": "--container-shape"
      },
      {
       "name": "--density-step",
       "description": "Tab height removed per density step."
      },
      {
       "name": "--divider-color"
      },
      {
       "name": "--divider-thickness"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "TabsElement",
     "declaration": {
      "name": "TabsElement",
      "module": "labs/gb/components/tabs/md-gb-tabs.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-tabs",
     "declaration": {
      "name": "TabsElement",
      "module": "labs/gb/components/tabs/md-gb-tabs.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/textfield/md-gb-text-field.js",
   "declarations": [
    {
     "kind": "class",
     "name": "TextFieldElement",
     "tagName": "md-gb-text-field",
     "customElement": true,
     "description": "A Material Design text field (filled or outlined).",
     "summary": "A Material Design text field (filled or outlined).",
     "attributes": [
      {
       "name": "autocomplete",
       "type": {
        "text": "string"
       },
       "fieldName": "autocomplete",
       "default": "''",
       "description": "The input's `autocomplete` hint."
      },
      {
       "name": "cols",
       "type": {
        "text": "number"
       },
       "fieldName": "cols",
       "default": "20",
       "description": "The number of columns of a `type=\"textarea\"` field."
      },
      {
       "name": "density",
       "type": {
        "text": "Density"
       },
       "fieldName": "density",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the container height (56px), half above and half below the content; text keeps its size. Values are clamped to that range. text-fields.md \"Avoid applying density by default\": dense fields are below the 48x48 CSS pixel target, so let people opt in (a denser layout or theme) and keep the controls that change it at 48x48."
      },
      {
       "name": "error",
       "type": {
        "text": "boolean"
       },
       "fieldName": "error",
       "default": "false",
       "description": "Whether the field is in a visually invalid state. Overrides the error state set by `reportValidity()`."
      },
      {
       "name": "error-icon",
       "type": {
        "text": "ErrorIconVisibility"
       },
       "fieldName": "errorIcon",
       "default": "'always'",
       "description": "When the error icon shows in the trailing edge: `always` (default) in the error state, or `focus` only while the field has focus. Its space stays reserved, so focusing the field does not move the text."
      },
      {
       "name": "error-text",
       "type": {
        "text": "string"
       },
       "fieldName": "errorText",
       "default": "''",
       "description": "The message that replaces the supporting text while `error` is true. If empty, the supporting text keeps showing. Overrides the message shown by `reportValidity()`."
      },
      {
       "name": "has-leading-icon",
       "type": {
        "text": "boolean"
       },
       "fieldName": "hasLeadingIcon",
       "default": "false",
       "description": "Whether a leading icon is slotted. Set it for SSR."
      },
      {
       "name": "has-trailing-icon",
       "type": {
        "text": "boolean"
       },
       "fieldName": "hasTrailingIcon",
       "default": "false",
       "description": "Whether a trailing icon is slotted. Set it for SSR."
      },
      {
       "name": "inputmode",
       "type": {
        "text": "string"
       },
       "fieldName": "inputMode",
       "default": "''",
       "description": "[MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/inputMode)"
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "fieldName": "label",
       "default": "''",
       "description": "The floating label. It is also the input's accessible name, unless `aria-label` is set."
      },
      {
       "name": "max",
       "type": {
        "text": "string"
       },
       "fieldName": "max",
       "default": "''",
       "description": "The greatest permitted value."
      },
      {
       "name": "maxlength",
       "type": {
        "text": "number"
       },
       "fieldName": "maxLength",
       "default": "-1",
       "description": "The maximum number of characters; shows a character counter. -1 for none."
      },
      {
       "name": "min",
       "type": {
        "text": "string"
       },
       "fieldName": "min",
       "default": "''",
       "description": "The least permitted value."
      },
      {
       "name": "minlength",
       "type": {
        "text": "number"
       },
       "fieldName": "minLength",
       "default": "-1",
       "description": "The minimum number of characters. -1 for none."
      },
      {
       "name": "multiple",
       "type": {
        "text": "boolean"
       },
       "fieldName": "multiple",
       "default": "false",
       "description": "Whether an email field accepts multiple addresses."
      },
      {
       "name": "no-asterisk",
       "type": {
        "text": "boolean"
       },
       "fieldName": "noAsterisk",
       "default": "false",
       "description": "Hides the asterisk added to the label of a required field."
      },
      {
       "name": "no-spinner",
       "type": {
        "text": "boolean"
       },
       "fieldName": "noSpinner",
       "default": "false",
       "description": "Hides the spinner of `type=\"number\"` fields."
      },
      {
       "name": "pattern",
       "type": {
        "text": "string"
       },
       "fieldName": "pattern",
       "default": "''",
       "description": "A regular expression the value must match."
      },
      {
       "name": "placeholder",
       "type": {
        "text": "string"
       },
       "fieldName": "placeholder",
       "default": "''",
       "description": "Hint text shown in the input while it is empty and the label is floated (or there is no label)."
      },
      {
       "name": "prefix-text",
       "type": {
        "text": "string"
       },
       "fieldName": "prefixText",
       "default": "''",
       "description": "Text shown before the input value, such as a currency symbol."
      },
      {
       "name": "readonly",
       "type": {
        "text": "boolean"
       },
       "fieldName": "readOnly",
       "default": "false",
       "description": "Whether the value cannot be edited."
      },
      {
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "fieldName": "required",
       "default": "false",
       "description": "Whether a value is required for form submission. Adds an asterisk to the label."
      },
      {
       "name": "rows",
       "type": {
        "text": "number"
       },
       "fieldName": "rows",
       "default": "2",
       "description": "The number of rows of a `type=\"textarea\"` field."
      },
      {
       "name": "step",
       "type": {
        "text": "string"
       },
       "fieldName": "step",
       "default": "''",
       "description": "The step between permitted numeric values."
      },
      {
       "name": "suffix-text",
       "type": {
        "text": "string"
       },
       "fieldName": "suffixText",
       "default": "''",
       "description": "Text shown after the input value, such as a unit."
      },
      {
       "name": "supporting-text",
       "type": {
        "text": "string"
       },
       "fieldName": "supportingText",
       "default": "''",
       "description": "Additional information shown below the field."
      },
      {
       "name": "supporting-text-visibility",
       "type": {
        "text": "SupportingTextVisibility"
       },
       "fieldName": "supportingTextVisibility",
       "default": "'always'",
       "description": "When the supporting text shows: `always` (default), or `focus` only while the field has focus (text-fields-aed1bf). Its space stays reserved so the layout does not move, it stays in the input's accessible description, and an error message always shows."
      },
      {
       "name": "text-direction",
       "type": {
        "text": "string"
       },
       "fieldName": "textDirection",
       "default": "''",
       "description": "Overrides the input's CSS `direction`."
      },
      {
       "name": "type",
       "type": {
        "text": "TextFieldType | UnsupportedTextFieldType"
       },
       "fieldName": "type",
       "default": "'text'",
       "description": "The input type, `text` by default. `textarea` renders a multi-line `<textarea>`."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "default": "''",
       "description": "The current value. It is always a string."
      },
      {
       "name": "variant",
       "type": {
        "text": "TextFieldVariant"
       },
       "fieldName": "variant",
       "default": "'filled'",
       "description": "The variant: `filled` (default) or `outlined`."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "autocomplete",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The input's `autocomplete` hint.",
       "attribute": "autocomplete",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "cols",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "20",
       "description": "The number of columns of a `type=\"textarea\"` field.",
       "attribute": "cols"
      },
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "Density"
       },
       "privacy": "public",
       "description": "The density, from 0 (default) to -3. Each step down removes 4px from the container height (56px), half above and half below the content; text keeps its size. Values are clamped to that range. text-fields.md \"Avoid applying density by default\": dense fields are below the 48x48 CSS pixel target, so let people opt in (a denser layout or theme) and keep the controls that change it at 48x48.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "error",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the field is in a visually invalid state. Overrides the error state set by `reportValidity()`.",
       "attribute": "error",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "errorIcon",
       "type": {
        "text": "ErrorIconVisibility"
       },
       "privacy": "public",
       "default": "'always'",
       "description": "When the error icon shows in the trailing edge: `always` (default) in the error state, or `focus` only while the field has focus. Its space stays reserved, so focusing the field does not move the text.",
       "attribute": "error-icon"
      },
      {
       "kind": "field",
       "name": "errorText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The message that replaces the supporting text while `error` is true. If empty, the supporting text keeps showing. Overrides the message shown by `reportValidity()`.",
       "attribute": "error-text"
      },
      {
       "kind": "field",
       "name": "hasLeadingIcon",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether a leading icon is slotted. Set it for SSR.",
       "attribute": "has-leading-icon"
      },
      {
       "kind": "field",
       "name": "hasTrailingIcon",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether a trailing icon is slotted. Set it for SSR.",
       "attribute": "has-trailing-icon"
      },
      {
       "kind": "field",
       "name": "inputMode",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "[MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/inputMode)",
       "attribute": "inputmode",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "label",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The floating label. It is also the input's accessible name, unless `aria-label` is set.",
       "attribute": "label"
      },
      {
       "kind": "field",
       "name": "max",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The greatest permitted value.",
       "attribute": "max"
      },
      {
       "kind": "field",
       "name": "maxLength",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "-1",
       "description": "The maximum number of characters; shows a character counter. -1 for none.",
       "attribute": "maxlength"
      },
      {
       "kind": "field",
       "name": "min",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The least permitted value.",
       "attribute": "min"
      },
      {
       "kind": "field",
       "name": "minLength",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "-1",
       "description": "The minimum number of characters. -1 for none.",
       "attribute": "minlength"
      },
      {
       "kind": "field",
       "name": "multiple",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether an email field accepts multiple addresses.",
       "attribute": "multiple",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "noAsterisk",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Hides the asterisk added to the label of a required field.",
       "attribute": "no-asterisk"
      },
      {
       "kind": "field",
       "name": "noSpinner",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Hides the spinner of `type=\"number\"` fields.",
       "attribute": "no-spinner"
      },
      {
       "kind": "field",
       "name": "pattern",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "A regular expression the value must match.",
       "attribute": "pattern"
      },
      {
       "kind": "field",
       "name": "placeholder",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Hint text shown in the input while it is empty and the label is floated (or there is no label).",
       "attribute": "placeholder",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "prefixText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Text shown before the input value, such as a currency symbol.",
       "attribute": "prefix-text"
      },
      {
       "kind": "field",
       "name": "readOnly",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the value cannot be edited.",
       "attribute": "readonly",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether a value is required for form submission. Adds an asterisk to the label.",
       "attribute": "required",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "rows",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "2",
       "description": "The number of rows of a `type=\"textarea\"` field.",
       "attribute": "rows"
      },
      {
       "kind": "field",
       "name": "step",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The step between permitted numeric values.",
       "attribute": "step"
      },
      {
       "kind": "field",
       "name": "suffixText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Text shown after the input value, such as a unit.",
       "attribute": "suffix-text"
      },
      {
       "kind": "field",
       "name": "supportingText",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Additional information shown below the field.",
       "attribute": "supporting-text"
      },
      {
       "kind": "field",
       "name": "supportingTextVisibility",
       "type": {
        "text": "SupportingTextVisibility"
       },
       "privacy": "public",
       "default": "'always'",
       "description": "When the supporting text shows: `always` (default), or `focus` only while the field has focus (text-fields-aed1bf). Its space stays reserved so the layout does not move, it stays in the input's accessible description, and an error message always shows.",
       "attribute": "supporting-text-visibility"
      },
      {
       "kind": "field",
       "name": "textDirection",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Overrides the input's CSS `direction`.",
       "attribute": "text-direction"
      },
      {
       "kind": "field",
       "name": "type",
       "type": {
        "text": "TextFieldType | UnsupportedTextFieldType"
       },
       "privacy": "public",
       "default": "'text'",
       "description": "The input type, `text` by default. `textarea` renders a multi-line `<textarea>`.",
       "attribute": "type",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The current value. It is always a string.",
       "attribute": "value"
      },
      {
       "kind": "field",
       "name": "variant",
       "type": {
        "text": "TextFieldVariant"
       },
       "privacy": "public",
       "default": "'filled'",
       "description": "The variant: `filled` (default) or `outlined`.",
       "attribute": "variant",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "focus",
       "privacy": "public",
       "description": "[MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/focus)",
       "parameters": [
        {
         "name": "options",
         "type": {
          "text": "FocusOptions"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formDisabledCallback",
       "privacy": "public",
       "description": "A callback for when a form component should be disabled or enabled. This can be called in a variety of situations, such as disabled `<fieldset>`s.",
       "parameters": [
        {
         "name": "disabled",
         "type": {
          "text": "boolean"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formResetCallback",
       "privacy": "public",
       "description": "An optional callback for when the form requests to reset its value. Typically, the default value that is reset is represented in the attribute of an element. This means the attribute used for the value should not update as the value changes. For example, a checkbox should not change its default `checked` attribute when selected. Ensure form values do not reflect.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formStateRestoreCallback",
       "privacy": "public",
       "description": "An optional callback for when the form restores the state of a component. For example, when a page is reloaded or forms are autofilled.",
       "parameters": [
        {
         "name": "state",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "reset",
       "privacy": "public",
       "description": "Resets the value to the `value` attribute and clears native errors.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "select",
       "privacy": "public",
       "description": "Selects all the text.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "setCustomValidity",
       "privacy": "public",
       "description": "Sets the element's constraint validation error message. When set to a non-empty string, `validity.customError` will be true and `validationMessage` will display the provided error. Use this method to customize error messages reported. https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setCustomValidity",
       "parameters": [
        {
         "name": "error",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "setRangeText",
       "privacy": "public",
       "description": "Replaces a range of text with a new string."
      },
      {
       "kind": "method",
       "name": "setSelectionRange",
       "privacy": "public",
       "description": "Sets the start and end of the text selection.",
       "parameters": [
        {
         "name": "start",
         "type": {
          "text": "number"
         }
        },
        {
         "name": "end",
         "type": {
          "text": "number"
         }
        },
        {
         "name": "direction",
         "type": {
          "text": "\"none\" | \"forward\" | \"backward\""
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "showPicker",
       "privacy": "public",
       "description": "Shows the browser picker of a date, time or color field.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "stepDown",
       "privacy": "public",
       "description": "Decrements a numeric value by `step`, `n` times.",
       "parameters": [
        {
         "name": "n",
         "type": {
          "text": "number"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "stepUp",
       "privacy": "public",
       "description": "Increments a numeric value by `step`, `n` times.",
       "parameters": [
        {
         "name": "n",
         "type": {
          "text": "number"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "The native `change` event. --bubbles"
      },
      {
       "name": "input",
       "type": {
        "text": "InputEvent"
       },
       "description": "The native `input` event. --bubbles --composed"
      },
      {
       "name": "invalid",
       "type": {
        "text": "Event"
       },
       "description": "Fired when `checkValidity()` or `reportValidity()` finds the field invalid. --bubbles"
      },
      {
       "name": "select",
       "type": {
        "text": "Event"
       },
       "description": "The native `select` event. --bubbles"
      }
     ],
     "slots": [
      {
       "name": "leading-icon",
       "description": "An icon (or icon button) before the input."
      },
      {
       "name": "trailing-icon",
       "description": "An icon (or icon button) after the input, such as a clear, visibility or error icon."
      }
     ],
     "cssParts": [
      {
       "name": "container",
       "description": "The field's container."
      },
      {
       "name": "counter",
       "description": "The character counter."
      },
      {
       "name": "input",
       "description": "The native `<input>` or `<textarea>`."
      },
      {
       "name": "label",
       "description": "The floating label."
      },
      {
       "name": "supporting-text",
       "description": "The supporting or error text."
      }
     ],
     "cssProperties": [
      {
       "name": "--active-indicator-color",
       "description": "Filled active indicator color."
      },
      {
       "name": "--active-indicator-height",
       "description": "Filled active indicator thickness."
      },
      {
       "name": "--affix-space",
       "description": "Space between the prefix/suffix and the input."
      },
      {
       "name": "--bottom-space",
       "description": "Space below the input."
      },
      {
       "name": "--caret-color",
       "description": "Input caret color."
      },
      {
       "name": "--container-color",
       "description": "Container background color."
      },
      {
       "name": "--container-height",
       "description": "Single-line container height."
      },
      {
       "name": "--container-shape",
       "description": "Container corner radius."
      },
      {
       "name": "--counter-space",
       "description": "Space between the supporting text and counter."
      },
      {
       "name": "--density-step",
       "description": "Container height removed per density step."
      },
      {
       "name": "--icon-input-space",
       "description": "Space between an icon and the input."
      },
      {
       "name": "--icon-leading-space",
       "description": "Start padding before a leading icon."
      },
      {
       "name": "--icon-trailing-space",
       "description": "End padding after a trailing icon."
      },
      {
       "name": "--input-text",
       "description": "Input typography."
      },
      {
       "name": "--input-text-axes",
       "description": "Input font variation settings."
      },
      {
       "name": "--input-text-color",
       "description": "Input text color."
      },
      {
       "name": "--input-text-placeholder-color",
       "description": "Placeholder color."
      },
      {
       "name": "--input-text-prefix-color",
       "description": "Prefix text color."
      },
      {
       "name": "--input-text-suffix-color",
       "description": "Suffix text color."
      },
      {
       "name": "--input-text-tracking",
       "description": "Input letter spacing."
      },
      {
       "name": "--label-text",
       "description": "Resting label typography."
      },
      {
       "name": "--label-text-axes",
       "description": "Label font variation settings."
      },
      {
       "name": "--label-text-color",
       "description": "Label color."
      },
      {
       "name": "--label-text-populated-line-height",
       "description": "Floated label line height."
      },
      {
       "name": "--label-text-populated-size",
       "description": "Floated label font size."
      },
      {
       "name": "--label-text-tracking",
       "description": "Label letter spacing."
      },
      {
       "name": "--leading-icon-color",
       "description": "Leading icon color."
      },
      {
       "name": "--leading-icon-size",
       "description": "Leading icon size."
      },
      {
       "name": "--leading-space",
       "description": "Start padding without a leading icon."
      },
      {
       "name": "--outline-color",
       "description": "Outlined container outline color."
      },
      {
       "name": "--outline-label-padding",
       "description": "Space around the floated label in the outline notch."
      },
      {
       "name": "--outline-width",
       "description": "Outlined container outline width."
      },
      {
       "name": "--state-layer-color",
       "description": "Hover state layer color (filled)."
      },
      {
       "name": "--supporting-text",
       "description": "Supporting text typography."
      },
      {
       "name": "--supporting-text-axes",
       "description": "Supporting text font variation settings."
      },
      {
       "name": "--supporting-text-color",
       "description": "Supporting text color."
      },
      {
       "name": "--supporting-text-top-space",
       "description": "Space above the supporting text."
      },
      {
       "name": "--supporting-text-tracking",
       "description": "Supporting text letter spacing."
      },
      {
       "name": "--top-space",
       "description": "Space above the content (filled: above the floated label)."
      },
      {
       "name": "--trailing-icon-color",
       "description": "Trailing icon color."
      },
      {
       "name": "--trailing-icon-size",
       "description": "Trailing icon size."
      },
      {
       "name": "--trailing-space",
       "description": "End padding without a trailing icon."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "TextFieldElement",
     "declaration": {
      "name": "TextFieldElement",
      "module": "labs/gb/components/textfield/md-gb-text-field.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-text-field",
     "declaration": {
      "name": "TextFieldElement",
      "module": "labs/gb/components/textfield/md-gb-text-field.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/timepicker/md-gb-time-picker.js",
   "declarations": [
    {
     "kind": "class",
     "name": "TimePickerElement",
     "tagName": "md-gb-time-picker",
     "customElement": true,
     "description": "A Material Design time picker component.",
     "summary": "A Material Design time picker component.",
     "attributes": [
      {
       "name": "cancel-label",
       "type": {
        "text": "string"
       },
       "fieldName": "cancelLabel",
       "default": "'Cancel'",
       "description": "Cancel action label."
      },
      {
       "name": "confirm-label",
       "type": {
        "text": "string"
       },
       "fieldName": "confirmLabel",
       "default": "'OK'",
       "description": "OK action label."
      },
      {
       "name": "density",
       "type": {
        "text": "Density"
       },
       "fieldName": "density",
       "description": "The density, from 0 (default) to -3 (time-pickers.md \"Density\", \"High-density time picker\"). Each step down removes 4px from the time selectors (80px), input fields (72px), the period selector (which follows their height) and the dial (256px); the time selectors, fields and dial labels stay at least 48px. The horizontal layout, used when the viewport is short, keeps the full-size dial (\"Don't apply density to the time picker dial when the viewport is constrained. Instead, use an input picker\"). Values are clamped to that range."
      },
      {
       "name": "dial-mode-label",
       "type": {
        "text": "string"
       },
       "fieldName": "dialModeLabel",
       "default": "'Switch to clock mode'",
       "description": "Accessible label of the mode toggle in input mode."
      },
      {
       "name": "headline",
       "type": {
        "text": "string"
       },
       "fieldName": "headline",
       "default": "''",
       "description": "The headline. Defaults to \"Select time\" (dial) or \"Enter time\" (input)."
      },
      {
       "name": "hide-actions",
       "type": {
        "text": "boolean"
       },
       "fieldName": "hideActions",
       "default": "false",
       "description": "Hides the Cancel and OK actions; every change commits the value."
      },
      {
       "name": "hide-mode-toggle",
       "type": {
        "text": "boolean"
       },
       "fieldName": "hideModeToggle",
       "default": "false",
       "description": "Hides the dial / input mode toggle button."
      },
      {
       "name": "hour-cycle",
       "type": {
        "text": "TimePickerHourCycle"
       },
       "fieldName": "hourCycle",
       "default": "''",
       "description": "`12` (with an AM/PM period selector), `24`, or `''` (default) to follow the locale's clock (`Intl.DateTimeFormat`)."
      },
      {
       "name": "hour-label",
       "type": {
        "text": "string"
       },
       "fieldName": "hourLabel",
       "default": "'Hour'",
       "description": "Hour field label (input mode)."
      },
      {
       "name": "input-mode-label",
       "type": {
        "text": "string"
       },
       "fieldName": "inputModeLabel",
       "default": "'Switch to text input mode'",
       "description": "Accessible label of the mode toggle in dial mode."
      },
      {
       "name": "locale",
       "type": {
        "text": "string"
       },
       "fieldName": "locale",
       "default": "''",
       "description": "The locale used for the 12/24-hour default and the AM/PM labels. Defaults to the browser locale."
      },
      {
       "name": "minute-label",
       "type": {
        "text": "string"
       },
       "fieldName": "minuteLabel",
       "default": "'Minute'",
       "description": "Minute field label (input mode)."
      },
      {
       "name": "modal",
       "type": {
        "text": "boolean"
       },
       "fieldName": "modal",
       "default": "false",
       "description": "Renders the picker as a modal dialog, shown with `show()` or `open`."
      },
      {
       "name": "mode",
       "type": {
        "text": "TimePickerMode"
       },
       "fieldName": "mode",
       "default": "'dial'",
       "description": "`dial` (clock dial) or `input` (hour and minute text fields)."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "open",
       "description": "Whether a modal picker is open. Setting it opens or closes the picker."
      },
      {
       "name": "orientation",
       "type": {
        "text": "\"\" | TimePickerOrientation"
       },
       "fieldName": "orientation",
       "default": "''",
       "description": "The dial layout: `vertical`, `horizontal`, or `''` (default) to pick one from the viewport (horizontal in short landscape viewports)."
      },
      {
       "name": "period-label",
       "type": {
        "text": "string"
       },
       "fieldName": "periodLabel",
       "default": "'Select AM or PM'",
       "description": "Accessible label of the period selector."
      },
      {
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "fieldName": "quick",
       "default": "false",
       "description": "Skips transitions."
      },
      {
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "fieldName": "required",
       "default": "false",
       "description": "Whether a time is required: with no time the picker is invalid (`valueMissing`) and blocks the form's submit."
      },
      {
       "name": "select-hour-label",
       "type": {
        "text": "string"
       },
       "fieldName": "selectHourLabel",
       "default": "'Select hour'",
       "description": "Accessible label of the hour selector and the dial in hour mode."
      },
      {
       "name": "select-minute-label",
       "type": {
        "text": "string"
       },
       "fieldName": "selectMinuteLabel",
       "default": "'Select minutes'",
       "description": "Accessible label of the minute selector and the dial in minute mode."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "fieldName": "value",
       "description": "The committed time as a 24-hour `HH:MM` string (`<input type=\"time\">` format), or `''` when no time is set."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "cancelLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Cancel'",
       "description": "Cancel action label.",
       "attribute": "cancel-label"
      },
      {
       "kind": "field",
       "name": "confirmLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'OK'",
       "description": "OK action label.",
       "attribute": "confirm-label"
      },
      {
       "kind": "field",
       "name": "density",
       "type": {
        "text": "Density"
       },
       "privacy": "public",
       "description": "The density, from 0 (default) to -3 (time-pickers.md \"Density\", \"High-density time picker\"). Each step down removes 4px from the time selectors (80px), input fields (72px), the period selector (which follows their height) and the dial (256px); the time selectors, fields and dial labels stay at least 48px. The horizontal layout, used when the viewport is short, keeps the full-size dial (\"Don't apply density to the time picker dial when the viewport is constrained. Instead, use an input picker\"). Values are clamped to that range.",
       "attribute": "density",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "dialModeLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Switch to clock mode'",
       "description": "Accessible label of the mode toggle in input mode.",
       "attribute": "dial-mode-label"
      },
      {
       "kind": "field",
       "name": "headline",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The headline. Defaults to \"Select time\" (dial) or \"Enter time\" (input).",
       "attribute": "headline"
      },
      {
       "kind": "field",
       "name": "hideActions",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Hides the Cancel and OK actions; every change commits the value.",
       "attribute": "hide-actions",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "hideModeToggle",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Hides the dial / input mode toggle button.",
       "attribute": "hide-mode-toggle",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "hourCycle",
       "type": {
        "text": "TimePickerHourCycle"
       },
       "privacy": "public",
       "default": "''",
       "description": "`12` (with an AM/PM period selector), `24`, or `''` (default) to follow the locale's clock (`Intl.DateTimeFormat`).",
       "attribute": "hour-cycle"
      },
      {
       "kind": "field",
       "name": "hourLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Hour'",
       "description": "Hour field label (input mode).",
       "attribute": "hour-label"
      },
      {
       "kind": "field",
       "name": "inputModeLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Switch to text input mode'",
       "description": "Accessible label of the mode toggle in dial mode.",
       "attribute": "input-mode-label"
      },
      {
       "kind": "field",
       "name": "locale",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The locale used for the 12/24-hour default and the AM/PM labels. Defaults to the browser locale.",
       "attribute": "locale"
      },
      {
       "kind": "field",
       "name": "minuteLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Minute'",
       "description": "Minute field label (input mode).",
       "attribute": "minute-label"
      },
      {
       "kind": "field",
       "name": "modal",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Renders the picker as a modal dialog, shown with `show()` or `open`.",
       "attribute": "modal",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "mode",
       "type": {
        "text": "TimePickerMode"
       },
       "privacy": "public",
       "default": "'dial'",
       "description": "`dial` (clock dial) or `input` (hour and minute text fields).",
       "attribute": "mode",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether a modal picker is open. Setting it opens or closes the picker.",
       "attribute": "open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "orientation",
       "type": {
        "text": "\"\" | TimePickerOrientation"
       },
       "privacy": "public",
       "default": "''",
       "description": "The dial layout: `vertical`, `horizontal`, or `''` (default) to pick one from the viewport (horizontal in short landscape viewports).",
       "attribute": "orientation",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "periodLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Select AM or PM'",
       "description": "Accessible label of the period selector.",
       "attribute": "period-label"
      },
      {
       "kind": "field",
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Skips transitions.",
       "attribute": "quick",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "required",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether a time is required: with no time the picker is invalid (`valueMissing`) and blocks the form's submit.",
       "attribute": "required",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "selectHourLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Select hour'",
       "description": "Accessible label of the hour selector and the dial in hour mode.",
       "attribute": "select-hour-label"
      },
      {
       "kind": "field",
       "name": "selection",
       "type": {
        "text": "TimePickerSelection"
       },
       "privacy": "public",
       "default": "'hour'",
       "description": "Which part of the time the dial edits."
      },
      {
       "kind": "field",
       "name": "selectMinuteLabel",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "'Select minutes'",
       "description": "Accessible label of the minute selector and the dial in minute mode.",
       "attribute": "select-minute-label"
      },
      {
       "kind": "field",
       "name": "value",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "description": "The committed time as a 24-hour `HH:MM` string (`<input type=\"time\">` format), or `''` when no time is set.",
       "attribute": "value"
      },
      {
       "kind": "method",
       "name": "cancel",
       "privacy": "public",
       "description": "Discards the pending time and fires `cancel`; a modal picker closes unless the event is canceled (canceling keeps the pending time). What the Cancel action does.",
       "parameters": [
        {
         "name": "reason",
         "type": {
          "text": "string"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "close",
       "privacy": "public",
       "description": "Closes a modal picker without committing. Fires a cancelable `close` event with `detail.reason`, then `closed` after the exit transition.",
       "parameters": [
        {
         "name": "reason",
         "type": {
          "text": "string"
         },
         "optional": true
        }
       ],
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "confirm",
       "privacy": "public",
       "description": "Commits the pending time to `value` (firing `change` when it differs) and closes a modal picker. What the OK action does.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formDisabledCallback",
       "privacy": "public",
       "description": "A callback for when a form component should be disabled or enabled. This can be called in a variety of situations, such as disabled `<fieldset>`s.",
       "parameters": [
        {
         "name": "disabled",
         "type": {
          "text": "boolean"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formResetCallback",
       "privacy": "public",
       "description": "An optional callback for when the form requests to reset its value. Typically, the default value that is reset is represented in the attribute of an element. This means the attribute used for the value should not update as the value changes. For example, a checkbox should not change its default `checked` attribute when selected. Ensure form values do not reflect.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "formStateRestoreCallback",
       "privacy": "public",
       "description": "An optional callback for when the form restores the state of a component. For example, when a page is reloaded or forms are autofilled.",
       "parameters": [
        {
         "name": "state",
         "type": {
          "text": "string"
         }
        }
       ],
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "show",
       "privacy": "public",
       "description": "Opens a modal picker on the committed time, starting with the hours. Fires `open`.",
       "return": {
        "type": {
         "text": "Promise<void>"
        }
       }
      },
      {
       "kind": "method",
       "name": "toggleMode",
       "privacy": "public",
       "description": "Switches between the dial and input modes.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "cancel",
       "type": {
        "text": "Event"
       },
       "description": "Fired when picking is canceled (Cancel, Escape, scrim click). Cancelable for a modal picker; canceling keeps it open."
      },
      {
       "name": "change",
       "type": {
        "text": "Event"
       },
       "description": "Fired when a new `value` is committed (OK, or the end of an interaction with `hide-actions`)."
      },
      {
       "name": "close",
       "type": {
        "text": "Event"
       },
       "description": "Fired when a modal picker closes."
      },
      {
       "name": "input",
       "type": {
        "text": "Event"
       },
       "description": "Fired whenever the picked time changes (dial drag, key, typed digits, period). Read the pending time from `pendingValue`."
      },
      {
       "name": "open",
       "type": {
        "text": "Event"
       },
       "description": "Fired when a modal picker opens."
      }
     ],
     "cssParts": [
      {
       "name": "actions",
       "description": "The actions row."
      },
      {
       "name": "container",
       "description": "The picker container (a `<dialog>` when modal)."
      },
      {
       "name": "dial",
       "description": "The clock dial."
      },
      {
       "name": "headline",
       "description": "The headline."
      }
     ],
     "cssProperties": [
      {
       "name": "--clock-dial-color",
       "description": "Clock dial color."
      },
      {
       "name": "--clock-dial-container-size",
       "description": "Clock dial size."
      },
      {
       "name": "--clock-dial-label-text",
       "description": "Clock dial number typography."
      },
      {
       "name": "--clock-dial-selected-label-text-color",
       "description": "Clock dial number color under the selector handle."
      },
      {
       "name": "--clock-dial-selector-center-container-color",
       "description": "Selector center dot color."
      },
      {
       "name": "--clock-dial-selector-center-container-size",
       "description": "Selector center dot size."
      },
      {
       "name": "--clock-dial-selector-handle-container-color",
       "description": "Selector handle color."
      },
      {
       "name": "--clock-dial-selector-handle-container-size",
       "description": "Selector handle size."
      },
      {
       "name": "--clock-dial-selector-track-container-color",
       "description": "Selector track color."
      },
      {
       "name": "--clock-dial-selector-track-container-width",
       "description": "Selector track width."
      },
      {
       "name": "--clock-dial-unselected-label-text-color",
       "description": "Clock dial number color."
      },
      {
       "name": "--container-color",
       "description": "Container color."
      },
      {
       "name": "--container-elevation",
       "description": "Container elevation (modal)."
      },
      {
       "name": "--container-padding",
       "description": "Container padding."
      },
      {
       "name": "--container-shape",
       "description": "Container corner radius."
      },
      {
       "name": "--density-step",
       "description": "Size removed per density step (time selectors, input fields, period selector, dial)."
      },
      {
       "name": "--headline",
       "description": "Headline typography."
      },
      {
       "name": "--headline-color",
       "description": "Headline color."
      },
      {
       "name": "--period-selector-container-shape",
       "description": "Period selector corner radius."
      },
      {
       "name": "--period-selector-horizontal-container-height",
       "description": "Horizontal period selector height."
      },
      {
       "name": "--period-selector-horizontal-container-width",
       "description": "Horizontal period selector width."
      },
      {
       "name": "--period-selector-label-text",
       "description": "Period selector typography."
      },
      {
       "name": "--period-selector-outline-color",
       "description": "Period selector outline color."
      },
      {
       "name": "--period-selector-outline-width",
       "description": "Period selector outline width."
      },
      {
       "name": "--period-selector-selected-container-color",
       "description": "Selected period color."
      },
      {
       "name": "--period-selector-selected-label-text-color",
       "description": "Selected period text color."
      },
      {
       "name": "--period-selector-unselected-label-text-color",
       "description": "Unselected period text color."
      },
      {
       "name": "--period-selector-vertical-container-height",
       "description": "Vertical period selector height."
      },
      {
       "name": "--period-selector-vertical-container-width",
       "description": "Vertical period selector width."
      },
      {
       "name": "--scrim-color",
       "description": "Modal scrim color."
      },
      {
       "name": "--scrim-opacity",
       "description": "Modal scrim opacity."
      },
      {
       "name": "--time-input-field-container-color",
       "description": "Input mode field color."
      },
      {
       "name": "--time-input-field-container-height",
       "description": "Input mode field height."
      },
      {
       "name": "--time-input-field-container-width",
       "description": "Input mode field width."
      },
      {
       "name": "--time-input-field-focus-container-color",
       "description": "Focused input mode field color."
      },
      {
       "name": "--time-input-field-focus-outline-color",
       "description": "Focused input mode field outline color."
      },
      {
       "name": "--time-input-field-label-text",
       "description": "Input mode field typography."
      },
      {
       "name": "--time-input-field-supporting-text",
       "description": "Input mode field label typography."
      },
      {
       "name": "--time-selector-24h-vertical-container-width",
       "description": "Hour and minute selector width in the 24-hour vertical layout."
      },
      {
       "name": "--time-selector-container-height",
       "description": "Hour and minute selector height."
      },
      {
       "name": "--time-selector-container-shape",
       "description": "Hour and minute selector corner radius."
      },
      {
       "name": "--time-selector-container-width",
       "description": "Hour and minute selector width."
      },
      {
       "name": "--time-selector-label-text",
       "description": "Hour and minute selector typography."
      },
      {
       "name": "--time-selector-selected-container-color",
       "description": "Selected hour or minute selector color."
      },
      {
       "name": "--time-selector-selected-label-text-color",
       "description": "Selected hour or minute selector text color."
      },
      {
       "name": "--time-selector-separator",
       "description": "Separator typography."
      },
      {
       "name": "--time-selector-separator-color",
       "description": "Separator color."
      },
      {
       "name": "--time-selector-unselected-container-color",
       "description": "Unselected hour or minute selector color."
      },
      {
       "name": "--time-selector-unselected-label-text-color",
       "description": "Unselected hour or minute selector text color."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "TimePickerElement",
     "declaration": {
      "name": "TimePickerElement",
      "module": "labs/gb/components/timepicker/md-gb-time-picker.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-time-picker",
     "declaration": {
      "name": "TimePickerElement",
      "module": "labs/gb/components/timepicker/md-gb-time-picker.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/toolbar/md-gb-toolbar.js",
   "declarations": [
    {
     "kind": "class",
     "name": "ToolbarElement",
     "tagName": "md-gb-toolbar",
     "customElement": true,
     "description": "A Material Design gBreeze toolbar custom element.",
     "summary": "A Material Design gBreeze toolbar custom element.",
     "attributes": [
      {
       "name": "color",
       "type": {
        "text": "ToolbarColor"
       },
       "fieldName": "color",
       "default": "'standard'",
       "description": "The color scheme of the toolbar."
      },
      {
       "name": "docked",
       "type": {
        "text": "boolean"
       },
       "fieldName": "docked",
       "default": "false",
       "description": "Whether the toolbar is docked across full width."
      },
      {
       "name": "expanded",
       "type": {
        "text": "boolean"
       },
       "fieldName": "expanded",
       "default": "true",
       "description": "Whether a floating toolbar with a FAB shows its items. When `false`, the toolbar collapses and its FAB grows to the medium size (Compose floating toolbar `expanded`). Set `expanded=\"false\"` from markup."
      },
      {
       "name": "fab-position",
       "type": {
        "text": "\"start\" | \"end\""
       },
       "fieldName": "fabPosition",
       "default": "'end'",
       "description": "Which side of a floating toolbar the FAB is on (`end` or `start`)."
      },
      {
       "name": "orientation",
       "type": {
        "text": "ToolbarOrientation"
       },
       "fieldName": "orientation",
       "default": "'horizontal'",
       "description": "The layout orientation."
      },
      {
       "name": "overflow-menu",
       "type": {
        "text": "boolean"
       },
       "fieldName": "overflowMenu",
       "default": "false",
       "description": "Whether trailing actions that do not fit move into an overflow menu in the trailing slot (toolbars.md, Adaptive design). On by itself when an `overflow` slot trigger is provided; this turns it on with the default \"More actions\" button."
      },
      {
       "name": "scroll-behavior",
       "type": {
        "text": "\"hide\""
       },
       "fieldName": "scrollBehavior",
       "description": "How a docked or floating toolbar reacts to scrolling: `hide` slides it beyond the bottom edge when the page scrolls down and back on scroll up (toolbars.md: docked and floating toolbars \"can animate offscreen\")."
      },
      {
       "name": "scroll-target",
       "type": {
        "text": "string"
       },
       "fieldName": "scrollTarget",
       "default": "''",
       "description": "The id of the element whose scrolling drives `scroll-behavior`. Defaults to the window."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "color",
       "type": {
        "text": "ToolbarColor"
       },
       "privacy": "public",
       "default": "'standard'",
       "description": "The color scheme of the toolbar.",
       "attribute": "color",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "docked",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether the toolbar is docked across full width.",
       "attribute": "docked",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "expanded",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "true",
       "description": "Whether a floating toolbar with a FAB shows its items. When `false`, the toolbar collapses and its FAB grows to the medium size (Compose floating toolbar `expanded`). Set `expanded=\"false\"` from markup.",
       "attribute": "expanded",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "fabPosition",
       "type": {
        "text": "\"start\" | \"end\""
       },
       "privacy": "public",
       "default": "'end'",
       "description": "Which side of a floating toolbar the FAB is on (`end` or `start`).",
       "attribute": "fab-position",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "orientation",
       "type": {
        "text": "ToolbarOrientation"
       },
       "privacy": "public",
       "default": "'horizontal'",
       "description": "The layout orientation.",
       "attribute": "orientation",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "overflowMenu",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether trailing actions that do not fit move into an overflow menu in the trailing slot (toolbars.md, Adaptive design). On by itself when an `overflow` slot trigger is provided; this turns it on with the default \"More actions\" button.",
       "attribute": "overflow-menu",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "scrollBehavior",
       "type": {
        "text": "\"hide\""
       },
       "privacy": "public",
       "description": "How a docked or floating toolbar reacts to scrolling: `hide` slides it beyond the bottom edge when the page scrolls down and back on scroll up (toolbars.md: docked and floating toolbars \"can animate offscreen\").",
       "attribute": "scroll-behavior",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "scrollTarget",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The id of the element whose scrolling drives `scroll-behavior`. Defaults to the window.",
       "attribute": "scroll-target"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Used to display toolbar items (buttons, icon buttons, or custom content)."
      },
      {
       "name": "fab",
       "description": "An optional FAB (`md-gb-fab`) shown next to a floating toolbar, colored by the toolbar's `color` (standard: secondary container, vibrant: tertiary container)."
      },
      {
       "name": "leading",
       "description": "Used to display leading toolbar items."
      },
      {
       "name": "trailing",
       "description": "Used to display trailing toolbar items."
      }
     ],
     "cssParts": [
      {
       "name": "toolbar",
       "description": "The toolbar's root container."
      },
      {
       "name": "toolbar-with-fab",
       "description": "The toolbar and FAB layout, with a FAB."
      }
     ],
     "cssProperties": [
      {
       "name": "--button-container-color"
      },
      {
       "name": "--container-color"
      },
      {
       "name": "--container-elevation"
      },
      {
       "name": "--container-leading-space"
      },
      {
       "name": "--container-shape"
      },
      {
       "name": "--container-spacing"
      },
      {
       "name": "--container-trailing-space"
      },
      {
       "name": "--docked-container-elevation"
      },
      {
       "name": "--docked-container-height"
      },
      {
       "name": "--docked-container-leading-space"
      },
      {
       "name": "--docked-container-max-spacing"
      },
      {
       "name": "--docked-container-min-spacing"
      },
      {
       "name": "--docked-container-shape"
      },
      {
       "name": "--docked-container-trailing-space"
      },
      {
       "name": "--horizontal-container-height"
      },
      {
       "name": "--icon-color"
      },
      {
       "name": "--label-text-color"
      },
      {
       "name": "--min-button-size"
      },
      {
       "name": "--motion-duration"
      },
      {
       "name": "--motion-easing"
      },
      {
       "name": "--selected-button-container-color"
      },
      {
       "name": "--selected-icon-color"
      },
      {
       "name": "--selected-label-text-color"
      },
      {
       "name": "--vertical-container-width"
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "ToolbarElement",
     "declaration": {
      "name": "ToolbarElement",
      "module": "labs/gb/components/toolbar/md-gb-toolbar.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-toolbar",
     "declaration": {
      "name": "ToolbarElement",
      "module": "labs/gb/components/toolbar/md-gb-toolbar.js"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "labs/gb/components/tooltip/md-gb-tooltip.js",
   "declarations": [
    {
     "kind": "class",
     "name": "TooltipElement",
     "tagName": "md-gb-tooltip",
     "customElement": true,
     "description": "A Material Design plain or rich tooltip.",
     "summary": "A Material Design plain or rich tooltip.",
     "attributes": [
      {
       "name": "align",
       "type": {
        "text": "\"\" | \"start\" | \"center\""
       },
       "fieldName": "align",
       "default": "''",
       "description": "How the tooltip lines up with its anchor along the placement side: `center` (plain default) or `start` (rich default). A rich tooltip can be `center`ed below its anchor on desktop."
      },
      {
       "name": "caret",
       "type": {
        "text": "boolean"
       },
       "fieldName": "caret",
       "default": "false",
       "description": "Whether to draw a caret pointing at the anchor."
      },
      {
       "name": "hide-delay",
       "type": {
        "text": "number"
       },
       "fieldName": "hideDelay",
       "default": "TOOLTIP_HIDE_DELAY_MS",
       "description": "Delay before hiding after the pointer leaves, in milliseconds."
      },
      {
       "name": "for",
       "type": {
        "text": "string"
       },
       "fieldName": "htmlFor",
       "default": "''",
       "description": "The id of the anchor element, in the same root as the tooltip."
      },
      {
       "name": "no-boundary",
       "type": {
        "text": "boolean"
       },
       "fieldName": "noBoundary",
       "default": "false",
       "description": "Plain only: the anchor has no visual boundary, such as a text baseline, so the tooltip sits 8dp from it instead of 4dp."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "fieldName": "open",
       "description": "Whether the tooltip is open."
      },
      {
       "name": "persistent",
       "type": {
        "text": "boolean"
       },
       "fieldName": "persistent",
       "default": "false",
       "description": "Rich only: opens when the anchor is clicked instead of on hover / focus, and stays open until the user interacts with another element."
      },
      {
       "name": "placement",
       "type": {
        "text": "\"\" | TooltipPlacement"
       },
       "fieldName": "placement",
       "default": "''",
       "description": "Preferred side of the anchor. Defaults to `above` for plain tooltips and `below` for rich ones. Flips when there isn't room."
      },
      {
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "fieldName": "quick",
       "default": "false",
       "description": "Skips the open / close animation."
      },
      {
       "name": "show-delay",
       "type": {
        "text": "number"
       },
       "fieldName": "showDelay",
       "default": "TOOLTIP_SHOW_DELAY_MS",
       "description": "Hover delay before showing, in milliseconds."
      },
      {
       "name": "subhead",
       "type": {
        "text": "string"
       },
       "fieldName": "subhead",
       "default": "''",
       "description": "Rich only: subhead text. Replaced by content in the `subhead` slot."
      },
      {
       "name": "variant",
       "type": {
        "text": "TooltipVariant"
       },
       "fieldName": "variant",
       "default": "TOOLTIP_VARIANTS.plain",
       "description": "Plain or rich."
      }
     ],
     "members": [
      {
       "kind": "field",
       "name": "align",
       "type": {
        "text": "\"\" | \"start\" | \"center\""
       },
       "privacy": "public",
       "default": "''",
       "description": "How the tooltip lines up with its anchor along the placement side: `center` (plain default) or `start` (rich default). A rich tooltip can be `center`ed below its anchor on desktop.",
       "attribute": "align",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "caret",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Whether to draw a caret pointing at the anchor.",
       "attribute": "caret",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "hideDelay",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "TOOLTIP_HIDE_DELAY_MS",
       "description": "Delay before hiding after the pointer leaves, in milliseconds.",
       "attribute": "hide-delay"
      },
      {
       "kind": "field",
       "name": "htmlFor",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "The id of the anchor element, in the same root as the tooltip.",
       "attribute": "for",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "noBoundary",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Plain only: the anchor has no visual boundary, such as a text baseline, so the tooltip sits 8dp from it instead of 4dp.",
       "attribute": "no-boundary",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "description": "Whether the tooltip is open.",
       "attribute": "open",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "persistent",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Rich only: opens when the anchor is clicked instead of on hover / focus, and stays open until the user interacts with another element.",
       "attribute": "persistent",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "placement",
       "type": {
        "text": "\"\" | TooltipPlacement"
       },
       "privacy": "public",
       "default": "''",
       "description": "Preferred side of the anchor. Defaults to `above` for plain tooltips and `below` for rich ones. Flips when there isn't room.",
       "attribute": "placement",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "quick",
       "type": {
        "text": "boolean"
       },
       "privacy": "public",
       "default": "false",
       "description": "Skips the open / close animation.",
       "attribute": "quick",
       "reflects": true
      },
      {
       "kind": "field",
       "name": "showDelay",
       "type": {
        "text": "number"
       },
       "privacy": "public",
       "default": "TOOLTIP_SHOW_DELAY_MS",
       "description": "Hover delay before showing, in milliseconds.",
       "attribute": "show-delay"
      },
      {
       "kind": "field",
       "name": "subhead",
       "type": {
        "text": "string"
       },
       "privacy": "public",
       "default": "''",
       "description": "Rich only: subhead text. Replaced by content in the `subhead` slot.",
       "attribute": "subhead"
      },
      {
       "kind": "field",
       "name": "variant",
       "type": {
        "text": "TooltipVariant"
       },
       "privacy": "public",
       "default": "TOOLTIP_VARIANTS.plain",
       "description": "Plain or rich.",
       "attribute": "variant",
       "reflects": true
      },
      {
       "kind": "method",
       "name": "hide",
       "privacy": "public",
       "description": "Closes the tooltip.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "reposition",
       "privacy": "public",
       "description": "Recomputes the tooltip's position next to its anchor.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      },
      {
       "kind": "method",
       "name": "show",
       "privacy": "public",
       "description": "Opens the tooltip, closing any other open tooltip.",
       "return": {
        "type": {
         "text": "void"
        }
       }
      }
     ],
     "events": [
      {
       "name": "close",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired before the tooltip closes. Cancelable."
      },
      {
       "name": "closed",
       "type": {
        "text": "CustomEvent<{reason: string}>"
       },
       "description": "Fired after the tooltip closes."
      },
      {
       "name": "open",
       "type": {
        "text": "Event"
       },
       "description": "Fired before the tooltip opens. Cancelable."
      },
      {
       "name": "opened",
       "type": {
        "text": "Event"
       },
       "description": "Fired after the tooltip opens."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "The supporting text."
      },
      {
       "name": "action",
       "description": "Rich tooltip text buttons (up to two), e.g. `<md-gb-button color=\"text\">`."
      },
      {
       "name": "subhead",
       "description": "Rich tooltip subhead; replaces the `subhead` attribute."
      }
     ],
     "cssParts": [
      {
       "name": "actions",
       "description": "The actions container."
      },
      {
       "name": "caret",
       "description": "The caret."
      },
      {
       "name": "subhead",
       "description": "The subhead container."
      },
      {
       "name": "supporting-text",
       "description": "The supporting text container."
      },
      {
       "name": "tooltip",
       "description": "The tooltip surface."
      }
     ],
     "cssProperties": [
      {
       "name": "--action-label-text",
       "description": "Rich action typography."
      },
      {
       "name": "--action-label-text-axes",
       "description": "Rich action font variation settings."
      },
      {
       "name": "--action-label-text-color",
       "description": "Rich action label color."
      },
      {
       "name": "--action-label-text-tracking",
       "description": "Rich action letter spacing."
      },
      {
       "name": "--actions-gap",
       "description": "Space between rich actions."
      },
      {
       "name": "--actions-padding-block-end",
       "description": "Rich container bottom padding below actions."
      },
      {
       "name": "--actions-spacing",
       "description": "Space above the rich actions."
      },
      {
       "name": "--anchor-spacing",
       "description": "Distance between the anchor and the tooltip (or its caret)."
      },
      {
       "name": "--caret-height",
       "description": "Caret height."
      },
      {
       "name": "--caret-width",
       "description": "Caret base width."
      },
      {
       "name": "--container-color",
       "description": "Container color."
      },
      {
       "name": "--container-elevation",
       "description": "Container box shadow."
      },
      {
       "name": "--container-shape",
       "description": "Container corner radius."
      },
      {
       "name": "--max-width",
       "description": "Maximum container width."
      },
      {
       "name": "--min-height",
       "description": "Minimum container height."
      },
      {
       "name": "--min-width",
       "description": "Minimum container width."
      },
      {
       "name": "--padding-block",
       "description": "Container block padding."
      },
      {
       "name": "--padding-inline",
       "description": "Container inline padding."
      },
      {
       "name": "--subhead",
       "description": "Rich subhead typography."
      },
      {
       "name": "--subhead-axes",
       "description": "Rich subhead font variation settings."
      },
      {
       "name": "--subhead-color",
       "description": "Rich subhead color."
      },
      {
       "name": "--subhead-spacing",
       "description": "Space below the rich subhead."
      },
      {
       "name": "--subhead-tracking",
       "description": "Rich subhead letter spacing."
      },
      {
       "name": "--supporting-text",
       "description": "Supporting text typography."
      },
      {
       "name": "--supporting-text-axes",
       "description": "Supporting text font variation settings."
      },
      {
       "name": "--supporting-text-color",
       "description": "Supporting text color."
      },
      {
       "name": "--supporting-text-tracking",
       "description": "Supporting text letter spacing."
      },
      {
       "name": "--viewport-margin",
       "description": "Minimum distance from the viewport edges."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "js",
     "name": "TooltipElement",
     "declaration": {
      "name": "TooltipElement",
      "module": "labs/gb/components/tooltip/md-gb-tooltip.js"
     }
    },
    {
     "kind": "custom-element-definition",
     "name": "md-gb-tooltip",
     "declaration": {
      "name": "TooltipElement",
      "module": "labs/gb/components/tooltip/md-gb-tooltip.js"
     }
    }
   ]
  }
 ]
}
