{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./shared\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/anchoring/AnchorOptions.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/anchoring/AnchorPosition.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/anchoring/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./AnchorOptions\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./AnchorPosition\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./positionAnchor\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/anchoring/positionAnchor.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "positionAnchor",
          "return": {
            "type": {
              "text": "Promise<() => void>"
            }
          },
          "parameters": [
            {
              "name": "target",
              "type": {
                "text": "HTMLElement"
              },
              "description": "The element to position."
            },
            {
              "name": "anchor",
              "type": {
                "text": "HTMLElement"
              },
              "description": "The element in which to anchor `target`."
            },
            {
              "name": "options",
              "type": {
                "text": "AnchorOptions"
              },
              "description": "Options that control positioning relative to the anchor."
            },
            {
              "name": "update",
              "type": {
                "text": "((x: number, y: number, position: AnchorPosition) => void)"
              },
              "description": "Callback used to position `target`."
            }
          ],
          "description": "Positions an element relative to an anchor element."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "positionAnchor",
          "declaration": {
            "name": "positionAnchor",
            "module": "src/anchoring/positionAnchor.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/aria-reference.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "getAriaReferenceIds",
          "return": {
            "type": {
              "text": "string[]"
            }
          },
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "Element"
              },
              "description": "The element from which to get referenced IDs."
            },
            {
              "name": "attribute",
              "type": {
                "text": "`aria-${string}`"
              },
              "description": "The ARIA attribute from which to get referenced IDs."
            }
          ],
          "description": "Gets a list of IDs referenced by an element for the specified ARIA attribute."
        },
        {
          "kind": "function",
          "name": "addAriaReferencedId",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "Element"
              },
              "description": "The element to which to add a referenced ID."
            },
            {
              "name": "attribute",
              "type": {
                "text": "`aria-${string}`"
              },
              "description": "The ARIA attribute to which to add an ID."
            },
            {
              "name": "id",
              "type": {
                "text": "string"
              },
              "description": "The ID to add."
            }
          ],
          "description": "Adds an ID to the list of IDs referenced by an element for a given ARIA attribute."
        },
        {
          "kind": "function",
          "name": "removeAriaReferencedId",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "Element"
              },
              "description": "The element from which to remove an ID."
            },
            {
              "name": "attribute",
              "type": {
                "text": "`aria-${string}`"
              },
              "description": "The ARIA attribute from which to remove an ID."
            },
            {
              "name": "id",
              "type": {
                "text": "string"
              },
              "description": "The ID to remove."
            }
          ],
          "description": "Removes an ID from a list of IDs referenced by an element for the specified ARIA attribute."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "getAriaReferenceIds",
          "declaration": {
            "name": "getAriaReferenceIds",
            "module": "src/a11y/aria-reference.ts"
          }
        },
        {
          "kind": "js",
          "name": "addAriaReferencedId",
          "declaration": {
            "name": "addAriaReferencedId",
            "module": "src/a11y/aria-reference.ts"
          }
        },
        {
          "kind": "js",
          "name": "removeAriaReferencedId",
          "declaration": {
            "name": "removeAriaReferencedId",
            "module": "src/a11y/aria-reference.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/AriaDescriber.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Utility for generating visually hidden elements that convey descriptive messages using `aria-describedby`.",
          "name": "M3eAriaDescriber",
          "members": [
            {
              "kind": "field",
              "name": "#nextId",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "static": true,
              "default": "0"
            },
            {
              "kind": "field",
              "name": "#messageContainers",
              "privacy": "private",
              "static": true,
              "default": "new Map< ParentNode, { containerElement: HTMLElement; messageRegistry: Map<string, { messageElement: Element; count: number }>; } >()"
            },
            {
              "kind": "method",
              "name": "describe",
              "static": true,
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "Element"
                  },
                  "description": "The element for which to provide a visually hidden description."
                },
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  },
                  "description": "The message used to describe `element`."
                },
                {
                  "name": "role",
                  "default": "\"tooltip\"",
                  "type": {
                    "text": "string"
                  },
                  "description": "The ARIA role of the message.",
                  "optional": true
                }
              ],
              "description": "Adds an `aria-describedby` reference to a hidden element that contains the message."
            },
            {
              "kind": "method",
              "name": "removeDescription",
              "static": true,
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "Element"
                  },
                  "description": "The element from which to remove a visually hidden description."
                },
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  },
                  "description": "The message used to describe `element`."
                },
                {
                  "name": "role",
                  "default": "\"tooltip\"",
                  "type": {
                    "text": "string"
                  },
                  "description": "The ARIA role of the message.",
                  "optional": true
                }
              ],
              "description": "Removes an `aria-describedby` reference to a hidden element that contains the message."
            },
            {
              "kind": "method",
              "name": "#createMessageContainer",
              "static": true,
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement"
                }
              }
            },
            {
              "kind": "method",
              "name": "#createMessageElement",
              "static": true,
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "role",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eAriaDescriber",
          "declaration": {
            "name": "M3eAriaDescriber",
            "module": "src/a11y/AriaDescriber.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/FocusTrapElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A non-visual element used to trap focus within nested content.",
          "name": "M3eFocusTrapElement",
          "slots": [
            {
              "description": "Renders content for which to trap focus.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "_firstTrap",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "#onFocus",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#getFirstAndLastFocusableChild",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "[HTMLElement | null, HTMLElement | null]"
                }
              }
            },
            {
              "kind": "method",
              "name": "#walkTree",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "root",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "parents",
                  "type": {
                    "text": "readonly Element[]"
                  }
                },
                {
                  "name": "callback",
                  "type": {
                    "text": "(element: Element, parents: readonly Element[]) => void"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#walkShadowRoot",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "root",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "parents",
                  "type": {
                    "text": "readonly Element[]"
                  }
                },
                {
                  "name": "callback",
                  "type": {
                    "text": "(element: Element, parents: readonly Element[]) => void"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#walkSlot",
              "privacy": "private",
              "parameters": [
                {
                  "name": "slot",
                  "type": {
                    "text": "HTMLSlotElement"
                  }
                },
                {
                  "name": "parents",
                  "type": {
                    "text": "readonly Element[]"
                  }
                },
                {
                  "name": "callback",
                  "type": {
                    "text": "(element: Element, parents: readonly Element[]) => void"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "Disabled",
                "module": "src/shared/mixins/Disabled.ts"
              }
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the focus trap.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "Disabled",
                "module": "src/shared/mixins/Disabled.ts"
              }
            }
          ],
          "mixins": [
            {
              "name": "Disabled",
              "module": "/src/shared/mixins/Disabled"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "m3e-focus-trap",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eFocusTrapElement",
          "declaration": {
            "name": "M3eFocusTrapElement",
            "module": "src/a11y/FocusTrapElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-focus-trap",
          "declaration": {
            "name": "M3eFocusTrapElement",
            "module": "src/a11y/FocusTrapElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./list-key\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./keycodes\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./aria-reference\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./AriaDescriber\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./FocusTrapElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./InteractivityChecker\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./LiveAnnouncer\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/InteractivityChecker.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Utility for checking the interactivity of an element, such as whether it is focusable.",
          "name": "M3eInteractivityChecker",
          "members": [
            {
              "kind": "method",
              "name": "isFocusable",
              "static": true,
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "Element"
                  },
                  "description": "The element to test."
                },
                {
                  "name": "parents",
                  "optional": true,
                  "type": {
                    "text": "readonly Element[]"
                  },
                  "description": "The known parent elements to test. The default value is `undefined`."
                }
              ],
              "description": "Determines whether a given element can receive focus."
            },
            {
              "kind": "method",
              "name": "#cannotFocusParent",
              "static": true,
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "parents",
                  "optional": true,
                  "type": {
                    "text": "readonly Element[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "findInteractiveElements",
              "static": true,
              "return": {
                "type": {
                  "text": "HTMLElement[]"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The `HTMLElement` to search."
                }
              ],
              "description": "Finds interactive elements that descend from the specified element."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eInteractivityChecker",
          "declaration": {
            "name": "M3eInteractivityChecker",
            "module": "src/a11y/InteractivityChecker.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/LiveAnnouncer.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Utility for announcing messages to screen readers.",
          "name": "M3eLiveAnnouncer",
          "members": [
            {
              "kind": "field",
              "name": "#nextId",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "static": true,
              "default": "0"
            },
            {
              "kind": "field",
              "name": "#liveElement",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "static": true
            },
            {
              "kind": "field",
              "name": "#previousTimeout",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "static": true
            },
            {
              "kind": "field",
              "name": "#currentPromise",
              "privacy": "private",
              "type": {
                "text": "Promise<void> | undefined"
              },
              "static": true
            },
            {
              "kind": "field",
              "name": "#currentResolve",
              "privacy": "private",
              "type": {
                "text": "() => void | undefined"
              },
              "static": true
            },
            {
              "kind": "method",
              "name": "announce",
              "static": true,
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  },
                  "description": "The message to announce."
                }
              ],
              "description": "Announces the specified message to screen readers."
            },
            {
              "kind": "method",
              "name": "announce",
              "static": true,
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  },
                  "description": "The message to announce."
                },
                {
                  "name": "politeness",
                  "optional": true,
                  "type": {
                    "text": "ARIALivePoliteness | undefined"
                  },
                  "description": "The politeness in which to announce `message`."
                }
              ],
              "description": "Announces the specified message to screen readers."
            },
            {
              "kind": "method",
              "name": "announce",
              "static": true,
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  },
                  "description": "The message to announce."
                },
                {
                  "name": "duration",
                  "optional": true,
                  "type": {
                    "text": "number | undefined"
                  },
                  "description": "The duration, in milliseconds, after which to clear the announcement. Note\r\nthat this takes effect after the message has been added to the DOM, which can be up to\r\n100ms after `announce` has been called."
                }
              ],
              "description": "Announces the specified message to screen readers."
            },
            {
              "kind": "method",
              "name": "announce",
              "static": true,
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  },
                  "description": "The message to announce."
                },
                {
                  "name": "politeness",
                  "optional": true,
                  "type": {
                    "text": "ARIALivePoliteness | undefined"
                  },
                  "description": "The politeness in which to announce `message`."
                },
                {
                  "name": "duration",
                  "optional": true,
                  "type": {
                    "text": "number | undefined"
                  },
                  "description": "The duration, in milliseconds, after which to clear the announcement. Note\r\nthat this takes effect after the message has been added to the DOM, which can be up to 100ms after `announce` has been called."
                }
              ],
              "description": "Announces the specified message to screen readers."
            },
            {
              "kind": "method",
              "name": "announce",
              "static": true,
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "args",
                  "type": {
                    "text": "any[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "clear",
              "static": true,
              "description": "Clears the current text from the announcer element. Can be used to prevent\r\nscreen readers from reading the text out again while the user is going\r\nthrough page landmarks."
            },
            {
              "kind": "method",
              "name": "#createLiveElement",
              "static": true,
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eLiveAnnouncer",
          "declaration": {
            "name": "M3eLiveAnnouncer",
            "module": "src/a11y/LiveAnnouncer.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/visuallyHide.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "visuallyHide",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "style",
              "type": {
                "text": "CSSStyleDeclaration"
              },
              "description": "The style of the element to visually hide."
            }
          ],
          "description": "Visually hides an element."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "visuallyHide",
          "declaration": {
            "name": "visuallyHide",
            "module": "src/a11y/visuallyHide.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/bidi/Directionality.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Utility used to determine the directionality of the current document.",
          "name": "M3eDirectionality",
          "members": [
            {
              "kind": "field",
              "name": "#current",
              "privacy": "private",
              "type": {
                "text": "Direction"
              },
              "static": true,
              "default": "\"ltr\""
            },
            {
              "kind": "field",
              "name": "#observers",
              "privacy": "private",
              "static": true,
              "readonly": true
            },
            {
              "kind": "field",
              "name": "current",
              "type": {
                "text": "Direction"
              },
              "static": true,
              "description": "The directionality of the current document.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "observe",
              "static": true,
              "return": {
                "type": {
                  "text": "()=>void"
                }
              },
              "parameters": [
                {
                  "name": "callback",
                  "type": {
                    "text": "()=>void"
                  },
                  "description": "Function invoked when directionality changes."
                }
              ],
              "description": "Observes changes to directionality."
            },
            {
              "kind": "method",
              "name": "#updateDirection",
              "static": true,
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#handleChange",
              "static": true,
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eDirectionality",
          "declaration": {
            "name": "M3eDirectionality",
            "module": "src/bidi/Directionality.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/bidi/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Directionality\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/layout/Breakpoint.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/layout/BreakpointObserver.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Utility used to detect changes to viewport sizes.",
          "name": "M3eBreakpointObserver",
          "members": [
            {
              "kind": "method",
              "name": "observe",
              "static": true,
              "return": {
                "type": {
                  "text": "() => void"
                }
              },
              "parameters": [
                {
                  "name": "breakpoints",
                  "type": {
                    "text": "Array<Breakpoint | string>"
                  },
                  "description": "The breakpoints to observe."
                },
                {
                  "name": "callback",
                  "type": {
                    "text": "BreakpointObserverCallback"
                  },
                  "description": "The callback function invoked when the viewport size changes."
                }
              ],
              "description": "Observes changes to viewport sizes."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eBreakpointObserver",
          "declaration": {
            "name": "M3eBreakpointObserver",
            "module": "src/layout/BreakpointObserver.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/layout/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Breakpoint\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./BreakpointObserver\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/platform/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Platform\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/platform/Platform.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Utility used to detect the current platform.",
          "name": "M3ePlatform",
          "members": [
            {
              "kind": "field",
              "name": "isBrowser",
              "static": true,
              "readonly": true,
              "description": "A value indicating whether the platform is a browser."
            },
            {
              "kind": "field",
              "name": "Edge",
              "static": true,
              "readonly": true,
              "description": "A value indicating whether the current browser is Microsoft Edge."
            },
            {
              "kind": "field",
              "name": "Trident",
              "static": true,
              "readonly": true,
              "description": "A value indicating whether the current rendering engine is Microsoft Trident."
            },
            {
              "kind": "field",
              "name": "Blink",
              "static": true,
              "readonly": true,
              "description": "A value indicating whether the current rendering engine is Blink."
            },
            {
              "kind": "field",
              "name": "WebKit",
              "static": true,
              "readonly": true,
              "description": "A value indicating whether the current rendering engine is WebKit."
            },
            {
              "kind": "field",
              "name": "iOS",
              "static": true,
              "readonly": true,
              "description": "A value indicating whether the current platform is Apply iOS."
            },
            {
              "kind": "field",
              "name": "Firefox",
              "static": true,
              "readonly": true,
              "description": "A value indicating whether the current browser is Firefox."
            },
            {
              "kind": "field",
              "name": "Android",
              "static": true,
              "readonly": true,
              "description": "A value indicating whether the current platform is Android."
            },
            {
              "kind": "field",
              "name": "Safari",
              "static": true,
              "readonly": true,
              "description": "A value indicating whether the current browser is Safari."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3ePlatform",
          "declaration": {
            "name": "M3ePlatform",
            "module": "src/platform/Platform.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./controllers\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./converters\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./decorators\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./directives\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./mixins\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./primitives\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./tokens\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./utils\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/keycodes/getKeyCode.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "getKeyCode",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "e",
              "type": {
                "text": "KeyboardEvent"
              },
              "description": "The `KeyboardEvent` for which to resolve the key code."
            }
          ],
          "description": "Resolves the key code for the specified `KeyboardEvent`."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "getKeyCode",
          "declaration": {
            "name": "getKeyCode",
            "module": "src/a11y/keycodes/getKeyCode.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/keycodes/hasModifierKey.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "hasModifierKey",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "e",
              "type": {
                "text": "KeyboardEvent"
              },
              "description": "The `KeyboardEvent` to test."
            },
            {
              "name": "modifiers",
              "type": {
                "text": "ModifierKey[]"
              },
              "description": "The modifier keys to test."
            }
          ],
          "description": "Determines whether a modifier key is pressed."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "hasModifierKey",
          "declaration": {
            "name": "hasModifierKey",
            "module": "src/a11y/keycodes/hasModifierKey.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/keycodes/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ModifierKeys\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./KeyCode\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./getKeyCode\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./hasModifierKey\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./isModifierAllowed\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/keycodes/isModifierAllowed.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isModifierAllowed",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "e",
              "type": {
                "text": "KeyboardEvent"
              },
              "description": "The `KeyboardEvent` to test."
            },
            {
              "name": "modifiers",
              "type": {
                "text": "ModifierKey[]"
              },
              "description": "The allowed modifier keys."
            }
          ],
          "description": "Determines whether the specified modifier keys are allowed."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isModifierAllowed",
          "declaration": {
            "name": "isModifierAllowed",
            "module": "src/a11y/keycodes/isModifierAllowed.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/keycodes/KeyCode.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/keycodes/ModifierKeys.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "ModifierKeys",
          "type": {
            "text": "readonly ModifierKey[]"
          },
          "default": "[\"alt\", \"shift\", \"ctrl\", \"meta\"]",
          "description": "The modifier keys."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ModifierKeys",
          "declaration": {
            "name": "ModifierKeys",
            "module": "src/a11y/keycodes/ModifierKeys.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/list-key/FocusKeyManager.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Utility for managing keyboard events for selectable lists whose items directly receive focus.",
          "name": "FocusKeyManager",
          "members": [
            {
              "kind": "field",
              "name": "#focusOptions",
              "privacy": "private",
              "type": {
                "text": "FocusOptions | undefined"
              }
            },
            {
              "kind": "method",
              "name": "setActiveItem",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  }
                }
              ],
              "description": "Sets the active item.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withOptions",
              "return": {
                "type": {
                  "text": "FocusKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "type": {
                    "text": "FocusOptions"
                  },
                  "description": "Options used to focus items."
                }
              ],
              "description": "Configures the key manager with options used to focus items."
            },
            {
              "kind": "field",
              "name": "#typeahead",
              "privacy": "private",
              "type": {
                "text": "Typeahead<T> | undefined"
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether the active item will wrap to the other end of\r\nlist when there are no more items in the given direction.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "homeAndEnd",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to activate the first and last items respectively when\r\nthe `HOME` or `END` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "pageUpAndDown",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to activate every 10th (or configured) first/last item\r\nin the up/down direction when the `PAGEUP` or `PAGEDOWN` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "pageDelta",
              "type": {
                "text": "number"
              },
              "privacy": "public",
              "default": "10",
              "description": "The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to the list is oriented vertically.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "allowedModifiers",
              "type": {
                "text": "ModifierKey[]"
              },
              "privacy": "public",
              "default": "[]",
              "description": "The allowed modifier keys.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "skipPredicate",
              "type": {
                "text": "(item: T) => boolean"
              },
              "privacy": "public",
              "description": "A function used to skip items.",
              "parameters": [
                {
                  "description": "The item to test.",
                  "name": "item",
                  "type": {
                    "text": "T"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "directionality",
              "type": {
                "text": "\"ltr\" | \"rtl\""
              },
              "privacy": "public",
              "default": "\"ltr\"",
              "description": "The directionality.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "setItems",
              "return": {
                "type": {
                  "text": "{ added: readonly T[]; removed: readonly T[] }"
                }
              },
              "parameters": [
                {
                  "name": "items",
                  "type": {
                    "text": "T[]"
                  }
                }
              ],
              "description": "Sets the items to manage.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "updateActiveItem",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  }
                }
              ],
              "description": "Updates the active item.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withHomeAndEnd",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to activate the first and last items respectively when\r\nthe `HOME` or `END` key is pressed.",
                  "optional": true
                }
              ],
              "description": "Configures the key manager to activate the first and last items respectively when the `HOME` or `END` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withPageUpAndDown",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to activate page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.",
                  "optional": true
                },
                {
                  "name": "pageDelta",
                  "default": "10",
                  "type": {
                    "text": "number"
                  },
                  "description": "The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.",
                  "optional": true
                }
              ],
              "description": "Configures the key manager to page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withWrap",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether the active item will wrap to the other end of\r\nlist when there are no more items in the given direction.",
                  "optional": true
                }
              ],
              "description": "Configures wrapping mode, which determines whether the active item will wrap to the other end of list when there are no more items in the given direction.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withVerticalOrientation",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to move selection vertically.",
                  "optional": true
                }
              ],
              "description": "Configures whether to move the selection vertically.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withAllowedModifiers",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "modifiers",
                  "type": {
                    "text": "ModifierKey[]"
                  },
                  "description": "The allowed modifier keys."
                }
              ],
              "description": "Configured allowed modifier keys.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withTypeahead",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether typeahead is enabled.",
                  "optional": true
                }
              ],
              "description": "Configures whether typeahead is enabled.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withSkipPredicate",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "skipPredicate",
                  "type": {
                    "text": "(item: T) => boolean"
                  },
                  "description": "A function used to determine whether an item should be skipped."
                }
              ],
              "description": "Configures a function used to test whether an item should be skipped.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withDirectionality",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "directionality",
                  "type": {
                    "text": "\"ltr\" | \"rtl\""
                  },
                  "description": "The directionality."
                }
              ],
              "description": "Configures the directionality.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "onKeyDown",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  },
                  "description": "The keyboard event to be used for determining which element should be active."
                }
              ],
              "description": "Sets the active item depending on the key event passed in.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findFirst",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findLast",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findNext",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findPrevious",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findPreviousByIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findNextByIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#items",
              "privacy": "private",
              "default": "new Array<T>()",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#activeItem",
              "privacy": "private",
              "type": {
                "text": "T | null"
              },
              "default": "null",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#onActiveItemChangeCallback",
              "privacy": "private",
              "type": {
                "text": "() => void | undefined"
              },
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "items",
              "type": {
                "text": "ReadonlyArray<T>"
              },
              "description": "The items being managed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "activeItem",
              "type": {
                "text": "T | null"
              },
              "description": "The active item.",
              "readonly": true,
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "onActiveItemChange",
              "return": {
                "type": {
                  "text": "ListManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "callback",
                  "type": {
                    "text": "() => void"
                  },
                  "description": "The callback invoked when an item is activated."
                }
              ],
              "description": "Configures the list manager with a callback invoked when an item is activated.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            }
          ],
          "superclass": {
            "name": "ListKeyManager",
            "module": "/src/a11y/list-key/ListKeyManager"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FocusKeyManager",
          "declaration": {
            "name": "FocusKeyManager",
            "module": "src/a11y/list-key/FocusKeyManager.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/list-key/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./FocusKeyManager\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ListKeyManager\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ListManager\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./RadioKeyManager\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./RovingTabIndexManager\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./SelectionManager\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Typeahead\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/list-key/ListKeyManager.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Utility for managing keyboard events for selectable lists.",
          "name": "ListKeyManager",
          "members": [
            {
              "kind": "field",
              "name": "#typeahead",
              "privacy": "private",
              "type": {
                "text": "Typeahead<T> | undefined"
              }
            },
            {
              "kind": "field",
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether the active item will wrap to the other end of\r\nlist when there are no more items in the given direction."
            },
            {
              "kind": "field",
              "name": "homeAndEnd",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to activate the first and last items respectively when\r\nthe `HOME` or `END` key is pressed."
            },
            {
              "kind": "field",
              "name": "pageUpAndDown",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to activate every 10th (or configured) first/last item\r\nin the up/down direction when the `PAGEUP` or `PAGEDOWN` key is pressed."
            },
            {
              "kind": "field",
              "name": "pageDelta",
              "type": {
                "text": "number"
              },
              "privacy": "public",
              "default": "10",
              "description": "The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed."
            },
            {
              "kind": "field",
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to the list is oriented vertically."
            },
            {
              "kind": "field",
              "name": "allowedModifiers",
              "type": {
                "text": "ModifierKey[]"
              },
              "privacy": "public",
              "default": "[]",
              "description": "The allowed modifier keys."
            },
            {
              "kind": "field",
              "name": "skipPredicate",
              "type": {
                "text": "(item: T) => boolean"
              },
              "privacy": "public",
              "description": "A function used to skip items.",
              "parameters": [
                {
                  "description": "The item to test.",
                  "name": "item",
                  "type": {
                    "text": "T"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "field",
              "name": "directionality",
              "type": {
                "text": "\"ltr\" | \"rtl\""
              },
              "privacy": "public",
              "default": "\"ltr\"",
              "description": "The directionality."
            },
            {
              "kind": "method",
              "name": "setItems",
              "return": {
                "type": {
                  "text": "{ added: readonly T[]; removed: readonly T[] }"
                }
              },
              "parameters": [
                {
                  "name": "items",
                  "type": {
                    "text": "T[]"
                  }
                }
              ],
              "description": "Sets the items to manage.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "updateActiveItem",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  }
                }
              ],
              "description": "Updates the active item.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withHomeAndEnd",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to activate the first and last items respectively when\r\nthe `HOME` or `END` key is pressed.",
                  "optional": true
                }
              ],
              "description": "Configures the key manager to activate the first and last items respectively when the `HOME` or `END` key is pressed."
            },
            {
              "kind": "method",
              "name": "withPageUpAndDown",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to activate page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.",
                  "optional": true
                },
                {
                  "name": "pageDelta",
                  "default": "10",
                  "type": {
                    "text": "number"
                  },
                  "description": "The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.",
                  "optional": true
                }
              ],
              "description": "Configures the key manager to page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed."
            },
            {
              "kind": "method",
              "name": "withWrap",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether the active item will wrap to the other end of\r\nlist when there are no more items in the given direction.",
                  "optional": true
                }
              ],
              "description": "Configures wrapping mode, which determines whether the active item will wrap to the other end of list when there are no more items in the given direction."
            },
            {
              "kind": "method",
              "name": "withVerticalOrientation",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to move selection vertically.",
                  "optional": true
                }
              ],
              "description": "Configures whether to move the selection vertically."
            },
            {
              "kind": "method",
              "name": "withAllowedModifiers",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "modifiers",
                  "type": {
                    "text": "ModifierKey[]"
                  },
                  "description": "The allowed modifier keys."
                }
              ],
              "description": "Configured allowed modifier keys."
            },
            {
              "kind": "method",
              "name": "withTypeahead",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether typeahead is enabled.",
                  "optional": true
                }
              ],
              "description": "Configures whether typeahead is enabled."
            },
            {
              "kind": "method",
              "name": "withSkipPredicate",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "skipPredicate",
                  "type": {
                    "text": "(item: T) => boolean"
                  },
                  "description": "A function used to determine whether an item should be skipped."
                }
              ],
              "description": "Configures a function used to test whether an item should be skipped."
            },
            {
              "kind": "method",
              "name": "withDirectionality",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "directionality",
                  "type": {
                    "text": "\"ltr\" | \"rtl\""
                  },
                  "description": "The directionality."
                }
              ],
              "description": "Configures the directionality."
            },
            {
              "kind": "method",
              "name": "onKeyDown",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  },
                  "description": "The keyboard event to be used for determining which element should be active."
                }
              ],
              "description": "Sets the active item depending on the key event passed in."
            },
            {
              "kind": "method",
              "name": "#findFirst",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "#findLast",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "#findNext",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "#findPrevious",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "#findPreviousByIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#findNextByIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#items",
              "privacy": "private",
              "default": "new Array<T>()",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#activeItem",
              "privacy": "private",
              "type": {
                "text": "T | null"
              },
              "default": "null",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#onActiveItemChangeCallback",
              "privacy": "private",
              "type": {
                "text": "() => void | undefined"
              },
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "items",
              "type": {
                "text": "ReadonlyArray<T>"
              },
              "description": "The items being managed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "activeItem",
              "type": {
                "text": "T | null"
              },
              "description": "The active item.",
              "readonly": true,
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "setActiveItem",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  },
                  "description": "The new active item."
                }
              ],
              "description": "Sets the active item.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "onActiveItemChange",
              "return": {
                "type": {
                  "text": "ListManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "callback",
                  "type": {
                    "text": "() => void"
                  },
                  "description": "The callback invoked when an item is activated."
                }
              ],
              "description": "Configures the list manager with a callback invoked when an item is activated.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            }
          ],
          "superclass": {
            "name": "ListManager",
            "module": "/src/a11y/list-key/ListManager"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListKeyManager",
          "declaration": {
            "name": "ListKeyManager",
            "module": "src/a11y/list-key/ListKeyManager.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/list-key/ListManager.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Utility for managing a list of items which supports activation.",
          "name": "ListManager",
          "members": [
            {
              "kind": "field",
              "name": "#items",
              "privacy": "private",
              "default": "new Array<T>()"
            },
            {
              "kind": "field",
              "name": "#activeItem",
              "privacy": "private",
              "type": {
                "text": "T | null"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "#onActiveItemChangeCallback",
              "privacy": "private",
              "type": {
                "text": "() => void | undefined"
              }
            },
            {
              "kind": "field",
              "name": "items",
              "type": {
                "text": "ReadonlyArray<T>"
              },
              "description": "The items being managed.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "activeItem",
              "type": {
                "text": "T | null"
              },
              "description": "The active item.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "setItems",
              "return": {
                "type": {
                  "text": "{ added: ReadonlyArray<T>; removed: ReadonlyArray<T> }"
                }
              },
              "parameters": [
                {
                  "name": "items",
                  "type": {
                    "text": "Array<T>"
                  },
                  "description": "The new items."
                }
              ],
              "description": "Sets the items to manage."
            },
            {
              "kind": "method",
              "name": "setActiveItem",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  },
                  "description": "The new active item."
                }
              ],
              "description": "Sets the active item."
            },
            {
              "kind": "method",
              "name": "updateActiveItem",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  },
                  "description": "The active item."
                }
              ],
              "description": "Updates the active item."
            },
            {
              "kind": "method",
              "name": "onActiveItemChange",
              "return": {
                "type": {
                  "text": "ListManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "callback",
                  "type": {
                    "text": "() => void"
                  },
                  "description": "The callback invoked when an item is activated."
                }
              ],
              "description": "Configures the list manager with a callback invoked when an item is activated."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ListManager",
          "declaration": {
            "name": "ListManager",
            "module": "src/a11y/list-key/ListManager.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/list-key/RadioKeyManager.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Utility for managing keyboard events for selectable lists whose items behave like a radio.",
          "name": "RadioKeyManager",
          "members": [
            {
              "kind": "field",
              "name": "#disabled",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "A value indicating whether managed items are disabled."
            },
            {
              "kind": "method",
              "name": "setItems",
              "return": {
                "type": {
                  "text": "{ added: readonly T[]; removed: readonly T[] }"
                }
              },
              "parameters": [
                {
                  "name": "items",
                  "type": {
                    "text": "T[]"
                  }
                }
              ],
              "description": "Sets the items to manage.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#disableRovingTabIndex",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "RovingTabIndexManager",
                "module": "src/a11y/list-key/RovingTabIndexManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "updateActiveItem",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  }
                }
              ],
              "description": "Updates the active item.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "disableRovingTabIndex",
              "return": {
                "type": {
                  "text": "RovingTabIndexManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "disabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether the roving tab index is disabled.",
                  "optional": true
                }
              ],
              "description": "Configures whether roving tab index is disabled.",
              "inheritedFrom": {
                "name": "RovingTabIndexManager",
                "module": "src/a11y/list-key/RovingTabIndexManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#focusOptions",
              "privacy": "private",
              "type": {
                "text": "FocusOptions | undefined"
              },
              "inheritedFrom": {
                "name": "FocusKeyManager",
                "module": "src/a11y/list-key/FocusKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "setActiveItem",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  }
                }
              ],
              "description": "Sets the active item.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withOptions",
              "return": {
                "type": {
                  "text": "FocusKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "type": {
                    "text": "FocusOptions"
                  },
                  "description": "Options used to focus items."
                }
              ],
              "description": "Configures the key manager with options used to focus items.",
              "inheritedFrom": {
                "name": "FocusKeyManager",
                "module": "src/a11y/list-key/FocusKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#typeahead",
              "privacy": "private",
              "type": {
                "text": "Typeahead<T> | undefined"
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether the active item will wrap to the other end of\r\nlist when there are no more items in the given direction.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "homeAndEnd",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to activate the first and last items respectively when\r\nthe `HOME` or `END` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "pageUpAndDown",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to activate every 10th (or configured) first/last item\r\nin the up/down direction when the `PAGEUP` or `PAGEDOWN` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "pageDelta",
              "type": {
                "text": "number"
              },
              "privacy": "public",
              "default": "10",
              "description": "The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to the list is oriented vertically.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "allowedModifiers",
              "type": {
                "text": "ModifierKey[]"
              },
              "privacy": "public",
              "default": "[]",
              "description": "The allowed modifier keys.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "skipPredicate",
              "type": {
                "text": "(item: T) => boolean"
              },
              "privacy": "public",
              "description": "A function used to skip items.",
              "parameters": [
                {
                  "description": "The item to test.",
                  "name": "item",
                  "type": {
                    "text": "T"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "directionality",
              "type": {
                "text": "\"ltr\" | \"rtl\""
              },
              "privacy": "public",
              "default": "\"ltr\"",
              "description": "The directionality.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withHomeAndEnd",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to activate the first and last items respectively when\r\nthe `HOME` or `END` key is pressed.",
                  "optional": true
                }
              ],
              "description": "Configures the key manager to activate the first and last items respectively when the `HOME` or `END` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withPageUpAndDown",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to activate page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.",
                  "optional": true
                },
                {
                  "name": "pageDelta",
                  "default": "10",
                  "type": {
                    "text": "number"
                  },
                  "description": "The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.",
                  "optional": true
                }
              ],
              "description": "Configures the key manager to page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withWrap",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether the active item will wrap to the other end of\r\nlist when there are no more items in the given direction.",
                  "optional": true
                }
              ],
              "description": "Configures wrapping mode, which determines whether the active item will wrap to the other end of list when there are no more items in the given direction.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withVerticalOrientation",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to move selection vertically.",
                  "optional": true
                }
              ],
              "description": "Configures whether to move the selection vertically.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withAllowedModifiers",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "modifiers",
                  "type": {
                    "text": "ModifierKey[]"
                  },
                  "description": "The allowed modifier keys."
                }
              ],
              "description": "Configured allowed modifier keys.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withTypeahead",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether typeahead is enabled.",
                  "optional": true
                }
              ],
              "description": "Configures whether typeahead is enabled.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withSkipPredicate",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "skipPredicate",
                  "type": {
                    "text": "(item: T) => boolean"
                  },
                  "description": "A function used to determine whether an item should be skipped."
                }
              ],
              "description": "Configures a function used to test whether an item should be skipped.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withDirectionality",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "directionality",
                  "type": {
                    "text": "\"ltr\" | \"rtl\""
                  },
                  "description": "The directionality."
                }
              ],
              "description": "Configures the directionality.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "onKeyDown",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  },
                  "description": "The keyboard event to be used for determining which element should be active."
                }
              ],
              "description": "Sets the active item depending on the key event passed in.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findFirst",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findLast",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findNext",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findPrevious",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findPreviousByIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findNextByIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#items",
              "privacy": "private",
              "default": "new Array<T>()",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#activeItem",
              "privacy": "private",
              "type": {
                "text": "T | null"
              },
              "default": "null",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#onActiveItemChangeCallback",
              "privacy": "private",
              "type": {
                "text": "() => void | undefined"
              },
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "items",
              "type": {
                "text": "ReadonlyArray<T>"
              },
              "description": "The items being managed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "activeItem",
              "type": {
                "text": "T | null"
              },
              "description": "The active item.",
              "readonly": true,
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "onActiveItemChange",
              "return": {
                "type": {
                  "text": "ListManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "callback",
                  "type": {
                    "text": "() => void"
                  },
                  "description": "The callback invoked when an item is activated."
                }
              ],
              "description": "Configures the list manager with a callback invoked when an item is activated.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            }
          ],
          "superclass": {
            "name": "RovingTabIndexManager",
            "module": "/src/a11y/list-key/RovingTabIndexManager"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RadioKeyManager",
          "declaration": {
            "name": "RadioKeyManager",
            "module": "src/a11y/list-key/RadioKeyManager.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/list-key/RovingTabIndexManager.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Utility for managing keyboard events and a roving tab index for selectable lists whose items directly receive focus.",
          "name": "RovingTabIndexManager",
          "members": [
            {
              "kind": "field",
              "name": "#disableRovingTabIndex",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "method",
              "name": "updateActiveItem",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  }
                }
              ],
              "description": "Updates the active item.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "setItems",
              "return": {
                "type": {
                  "text": "{ added: readonly T[]; removed: readonly T[] }"
                }
              },
              "parameters": [
                {
                  "name": "items",
                  "type": {
                    "text": "T[]"
                  }
                }
              ],
              "description": "Sets the items to manage.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "disableRovingTabIndex",
              "return": {
                "type": {
                  "text": "RovingTabIndexManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "disabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether the roving tab index is disabled.",
                  "optional": true
                }
              ],
              "description": "Configures whether roving tab index is disabled."
            },
            {
              "kind": "field",
              "name": "#focusOptions",
              "privacy": "private",
              "type": {
                "text": "FocusOptions | undefined"
              },
              "inheritedFrom": {
                "name": "FocusKeyManager",
                "module": "src/a11y/list-key/FocusKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "setActiveItem",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  }
                }
              ],
              "description": "Sets the active item.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withOptions",
              "return": {
                "type": {
                  "text": "FocusKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "type": {
                    "text": "FocusOptions"
                  },
                  "description": "Options used to focus items."
                }
              ],
              "description": "Configures the key manager with options used to focus items.",
              "inheritedFrom": {
                "name": "FocusKeyManager",
                "module": "src/a11y/list-key/FocusKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#typeahead",
              "privacy": "private",
              "type": {
                "text": "Typeahead<T> | undefined"
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether the active item will wrap to the other end of\r\nlist when there are no more items in the given direction.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "homeAndEnd",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to activate the first and last items respectively when\r\nthe `HOME` or `END` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "pageUpAndDown",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to activate every 10th (or configured) first/last item\r\nin the up/down direction when the `PAGEUP` or `PAGEDOWN` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "pageDelta",
              "type": {
                "text": "number"
              },
              "privacy": "public",
              "default": "10",
              "description": "The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to the list is oriented vertically.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "allowedModifiers",
              "type": {
                "text": "ModifierKey[]"
              },
              "privacy": "public",
              "default": "[]",
              "description": "The allowed modifier keys.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "skipPredicate",
              "type": {
                "text": "(item: T) => boolean"
              },
              "privacy": "public",
              "description": "A function used to skip items.",
              "parameters": [
                {
                  "description": "The item to test.",
                  "name": "item",
                  "type": {
                    "text": "T"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "directionality",
              "type": {
                "text": "\"ltr\" | \"rtl\""
              },
              "privacy": "public",
              "default": "\"ltr\"",
              "description": "The directionality.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withHomeAndEnd",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to activate the first and last items respectively when\r\nthe `HOME` or `END` key is pressed.",
                  "optional": true
                }
              ],
              "description": "Configures the key manager to activate the first and last items respectively when the `HOME` or `END` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withPageUpAndDown",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to activate page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.",
                  "optional": true
                },
                {
                  "name": "pageDelta",
                  "default": "10",
                  "type": {
                    "text": "number"
                  },
                  "description": "The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.",
                  "optional": true
                }
              ],
              "description": "Configures the key manager to page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withWrap",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether the active item will wrap to the other end of\r\nlist when there are no more items in the given direction.",
                  "optional": true
                }
              ],
              "description": "Configures wrapping mode, which determines whether the active item will wrap to the other end of list when there are no more items in the given direction.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withVerticalOrientation",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to move selection vertically.",
                  "optional": true
                }
              ],
              "description": "Configures whether to move the selection vertically.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withAllowedModifiers",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "modifiers",
                  "type": {
                    "text": "ModifierKey[]"
                  },
                  "description": "The allowed modifier keys."
                }
              ],
              "description": "Configured allowed modifier keys.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withTypeahead",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether typeahead is enabled.",
                  "optional": true
                }
              ],
              "description": "Configures whether typeahead is enabled.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withSkipPredicate",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "skipPredicate",
                  "type": {
                    "text": "(item: T) => boolean"
                  },
                  "description": "A function used to determine whether an item should be skipped."
                }
              ],
              "description": "Configures a function used to test whether an item should be skipped.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withDirectionality",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "directionality",
                  "type": {
                    "text": "\"ltr\" | \"rtl\""
                  },
                  "description": "The directionality."
                }
              ],
              "description": "Configures the directionality.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "onKeyDown",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  },
                  "description": "The keyboard event to be used for determining which element should be active."
                }
              ],
              "description": "Sets the active item depending on the key event passed in.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findFirst",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findLast",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findNext",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findPrevious",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findPreviousByIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findNextByIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#items",
              "privacy": "private",
              "default": "new Array<T>()",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#activeItem",
              "privacy": "private",
              "type": {
                "text": "T | null"
              },
              "default": "null",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#onActiveItemChangeCallback",
              "privacy": "private",
              "type": {
                "text": "() => void | undefined"
              },
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "items",
              "type": {
                "text": "ReadonlyArray<T>"
              },
              "description": "The items being managed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "activeItem",
              "type": {
                "text": "T | null"
              },
              "description": "The active item.",
              "readonly": true,
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "onActiveItemChange",
              "return": {
                "type": {
                  "text": "ListManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "callback",
                  "type": {
                    "text": "() => void"
                  },
                  "description": "The callback invoked when an item is activated."
                }
              ],
              "description": "Configures the list manager with a callback invoked when an item is activated.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            }
          ],
          "superclass": {
            "name": "FocusKeyManager",
            "module": "/src/a11y/list-key/FocusKeyManager"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "RovingTabIndexManager",
          "declaration": {
            "name": "RovingTabIndexManager",
            "module": "src/a11y/list-key/RovingTabIndexManager.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/list-key/SelectionManager.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "selectionManager",
          "description": "A symbol through which to access an element's selection manager."
        },
        {
          "kind": "class",
          "description": "Utility for managing keyboard events for selectable lists where one or more items can be selected.",
          "name": "SelectionManager",
          "members": [
            {
              "kind": "field",
              "name": "#onSelectedItemsChangeCallback",
              "privacy": "private",
              "type": {
                "text": "() => void | undefined"
              }
            },
            {
              "kind": "field",
              "name": "#selectedItems",
              "privacy": "private",
              "default": "new Array<T>()"
            },
            {
              "kind": "field",
              "name": "#multi",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "multi",
              "type": {
                "text": "boolean"
              },
              "description": "A value indicating whether multiple items can be selected."
            },
            {
              "kind": "field",
              "name": "selectedItems",
              "type": {
                "text": "readonly T[]"
              },
              "description": "The selected items.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "notifySelectionChange",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T"
                  },
                  "description": "The item whose selection state has changed."
                }
              ],
              "description": "Selects or deselects the item based on the item's checked or selected state."
            },
            {
              "kind": "method",
              "name": "deselect",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T"
                  },
                  "description": "The item to deselect."
                }
              ],
              "description": "Deselects the specified item."
            },
            {
              "kind": "method",
              "name": "select",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  },
                  "description": "The selected item."
                },
                {
                  "name": "activate",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "A value indicating whether to activate the item.",
                  "optional": true
                }
              ],
              "description": "Updates the selected item."
            },
            {
              "kind": "method",
              "name": "setItems",
              "return": {
                "type": {
                  "text": "{ added: readonly T[]; removed: readonly T[] }"
                }
              },
              "parameters": [
                {
                  "name": "items",
                  "type": {
                    "text": "T[]"
                  }
                }
              ],
              "description": "Sets the items to manage.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "onSelectedItemsChange",
              "return": {
                "type": {
                  "text": "SelectionManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "callback",
                  "type": {
                    "text": "() => void"
                  },
                  "description": "The callback invoked when selected items change."
                }
              ],
              "description": "Configures the selection manager with a callback invoked when selected items change."
            },
            {
              "kind": "method",
              "name": "#enforceSingleSelect",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "emit",
                  "default": "false"
                }
              ]
            },
            {
              "kind": "field",
              "name": "#disabled",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "RadioKeyManager",
                "module": "src/a11y/list-key/RadioKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "A value indicating whether managed items are disabled.",
              "inheritedFrom": {
                "name": "RadioKeyManager",
                "module": "src/a11y/list-key/RadioKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#disableRovingTabIndex",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "inheritedFrom": {
                "name": "RovingTabIndexManager",
                "module": "src/a11y/list-key/RovingTabIndexManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "updateActiveItem",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  }
                }
              ],
              "description": "Updates the active item.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "disableRovingTabIndex",
              "return": {
                "type": {
                  "text": "RovingTabIndexManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "disabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether the roving tab index is disabled.",
                  "optional": true
                }
              ],
              "description": "Configures whether roving tab index is disabled.",
              "inheritedFrom": {
                "name": "RovingTabIndexManager",
                "module": "src/a11y/list-key/RovingTabIndexManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#focusOptions",
              "privacy": "private",
              "type": {
                "text": "FocusOptions | undefined"
              },
              "inheritedFrom": {
                "name": "FocusKeyManager",
                "module": "src/a11y/list-key/FocusKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "setActiveItem",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "T | null | undefined"
                  }
                }
              ],
              "description": "Sets the active item.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withOptions",
              "return": {
                "type": {
                  "text": "FocusKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "type": {
                    "text": "FocusOptions"
                  },
                  "description": "Options used to focus items."
                }
              ],
              "description": "Configures the key manager with options used to focus items.",
              "inheritedFrom": {
                "name": "FocusKeyManager",
                "module": "src/a11y/list-key/FocusKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#typeahead",
              "privacy": "private",
              "type": {
                "text": "Typeahead<T> | undefined"
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether the active item will wrap to the other end of\r\nlist when there are no more items in the given direction.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "homeAndEnd",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to activate the first and last items respectively when\r\nthe `HOME` or `END` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "pageUpAndDown",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to activate every 10th (or configured) first/last item\r\nin the up/down direction when the `PAGEUP` or `PAGEDOWN` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "pageDelta",
              "type": {
                "text": "number"
              },
              "privacy": "public",
              "default": "10",
              "description": "The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "description": "Whether to the list is oriented vertically.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "allowedModifiers",
              "type": {
                "text": "ModifierKey[]"
              },
              "privacy": "public",
              "default": "[]",
              "description": "The allowed modifier keys.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "skipPredicate",
              "type": {
                "text": "(item: T) => boolean"
              },
              "privacy": "public",
              "description": "A function used to skip items.",
              "parameters": [
                {
                  "description": "The item to test.",
                  "name": "item",
                  "type": {
                    "text": "T"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "directionality",
              "type": {
                "text": "\"ltr\" | \"rtl\""
              },
              "privacy": "public",
              "default": "\"ltr\"",
              "description": "The directionality.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withHomeAndEnd",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to activate the first and last items respectively when\r\nthe `HOME` or `END` key is pressed.",
                  "optional": true
                }
              ],
              "description": "Configures the key manager to activate the first and last items respectively when the `HOME` or `END` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withPageUpAndDown",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to activate page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.",
                  "optional": true
                },
                {
                  "name": "pageDelta",
                  "default": "10",
                  "type": {
                    "text": "number"
                  },
                  "description": "The number of items to skip when the `PAGEUP` or `PAGEDOWN` key is pressed.",
                  "optional": true
                }
              ],
              "description": "Configures the key manager to page up and down when the `PAGEUP` or `PAGEDOWN` key is pressed.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withWrap",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether the active item will wrap to the other end of\r\nlist when there are no more items in the given direction.",
                  "optional": true
                }
              ],
              "description": "Configures wrapping mode, which determines whether the active item will wrap to the other end of list when there are no more items in the given direction.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withVerticalOrientation",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether to move selection vertically.",
                  "optional": true
                }
              ],
              "description": "Configures whether to move the selection vertically.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withAllowedModifiers",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "modifiers",
                  "type": {
                    "text": "ModifierKey[]"
                  },
                  "description": "The allowed modifier keys."
                }
              ],
              "description": "Configured allowed modifier keys.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withTypeahead",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "enabled",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether typeahead is enabled.",
                  "optional": true
                }
              ],
              "description": "Configures whether typeahead is enabled.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withSkipPredicate",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "skipPredicate",
                  "type": {
                    "text": "(item: T) => boolean"
                  },
                  "description": "A function used to determine whether an item should be skipped."
                }
              ],
              "description": "Configures a function used to test whether an item should be skipped.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "withDirectionality",
              "return": {
                "type": {
                  "text": "ListKeyManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "directionality",
                  "type": {
                    "text": "\"ltr\" | \"rtl\""
                  },
                  "description": "The directionality."
                }
              ],
              "description": "Configures the directionality.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "onKeyDown",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  },
                  "description": "The keyboard event to be used for determining which element should be active."
                }
              ],
              "description": "Sets the active item depending on the key event passed in.",
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findFirst",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findLast",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findNext",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findPrevious",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findPreviousByIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "#findNextByIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "T | null"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ListKeyManager",
                "module": "src/a11y/list-key/ListKeyManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#items",
              "privacy": "private",
              "default": "new Array<T>()",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#activeItem",
              "privacy": "private",
              "type": {
                "text": "T | null"
              },
              "default": "null",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "#onActiveItemChangeCallback",
              "privacy": "private",
              "type": {
                "text": "() => void | undefined"
              },
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "items",
              "type": {
                "text": "ReadonlyArray<T>"
              },
              "description": "The items being managed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "field",
              "name": "activeItem",
              "type": {
                "text": "T | null"
              },
              "description": "The active item.",
              "readonly": true,
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            },
            {
              "kind": "method",
              "name": "onActiveItemChange",
              "return": {
                "type": {
                  "text": "ListManager<T>"
                }
              },
              "parameters": [
                {
                  "name": "callback",
                  "type": {
                    "text": "() => void"
                  },
                  "description": "The callback invoked when an item is activated."
                }
              ],
              "description": "Configures the list manager with a callback invoked when an item is activated.",
              "inheritedFrom": {
                "name": "ListManager",
                "module": "src/a11y/list-key/ListManager.ts"
              }
            }
          ],
          "superclass": {
            "name": "RadioKeyManager",
            "module": "/src/a11y/list-key/RadioKeyManager"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "selectionManager",
          "declaration": {
            "name": "selectionManager",
            "module": "src/a11y/list-key/SelectionManager.ts"
          }
        },
        {
          "kind": "js",
          "name": "SelectionManager",
          "declaration": {
            "name": "SelectionManager",
            "module": "src/a11y/list-key/SelectionManager.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/a11y/list-key/Typeahead.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "typeaheadLabel",
          "description": "A symbol through which to access an element's textual content used for typeahead search."
        },
        {
          "kind": "function",
          "name": "isTypeaheadItem",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `TypeaheadItem`."
        },
        {
          "kind": "class",
          "description": "Implements typeahead functionality which selects items based on keyboard input.",
          "name": "Typeahead",
          "members": [
            {
              "kind": "field",
              "name": "#debounceInterval",
              "privacy": "private",
              "type": {
                "text": "number"
              }
            },
            {
              "kind": "field",
              "name": "#timeoutId",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "-1"
            },
            {
              "kind": "field",
              "name": "#callback",
              "privacy": "private",
              "type": {
                "text": "(item: T) => void"
              }
            },
            {
              "kind": "field",
              "name": "#skipPredicate",
              "privacy": "private",
              "type": {
                "text": "(item: T) => boolean | undefined"
              }
            },
            {
              "kind": "field",
              "name": "#pressedKeys",
              "privacy": "private",
              "default": "new Array<string>()"
            },
            {
              "kind": "field",
              "name": "#selectedIndex",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "-1"
            },
            {
              "kind": "field",
              "name": "#items",
              "privacy": "private",
              "type": {
                "text": "readonly T[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "isTyping",
              "type": {
                "text": "boolean"
              },
              "description": "A value indicating whether the user is currently typing.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "setItems",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "items",
                  "type": {
                    "text": "readonly T[]"
                  },
                  "description": "The items to search."
                }
              ],
              "description": "Sets the items to search."
            },
            {
              "kind": "method",
              "name": "setSelectedIndex",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  },
                  "description": "The index of the selected item."
                }
              ],
              "description": "Sets the index of the selected item."
            },
            {
              "kind": "method",
              "name": "reset",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Resets the stored sequence of typed characters."
            },
            {
              "kind": "method",
              "name": "onKeyDown",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  },
                  "description": "The keyboard event to be used for determining which element should be active."
                }
              ],
              "description": "Sets the selected item depending on the key event passed in."
            },
            {
              "kind": "method",
              "name": "#appendKey",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "key",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#searchItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "typeaheadLabel",
          "declaration": {
            "name": "typeaheadLabel",
            "module": "src/a11y/list-key/Typeahead.ts"
          }
        },
        {
          "kind": "js",
          "name": "isTypeaheadItem",
          "declaration": {
            "name": "isTypeaheadItem",
            "module": "src/a11y/list-key/Typeahead.ts"
          }
        },
        {
          "kind": "js",
          "name": "Typeahead",
          "declaration": {
            "name": "Typeahead",
            "module": "src/a11y/list-key/Typeahead.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/controllers/AnimationLoopController.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A `ReactiveController` used to execute a function in an animation loop.",
          "name": "AnimationLoopController",
          "members": [
            {
              "kind": "field",
              "name": "#frameId",
              "privacy": "private",
              "type": {
                "text": "number | null"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "#lastTime",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "#running",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#callback",
              "privacy": "private",
              "type": {
                "text": "(deltaTime: number, elapsedTime: number) => void"
              },
              "readonly": true,
              "default": "callback"
            },
            {
              "kind": "field",
              "name": "#loop",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "hostDisconnected"
            },
            {
              "kind": "method",
              "name": "start",
              "description": "Starts the animation loop."
            },
            {
              "kind": "method",
              "name": "stop",
              "description": "Stops the animation loop."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "AnimationLoopController",
          "declaration": {
            "name": "AnimationLoopController",
            "module": "src/shared/controllers/AnimationLoopController.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/controllers/FocusController.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A `ReactiveController` used to monitor the focused state of one or more elements.",
          "name": "FocusController",
          "members": [
            {
              "kind": "field",
              "name": "#touch",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#callback",
              "privacy": "private",
              "type": {
                "text": "FocusControllerCallback"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#keyDownHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#focusInHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#focusOutHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#touchStartHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#touchEndHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#hadKeydown",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#windowKeyDownHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#windowPointerDownHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_observe",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_unobserve",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "#handleKeyDown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleFocusIn",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleFocusOut",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#host",
              "privacy": "private",
              "type": {
                "text": "ReactiveControllerHost & HTMLElement"
              },
              "readonly": true,
              "default": "host",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#target",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null | undefined"
              },
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#targets",
              "privacy": "private",
              "readonly": true,
              "default": "new Set<HTMLElement>()",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "targets",
              "type": {
                "text": "Iterable<HTMLElement>"
              },
              "description": "The targets being observed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdate",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdated",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "observe",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "isObserving",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to test."
                }
              ],
              "description": "Determines whether the specified element is being observed.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "unobserve",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            }
          ],
          "superclass": {
            "name": "MonitorControllerBase",
            "module": "/src/shared/controllers/MonitorControllerBase"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "FocusController",
          "declaration": {
            "name": "FocusController",
            "module": "src/shared/controllers/FocusController.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/controllers/HoverController.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A `ReactiveController` used to monitor the hover state of one or more elements.",
          "name": "HoverController",
          "members": [
            {
              "kind": "field",
              "name": "#callback",
              "privacy": "private",
              "type": {
                "text": "HoverControllerCallback"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#startDelays",
              "privacy": "private",
              "readonly": true,
              "default": "new Map<HTMLElement, number>()"
            },
            {
              "kind": "field",
              "name": "#endDelays",
              "privacy": "private",
              "readonly": true,
              "default": "new Map<HTMLElement, number>()"
            },
            {
              "kind": "field",
              "name": "#pointerInHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#pointerLeaveHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "startDelay",
              "type": {
                "text": "number"
              },
              "description": "The delay, in milliseconds, before reporting hover start."
            },
            {
              "kind": "field",
              "name": "endDelay",
              "type": {
                "text": "number"
              },
              "description": "The delay, in milliseconds, before reporting hover end."
            },
            {
              "kind": "method",
              "name": "clearDelays",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Clears any hover delays for all targets."
            },
            {
              "kind": "method",
              "name": "_observe",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_unobserve",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "#clearDelays",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#clearStartDelay",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#clearEndDelay",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handlePointerEnter",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handlePointerLeave",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#host",
              "privacy": "private",
              "type": {
                "text": "ReactiveControllerHost & HTMLElement"
              },
              "readonly": true,
              "default": "host",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#target",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null | undefined"
              },
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#targets",
              "privacy": "private",
              "readonly": true,
              "default": "new Set<HTMLElement>()",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "targets",
              "type": {
                "text": "Iterable<HTMLElement>"
              },
              "description": "The targets being observed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdate",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdated",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "observe",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "isObserving",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to test."
                }
              ],
              "description": "Determines whether the specified element is being observed.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "unobserve",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            }
          ],
          "superclass": {
            "name": "MonitorControllerBase",
            "module": "/src/shared/controllers/MonitorControllerBase"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "HoverController",
          "declaration": {
            "name": "HoverController",
            "module": "src/shared/controllers/HoverController.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/controllers/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./AnimationLoopController\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./FocusController\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./HoverController\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./IntersectionController\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./LongPressController\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./MutationController\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./PressedController\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ResizeController\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ScrollController\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ScrollLockController\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/controllers/IntersectionController.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A `ReactiveController` used to monitor changes in the intersection of a target element with an ancestor element.",
          "name": "IntersectionController",
          "members": [
            {
              "kind": "field",
              "name": "#host",
              "privacy": "private",
              "type": {
                "text": "ReactiveControllerHost & HTMLElement"
              },
              "readonly": true,
              "default": "host",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#callback",
              "privacy": "private",
              "type": {
                "text": "IntersectionControllerCallback"
              }
            },
            {
              "kind": "field",
              "name": "#skipInitial",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#observer",
              "privacy": "private",
              "type": {
                "text": "IntersectionObserver | undefined"
              },
              "default": "new IntersectionObserver((entries, observer) => { this.#callback(entries, observer); this.#host.requestUpdate(); }, options.init)"
            },
            {
              "kind": "field",
              "name": "#unobservedUpdate",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "true"
            },
            {
              "kind": "method",
              "name": "hostUpdated",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_observe",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_unobserve",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#target",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null | undefined"
              },
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#targets",
              "privacy": "private",
              "readonly": true,
              "default": "new Set<HTMLElement>()",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "targets",
              "type": {
                "text": "Iterable<HTMLElement>"
              },
              "description": "The targets being observed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdate",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "observe",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "isObserving",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to test."
                }
              ],
              "description": "Determines whether the specified element is being observed.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "unobserve",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            }
          ],
          "superclass": {
            "name": "MonitorControllerBase",
            "module": "/src/shared/controllers/MonitorControllerBase"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "IntersectionController",
          "declaration": {
            "name": "IntersectionController",
            "module": "src/shared/controllers/IntersectionController.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/controllers/LongPressController.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A `ReactiveController` used to detect a long press gesture.",
          "name": "LongPressController",
          "members": [
            {
              "kind": "field",
              "name": "#callback",
              "privacy": "private",
              "type": {
                "text": "LongPressControllerCallback"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#threshold",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#pressedTargets",
              "privacy": "private",
              "readonly": true,
              "default": "new Set<HTMLElement>()"
            },
            {
              "kind": "field",
              "name": "#pressedTimeouts",
              "privacy": "private",
              "readonly": true,
              "default": "new Map<HTMLElement, number>()"
            },
            {
              "kind": "field",
              "name": "#touchStartHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#touchEndOrCancelHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_observe",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_unobserve",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "#handleTouchStart",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "TouchEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleTouchEndOrCancel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "TouchEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#host",
              "privacy": "private",
              "type": {
                "text": "ReactiveControllerHost & HTMLElement"
              },
              "readonly": true,
              "default": "host",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#target",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null | undefined"
              },
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#targets",
              "privacy": "private",
              "readonly": true,
              "default": "new Set<HTMLElement>()",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "targets",
              "type": {
                "text": "Iterable<HTMLElement>"
              },
              "description": "The targets being observed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdate",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdated",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "observe",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "isObserving",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to test."
                }
              ],
              "description": "Determines whether the specified element is being observed.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "unobserve",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            }
          ],
          "superclass": {
            "name": "MonitorControllerBase",
            "module": "/src/shared/controllers/MonitorControllerBase"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "LongPressController",
          "declaration": {
            "name": "LongPressController",
            "module": "src/shared/controllers/LongPressController.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/controllers/MonitorControllerBase.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A base implementation for a `ReactiveController` used to monitor the state of one\r\nor more elements. This class must be inherited.",
          "name": "MonitorControllerBase",
          "members": [
            {
              "kind": "field",
              "name": "#host",
              "privacy": "private",
              "type": {
                "text": "ReactiveControllerHost & HTMLElement"
              },
              "readonly": true,
              "default": "host"
            },
            {
              "kind": "field",
              "name": "#target",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null | undefined"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#targets",
              "privacy": "private",
              "readonly": true,
              "default": "new Set<HTMLElement>()"
            },
            {
              "kind": "field",
              "name": "targets",
              "type": {
                "text": "Iterable<HTMLElement>"
              },
              "description": "The targets being observed.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostUpdate",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostUpdated",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "observe",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element."
            },
            {
              "kind": "method",
              "name": "isObserving",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to test."
                }
              ],
              "description": "Determines whether the specified element is being observed."
            },
            {
              "kind": "method",
              "name": "unobserve",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element."
            },
            {
              "kind": "method",
              "name": "_observe",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "When implemented by a derived class, starts observing the specified element."
            },
            {
              "kind": "method",
              "name": "_unobserve",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "When implemented by a derived class, stops observing the specified element."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MonitorControllerBase",
          "declaration": {
            "name": "MonitorControllerBase",
            "module": "src/shared/controllers/MonitorControllerBase.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/controllers/MutationController.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A `ReactiveController` that integrates a `MutationObserver` with an element's reactive update lifecycle\r\nto detect arbitrary changes to DOM, including nodes being added or removed and attributes changing.",
          "name": "MutationController",
          "members": [
            {
              "kind": "field",
              "name": "#host",
              "privacy": "private",
              "type": {
                "text": "ReactiveControllerHost & HTMLElement"
              },
              "readonly": true,
              "default": "host",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#callback",
              "privacy": "private",
              "type": {
                "text": "MutationCallback"
              }
            },
            {
              "kind": "field",
              "name": "#skipInitial",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#config",
              "privacy": "private",
              "type": {
                "text": "MutationObserverInit | undefined"
              }
            },
            {
              "kind": "field",
              "name": "#observer",
              "privacy": "private",
              "type": {
                "text": "MutationObserver | undefined"
              },
              "default": "new MutationObserver((records, observer) => { this.#callback(records, observer); this.#host.requestUpdate(); })"
            },
            {
              "kind": "field",
              "name": "#unobservedUpdate",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "true"
            },
            {
              "kind": "method",
              "name": "hostUpdated",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_observe",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "When implemented by a derived class, starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_unobserve",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "When implemented by a derived class, stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#target",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null | undefined"
              },
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#targets",
              "privacy": "private",
              "readonly": true,
              "default": "new Set<HTMLElement>()",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "targets",
              "type": {
                "text": "Iterable<HTMLElement>"
              },
              "description": "The targets being observed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdate",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "observe",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "isObserving",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to test."
                }
              ],
              "description": "Determines whether the specified element is being observed.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "unobserve",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            }
          ],
          "superclass": {
            "name": "MonitorControllerBase",
            "module": "/src/shared/controllers/MonitorControllerBase"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MutationController",
          "declaration": {
            "name": "MutationController",
            "module": "src/shared/controllers/MutationController.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/controllers/PressedController.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A `ReactiveController` used to monitor the pressed state of one or more elements.",
          "name": "PressedController",
          "members": [
            {
              "kind": "field",
              "name": "#capture",
              "privacy": "private",
              "type": {
                "text": "boolean | undefined"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#callback",
              "privacy": "private",
              "type": {
                "text": "PressedControllerCallback"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#isPressedKey",
              "privacy": "private",
              "type": {
                "text": "(key: string) => boolean | undefined"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#pressedTargets",
              "privacy": "private",
              "readonly": true,
              "default": "new Map<HTMLElement, number>()"
            },
            {
              "kind": "field",
              "name": "#minPressedDuration",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#pointerDownHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#pointerUpHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#touchEndHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#keyDownHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#keyUpHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_observe",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_unobserve",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "#handlePointerDown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handlePointerUp",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleTouchEnd",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "TouchEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleKeyDown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleKeyUp",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#host",
              "privacy": "private",
              "type": {
                "text": "ReactiveControllerHost & HTMLElement"
              },
              "readonly": true,
              "default": "host",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#target",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null | undefined"
              },
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#targets",
              "privacy": "private",
              "readonly": true,
              "default": "new Set<HTMLElement>()",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "targets",
              "type": {
                "text": "Iterable<HTMLElement>"
              },
              "description": "The targets being observed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdate",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdated",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "observe",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "isObserving",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to test."
                }
              ],
              "description": "Determines whether the specified element is being observed.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "unobserve",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            }
          ],
          "superclass": {
            "name": "MonitorControllerBase",
            "module": "/src/shared/controllers/MonitorControllerBase"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "PressedController",
          "declaration": {
            "name": "PressedController",
            "module": "src/shared/controllers/PressedController.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/controllers/ResizeController.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A `ReactiveController` used to monitor when an element is resized.",
          "name": "ResizeController",
          "members": [
            {
              "kind": "field",
              "name": "#host",
              "privacy": "private",
              "type": {
                "text": "ReactiveControllerHost & HTMLElement"
              },
              "readonly": true,
              "default": "host",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#callback",
              "privacy": "private",
              "type": {
                "text": "ResizeControllerCallback"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#skipInitial",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#config",
              "privacy": "private",
              "type": {
                "text": "ResizeObserverOptions | undefined"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#observer",
              "privacy": "private",
              "type": {
                "text": "ResizeObserver | undefined"
              },
              "readonly": true,
              "default": "new ResizeObserver((entries, observer) => { this.#callback(entries, observer); this.#host.requestUpdate(); })"
            },
            {
              "kind": "field",
              "name": "#unobservedUpdate",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "true"
            },
            {
              "kind": "method",
              "name": "hostUpdated",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_observe",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_unobserve",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#target",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null | undefined"
              },
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#targets",
              "privacy": "private",
              "readonly": true,
              "default": "new Set<HTMLElement>()",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "targets",
              "type": {
                "text": "Iterable<HTMLElement>"
              },
              "description": "The targets being observed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdate",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "observe",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "isObserving",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to test."
                }
              ],
              "description": "Determines whether the specified element is being observed.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "unobserve",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            }
          ],
          "superclass": {
            "name": "MonitorControllerBase",
            "module": "/src/shared/controllers/MonitorControllerBase"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ResizeController",
          "declaration": {
            "name": "ResizeController",
            "module": "src/shared/controllers/ResizeController.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/controllers/ScrollController.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A `ReactiveController` used to monitor when a scroll event is emitted from a scrollable ancestor.",
          "name": "ScrollController",
          "members": [
            {
              "kind": "field",
              "name": "#debounce",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#callback",
              "privacy": "private",
              "type": {
                "text": "ScrollControllerCallback"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#scrollHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#scrollContainers",
              "privacy": "private",
              "readonly": true,
              "default": "new Map<HTMLElement, Element[]>()"
            },
            {
              "kind": "method",
              "name": "getScrollContainers",
              "return": {
                "type": {
                  "text": "Element[] | undefined"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element whose scroll containers are currently being observed."
                }
              ],
              "description": "Returns the scrollable ancestors for a target element currently being observed by this controller."
            },
            {
              "kind": "method",
              "name": "_observe",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "When implemented by a derived class, starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "_unobserve",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "When implemented by a derived class, stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "#getScrollContainers",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Element[]"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleScroll",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_debounceCallback",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#host",
              "privacy": "private",
              "type": {
                "text": "ReactiveControllerHost & HTMLElement"
              },
              "readonly": true,
              "default": "host",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#target",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null | undefined"
              },
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "#targets",
              "privacy": "private",
              "readonly": true,
              "default": "new Set<HTMLElement>()",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "field",
              "name": "targets",
              "type": {
                "text": "Iterable<HTMLElement>"
              },
              "description": "The targets being observed.",
              "readonly": true,
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdate",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "hostUpdated",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "observe",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to start observing."
                }
              ],
              "description": "Starts observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "isObserving",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to test."
                }
              ],
              "description": "Determines whether the specified element is being observed.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            },
            {
              "kind": "method",
              "name": "unobserve",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to stop observing."
                }
              ],
              "description": "Stops observing the specified element.",
              "inheritedFrom": {
                "name": "MonitorControllerBase",
                "module": "src/shared/controllers/MonitorControllerBase.ts"
              }
            }
          ],
          "superclass": {
            "name": "MonitorControllerBase",
            "module": "/src/shared/controllers/MonitorControllerBase"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ScrollController",
          "declaration": {
            "name": "ScrollController",
            "module": "src/shared/controllers/ScrollController.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/controllers/ScrollLockController.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A `ReactiveController` that provides safe, predictable scroll locking for modal UI\r\nsurfaces (dialogs, bottom sheets, overlays).",
          "name": "ScrollLockController",
          "members": [
            {
              "kind": "field",
              "name": "#locked",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#scrollTop",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "#scrollLeft",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "#previousOverflow",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "\"\""
            },
            {
              "kind": "field",
              "name": "#previousScrollbarGutter",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "\"\""
            },
            {
              "kind": "method",
              "name": "#isVerticallyScrollable",
              "privacy": "private",
              "description": "Returns true if the document is vertically scrollable."
            },
            {
              "kind": "method",
              "name": "lock",
              "description": "Locks document scrolling only if scroll actually exists."
            },
            {
              "kind": "method",
              "name": "unlock",
              "description": "Unlocks document scrolling and restores the previous state."
            },
            {
              "kind": "method",
              "name": "hostDisconnected"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ScrollLockController",
          "declaration": {
            "name": "ScrollLockController",
            "module": "src/shared/controllers/ScrollLockController.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/converters/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./spaceSeparatedStringConverter\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/converters/spaceSeparatedStringConverter.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "spaceSeparatedStringConverter",
          "type": {
            "text": "ComplexAttributeConverter<string[], string | null>"
          },
          "default": "{ fromAttribute(value: string | null): string[] { if (!value) return []; return value .split(/\\s+/) .map((d) => d.trim()) .filter(Boolean); }, toAttribute(value: string[]): string { return value.join(\" \"); }, }",
          "description": "Converts a space-separated attribute in to an array of strings."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "spaceSeparatedStringConverter",
          "declaration": {
            "name": "spaceSeparatedStringConverter",
            "module": "src/shared/converters/spaceSeparatedStringConverter.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/decorators/debounce.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "debounce",
          "return": {
            "type": {
              "text": "MethodDecorator"
            }
          },
          "parameters": [
            {
              "name": "timeout",
              "type": {
                "text": "number"
              },
              "description": "The timeout, in milliseconds, after which the function is invoked."
            }
          ],
          "description": "A decorator that runs a function once after a given \"cooldown\" period."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "debounce",
          "declaration": {
            "name": "debounce",
            "module": "src/shared/decorators/debounce.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/decorators/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./debounce\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/directives/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./safeStyleMap\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/directives/safeStyleMap.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SafeStyleMapDirective",
          "members": [
            {
              "kind": "field",
              "name": "_previousStyleProperties",
              "type": {
                "text": "Set<string> | undefined"
              },
              "privacy": "private"
            }
          ],
          "superclass": {
            "name": "Directive",
            "package": "lit/directive.js"
          }
        },
        {
          "kind": "variable",
          "name": "safeStyleMap",
          "description": "A directive that applies CSS properties to an element.\r\n\r\n`safeStyleMap` can only be used in the `style` attribute and must be the only\r\nexpression in the attribute. It takes the property names in the\r\nStyleInfostyleInfo object and adds the properties to the inline\r\nstyle of the element.\r\n\r\nProperty names with dashes (`-`) are assumed to be valid CSS\r\nproperty names and set on the element's style object using `setProperty()`.\r\nNames without dashes are assumed to be camelCased JavaScript property names\r\nand set on the element's style object using property assignment, allowing the\r\nstyle object to translate JavaScript-style names to CSS property names.\r\n\r\nFor example `safeStyleMap({backgroundColor: 'red', 'border-top': '5px', '--size':\r\n'0'})` sets the `background-color`, `border-top` and `--size` properties.",
          "parameters": [
            {
              "name": "styleInfo"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "safeStyleMap",
          "declaration": {
            "name": "safeStyleMap",
            "module": "src/shared/directives/safeStyleMap.ts"
          }
        },
        {
          "kind": "js",
          "name": "SafeStyleMapDirective",
          "declaration": {
            "name": "SafeStyleMapDirective",
            "module": "src/shared/directives/safeStyleMap.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/AttachInternals.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "internals",
          "description": "A symbol through which to access the `ElementInternals` attached to an element."
        },
        {
          "kind": "function",
          "name": "isAttachInternalsMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is an `AttachInternalsMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that attaches to `ElementInternals`.",
          "name": "AttachInternals",
          "members": [
            {
              "kind": "field",
              "name": "formAssociated",
              "static": true,
              "readonly": true,
              "default": "formAssociated",
              "description": "Indicates that this custom element participates in form submission, validation, and form state restoration."
            },
            {
              "kind": "field",
              "name": "[_internals]",
              "type": {
                "text": "ElementInternals | undefined"
              },
              "privacy": "private"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            },
            {
              "name": "formAssociated",
              "optional": true,
              "type": {
                "text": "boolean | undefined"
              },
              "description": "Whether the element is \"Form Associated\"."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "internals",
          "declaration": {
            "name": "internals",
            "module": "src/shared/mixins/AttachInternals.ts"
          }
        },
        {
          "kind": "js",
          "name": "isAttachInternalsMixin",
          "declaration": {
            "name": "isAttachInternalsMixin",
            "module": "src/shared/mixins/AttachInternals.ts"
          }
        },
        {
          "kind": "js",
          "name": "AttachInternals",
          "declaration": {
            "name": "AttachInternals",
            "module": "src/shared/mixins/AttachInternals.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/Checked.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isCheckedMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `CheckedMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a checked state.",
          "name": "Checked",
          "members": [
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is checked.",
              "attribute": "checked",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is checked.",
              "fieldName": "checked"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isCheckedMixin",
          "declaration": {
            "name": "isCheckedMixin",
            "module": "src/shared/mixins/Checked.ts"
          }
        },
        {
          "kind": "js",
          "name": "Checked",
          "declaration": {
            "name": "Checked",
            "module": "src/shared/mixins/Checked.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/CheckedIndeterminate.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isCheckedIndeterminateMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `CheckedIndeterminateMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a mixed checked state.",
          "name": "CheckedIndeterminate",
          "members": [
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element's checked state is indeterminate.",
              "attribute": "indeterminate",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is checked.",
              "attribute": "checked",
              "reflects": true,
              "inheritedFrom": {
                "name": "Checked",
                "module": "src/shared/mixins/Checked.ts"
              }
            }
          ],
          "attributes": [
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element's checked state is indeterminate.",
              "fieldName": "indeterminate"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is checked.",
              "fieldName": "checked",
              "inheritedFrom": {
                "name": "Checked",
                "module": "src/shared/mixins/Checked.ts"
              }
            }
          ],
          "mixins": [
            {
              "name": "Checked",
              "module": "/src/shared/mixins/Checked"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isCheckedIndeterminateMixin",
          "declaration": {
            "name": "isCheckedIndeterminateMixin",
            "module": "src/shared/mixins/CheckedIndeterminate.ts"
          }
        },
        {
          "kind": "js",
          "name": "CheckedIndeterminate",
          "declaration": {
            "name": "CheckedIndeterminate",
            "module": "src/shared/mixins/CheckedIndeterminate.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/CheckedOrSelected.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isCheckedOrSelectedMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `CheckedOrSelectedMixin`."
        },
        {
          "kind": "function",
          "name": "isCheckedOrSelected",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "CheckedOrSelectedMixin"
              },
              "description": "The element to test."
            }
          ],
          "description": "Determines whether the state of an element is checked or selected."
        },
        {
          "kind": "function",
          "name": "checkOrSelect",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "CheckedOrSelectedMixin"
              },
              "description": "The element for which to set the checked or selected state."
            },
            {
              "name": "checkedOrSelected",
              "type": {
                "text": "boolean"
              },
              "description": "The checked or selected state."
            }
          ],
          "description": "Sets the checked or selected state of an element."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isCheckedOrSelectedMixin",
          "declaration": {
            "name": "isCheckedOrSelectedMixin",
            "module": "src/shared/mixins/CheckedOrSelected.ts"
          }
        },
        {
          "kind": "js",
          "name": "isCheckedOrSelected",
          "declaration": {
            "name": "isCheckedOrSelected",
            "module": "src/shared/mixins/CheckedOrSelected.ts"
          }
        },
        {
          "kind": "js",
          "name": "checkOrSelect",
          "declaration": {
            "name": "checkOrSelect",
            "module": "src/shared/mixins/CheckedOrSelected.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/ConstraintValidation.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "validate",
          "description": "A symbol through which a \"Form Associated\" custom element validates its current state."
        },
        {
          "kind": "function",
          "name": "isConstraintValidationMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `ConstraintValidationMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with \"Form Associated\" behavior that supports constraint validation.",
          "name": "ConstraintValidation",
          "members": [
            {
              "kind": "field",
              "name": "[_validityMessage]",
              "type": {
                "text": "string | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "willValidate",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the element is a submittable element that is a candidate for constraint validation.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "description": "The validity state of the element.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "description": "The error message that would be displayed if the user submits the form, or an empty string if no error message.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Returns `true` if the element has no validity problems; otherwise, returns `false`, fires\r\nan invalid event, and (if the event isn't canceled) reports the problem to the user."
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Returns `true` if the element has no validity problems; otherwise,\r\nreturns `false`, fires an invalid event."
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "error",
                  "type": {
                    "text": "string"
                  },
                  "description": "The message to use for validity errors."
                }
              ],
              "description": "Sets a custom validity message for the element."
            },
            {
              "kind": "method",
              "name": "[_updateValidity]",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "#getNativeMessage",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "flags",
                  "type": {
                    "text": "ValidityStateFlags"
                  }
                }
              ]
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "validate",
          "declaration": {
            "name": "validate",
            "module": "src/shared/mixins/ConstraintValidation.ts"
          }
        },
        {
          "kind": "js",
          "name": "isConstraintValidationMixin",
          "declaration": {
            "name": "isConstraintValidationMixin",
            "module": "src/shared/mixins/ConstraintValidation.ts"
          }
        },
        {
          "kind": "js",
          "name": "ConstraintValidation",
          "declaration": {
            "name": "ConstraintValidation",
            "module": "src/shared/mixins/ConstraintValidation.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/Constructor.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/Dirty.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isDirtyMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `DirtyMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with functionality used to mark it as dirty.",
          "name": "Dirty",
          "members": [
            {
              "kind": "field",
              "name": "[_eventHandler]",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "dirty",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the user has modified the value of the element.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "pristine",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the user has not modified the value of the element.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "markAsPristine",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Marks the element as pristine."
            },
            {
              "kind": "method",
              "name": "markAsDirty",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Marks the element as dirty."
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isDirtyMixin",
          "declaration": {
            "name": "isDirtyMixin",
            "module": "src/shared/mixins/Dirty.ts"
          }
        },
        {
          "kind": "js",
          "name": "Dirty",
          "declaration": {
            "name": "Dirty",
            "module": "src/shared/mixins/Dirty.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/Disabled.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isDisabledMixin",
          "return": {
            "type": {
              "text": "value is DisabledMixin"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `DisabledMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a disabled state.",
          "name": "Disabled",
          "members": [
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "attribute": "disabled"
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "fieldName": "disabled"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            },
            {
              "name": "reflect",
              "default": "true",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the disabled property is reflected as an attribute.",
              "optional": true
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isDisabledMixin",
          "declaration": {
            "name": "isDisabledMixin",
            "module": "src/shared/mixins/Disabled.ts"
          }
        },
        {
          "kind": "js",
          "name": "Disabled",
          "declaration": {
            "name": "Disabled",
            "module": "src/shared/mixins/Disabled.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/DisabledInteractive.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isDisabledInteractiveMixin",
          "return": {
            "type": {
              "text": "value is DisabledInteractiveMixin"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `DisabledInteractiveMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports an interactive disabled state.",
          "name": "DisabledInteractive",
          "members": [
            {
              "kind": "field",
              "name": "[_suppressedEventHandler]",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "disabledInteractive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled and interactive.",
              "attribute": "disabled-interactive",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "disabled-interactive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled and interactive.",
              "fieldName": "disabledInteractive"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isDisabledInteractiveMixin",
          "declaration": {
            "name": "isDisabledInteractiveMixin",
            "module": "src/shared/mixins/DisabledInteractive.ts"
          }
        },
        {
          "kind": "js",
          "name": "DisabledInteractive",
          "declaration": {
            "name": "DisabledInteractive",
            "module": "src/shared/mixins/DisabledInteractive.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/EventAttribute.ts",
      "declarations": [
        {
          "kind": "mixin",
          "description": "Mixin that adds support for custom event attributes.",
          "name": "EventAttribute",
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class from which to inherit."
            },
            {
              "name": "types",
              "type": {
                "text": "string[]"
              },
              "description": "The types of event attributes."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "EventAttribute",
          "declaration": {
            "name": "EventAttribute",
            "module": "src/shared/mixins/EventAttribute.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/Focusable.ts",
      "declarations": [
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a focused state.",
          "name": "Focusable",
          "members": [
            {
              "kind": "field",
              "name": "[_tabindex]",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Focusable",
          "declaration": {
            "name": "Focusable",
            "module": "src/shared/mixins/Focusable.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/FormAssociated.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "formValue",
          "description": "A symbol through which a \"Form Associated\" custom element provides a value for a form."
        },
        {
          "kind": "variable",
          "name": "defaultValue",
          "description": "A symbol through which a \"Form Associated\" custom element provides a default value for resetting a form."
        },
        {
          "kind": "function",
          "name": "isFormAssociatedMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `FormAssociatedMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with \"Form Associated\" behavior.",
          "name": "FormAssociated",
          "members": [
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "readonly": true,
              "default": "true",
              "description": "Indicates that this custom element participates in form submission, validation, and form state restoration."
            },
            {
              "kind": "field",
              "name": "[_defaultValue]",
              "type": {
                "text": "unknown"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "[_defaultIndeterminate]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "[_formDisabled]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "description": "The `HTMLFormElement` associated with this element.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "labels",
              "type": {
                "text": "NodeListOf<HTMLLabelElement>"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "name",
              "description": "The name that identifies the element when submitting the associated form.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the element is disabled.",
              "default": "false",
              "attribute": "disabled"
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "disabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "description": "Called when the element is disabled or enabled via its form association."
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Called when the associated form is reset."
            }
          ],
          "attributes": [
            {
              "name": "name",
              "description": "The name that identifies the element when submitting the associated form.",
              "fieldName": "name"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the element is disabled.",
              "default": "false",
              "fieldName": "disabled"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "formValue",
          "declaration": {
            "name": "formValue",
            "module": "src/shared/mixins/FormAssociated.ts"
          }
        },
        {
          "kind": "js",
          "name": "defaultValue",
          "declaration": {
            "name": "defaultValue",
            "module": "src/shared/mixins/FormAssociated.ts"
          }
        },
        {
          "kind": "js",
          "name": "isFormAssociatedMixin",
          "declaration": {
            "name": "isFormAssociatedMixin",
            "module": "src/shared/mixins/FormAssociated.ts"
          }
        },
        {
          "kind": "js",
          "name": "FormAssociated",
          "declaration": {
            "name": "FormAssociated",
            "module": "src/shared/mixins/FormAssociated.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/FormSubmitter.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isFormSubmitterMixin",
          "return": {
            "type": {
              "text": "value is FormSubmitterMixin"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `FormSubmitterMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior used to submit a form.",
          "name": "FormSubmitter",
          "members": [
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "readonly": true,
              "default": "true",
              "description": "Indicates that this custom element participates in form submission, validation, and form state restoration."
            },
            {
              "kind": "field",
              "name": "name",
              "description": "The name of the element, submitted as a pair with the element's `value`\r\nas part of form data, when the element is used to submit a form.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The value associated with the element's name when it's submitted with form data.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "FormSubmitterType"
              },
              "default": "\"button\"",
              "description": "The type of the element.",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "[_clickHandler]",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "description": "The name of the element, submitted as a pair with the element's `value`\r\nas part of form data, when the element is used to submit a form.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "description": "The value associated with the element's name when it's submitted with form data.",
              "fieldName": "value"
            },
            {
              "name": "type",
              "type": {
                "text": "FormSubmitterType"
              },
              "default": "\"button\"",
              "description": "The type of the element.",
              "fieldName": "type"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isFormSubmitterMixin",
          "declaration": {
            "name": "isFormSubmitterMixin",
            "module": "src/shared/mixins/FormSubmitter.ts"
          }
        },
        {
          "kind": "js",
          "name": "FormSubmitter",
          "declaration": {
            "name": "FormSubmitter",
            "module": "src/shared/mixins/FormSubmitter.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/hasKeys.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "hasKeys",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            },
            {
              "name": "keys",
              "type": {
                "text": "Array<keyof T>"
              }
            },
            {
              "description": ": Array<keyof T>} keys The keys of `T` to test.",
              "name": "",
              "type": {
                "text": "...keys"
              }
            }
          ],
          "description": "Determines whether an object has keys for a given type."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "hasKeys",
          "declaration": {
            "name": "hasKeys",
            "module": "src/shared/mixins/hasKeys.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/HtmlFor.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isHtmlForMixin",
          "return": {
            "type": {
              "text": "value is HtmlForMixin"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `HtmlForMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin that creates an attached element associated with an interactive control.",
          "name": "HtmlFor",
          "members": [
            {
              "kind": "field",
              "name": "[_control]",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "[_firstUpdated]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "htmlFor",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "attribute": "for"
            },
            {
              "kind": "field",
              "name": "control",
              "description": "The interactive element to which this element is attached.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "attach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element that controls the attachable element."
                }
              ],
              "description": "Attaches the element to an interactive control."
            },
            {
              "kind": "method",
              "name": "detach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Detaches the element from its current interactive control."
            }
          ],
          "attributes": [
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "fieldName": "htmlFor"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isHtmlForMixin",
          "declaration": {
            "name": "isHtmlForMixin",
            "module": "src/shared/mixins/HtmlFor.ts"
          }
        },
        {
          "kind": "js",
          "name": "HtmlFor",
          "declaration": {
            "name": "HtmlFor",
            "module": "src/shared/mixins/HtmlFor.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./AttachInternals\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Checked\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./CheckedIndeterminate\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./CheckedOrSelected\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ConstraintValidation\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Dirty\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Disabled\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./DisabledInteractive\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./EventAttribute\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Focusable\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./FormAssociated\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./FormSubmitter\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./hasKeys\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./HtmlFor\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./KeyboardClick\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Labelled\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./LinkButton\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ReadOnly\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Required\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./RequiredConstraintValidation\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Role\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Selected\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Touched\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./Vertical\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/KeyboardClick.ts",
      "declarations": [
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior emits a click event on keyboard events.",
          "name": "KeyboardClick",
          "members": [
            {
              "kind": "field",
              "name": "#keyPressed",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#keyDownHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#keyUpHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#focusOutHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "#handleKeyDown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleKeyUp",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "name": "click",
              "type": {
                "text": "MouseEvent"
              }
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            },
            {
              "name": "allowEnter",
              "default": "true",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the `ENTER` key emits a click event.",
              "optional": true
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "KeyboardClick",
          "declaration": {
            "name": "KeyboardClick",
            "module": "src/shared/mixins/KeyboardClick.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/Labelled.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "updateLabels",
          "description": "A symbol through which to update labels to reflect a control's current state."
        },
        {
          "kind": "function",
          "name": "isLabelledMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `LabelledMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with support for labelling.",
          "name": "Labelled",
          "members": [
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "readonly": true,
              "default": "true",
              "description": "Indicates that this custom element participates in form submission, validation, and form state restoration."
            },
            {
              "kind": "field",
              "name": "[_eventHandler]",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "labels",
              "type": {
                "text": "NodeListOf<HTMLLabelElement>"
              },
              "description": "The label elements that the element is associated with.",
              "readonly": true
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "updateLabels",
          "declaration": {
            "name": "updateLabels",
            "module": "src/shared/mixins/Labelled.ts"
          }
        },
        {
          "kind": "js",
          "name": "isLabelledMixin",
          "declaration": {
            "name": "isLabelledMixin",
            "module": "src/shared/mixins/Labelled.ts"
          }
        },
        {
          "kind": "js",
          "name": "Labelled",
          "declaration": {
            "name": "Labelled",
            "module": "src/shared/mixins/Labelled.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/LinkButton.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "renderPseudoLink",
          "description": "A symbol through which to access a function used to render a pseudo link."
        },
        {
          "kind": "function",
          "name": "isLinkButtonMixin",
          "return": {
            "type": {
              "text": "value is LinkButtonMixin"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `LinkButtonMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports functioning as a link.",
          "name": "LinkButton",
          "members": [
            {
              "kind": "field",
              "name": "[_clickHandler]",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "The URL to which the link button points.",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "LinkTarget"
              },
              "default": "\"\"",
              "description": "The target of the link button.",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "The relationship between the `target` of the link button and the document.",
              "attribute": "rel"
            },
            {
              "kind": "field",
              "name": "download",
              "type": {
                "text": "string | null"
              },
              "description": "A value indicating whether the `target` of the link button will be downloaded,\r\noptionally specifying the new name of the file.",
              "default": "null",
              "attribute": "download"
            },
            {
              "kind": "method",
              "name": "#handleLinkPointerDown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleLinkFocus",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleLinkBlur",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "name": "click",
              "type": {
                "text": "MouseEvent"
              }
            }
          ],
          "attributes": [
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "The URL to which the link button points.",
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "LinkTarget"
              },
              "default": "\"\"",
              "description": "The target of the link button.",
              "fieldName": "target"
            },
            {
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "The relationship between the `target` of the link button and the document.",
              "fieldName": "rel"
            },
            {
              "name": "download",
              "type": {
                "text": "string | null"
              },
              "description": "A value indicating whether the `target` of the link button will be downloaded,\r\noptionally specifying the new name of the file.",
              "default": "null",
              "fieldName": "download"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "renderPseudoLink",
          "declaration": {
            "name": "renderPseudoLink",
            "module": "src/shared/mixins/LinkButton.ts"
          }
        },
        {
          "kind": "js",
          "name": "isLinkButtonMixin",
          "declaration": {
            "name": "isLinkButtonMixin",
            "module": "src/shared/mixins/LinkButton.ts"
          }
        },
        {
          "kind": "js",
          "name": "LinkButton",
          "declaration": {
            "name": "LinkButton",
            "module": "src/shared/mixins/LinkButton.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/ReadOnly.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isReadOnlyMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `ReadOnlyMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a read-only state.",
          "name": "ReadOnly",
          "members": [
            {
              "kind": "field",
              "name": "readOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "A value indicating whether the element is read-only.",
              "attribute": "readonly"
            }
          ],
          "attributes": [
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "A value indicating whether the element is read-only.",
              "fieldName": "readOnly"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            },
            {
              "name": "reflect",
              "default": "true",
              "type": {
                "text": "boolean"
              },
              "description": "A value indicating whether the read-only state is reflected as an attribute. The default value is `true`."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isReadOnlyMixin",
          "declaration": {
            "name": "isReadOnlyMixin",
            "module": "src/shared/mixins/ReadOnly.ts"
          }
        },
        {
          "kind": "js",
          "name": "ReadOnly",
          "declaration": {
            "name": "ReadOnly",
            "module": "src/shared/mixins/ReadOnly.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/Required.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isRequiredMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `RequiredMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a required state.",
          "name": "Required",
          "members": [
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether a value is required for the element.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "optional",
              "description": "Whether a value is not required for the element.",
              "readonly": true
            }
          ],
          "attributes": [
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether a value is required for the element.",
              "fieldName": "required"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isRequiredMixin",
          "declaration": {
            "name": "isRequiredMixin",
            "module": "src/shared/mixins/Required.ts"
          }
        },
        {
          "kind": "js",
          "name": "Required",
          "declaration": {
            "name": "Required",
            "module": "src/shared/mixins/Required.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/RequiredConstraintValidation.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isRequiredConstraintValidationMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `RequiredConstraintValidationMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a required state.",
          "name": "RequiredConstraintValidation",
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isRequiredConstraintValidationMixin",
          "declaration": {
            "name": "isRequiredConstraintValidationMixin",
            "module": "src/shared/mixins/RequiredConstraintValidation.ts"
          }
        },
        {
          "kind": "js",
          "name": "RequiredConstraintValidation",
          "declaration": {
            "name": "RequiredConstraintValidation",
            "module": "src/shared/mixins/RequiredConstraintValidation.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/Role.ts",
      "declarations": [
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with an ARIA role.",
          "name": "Role",
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            },
            {
              "name": "role",
              "type": {
                "text": "ARIARole"
              },
              "description": "The ARIA role."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Role",
          "declaration": {
            "name": "Role",
            "module": "src/shared/mixins/Role.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/Selected.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isSelectedMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `SelectedMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a selected state.",
          "name": "Selected",
          "members": [
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is selected.",
              "attribute": "selected",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is selected.",
              "fieldName": "selected"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isSelectedMixin",
          "declaration": {
            "name": "isSelectedMixin",
            "module": "src/shared/mixins/Selected.ts"
          }
        },
        {
          "kind": "js",
          "name": "Selected",
          "declaration": {
            "name": "Selected",
            "module": "src/shared/mixins/Selected.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/Touched.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isTouchedMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `TouchedMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with functionality used to mark it as touched.",
          "name": "Touched",
          "members": [
            {
              "kind": "field",
              "name": "[_eventHandler]",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "touched",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the user has interacted when the element.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "untouched",
              "type": {
                "text": "boolean"
              },
              "description": "Whether the user has not interacted when the element.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "markAsTouched",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Marks the element as touched."
            },
            {
              "kind": "method",
              "name": "markAsUntouched",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Marks the element as untouched."
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isTouchedMixin",
          "declaration": {
            "name": "isTouchedMixin",
            "module": "src/shared/mixins/Touched.ts"
          }
        },
        {
          "kind": "js",
          "name": "Touched",
          "declaration": {
            "name": "Touched",
            "module": "src/shared/mixins/Touched.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/mixins/Vertical.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isVerticalMixin",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              },
              "description": "The value to test."
            }
          ],
          "description": "Determines whether a value is a `VerticalMixin`."
        },
        {
          "kind": "mixin",
          "description": "Mixin to augment an element with behavior that supports a vertical orientation.",
          "name": "Vertical",
          "members": [
            {
              "kind": "field",
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is oriented vertically.",
              "attribute": "vertical",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is oriented vertically.",
              "fieldName": "vertical"
            }
          ],
          "parameters": [
            {
              "name": "base",
              "type": {
                "text": "T"
              },
              "description": "The base class."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isVerticalMixin",
          "declaration": {
            "name": "isVerticalMixin",
            "module": "src/shared/mixins/Vertical.ts"
          }
        },
        {
          "kind": "js",
          "name": "Vertical",
          "declaration": {
            "name": "Vertical",
            "module": "src/shared/mixins/Vertical.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/ActionElementBase.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A base implementation for an element, nested within a clickable element, used to\r\nperform an action. This class must be inherited.",
          "name": "ActionElementBase",
          "members": [
            {
              "kind": "field",
              "name": "#clickHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_onClick",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  },
                  "description": "The click event to handle."
                }
              ],
              "description": "When implemented by a derived class, handles the specified click event."
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ActionElementBase",
          "declaration": {
            "name": "ActionElementBase",
            "module": "src/shared/primitives/ActionElementBase.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/CollapsibleElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A container used to expand and collapse content.",
          "name": "M3eCollapsibleElement",
          "cssProperties": [
            {
              "description": "The duration of the expand / collapse animation.",
              "name": "--m3e-collapsible-animation-duration"
            }
          ],
          "slots": [
            {
              "description": "Renders the collapsible content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "#slotChanged",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "#hasOpened",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether content is visible.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "#handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#autoSize",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "#clearSize",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "#actualSize",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "events": [
            {
              "name": "opening",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the collapsible begins to open."
            },
            {
              "name": "opened",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the collapsible has opened."
            },
            {
              "name": "closing",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the collapsible begins to close."
            },
            {
              "name": "closed",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the collapsible has closed."
            }
          ],
          "attributes": [
            {
              "description": "Whether content is visible.",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "open"
            }
          ],
          "mixins": [
            {
              "name": "EventAttribute",
              "module": "/src/shared/mixins"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "m3e-collapsible",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eCollapsibleElement",
          "declaration": {
            "name": "M3eCollapsibleElement",
            "module": "src/shared/primitives/CollapsibleElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-collapsible",
          "declaration": {
            "name": "M3eCollapsibleElement",
            "module": "src/shared/primitives/CollapsibleElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/ElevationElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Visually depicts elevation using a shadow.",
          "name": "M3eElevationElement",
          "cssProperties": [
            {
              "description": "Color used to depict elevation.",
              "name": "--m3e-elevation-color"
            },
            {
              "description": "Duration when lifting.",
              "name": "--m3e-elevation-lift-duration"
            },
            {
              "description": "Easing curve when lifting.",
              "name": "--m3e-elevation-lift-easing"
            },
            {
              "description": "Duration when settling.",
              "name": "--m3e-elevation-settle-duration"
            },
            {
              "description": "Easing curve when settling.",
              "name": "--m3e-elevation-settle-easing"
            },
            {
              "description": "Elevation when resting (box-shadow).",
              "name": "--m3e-elevation-level"
            },
            {
              "description": "Elevation on hover (box-shadow).",
              "name": "--m3e-elevation-hover-level"
            },
            {
              "description": "Elevation on focus (box-shadow).",
              "name": "--m3e-elevation-focus-level"
            },
            {
              "description": "Elevation on pressed (box-shadow).",
              "name": "--m3e-elevation-pressed-level"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "#hoverController",
              "privacy": "private",
              "readonly": true,
              "default": "new HoverController(this, { target: null, callback: (hovering) => this.#handleHoverChange(hovering), })"
            },
            {
              "kind": "field",
              "name": "#focusController",
              "privacy": "private",
              "readonly": true,
              "default": "new FocusController(this, { target: null, callback: (focused) => this.#handleFocusChange(focused), })"
            },
            {
              "kind": "field",
              "name": "#pressedController",
              "privacy": "private",
              "readonly": true,
              "default": "new PressedController(this, { target: null, callback: (pressed) => this.#handlePressedChange(pressed), })"
            },
            {
              "kind": "field",
              "name": "_shadow",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether hover and press events will not trigger changes in elevation, when attached to an interactive element.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "level",
              "type": {
                "text": "ElevationLevel | null"
              },
              "default": "null",
              "description": "The level at which to visually depict elevation.",
              "attribute": "level",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "attach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Attaches the element to an interactive control.",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "method",
              "name": "detach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Detaches the element from its current interactive control.",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "method",
              "name": "#handleHoverChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "hovering",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleFocusChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "focused",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handlePressedChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "pressed",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "[_control]",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "[_firstUpdated]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "htmlFor",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "attribute": "for",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "control",
              "description": "The interactive element to which this element is attached.",
              "readonly": true,
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            }
          ],
          "attributes": [
            {
              "description": "Whether hover and press events will not trigger changes in elevation, when attached to an interactive element.",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "fieldName": "htmlFor",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "description": "The level at which to visually depict elevation.",
              "name": "level",
              "type": {
                "text": "ElevationLevel | null"
              },
              "default": "null",
              "fieldName": "level"
            }
          ],
          "mixins": [
            {
              "name": "HtmlFor",
              "module": "/src/shared/mixins"
            },
            {
              "name": "Role",
              "module": "/src/shared/mixins"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "m3e-elevation",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eElevationElement",
          "declaration": {
            "name": "M3eElevationElement",
            "module": "src/shared/primitives/ElevationElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-elevation",
          "declaration": {
            "name": "M3eElevationElement",
            "module": "src/shared/primitives/ElevationElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/ElevationLevel.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/ElevationToken.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/FocusRingElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A focus ring used to depict a strong focus indicator.",
          "name": "M3eFocusRingElement",
          "cssProperties": [
            {
              "description": "The color of the focus ring.",
              "name": "--m3e-focus-ring-color"
            },
            {
              "description": "The duration of the focus ring animation.",
              "name": "--m3e-focus-ring-duration"
            },
            {
              "description": "The factor by which the focus ring grows.",
              "name": "--m3e-focus-ring-growth-factor"
            },
            {
              "description": "The thickness of the focus ring.",
              "name": "--m3e-focus-ring-thickness"
            },
            {
              "description": "The visibility of the focus ring.",
              "name": "--m3e-focus-ring-visibility"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "#focusController",
              "privacy": "private",
              "readonly": true,
              "default": "new FocusController(this, { target: null, callback: (_, focusVisible) => this.#handleFocusChange(focusVisible), })"
            },
            {
              "kind": "field",
              "name": "_outline",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "inward",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the focus ring animates inward instead of outward.",
              "attribute": "inward",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the focus events will not trigger the focus ring.\r\nFocus rings can be still controlled manually by using the `show` and `hide` methods.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "show",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Launches a manual focus ring."
            },
            {
              "kind": "method",
              "name": "hide",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Hides the focus ring."
            },
            {
              "kind": "method",
              "name": "attach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Attaches the element to an interactive control.",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "method",
              "name": "detach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Detaches the element from its current interactive control.",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "method",
              "name": "#handleFocusChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "focusVisible",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "[_control]",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "[_firstUpdated]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "htmlFor",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "attribute": "for",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "control",
              "description": "The interactive element to which this element is attached.",
              "readonly": true,
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            }
          ],
          "attributes": [
            {
              "description": "Whether the focus events will not trigger the focus ring.\r\nFocus rings can be still controlled manually by using the `show` and `hide` methods.",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "description": "Whether the focus ring animates inward instead of outward.",
              "name": "inward",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "inward"
            },
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "fieldName": "htmlFor",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            }
          ],
          "mixins": [
            {
              "name": "HtmlFor",
              "module": "/src/shared/mixins"
            },
            {
              "name": "Role",
              "module": "/src/shared/mixins"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "m3e-focus-ring",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eFocusRingElement",
          "declaration": {
            "name": "M3eFocusRingElement",
            "module": "src/shared/primitives/FocusRingElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-focus-ring",
          "declaration": {
            "name": "M3eFocusRingElement",
            "module": "src/shared/primitives/FocusRingElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/FocusRingToken.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ActionElementBase\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./CollapsibleElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ElevationElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ElevationLevel\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./FocusRingElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./PseudoCheckboxElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./PseudoRadioElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./RippleElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ScrollContainerElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./ScrollDividers\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./SlideElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./StateLayerElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./TextOverflowElement\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./TextHighlightElement\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/PseudoCheckboxElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "An element which looks like a checkbox.",
          "name": "M3ePseudoCheckboxElement",
          "cssProperties": [
            {
              "description": "Size of the checkbox icon.",
              "name": "--m3e-checkbox-icon-size"
            },
            {
              "description": "Border radius of the checkbox container.",
              "name": "--m3e-checkbox-container-shape"
            },
            {
              "description": "Outline thickness for unselected state.",
              "name": "--m3e-checkbox-unselected-outline-thickness"
            },
            {
              "description": "Outline color for unselected state.",
              "name": "--m3e-checkbox-unselected-outline-color"
            },
            {
              "description": "Background color for selected state.",
              "name": "--m3e-checkbox-selected-container-color"
            },
            {
              "description": "Icon color for selected state.",
              "name": "--m3e-checkbox-selected-icon-color"
            },
            {
              "description": "Outline color for unselected disabled state.",
              "name": "--m3e-checkbox-unselected-disabled-outline-color"
            },
            {
              "description": "Outline opacity for unselected disabled state.",
              "name": "--m3e-checkbox-unselected-disabled-outline-opacity"
            },
            {
              "description": "Background color for selected disabled state.",
              "name": "--m3e-checkbox-selected-disabled-container-color"
            },
            {
              "description": "Background opacity for selected disabled state.",
              "name": "--m3e-checkbox-selected-disabled-container-opacity"
            },
            {
              "description": "Icon color for selected disabled state.",
              "name": "--m3e-checkbox-selected-disabled-icon-color"
            },
            {
              "description": "Icon opacity for selected disabled state.",
              "name": "--m3e-checkbox-selected-disabled-icon-opacity"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element's checked state is indeterminate.",
              "attribute": "indeterminate",
              "reflects": true,
              "inheritedFrom": {
                "name": "CheckedIndeterminate",
                "module": "src/shared/mixins/CheckedIndeterminate.ts"
              }
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is checked.",
              "attribute": "checked",
              "reflects": true,
              "inheritedFrom": {
                "name": "Checked",
                "module": "src/shared/mixins/Checked.ts"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "Disabled",
                "module": "src/shared/mixins/Disabled.ts"
              }
            }
          ],
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "A value indicating whether the element is checked.",
              "fieldName": "checked",
              "inheritedFrom": {
                "name": "Checked",
                "module": "src/shared/mixins/Checked.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "A value indicating whether the element is disabled.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "Disabled",
                "module": "src/shared/mixins/Disabled.ts"
              }
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "A value indicating whether the element's checked state is indeterminate.",
              "fieldName": "indeterminate",
              "inheritedFrom": {
                "name": "CheckedIndeterminate",
                "module": "src/shared/mixins/CheckedIndeterminate.ts"
              }
            }
          ],
          "mixins": [
            {
              "name": "CheckedIndeterminate",
              "module": "/src/shared/mixins"
            },
            {
              "name": "Disabled",
              "module": "/src/shared/mixins"
            },
            {
              "name": "Role",
              "module": "/src/shared/mixins"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "m3e-pseudo-checkbox",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3ePseudoCheckboxElement",
          "declaration": {
            "name": "M3ePseudoCheckboxElement",
            "module": "src/shared/primitives/PseudoCheckboxElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-pseudo-checkbox",
          "declaration": {
            "name": "M3ePseudoCheckboxElement",
            "module": "src/shared/primitives/PseudoCheckboxElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/PseudoRadioElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "An element which looks like a radio button.",
          "name": "M3ePseudoRadioElement",
          "cssProperties": [
            {
              "description": "Size of the radio icon.",
              "name": "--m3e-radio-icon-size"
            },
            {
              "description": "Color of the unselected radio icon.",
              "name": "--m3e-radio-unselected-icon-color"
            },
            {
              "description": "Color of the selected radio icon.",
              "name": "--m3e-radio-selected-icon-color"
            },
            {
              "description": "Color of the disabled radio icon.",
              "name": "--m3e-radio-disabled-icon-color"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is checked.",
              "attribute": "checked",
              "reflects": true,
              "inheritedFrom": {
                "name": "Checked",
                "module": "src/shared/mixins/Checked.ts"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the element is disabled.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "Disabled",
                "module": "src/shared/mixins/Disabled.ts"
              }
            }
          ],
          "attributes": [
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "A value indicating whether the element is checked.",
              "fieldName": "checked",
              "inheritedFrom": {
                "name": "Checked",
                "module": "src/shared/mixins/Checked.ts"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "A value indicating whether the element is disabled.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "Disabled",
                "module": "src/shared/mixins/Disabled.ts"
              }
            }
          ],
          "mixins": [
            {
              "name": "Checked",
              "module": "/src/shared/mixins"
            },
            {
              "name": "Disabled",
              "module": "/src/shared/mixins"
            },
            {
              "name": "Role",
              "module": "/src/shared/mixins"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "m3e-pseudo-radio",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3ePseudoRadioElement",
          "declaration": {
            "name": "M3ePseudoRadioElement",
            "module": "src/shared/primitives/PseudoRadioElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-pseudo-radio",
          "declaration": {
            "name": "M3ePseudoRadioElement",
            "module": "src/shared/primitives/PseudoRadioElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/RippleElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Connects user input to screen reactions using ripples.",
          "name": "M3eRippleElement",
          "cssProperties": [
            {
              "description": "The color of the ripple.",
              "name": "--m3e-ripple-color"
            },
            {
              "description": "The duration for the enter animation (expansion from point of contact).",
              "name": "--m3e-ripple-enter-duration"
            },
            {
              "description": "The duration for the exit animation (fade-out).",
              "name": "--m3e-ripple-exit-duration"
            },
            {
              "description": "The opacity of the ripple.",
              "name": "--m3e-ripple-opacity"
            },
            {
              "description": "The factor by which to scale the ripple.",
              "name": "--m3e-ripple-scale-factor"
            },
            {
              "description": "The shape of the ripple.",
              "name": "--m3e-ripple-shape"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "#ripple",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | null"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "#pressedController",
              "privacy": "private",
              "readonly": true,
              "default": "new PressedController(this, { target: null, minPressedDuration: 150, isPressedKey: (key) => key === \" \", callback: (pressed, { x, y }) => this.#handlePressedChange(pressed, x, y), })"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether click events will not trigger the ripple.\r\nRipples can be still controlled manually by using the `show` and 'hide' methods.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "centered",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the ripple always originates from the center of the element's bounds, rather\r\nthan originating from the location of the click event.",
              "attribute": "centered",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "unbounded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the ripple is visible outside the element's bounds.",
              "attribute": "unbounded",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "radius",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "description": "The radius, in pixels, of the ripple.",
              "attribute": "radius"
            },
            {
              "kind": "field",
              "name": "visible",
              "description": "Whether the ripple is currently visible to the user.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "show",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  },
                  "description": "The x-coordinate, relative to the viewport, at which to present the ripple."
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  },
                  "description": "The y-coordinate, relative to the viewport, at which to present the ripple."
                },
                {
                  "name": "persistent",
                  "default": "false",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "Whether the ripple will persist until hidden.",
                  "optional": true
                }
              ],
              "description": "Launches a manual ripple."
            },
            {
              "kind": "method",
              "name": "hide",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Manually hides the ripple."
            },
            {
              "kind": "method",
              "name": "attach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Attaches the element to an interactive control.",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "method",
              "name": "detach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Detaches the element from its current interactive control.",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "method",
              "name": "#destroyRipple",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "#handleAnimationEnd",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "persistent",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handlePressedChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "pressed",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "[_control]",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "[_firstUpdated]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "htmlFor",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "attribute": "for",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "control",
              "description": "The interactive element to which this element is attached.",
              "readonly": true,
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            }
          ],
          "attributes": [
            {
              "description": "Whether the ripple always originates from the center of the element's bounds, rather\r\nthan originating from the location of the click event.",
              "name": "centered",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "centered"
            },
            {
              "description": "Whether click events will not trigger the ripple.\r\nRipples can be still controlled manually by using the `show` and 'hide' methods.",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "fieldName": "htmlFor",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "description": "The radius, in pixels, of the ripple.",
              "name": "radius",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "fieldName": "radius"
            },
            {
              "description": "Whether the ripple is visible outside the element's bounds.",
              "name": "unbounded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "unbounded"
            }
          ],
          "mixins": [
            {
              "name": "HtmlFor",
              "module": "/src/shared/mixins"
            },
            {
              "name": "Role",
              "module": "/src/shared/mixins"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "m3e-ripple",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eRippleElement",
          "declaration": {
            "name": "M3eRippleElement",
            "module": "src/shared/primitives/RippleElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-ripple",
          "declaration": {
            "name": "M3eRippleElement",
            "module": "src/shared/primitives/RippleElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/RippleToken.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/ScrollContainerElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A vertically oriented content container which presents dividers above and below content when scrolled.",
          "name": "M3eScrollContainerElement",
          "cssProperties": [
            {
              "description": "Thickness of the divider lines above and below content.",
              "name": "--m3e-divider-thickness"
            },
            {
              "description": "Color of the divider lines when visible.",
              "name": "--m3e-divider-color"
            },
            {
              "description": "Color of the focus ring outline.",
              "name": "--m3e-focus-ring-color"
            },
            {
              "description": "Thickness of the focus ring outline.",
              "name": "--m3e-focus-ring-thickness"
            },
            {
              "description": "Animation factor for focus ring thickness.",
              "name": "--m3e-focus-ring-factor"
            },
            {
              "description": "Duration of the focus ring animation.",
              "name": "--m3e-focus-ring-duration"
            }
          ],
          "slots": [
            {
              "description": "Renders the scrollable content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "#scrollHandler",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "dividers",
              "type": {
                "text": "ScrollDividers"
              },
              "default": "\"above-below\"",
              "description": "The dividers used to separate scrollable content.",
              "attribute": "dividers"
            },
            {
              "kind": "field",
              "name": "thin",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether to present thin scrollbars.",
              "attribute": "thin",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "_updateScroll",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "attributes": [
            {
              "description": "The dividers used to separate scrollable content.",
              "name": "dividers",
              "type": {
                "text": "ScrollDividers"
              },
              "default": "\"above-below\"",
              "fieldName": "dividers"
            },
            {
              "description": "Whether to present thin scrollbars.",
              "name": "thin",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "thin"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "m3e-scroll-container",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eScrollContainerElement",
          "declaration": {
            "name": "M3eScrollContainerElement",
            "module": "src/shared/primitives/ScrollContainerElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-scroll-container",
          "declaration": {
            "name": "M3eScrollContainerElement",
            "module": "src/shared/primitives/ScrollContainerElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/ScrollDividers.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/SlideElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "A carousel-like container used to horizontally cycle through slotted items.",
          "name": "M3eSlideElement",
          "cssProperties": [
            {
              "description": "The duration of transitions between slotted items.",
              "name": "--m3e-slide-animation-duration"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "#items",
              "privacy": "private",
              "default": "new Array<Element>()"
            },
            {
              "kind": "field",
              "name": "selectedIndex",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "description": "The zero-based index of the visible item.",
              "attribute": "selected-index",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "#handleSlotChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#updateItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "attributes": [
            {
              "description": "The zero-based index of the visible item.",
              "name": "selected-index",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "fieldName": "selectedIndex"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "m3e-slide",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eSlideElement",
          "declaration": {
            "name": "M3eSlideElement",
            "module": "src/shared/primitives/SlideElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-slide",
          "declaration": {
            "name": "M3eSlideElement",
            "module": "src/shared/primitives/SlideElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/StateLayerElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Provides focus and hover state layer treatment for an interactive element.",
          "name": "M3eStateLayerElement",
          "cssProperties": [
            {
              "description": "Duration of state layer changes.",
              "name": "--m3e-state-layer-duration"
            },
            {
              "description": "Easing curve of state layer changes.",
              "name": "--m3e-state-layer-easing"
            },
            {
              "description": "Color on hover.",
              "name": "--m3e-state-layer-focus-color"
            },
            {
              "description": "Opacity on focus.",
              "name": "--m3e-state-layer-focus-opacity"
            },
            {
              "description": "Color on hover.",
              "name": "--m3e-state-layer-hover-color"
            },
            {
              "description": "Opacity on hover.",
              "name": "--m3e-state-layer-hover-opacity"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "#hoverController",
              "privacy": "private",
              "readonly": true,
              "default": "new HoverController(this, { target: null, callback: (hovering) => this.#handleHoverChange(hovering), })"
            },
            {
              "kind": "field",
              "name": "#focusController",
              "privacy": "private",
              "readonly": true,
              "default": "new FocusController(this, { target: null, callback: (_, focusVisible) => this.#handleFocusChange(focusVisible), })"
            },
            {
              "kind": "field",
              "name": "_layer",
              "type": {
                "text": "HTMLElement | undefined"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether hover and focus events will not trigger the state layer. State layers can still\r\nbe controlled manually using the `show` and `hide` methods.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disableHover",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether hover events will not trigger the state layer. State layers can still\r\nbe controlled manually using the `show` and `hide` methods.",
              "attribute": "disable-hover",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "show",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "\"hover\" | \"focused\""
                  },
                  "description": "The state of the layer to show."
                }
              ],
              "description": "Launches a manual state layer."
            },
            {
              "kind": "method",
              "name": "hide",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "state",
                  "type": {
                    "text": "\"hover\" | \"focused\""
                  },
                  "description": "The state of the layer to hide."
                }
              ],
              "description": "Hides the state layer."
            },
            {
              "kind": "method",
              "name": "attach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Attaches the element to an interactive control.",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "method",
              "name": "detach",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Detaches the element from its current interactive control.",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "method",
              "name": "#handleHoverChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "hovering",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#handleFocusChange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "focusVisible",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "[_control]",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "[_firstUpdated]",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "htmlFor",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "attribute": "for",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            },
            {
              "kind": "field",
              "name": "control",
              "description": "The interactive element to which this element is attached.",
              "readonly": true,
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            }
          ],
          "attributes": [
            {
              "description": "Whether hover and focus events will not trigger the state layer. State layers can still\r\nbe controlled manually using the `show` and `hide` methods.",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "description": "Whether hover events will not trigger the state layer. State layers can still\r\nbe controlled manually using the `show` and `hide` methods.",
              "name": "disable-hover",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disableHover"
            },
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The identifier of the interactive control to which this element is attached.",
              "fieldName": "htmlFor",
              "inheritedFrom": {
                "name": "HtmlFor",
                "module": "src/shared/mixins/HtmlFor.ts"
              }
            }
          ],
          "mixins": [
            {
              "name": "HtmlFor",
              "module": "/src/shared/mixins"
            },
            {
              "name": "Role",
              "module": "/src/shared/mixins"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "m3e-state-layer",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eStateLayerElement",
          "declaration": {
            "name": "M3eStateLayerElement",
            "module": "src/shared/primitives/StateLayerElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-state-layer",
          "declaration": {
            "name": "M3eStateLayerElement",
            "module": "src/shared/primitives/StateLayerElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/StateLayerToken.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/TextHighlightElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Highlights text which matches a given search term.",
          "name": "M3eTextHighlightElement",
          "cssProperties": [
            {
              "description": "Background color applied to highlighted text ranges.",
              "name": "--m3e-text-highlight-container-color"
            },
            {
              "description": "Foreground color of highlighted text content.",
              "name": "--m3e-text-highlight-color"
            },
            {
              "description": "Optional text decoration (e.g., underline, line-through) for highlighted text.",
              "name": "--m3e-text-highlight-decoration"
            },
            {
              "description": "Optional text shadow for emphasis or contrast.",
              "name": "--m3e-text-highlight-shadow"
            }
          ],
          "slots": [
            {
              "description": "Renders the content to highlight.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "__nextId",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "static": true,
              "default": "0"
            },
            {
              "kind": "field",
              "name": "#id",
              "privacy": "private",
              "default": "`m3e-text-highlight-${M3eTextHighlightElement.__nextId++}`"
            },
            {
              "kind": "field",
              "name": "#ranges",
              "privacy": "private",
              "default": "new Array<Range>()"
            },
            {
              "kind": "field",
              "name": "#styles",
              "privacy": "private",
              "type": {
                "text": "CSSStyleSheet | null"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "A value indicating whether text highlighting is disabled.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "term",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "The term to highlight.",
              "attribute": "term"
            },
            {
              "kind": "field",
              "name": "caseSensitive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "A value indicating whether matching is case sensitive.",
              "attribute": "case-sensitive"
            },
            {
              "kind": "field",
              "name": "isSupported",
              "type": {
                "text": "boolean"
              },
              "description": "A value indicating whether text highlighting is supported by the browser.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "ranges",
              "type": {
                "text": "readonly Range[]"
              },
              "description": "The ranges that match the current term.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "#isTextNode",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "any"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#findTextNodes",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "parent",
                  "type": {
                    "text": "Node"
                  }
                },
                {
                  "name": "nodes",
                  "type": {
                    "text": "Node[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#highlight",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "events": [
            {
              "name": "highlight",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Emitted when content is highlighted."
            }
          ],
          "attributes": [
            {
              "description": "A value indicating whether matching is case sensitive.",
              "name": "case-sensitive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "caseSensitive"
            },
            {
              "description": "A value indicating whether text highlighting is disabled.",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "description": "The term to highlight.",
              "name": "term",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "term"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "m3e-text-highlight",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eTextHighlightElement",
          "declaration": {
            "name": "M3eTextHighlightElement",
            "module": "src/shared/primitives/TextHighlightElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-text-highlight",
          "declaration": {
            "name": "M3eTextHighlightElement",
            "module": "src/shared/primitives/TextHighlightElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/primitives/TextOverflowElement.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "An inline container which presents an ellipsis when content overflows.",
          "name": "M3eTextOverflowElement",
          "slots": [
            {
              "description": "Renders the content to truncate with an ellipsis.",
              "name": ""
            }
          ],
          "members": [],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "m3e-text-overflow",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "M3eTextOverflowElement",
          "declaration": {
            "name": "M3eTextOverflowElement",
            "module": "src/shared/primitives/TextOverflowElement.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "m3e-text-overflow",
          "declaration": {
            "name": "M3eTextOverflowElement",
            "module": "src/shared/primitives/TextOverflowElement.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/tokens/ColorToken.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "ColorToken",
          "type": {
            "text": "{\r\n  /** High-emphasis fills, texts, and icons against surface. */\r\n  primary: unsafeCSS(\"var(--md-sys-color-primary, #6750A4)\"),\r\n\r\n  /** Text and icons against primary. */\r\n  onPrimary: unsafeCSS(\"var(--md-sys-color-on-primary, #FFFFFF)\"),\r\n\r\n  /** Standout fill color against surface, for key components. */\r\n  primaryContainer: unsafeCSS(\"var(--md-sys-color-primary-container, #EADDFF)\"),\r\n\r\n  /** Text and icons against primary container. */\r\n  onPrimaryContainer: unsafeCSS(\"var(--md-sys-color-on-primary-container, #4F378B)\"),\r\n\r\n  /** High-emphasis fills, texts, and icons that maintain the same tone in light and dark themes. */\r\n  primaryFixed: unsafeCSS(\"var(--md-sys-color-primary-fixed, #EADDFF)\"),\r\n\r\n  /** High-emphasis fills, texts, and icons that maintain the same stronger tone in light and dark themes. */\r\n  primaryFixedDim: unsafeCSS(\"var(--md-sys-color-primary-fixed-dim, #D0BCFF)\"),\r\n\r\n  /** Text and icons against fixed primary. */\r\n  onPrimaryFixed: unsafeCSS(\"var(--md-sys-color-on-primary-fixed, #21005D)\"),\r\n\r\n  /** Lower-emphasis text and icons against fixed primary. */\r\n  onPrimaryFixedVariant: unsafeCSS(\"var(--md-sys-color-on-primary-fixed-variant, #4F378B)\"),\r\n\r\n  /** Less prominent fills, text, and icons against surface. */\r\n  secondary: unsafeCSS(\"var(--md-sys-color-secondary, #625B71)\"),\r\n\r\n  /** Text and icons against secondary. */\r\n  onSecondary: unsafeCSS(\"var(--md-sys-color-on-secondary, #FFFFFF)\"),\r\n\r\n  /** Less prominent fill color against surface, for recessive components. */\r\n  secondaryContainer: unsafeCSS(\"var(--md-sys-color-secondary-container, #E8DEF8)\"),\r\n\r\n  /** Text and icons against secondary container. */\r\n  onSecondaryContainer: unsafeCSS(\"var(--md-sys-color-on-secondary-container, #4A4458)\"),\r\n\r\n  /** Less prominent fills, texts, and icons that maintain the same tone in light and dark themes. */\r\n  secondaryFixed: unsafeCSS(\"var(--md-sys-color-secondary-fixed, #E8DEF8)\"),\r\n\r\n  /** Less prominent fills, texts, and icons that maintain the same stronger tone in light and dark themes. */\r\n  secondaryFixedDim: unsafeCSS(\"var(--md-sys-color-secondary-fixed-dim, #CCC2DC)\"),\r\n\r\n  /** Text and icons against fixed secondary. */\r\n  onSecondaryFixed: unsafeCSS(\"var(--md-sys-color-on-secondary-fixed, #1D192B)\"),\r\n\r\n  /** Lower-emphasis text and icons against fixed secondary. */\r\n  onSecondaryFixedVariant: unsafeCSS(\"var(--md-sys-color-on-secondary-fixed-variant, #4A4458)\"),\r\n\r\n  /** Complementary fills, text, and icons against surface. */\r\n  tertiary: unsafeCSS(\"var(--md-sys-color-tertiary, #7D5260)\"),\r\n\r\n  /** Text and icons against tertiary. */\r\n  onTertiary: unsafeCSS(\"var(--md-sys-color-on-tertiary, #FFFFFF)\"),\r\n\r\n  /** Complementary container color against surface. */\r\n  tertiaryContainer: unsafeCSS(\"var(--md-sys-color-tertiary-container, #FFD8E4)\"),\r\n\r\n  /** Text and icons against tertiary container. */\r\n  onTertiaryContainer: unsafeCSS(\"var(--md-sys-color-on-tertiary-container, #633B48)\"),\r\n\r\n  /** Complementary fills, texts, and icons that maintain the same tone in light and dark themes. */\r\n  tertiaryFixed: unsafeCSS(\"var(--md-sys-color-tertiary-fixed, #FFD8E4)\"),\r\n\r\n  /** Complementary fills, texts, and icons that maintain the same stronger tone in light and dark themes. */\r\n  tertiaryFixedDim: unsafeCSS(\"var(--md-sys-color-tertiary-fixed-dim, #EFB8C8)\"),\r\n\r\n  /** Text and icons against fixed tertiary. */\r\n  onTertiaryFixed: unsafeCSS(\"var(--md-sys-color-on-tertiary-fixed, #31111D)\"),\r\n\r\n  /** Lower-emphasis text and icons against fixed tertiary. */\r\n  onTertiaryFixedVariant: unsafeCSS(\"var(--md-sys-color-on-tertiary-fixed-variant, #633B48)\"),\r\n\r\n  /** Attention-grabbing color against surface for fills, icons, and text, indicating urgency. */\r\n  error: unsafeCSS(\"var(--md-sys-color-error, #B3261E)\"),\r\n\r\n  /** Text and icons against error. */\r\n  onError: unsafeCSS(\"var(--md-sys-color-on-error, #FFFFFF)\"),\r\n\r\n  /** Attention-grabbing fill color against surface. */\r\n  errorContainer: unsafeCSS(\"var(--md-sys-color-error-container, #F9DEDC)\"),\r\n\r\n  /** Text and icons against error container. */\r\n  onErrorContainer: unsafeCSS(\"var(--md-sys-color-on-error-container, #8C1D18)\"),\r\n\r\n  /** Default color for backgrounds. */\r\n  surface: unsafeCSS(\"var(--md-sys-color-surface, #FEF7FF)\"),\r\n\r\n  /** Text and icons against any surface color. */\r\n  onSurface: unsafeCSS(\"var(--md-sys-color-on-surface, #1D1B20)\"),\r\n\r\n  /** Lower-emphasis color for text and icons against any surface color. */\r\n  onSurfaceVariant: unsafeCSS(\"var(--md-sys-color-on-surface-variant, #49454F)\"),\r\n\r\n  /** Lowest-emphasis container color. */\r\n  surfaceContainerLowest: unsafeCSS(\"var(--md-sys-color-surface-container-lowest, #FFFFFF)\"),\r\n\r\n  /** Low-emphasis container color. */\r\n  surfaceContainerLow: unsafeCSS(\"var(--md-sys-color-surface-container-low, #F7F2FA)\"),\r\n\r\n  /** Default container color. */\r\n  surfaceContainer: unsafeCSS(\"var(--md-sys-color-surface-container, #F3EDF7)\"),\r\n\r\n  /** High-emphasis container color. */\r\n  surfaceContainerHigh: unsafeCSS(\"var(--md-sys-color-surface-container-high, #ECE6F0)\"),\r\n\r\n  /** Highest-emphasis container color. */\r\n  surfaceContainerHighest: unsafeCSS(\"var(--md-sys-color-surface-container-highest, #E6E0E9)\"),\r\n\r\n  /** Dimmest surface color in light and dark themes. */\r\n  surfaceDim: unsafeCSS(\"var(--md-sys-color-surface-dim, #DED8E1)\"),\r\n\r\n  /** Brightest surface color in light and dark themes. */\r\n  surfaceBright: unsafeCSS(\"var(--md-sys-color-surface-bright, #FEF7FF)\"),\r\n\r\n  /** Alternate surface color, can be used for active states. */\r\n  surfaceVariant: unsafeCSS(\"var(--md-sys-color-surface-variant, #E7E0EC)\"),\r\n\r\n  /** Background fills for elements which contrast against surface. */\r\n  inverseSurface: unsafeCSS(\"var(--md-sys-color-inverse-surface, #322F35)\"),\r\n\r\n  /** Text and icons against inverse surface. */\r\n  inverseOnSurface: unsafeCSS(\"var(--md-sys-color-inverse-on-surface, #F5EFF7)\"),\r\n\r\n  /** Primary text and icons against inverse surface. */\r\n  inversePrimary: unsafeCSS(\"var(--md-sys-color-inverse-primary, #D0BCFF)\"),\r\n\r\n  /** Important boundaries, such as a text field outline. */\r\n  outline: unsafeCSS(\"var(--md-sys-color-outline, #79747E)\"),\r\n\r\n  /** Decorative elements, such as dividers. */\r\n  outlineVariant: unsafeCSS(\"var(--md-sys-color-outline-variant, #CAC4D0)\"),\r\n\r\n  /** Elevation shadow color. */\r\n  shadow: unsafeCSS(\"var(--md-sys-color-shadow, #000000)\"),\r\n\r\n  /** Backdrop which obscures underlying content. */\r\n  scrim: unsafeCSS(\"var(--md-sys-color-scrim, #000000)\"),\r\n}"
          },
          "default": "{ /** High-emphasis fills, texts, and icons against surface. */ primary: unsafeCSS(\"var(--md-sys-color-primary, #6750A4)\"), /** Text and icons against primary. */ onPrimary: unsafeCSS(\"var(--md-sys-color-on-primary, #FFFFFF)\"), /** Standout fill color against surface, for key components. */ primaryContainer: unsafeCSS(\"var(--md-sys-color-primary-container, #EADDFF)\"), /** Text and icons against primary container. */ onPrimaryContainer: unsafeCSS(\"var(--md-sys-color-on-primary-container, #4F378B)\"), /** High-emphasis fills, texts, and icons that maintain the same tone in light and dark themes. */ primaryFixed: unsafeCSS(\"var(--md-sys-color-primary-fixed, #EADDFF)\"), /** High-emphasis fills, texts, and icons that maintain the same stronger tone in light and dark themes. */ primaryFixedDim: unsafeCSS(\"var(--md-sys-color-primary-fixed-dim, #D0BCFF)\"), /** Text and icons against fixed primary. */ onPrimaryFixed: unsafeCSS(\"var(--md-sys-color-on-primary-fixed, #21005D)\"), /** Lower-emphasis text and icons against fixed primary. */ onPrimaryFixedVariant: unsafeCSS(\"var(--md-sys-color-on-primary-fixed-variant, #4F378B)\"), /** Less prominent fills, text, and icons against surface. */ secondary: unsafeCSS(\"var(--md-sys-color-secondary, #625B71)\"), /** Text and icons against secondary. */ onSecondary: unsafeCSS(\"var(--md-sys-color-on-secondary, #FFFFFF)\"), /** Less prominent fill color against surface, for recessive components. */ secondaryContainer: unsafeCSS(\"var(--md-sys-color-secondary-container, #E8DEF8)\"), /** Text and icons against secondary container. */ onSecondaryContainer: unsafeCSS(\"var(--md-sys-color-on-secondary-container, #4A4458)\"), /** Less prominent fills, texts, and icons that maintain the same tone in light and dark themes. */ secondaryFixed: unsafeCSS(\"var(--md-sys-color-secondary-fixed, #E8DEF8)\"), /** Less prominent fills, texts, and icons that maintain the same stronger tone in light and dark themes. */ secondaryFixedDim: unsafeCSS(\"var(--md-sys-color-secondary-fixed-dim, #CCC2DC)\"), /** Text and icons against fixed secondary. */ onSecondaryFixed: unsafeCSS(\"var(--md-sys-color-on-secondary-fixed, #1D192B)\"), /** Lower-emphasis text and icons against fixed secondary. */ onSecondaryFixedVariant: unsafeCSS(\"var(--md-sys-color-on-secondary-fixed-variant, #4A4458)\"), /** Complementary fills, text, and icons against surface. */ tertiary: unsafeCSS(\"var(--md-sys-color-tertiary, #7D5260)\"), /** Text and icons against tertiary. */ onTertiary: unsafeCSS(\"var(--md-sys-color-on-tertiary, #FFFFFF)\"), /** Complementary container color against surface. */ tertiaryContainer: unsafeCSS(\"var(--md-sys-color-tertiary-container, #FFD8E4)\"), /** Text and icons against tertiary container. */ onTertiaryContainer: unsafeCSS(\"var(--md-sys-color-on-tertiary-container, #633B48)\"), /** Complementary fills, texts, and icons that maintain the same tone in light and dark themes. */ tertiaryFixed: unsafeCSS(\"var(--md-sys-color-tertiary-fixed, #FFD8E4)\"), /** Complementary fills, texts, and icons that maintain the same stronger tone in light and dark themes. */ tertiaryFixedDim: unsafeCSS(\"var(--md-sys-color-tertiary-fixed-dim, #EFB8C8)\"), /** Text and icons against fixed tertiary. */ onTertiaryFixed: unsafeCSS(\"var(--md-sys-color-on-tertiary-fixed, #31111D)\"), /** Lower-emphasis text and icons against fixed tertiary. */ onTertiaryFixedVariant: unsafeCSS(\"var(--md-sys-color-on-tertiary-fixed-variant, #633B48)\"), /** Attention-grabbing color against surface for fills, icons, and text, indicating urgency. */ error: unsafeCSS(\"var(--md-sys-color-error, #B3261E)\"), /** Text and icons against error. */ onError: unsafeCSS(\"var(--md-sys-color-on-error, #FFFFFF)\"), /** Attention-grabbing fill color against surface. */ errorContainer: unsafeCSS(\"var(--md-sys-color-error-container, #F9DEDC)\"), /** Text and icons against error container. */ onErrorContainer: unsafeCSS(\"var(--md-sys-color-on-error-container, #8C1D18)\"), /** Default color for backgrounds. */ surface: unsafeCSS(\"var(--md-sys-color-surface, #FEF7FF)\"), /** Text and icons against any surface color. */ onSurface: unsafeCSS(\"var(--md-sys-color-on-surface, #1D1B20)\"), /** Lower-emphasis color for text and icons against any surface color. */ onSurfaceVariant: unsafeCSS(\"var(--md-sys-color-on-surface-variant, #49454F)\"), /** Lowest-emphasis container color. */ surfaceContainerLowest: unsafeCSS(\"var(--md-sys-color-surface-container-lowest, #FFFFFF)\"), /** Low-emphasis container color. */ surfaceContainerLow: unsafeCSS(\"var(--md-sys-color-surface-container-low, #F7F2FA)\"), /** Default container color. */ surfaceContainer: unsafeCSS(\"var(--md-sys-color-surface-container, #F3EDF7)\"), /** High-emphasis container color. */ surfaceContainerHigh: unsafeCSS(\"var(--md-sys-color-surface-container-high, #ECE6F0)\"), /** Highest-emphasis container color. */ surfaceContainerHighest: unsafeCSS(\"var(--md-sys-color-surface-container-highest, #E6E0E9)\"), /** Dimmest surface color in light and dark themes. */ surfaceDim: unsafeCSS(\"var(--md-sys-color-surface-dim, #DED8E1)\"), /** Brightest surface color in light and dark themes. */ surfaceBright: unsafeCSS(\"var(--md-sys-color-surface-bright, #FEF7FF)\"), /** Alternate surface color, can be used for active states. */ surfaceVariant: unsafeCSS(\"var(--md-sys-color-surface-variant, #E7E0EC)\"), /** Background fills for elements which contrast against surface. */ inverseSurface: unsafeCSS(\"var(--md-sys-color-inverse-surface, #322F35)\"), /** Text and icons against inverse surface. */ inverseOnSurface: unsafeCSS(\"var(--md-sys-color-inverse-on-surface, #F5EFF7)\"), /** Primary text and icons against inverse surface. */ inversePrimary: unsafeCSS(\"var(--md-sys-color-inverse-primary, #D0BCFF)\"), /** Important boundaries, such as a text field outline. */ outline: unsafeCSS(\"var(--md-sys-color-outline, #79747E)\"), /** Decorative elements, such as dividers. */ outlineVariant: unsafeCSS(\"var(--md-sys-color-outline-variant, #CAC4D0)\"), /** Elevation shadow color. */ shadow: unsafeCSS(\"var(--md-sys-color-shadow, #000000)\"), /** Backdrop which obscures underlying content. */ scrim: unsafeCSS(\"var(--md-sys-color-scrim, #000000)\"), }",
          "description": "Design tokens that control color."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ColorToken",
          "declaration": {
            "name": "ColorToken",
            "module": "src/shared/tokens/ColorToken.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/tokens/DensityToken.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "DensityToken",
          "type": {
            "text": "{\r\n  ..._DensityToken,\r\n\r\n  /**\r\n   * Creates a CSS `calc` that calculates a dimension based on density.\r\n   * @param {number} minScale The minimum supported scale.\r\n   * @returns {CSSResult} A CSS `calc` used to calculate a dimension based on density.\r\n   */\r\n  calc(minScale: number): CSSResult {\r\n    return unsafeCSS(`calc(max(${minScale}, ${_DensityToken.scale}) * ${_DensityToken.size})`);\r\n  },\r\n}"
          },
          "default": "{ ..._DensityToken, /** * Creates a CSS `calc` that calculates a dimension based on density. * @param {number} minScale The minimum supported scale. * @returns {CSSResult} A CSS `calc` used to calculate a dimension based on density. */ calc(minScale: number): CSSResult { return unsafeCSS(`calc(max(${minScale}, ${_DensityToken.scale}) * ${_DensityToken.size})`); }, }",
          "description": "Design tokens that control density."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DensityToken",
          "declaration": {
            "name": "DensityToken",
            "module": "src/shared/tokens/DensityToken.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/tokens/DesignToken.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "DesignToken",
          "type": {
            "text": "{\r\n  /** Design tokens that control color. */\r\n  color: ColorToken,\r\n\r\n  /** Design tokens that control elevation. */\r\n  elevation: ElevationToken,\r\n\r\n  /** Design tokens that control motion. */\r\n  motion: MotionToken,\r\n\r\n  /** Design tokens that control shape. */\r\n  shape: ShapeToken,\r\n\r\n  /** Design tokens that control state layer. */\r\n  state: StateToken,\r\n\r\n  /** Design tokens that control typescale. */\r\n  typescale: TypescaleToken,\r\n\r\n  /** Design tokens that control scrollbars. */\r\n  scrollbar: ScrollbarToken,\r\n\r\n  /** Design tokens that control density. */\r\n  density: DensityToken,\r\n}"
          },
          "default": "{ /** Design tokens that control color. */ color: ColorToken, /** Design tokens that control elevation. */ elevation: ElevationToken, /** Design tokens that control motion. */ motion: MotionToken, /** Design tokens that control shape. */ shape: ShapeToken, /** Design tokens that control state layer. */ state: StateToken, /** Design tokens that control typescale. */ typescale: TypescaleToken, /** Design tokens that control scrollbars. */ scrollbar: ScrollbarToken, /** Design tokens that control density. */ density: DensityToken, }",
          "description": "Design tokens used to style components."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "DesignToken",
          "declaration": {
            "name": "DesignToken",
            "module": "src/shared/tokens/DesignToken.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/tokens/ElevationToken.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "ElevationToken",
          "type": {
            "text": "{\r\n  /** Level 0 elevation. */\r\n  level0: unsafeCSS(`var(--md-sys-elevation-level0, ${elevation(0)})`),\r\n\r\n  /** Level 1 elevation. */\r\n  level1: unsafeCSS(`var(--md-sys-elevation-level1, ${elevation(1)})`),\r\n\r\n  /** Level 2 elevation. */\r\n  level2: unsafeCSS(`var(--md-sys-elevation-level2, ${elevation(3)})`),\r\n\r\n  /** Level 3 elevation. */\r\n  level3: unsafeCSS(`var(--md-sys-elevation-level3, ${elevation(6)})`),\r\n\r\n  /** Level 4 elevation. */\r\n  level4: unsafeCSS(`var(--md-sys-elevation-level4, ${elevation(8)})`),\r\n\r\n  /** Level 5 elevation. */\r\n  level5: unsafeCSS(`var(--md-sys-elevation-level5, ${elevation(12)})`),\r\n}"
          },
          "default": "{ /** Level 0 elevation. */ level0: unsafeCSS(`var(--md-sys-elevation-level0, ${elevation(0)})`), /** Level 1 elevation. */ level1: unsafeCSS(`var(--md-sys-elevation-level1, ${elevation(1)})`), /** Level 2 elevation. */ level2: unsafeCSS(`var(--md-sys-elevation-level2, ${elevation(3)})`), /** Level 3 elevation. */ level3: unsafeCSS(`var(--md-sys-elevation-level3, ${elevation(6)})`), /** Level 4 elevation. */ level4: unsafeCSS(`var(--md-sys-elevation-level4, ${elevation(8)})`), /** Level 5 elevation. */ level5: unsafeCSS(`var(--md-sys-elevation-level5, ${elevation(12)})`), }",
          "description": "Design tokens that control elevation."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ElevationToken",
          "declaration": {
            "name": "ElevationToken",
            "module": "src/shared/tokens/ElevationToken.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/tokens/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./DesignToken\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/tokens/MotionToken.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "MotionToken",
          "type": {
            "text": "{\r\n  /** Design tokens that control transition effects. */\r\n  easing: EasingToken,\r\n\r\n  /** Design tokens that control transition duration. */\r\n  duration: DurationToken,\r\n\r\n  /** Design tokens that control spring effects. */\r\n  spring: SpringToken,\r\n}"
          },
          "default": "{ /** Design tokens that control transition effects. */ easing: EasingToken, /** Design tokens that control transition duration. */ duration: DurationToken, /** Design tokens that control spring effects. */ spring: SpringToken, }",
          "description": "Design tokens that control motion."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "MotionToken",
          "declaration": {
            "name": "MotionToken",
            "module": "src/shared/tokens/MotionToken.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/tokens/ScrollbarToken.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "ScrollbarToken",
          "type": {
            "text": "{\r\n  /** Width of a standard scrollbar. */\r\n  width: unsafeCSS(`var(--m3e-scrollbar-width, auto)`),\r\n\r\n  /** Width of a thin scrollbar. */\r\n  thinWidth: unsafeCSS(`var(--m3e-scrollbar-thin-width, thin)`),\r\n\r\n  /** Color of a scrollbar. */\r\n  color: unsafeCSS(`var(--m3e-scrollbar-thumb-color, #938f94) var(--m3e-scrollbar-track-color, transparent)`),\r\n}"
          },
          "default": "{ /** Width of a standard scrollbar. */ width: unsafeCSS(`var(--m3e-scrollbar-width, auto)`), /** Width of a thin scrollbar. */ thinWidth: unsafeCSS(`var(--m3e-scrollbar-thin-width, thin)`), /** Color of a scrollbar. */ color: unsafeCSS(`var(--m3e-scrollbar-thumb-color, #938f94) var(--m3e-scrollbar-track-color, transparent)`), }",
          "description": "Design tokens that control scrollbars."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ScrollbarToken",
          "declaration": {
            "name": "ScrollbarToken",
            "module": "src/shared/tokens/ScrollbarToken.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/tokens/ShapeToken.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "ShapeToken",
          "type": {
            "text": "{\r\n  corner: {\r\n    /** Fully rounded symmetric shape. */\r\n    full: unsafeCSS(\"var(--md-sys-shape-corner-full, 624.9375rem)\"),\r\n\r\n    /** Extra large rounded asymmetric shape directed towards the top. */\r\n    extraLargeTop: unsafeCSS(\r\n      `var(--md-sys-shape-corner-extra-large-top, ${CornerValue.extraLarge} ${CornerValue.extraLarge} ${CornerValue.none} ${CornerValue.none})`\r\n    ),\r\n\r\n    /** Extra large rounded symmetric shape. */\r\n    extraLarge: unsafeCSS(`var(--md-sys-shape-corner-extra-large, ${CornerValue.extraLarge})`),\r\n\r\n    /** Extra large rounded asymmetric shape directed towards the end. */\r\n    extraLargeEnd: unsafeCSS(\r\n      `${CornerValue.none} ${CornerValue.extraLarge} ${CornerValue.extraLarge} ${CornerValue.none}`\r\n    ),\r\n\r\n    /** Extra large rounded asymmetric shape directed towards the start. */\r\n    extraLargeStart: unsafeCSS(\r\n      `${CornerValue.extraLarge} ${CornerValue.none} ${CornerValue.none} ${CornerValue.extraLarge}`\r\n    ),\r\n\r\n    /** Large rounded asymmetric shape directed towards the top. */\r\n    largeTop: unsafeCSS(\r\n      `var(--md-sys-shape-corner-large-top, ${CornerValue.large} ${CornerValue.large} ${CornerValue.none} ${CornerValue.none})`\r\n    ),\r\n\r\n    /** Large rounded asymmetric shape directed towards the end. */\r\n    largeEnd: unsafeCSS(\r\n      `var(--md-sys-shape-corner-large-end, ${CornerValue.none} ${CornerValue.large} ${CornerValue.large} ${CornerValue.none})`\r\n    ),\r\n\r\n    /** Large rounded asymmetric shape directed towards the start. */\r\n    largeStart: unsafeCSS(\r\n      `var(--md-sys-shape-corner-large-end, ${CornerValue.large} ${CornerValue.none} ${CornerValue.none} ${CornerValue.large})`\r\n    ),\r\n\r\n    /** Large rounded symmetric shape. */\r\n    large: unsafeCSS(`var(--md-sys-shape-corner-large, ${CornerValue.large})`),\r\n\r\n    /** Medium rounded symmetric shape. */\r\n    medium: unsafeCSS(`var(--md-sys-shape-corner-medium, ${CornerValue.medium})`),\r\n\r\n    /** Medium rounded asymmetric shape directed towards the top. */\r\n    mediumTop: unsafeCSS(`${CornerValue.medium} ${CornerValue.medium} ${CornerValue.none} ${CornerValue.none}`),\r\n\r\n    /** Medium rounded asymmetric shape directed towards the end. */\r\n    mediumEnd: unsafeCSS(`${CornerValue.none} ${CornerValue.medium} ${CornerValue.medium} ${CornerValue.none}`),\r\n\r\n    /** Medium rounded asymmetric shape directed towards the start. */\r\n    mediumStart: unsafeCSS(`${CornerValue.medium} ${CornerValue.none} ${CornerValue.none} ${CornerValue.medium}`),\r\n\r\n    /** Small rounded symmetric shape. */\r\n    small: unsafeCSS(`var(--md-sys-shape-corner-small, ${CornerValue.small})`),\r\n\r\n    /** Small rounded asymmetric shape directed towards the top. */\r\n    smallTop: unsafeCSS(`${CornerValue.small} ${CornerValue.small} ${CornerValue.none} ${CornerValue.none}`),\r\n\r\n    /** Small rounded asymmetric shape directed towards the end. */\r\n    smallEnd: unsafeCSS(`${CornerValue.none} ${CornerValue.small} ${CornerValue.small} ${CornerValue.none}`),\r\n\r\n    /** Small rounded asymmetric shape directed towards the start. */\r\n    smallStart: unsafeCSS(`${CornerValue.small} ${CornerValue.none} ${CornerValue.none} ${CornerValue.small}`),\r\n\r\n    /** Extra small rounded asymmetric shape directed towards the top. */\r\n    extraSmallTop: unsafeCSS(\r\n      `var(--md-sys-shape-corner-extra-small-top, ${CornerValue.extraSmall} ${CornerValue.extraSmall} ${CornerValue.none} ${CornerValue.none})`\r\n    ),\r\n\r\n    /** Extra small rounded symmetric shape. */\r\n    extraSmall: unsafeCSS(`var(--md-sys-shape-corner-extra-small, ${CornerValue.extraSmall})`),\r\n\r\n    /** Extra small rounded asymmetric shape directed towards the end. */\r\n    extraSmallEnd: unsafeCSS(\r\n      `${CornerValue.none} ${CornerValue.extraSmall} ${CornerValue.extraSmall} ${CornerValue.none}`\r\n    ),\r\n\r\n    /** Extra small rounded asymmetric shape directed towards the start. */\r\n    extraSmallStart: unsafeCSS(\r\n      `${CornerValue.extraSmall} ${CornerValue.none} ${CornerValue.none} ${CornerValue.extraSmall}`\r\n    ),\r\n\r\n    /** Extra small rounded asymmetric shape directed towards the bottom. */\r\n    extraSmallBottom: unsafeCSS(\r\n      `${CornerValue.none} ${CornerValue.none} ${CornerValue.extraSmall} ${CornerValue.extraSmall}`\r\n    ),\r\n\r\n    /** No rounding. */\r\n    none: unsafeCSS(`var(--md-sys-shape-corner-none, ${CornerValue.none})`),\r\n\r\n    /** Increased large rounded symmetric shape. */\r\n    largeIncreased: unsafeCSS(`var(--md-sys-shape-corner-large-increased, ${CornerValue.largeIncreased})`),\r\n\r\n    /** Increased extra large rounded symmetric shape. */\r\n    extraLargeIncreased: unsafeCSS(\r\n      `var(--md-sys-shape-corner-extra-large-increased, ${CornerValue.extraLargeIncreased})`\r\n    ),\r\n\r\n    /** Extra extra large rounded symmetric shape. */\r\n    extraExtraLarge: unsafeCSS(`var(--md-sys-shape-corner-extra-extra-large, ${CornerValue.extraExtraLarge})`),\r\n\r\n    /** Design tokens that control specific corners. */\r\n    value: CornerValue,\r\n  },\r\n}"
          },
          "default": "{ corner: { /** Fully rounded symmetric shape. */ full: unsafeCSS(\"var(--md-sys-shape-corner-full, 624.9375rem)\"), /** Extra large rounded asymmetric shape directed towards the top. */ extraLargeTop: unsafeCSS( `var(--md-sys-shape-corner-extra-large-top, ${CornerValue.extraLarge} ${CornerValue.extraLarge} ${CornerValue.none} ${CornerValue.none})` ), /** Extra large rounded symmetric shape. */ extraLarge: unsafeCSS(`var(--md-sys-shape-corner-extra-large, ${CornerValue.extraLarge})`), /** Extra large rounded asymmetric shape directed towards the end. */ extraLargeEnd: unsafeCSS( `${CornerValue.none} ${CornerValue.extraLarge} ${CornerValue.extraLarge} ${CornerValue.none}` ), /** Extra large rounded asymmetric shape directed towards the start. */ extraLargeStart: unsafeCSS( `${CornerValue.extraLarge} ${CornerValue.none} ${CornerValue.none} ${CornerValue.extraLarge}` ), /** Large rounded asymmetric shape directed towards the top. */ largeTop: unsafeCSS( `var(--md-sys-shape-corner-large-top, ${CornerValue.large} ${CornerValue.large} ${CornerValue.none} ${CornerValue.none})` ), /** Large rounded asymmetric shape directed towards the end. */ largeEnd: unsafeCSS( `var(--md-sys-shape-corner-large-end, ${CornerValue.none} ${CornerValue.large} ${CornerValue.large} ${CornerValue.none})` ), /** Large rounded asymmetric shape directed towards the start. */ largeStart: unsafeCSS( `var(--md-sys-shape-corner-large-end, ${CornerValue.large} ${CornerValue.none} ${CornerValue.none} ${CornerValue.large})` ), /** Large rounded symmetric shape. */ large: unsafeCSS(`var(--md-sys-shape-corner-large, ${CornerValue.large})`), /** Medium rounded symmetric shape. */ medium: unsafeCSS(`var(--md-sys-shape-corner-medium, ${CornerValue.medium})`), /** Medium rounded asymmetric shape directed towards the top. */ mediumTop: unsafeCSS(`${CornerValue.medium} ${CornerValue.medium} ${CornerValue.none} ${CornerValue.none}`), /** Medium rounded asymmetric shape directed towards the end. */ mediumEnd: unsafeCSS(`${CornerValue.none} ${CornerValue.medium} ${CornerValue.medium} ${CornerValue.none}`), /** Medium rounded asymmetric shape directed towards the start. */ mediumStart: unsafeCSS(`${CornerValue.medium} ${CornerValue.none} ${CornerValue.none} ${CornerValue.medium}`), /** Small rounded symmetric shape. */ small: unsafeCSS(`var(--md-sys-shape-corner-small, ${CornerValue.small})`), /** Small rounded asymmetric shape directed towards the top. */ smallTop: unsafeCSS(`${CornerValue.small} ${CornerValue.small} ${CornerValue.none} ${CornerValue.none}`), /** Small rounded asymmetric shape directed towards the end. */ smallEnd: unsafeCSS(`${CornerValue.none} ${CornerValue.small} ${CornerValue.small} ${CornerValue.none}`), /** Small rounded asymmetric shape directed towards the start. */ smallStart: unsafeCSS(`${CornerValue.small} ${CornerValue.none} ${CornerValue.none} ${CornerValue.small}`), /** Extra small rounded asymmetric shape directed towards the top. */ extraSmallTop: unsafeCSS( `var(--md-sys-shape-corner-extra-small-top, ${CornerValue.extraSmall} ${CornerValue.extraSmall} ${CornerValue.none} ${CornerValue.none})` ), /** Extra small rounded symmetric shape. */ extraSmall: unsafeCSS(`var(--md-sys-shape-corner-extra-small, ${CornerValue.extraSmall})`), /** Extra small rounded asymmetric shape directed towards the end. */ extraSmallEnd: unsafeCSS( `${CornerValue.none} ${CornerValue.extraSmall} ${CornerValue.extraSmall} ${CornerValue.none}` ), /** Extra small rounded asymmetric shape directed towards the start. */ extraSmallStart: unsafeCSS( `${CornerValue.extraSmall} ${CornerValue.none} ${CornerValue.none} ${CornerValue.extraSmall}` ), /** Extra small rounded asymmetric shape directed towards the bottom. */ extraSmallBottom: unsafeCSS( `${CornerValue.none} ${CornerValue.none} ${CornerValue.extraSmall} ${CornerValue.extraSmall}` ), /** No rounding. */ none: unsafeCSS(`var(--md-sys-shape-corner-none, ${CornerValue.none})`), /** Increased large rounded symmetric shape. */ largeIncreased: unsafeCSS(`var(--md-sys-shape-corner-large-increased, ${CornerValue.largeIncreased})`), /** Increased extra large rounded symmetric shape. */ extraLargeIncreased: unsafeCSS( `var(--md-sys-shape-corner-extra-large-increased, ${CornerValue.extraLargeIncreased})` ), /** Extra extra large rounded symmetric shape. */ extraExtraLarge: unsafeCSS(`var(--md-sys-shape-corner-extra-extra-large, ${CornerValue.extraExtraLarge})`), /** Design tokens that control specific corners. */ value: CornerValue, }, }",
          "description": "Design tokens that control shape."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ShapeToken",
          "declaration": {
            "name": "ShapeToken",
            "module": "src/shared/tokens/ShapeToken.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/tokens/StateToken.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "StateToken",
          "type": {
            "text": "{\r\n  /** Opacity of the state layer on focus. */\r\n  focusStateLayerOpacity: unsafeCSS(\"var(--md-sys-state-focus-state-layer-opacity, 10%)\"),\r\n\r\n  /** Opacity of the state layer on hover. */\r\n  hoverStateLayerOpacity: unsafeCSS(\"var(--md-sys-state-hover-state-layer-opacity, 8%)\"),\r\n\r\n  /** Opacity of the state layer on pressed. */\r\n  pressedStateLayerOpacity: unsafeCSS(\"var(--md-sys-state-pressed-state-layer-opacity, 10%)\"),\r\n}"
          },
          "default": "{ /** Opacity of the state layer on focus. */ focusStateLayerOpacity: unsafeCSS(\"var(--md-sys-state-focus-state-layer-opacity, 10%)\"), /** Opacity of the state layer on hover. */ hoverStateLayerOpacity: unsafeCSS(\"var(--md-sys-state-hover-state-layer-opacity, 8%)\"), /** Opacity of the state layer on pressed. */ pressedStateLayerOpacity: unsafeCSS(\"var(--md-sys-state-pressed-state-layer-opacity, 10%)\"), }",
          "description": "Design tokens that control state layer."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "StateToken",
          "declaration": {
            "name": "StateToken",
            "module": "src/shared/tokens/StateToken.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/tokens/TypescaleToken.ts",
      "declarations": [
        {
          "kind": "variable",
          "name": "TypescaleToken",
          "type": {
            "text": "{\r\n  /** Standard typescale variant. */\r\n  standard: {\r\n    /** Short, important text or numerals. */\r\n    display: {\r\n      large: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-display-large-font-size, 3.5625rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-display-large-font-weight, 400)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-display-large-line-height, 4rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-display-large-tracking, 0.015625rem)\"),\r\n      },\r\n      medium: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-display-medium-font-size, 2.8125rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-display-medium-font-weight, 400)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-display-medium-line-height, 3.25rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-display-medium-tracking, 0)\"),\r\n      },\r\n      small: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-display-small-font-size, 2.25rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-display-small-font-weight, 400)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-display-small-line-height, 2.75rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-display-small-tracking, 0)\"),\r\n      },\r\n    },\r\n\r\n    /** Short, high-emphasis text on smaller screens. */\r\n    headline: {\r\n      large: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-headline-large-font-size, 2rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-headline-large-font-weight, 400)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-headline-large-line-height, 2.5rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-headline-large-tracking, 0)\"),\r\n      },\r\n      medium: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-headline-medium-font-size, 1.75rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-headline-medium-font-weight, 400)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-headline-medium-line-height, 2.25rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-headline-medium-tracking, 0)\"),\r\n      },\r\n      small: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-headline-small-font-size, 1.5rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-headline-small-font-weight, 400)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-headline-small-line-height, 2rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-headline-small-tracking, 0)\"),\r\n      },\r\n    },\r\n\r\n    /** Medium-emphasis text that remains relatively short. */\r\n    title: {\r\n      large: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-title-large-font-size, 1.375rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-title-large-font-weight, 400)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-title-large-line-height, 1.75rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-title-large-tracking, 0)\"),\r\n      },\r\n      medium: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-title-medium-font-size, 1rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-title-medium-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-title-medium-line-height, 1.5rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-title-medium-tracking, 0.009375rem)\"),\r\n      },\r\n      small: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-title-small-font-size, 0.875rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-title-small-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-title-small-line-height, 1.25rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-title-small-tracking, 0.00625rem)\"),\r\n      },\r\n    },\r\n\r\n    /** Longer passages of text. */\r\n    body: {\r\n      large: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-body-large-font-size, 1rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-body-large-font-weight, 400)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-body-large-line-height, 1.5rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-body-large-tracking, 0.03125rem)\"),\r\n      },\r\n      medium: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-body-medium-font-size, 0.875rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-body-medium-font-weight, 400)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-body-medium-line-height, 1.25rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-body-medium-tracking, 0.015625rem)\"),\r\n      },\r\n      small: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-body-small-font-size, 0.75rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-body-small-font-weight, 400)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-body-small-line-height, 1rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-body-small-tracking, 0.025rem)\"),\r\n      },\r\n    },\r\n\r\n    /** Smaller, utilitarian text. */\r\n    label: {\r\n      large: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-label-large-font-size, 0.875rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-label-large-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-label-large-line-height, 1.25rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-label-large-tracking, 0.00625rem)\"),\r\n      },\r\n      medium: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-label-medium-font-size, 0.75rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-label-medium-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-label-medium-line-height, 1rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-label-medium-tracking, 0.03125rem)\"),\r\n      },\r\n      small: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-label-small-font-size, 0.6875rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-label-small-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-label-small-line-height, 1rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-label-small-tracking, 0.03125rem)\"),\r\n      },\r\n    },\r\n  },\r\n\r\n  /** Emphasized typescale variant. */\r\n  emphasized: {\r\n    /** Short, important text or numerals. */\r\n    display: {\r\n      large: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-large-font-size, 3.5625rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-large-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-large-line-height, 4rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-large-tracking, 0.015625rem)\"),\r\n      },\r\n      medium: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-medium-font-size, 2.8125rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-medium-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-medium-line-height, 3.25rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-medium-tracking, 0)\"),\r\n      },\r\n      small: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-small-font-size, 2.25rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-small-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-small-line-height, 2.75rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-small-tracking, 0)\"),\r\n      },\r\n    },\r\n\r\n    /** Short, high-emphasis text on smaller screens. */\r\n    headline: {\r\n      large: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-large-font-size, 2rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-large-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-large-line-height, 2.5rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-large-tracking, 0)\"),\r\n      },\r\n      medium: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-medium-font-size, 1.75rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-medium-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-medium-line-height, 2.25rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-medium-tracking, 0)\"),\r\n      },\r\n      small: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-small-font-size, 1.5rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-small-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-small-line-height, 2rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-small-tracking, 0)\"),\r\n      },\r\n    },\r\n\r\n    /** Medium-emphasis text that remains relatively short. */\r\n    title: {\r\n      large: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-large-font-size, 1.375rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-large-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-large-line-height, 1.75rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-large-tracking, 0)\"),\r\n      },\r\n      medium: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-medium-font-size, 1rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-medium-font-weight, 700)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-medium-line-height, 3.5rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-medium-tracking, 0.009375rem)\"),\r\n      },\r\n      small: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-small-font-size, 0.875rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-small-font-weight, 700)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-small-line-height, 1.25rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-small-tracking, 0.00625rem)\"),\r\n      },\r\n    },\r\n\r\n    /** Longer passages of text. */\r\n    body: {\r\n      large: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-large-font-size, 1rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-large-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-large-line-height, 1.5rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-large-tracking, 0.03125rem)\"),\r\n      },\r\n      medium: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-medium-font-size, 0.875rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-medium-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-medium-line-height, 1.25rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-medium-tracking, 0.015625rem)\"),\r\n      },\r\n      small: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-small-font-size, 0.75rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-small-font-weight, 500)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-small-line-height, 1rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-small-tracking, 0.025rem)\"),\r\n      },\r\n    },\r\n\r\n    /** Smaller, utilitarian text. */\r\n    label: {\r\n      large: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-large-font-size, 0.875rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-large-font-weight, 700)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-large-line-height, 1.25rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-large-tracking, 0.00625rem)\"),\r\n      },\r\n      medium: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-medium-font-size, 0.75rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-medium-font-weight, 700)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-medium-line-height, 1rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-medium-tracking, 0.03125rem)\"),\r\n      },\r\n      small: {\r\n        fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-small-font-size, 0.6875rem)\"),\r\n        fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-small-font-weight, 700)\"),\r\n        lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-small-line-height, 1rem)\"),\r\n        tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-small-tracking, 0.03125rem)\"),\r\n      },\r\n    },\r\n  },\r\n}"
          },
          "default": "{ /** Standard typescale variant. */ standard: { /** Short, important text or numerals. */ display: { large: { fontSize: unsafeCSS(\"var(--md-sys-typescale-display-large-font-size, 3.5625rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-display-large-font-weight, 400)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-display-large-line-height, 4rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-display-large-tracking, 0.015625rem)\"), }, medium: { fontSize: unsafeCSS(\"var(--md-sys-typescale-display-medium-font-size, 2.8125rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-display-medium-font-weight, 400)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-display-medium-line-height, 3.25rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-display-medium-tracking, 0)\"), }, small: { fontSize: unsafeCSS(\"var(--md-sys-typescale-display-small-font-size, 2.25rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-display-small-font-weight, 400)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-display-small-line-height, 2.75rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-display-small-tracking, 0)\"), }, }, /** Short, high-emphasis text on smaller screens. */ headline: { large: { fontSize: unsafeCSS(\"var(--md-sys-typescale-headline-large-font-size, 2rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-headline-large-font-weight, 400)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-headline-large-line-height, 2.5rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-headline-large-tracking, 0)\"), }, medium: { fontSize: unsafeCSS(\"var(--md-sys-typescale-headline-medium-font-size, 1.75rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-headline-medium-font-weight, 400)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-headline-medium-line-height, 2.25rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-headline-medium-tracking, 0)\"), }, small: { fontSize: unsafeCSS(\"var(--md-sys-typescale-headline-small-font-size, 1.5rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-headline-small-font-weight, 400)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-headline-small-line-height, 2rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-headline-small-tracking, 0)\"), }, }, /** Medium-emphasis text that remains relatively short. */ title: { large: { fontSize: unsafeCSS(\"var(--md-sys-typescale-title-large-font-size, 1.375rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-title-large-font-weight, 400)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-title-large-line-height, 1.75rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-title-large-tracking, 0)\"), }, medium: { fontSize: unsafeCSS(\"var(--md-sys-typescale-title-medium-font-size, 1rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-title-medium-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-title-medium-line-height, 1.5rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-title-medium-tracking, 0.009375rem)\"), }, small: { fontSize: unsafeCSS(\"var(--md-sys-typescale-title-small-font-size, 0.875rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-title-small-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-title-small-line-height, 1.25rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-title-small-tracking, 0.00625rem)\"), }, }, /** Longer passages of text. */ body: { large: { fontSize: unsafeCSS(\"var(--md-sys-typescale-body-large-font-size, 1rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-body-large-font-weight, 400)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-body-large-line-height, 1.5rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-body-large-tracking, 0.03125rem)\"), }, medium: { fontSize: unsafeCSS(\"var(--md-sys-typescale-body-medium-font-size, 0.875rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-body-medium-font-weight, 400)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-body-medium-line-height, 1.25rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-body-medium-tracking, 0.015625rem)\"), }, small: { fontSize: unsafeCSS(\"var(--md-sys-typescale-body-small-font-size, 0.75rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-body-small-font-weight, 400)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-body-small-line-height, 1rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-body-small-tracking, 0.025rem)\"), }, }, /** Smaller, utilitarian text. */ label: { large: { fontSize: unsafeCSS(\"var(--md-sys-typescale-label-large-font-size, 0.875rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-label-large-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-label-large-line-height, 1.25rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-label-large-tracking, 0.00625rem)\"), }, medium: { fontSize: unsafeCSS(\"var(--md-sys-typescale-label-medium-font-size, 0.75rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-label-medium-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-label-medium-line-height, 1rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-label-medium-tracking, 0.03125rem)\"), }, small: { fontSize: unsafeCSS(\"var(--md-sys-typescale-label-small-font-size, 0.6875rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-label-small-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-label-small-line-height, 1rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-label-small-tracking, 0.03125rem)\"), }, }, }, /** Emphasized typescale variant. */ emphasized: { /** Short, important text or numerals. */ display: { large: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-large-font-size, 3.5625rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-large-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-large-line-height, 4rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-large-tracking, 0.015625rem)\"), }, medium: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-medium-font-size, 2.8125rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-medium-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-medium-line-height, 3.25rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-medium-tracking, 0)\"), }, small: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-small-font-size, 2.25rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-small-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-small-line-height, 2.75rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-display-small-tracking, 0)\"), }, }, /** Short, high-emphasis text on smaller screens. */ headline: { large: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-large-font-size, 2rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-large-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-large-line-height, 2.5rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-large-tracking, 0)\"), }, medium: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-medium-font-size, 1.75rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-medium-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-medium-line-height, 2.25rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-medium-tracking, 0)\"), }, small: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-small-font-size, 1.5rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-small-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-small-line-height, 2rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-headline-small-tracking, 0)\"), }, }, /** Medium-emphasis text that remains relatively short. */ title: { large: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-large-font-size, 1.375rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-large-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-large-line-height, 1.75rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-large-tracking, 0)\"), }, medium: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-medium-font-size, 1rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-medium-font-weight, 700)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-medium-line-height, 3.5rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-medium-tracking, 0.009375rem)\"), }, small: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-small-font-size, 0.875rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-small-font-weight, 700)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-small-line-height, 1.25rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-title-small-tracking, 0.00625rem)\"), }, }, /** Longer passages of text. */ body: { large: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-large-font-size, 1rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-large-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-large-line-height, 1.5rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-large-tracking, 0.03125rem)\"), }, medium: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-medium-font-size, 0.875rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-medium-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-medium-line-height, 1.25rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-medium-tracking, 0.015625rem)\"), }, small: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-small-font-size, 0.75rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-small-font-weight, 500)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-small-line-height, 1rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-body-small-tracking, 0.025rem)\"), }, }, /** Smaller, utilitarian text. */ label: { large: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-large-font-size, 0.875rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-large-font-weight, 700)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-large-line-height, 1.25rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-large-tracking, 0.00625rem)\"), }, medium: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-medium-font-size, 0.75rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-medium-font-weight, 700)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-medium-line-height, 1rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-medium-tracking, 0.03125rem)\"), }, small: { fontSize: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-small-font-size, 0.6875rem)\"), fontWeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-small-font-weight, 700)\"), lineHeight: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-small-line-height, 1rem)\"), tracking: unsafeCSS(\"var(--md-sys-typescale-emphasized-label-small-tracking, 0.03125rem)\"), }, }, }, }",
          "description": "Design tokens that control typescale."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "TypescaleToken",
          "declaration": {
            "name": "TypescaleToken",
            "module": "src/shared/tokens/TypescaleToken.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/computeCssSize.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "computeCssSize",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "host",
              "type": {
                "text": "HTMLElement"
              },
              "description": "The element whose coordinate system and CSS variables should be used to resolve the expression."
            },
            {
              "name": "expression",
              "type": {
                "text": "string"
              },
              "description": "The CSS expression to evaluate."
            }
          ],
          "description": "Computes a CSS size expression (var(), %, rem, calc(), etc.) relative to the given host element."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "computeCssSize",
          "declaration": {
            "name": "computeCssSize",
            "module": "src/shared/utils/computeCssSize.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/computeLineCount.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "computeLineCount",
          "return": {
            "type": {
              "text": "number"
            }
          },
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "HTMLElement"
              },
              "description": "The element for which to compute the number of lines."
            }
          ],
          "description": "Determines the number of textual lines presented by an element."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "computeLineCount",
          "declaration": {
            "name": "computeLineCount",
            "module": "src/shared/utils/computeLineCount.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/focusWhenReady.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "focusWhenReady",
          "return": {
            "type": {
              "text": "Promise<boolean>"
            }
          },
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "HTMLElement"
              },
              "description": "The element to to focus."
            },
            {
              "name": "timeout",
              "default": "200",
              "type": {
                "text": "number"
              },
              "description": "The maximum amount of time to attempt to focus `el`.",
              "optional": true
            }
          ],
          "description": "Asynchronously attempts to focus an element once it becomes focusable."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "focusWhenReady",
          "declaration": {
            "name": "focusWhenReady",
            "module": "src/shared/utils/focusWhenReady.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/forcedColorsActive.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "forcedColorsActive",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "description": "Determines whether forced colors are active."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "forcedColorsActive",
          "declaration": {
            "name": "forcedColorsActive",
            "module": "src/shared/utils/forcedColorsActive.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/generateClipPaths.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "generateClipPaths",
          "return": {
            "type": {
              "text": "string[]"
            }
          },
          "parameters": [
            {
              "name": "paths",
              "type": {
                "text": "string[]"
              },
              "description": "The SVG path data to convert to normalized clip paths."
            },
            {
              "name": "maxPoints",
              "type": {
                "text": "number"
              },
              "description": "The maximum number of points to which to normalize paths."
            }
          ],
          "description": "Generates normalized clip paths from SVG path data."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "generateClipPaths",
          "declaration": {
            "name": "generateClipPaths",
            "module": "src/shared/utils/generateClipPaths.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/getTextContent.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "getTextContent",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "node",
              "type": {
                "text": "Node"
              },
              "description": "The node for which to get text content."
            },
            {
              "name": "trim",
              "default": "false",
              "type": {
                "text": "boolean"
              },
              "description": "A value indicating whether to trim content.",
              "optional": true
            }
          ],
          "description": "Gets the text content of a given node, including slotted content."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "getTextContent",
          "declaration": {
            "name": "getTextContent",
            "module": "src/shared/utils/getTextContent.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/guid.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "guid",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "description": "Generates a new globally unique identifier (GUID)."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "guid",
          "declaration": {
            "name": "guid",
            "module": "src/shared/utils/guid.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/hasAssignedNodes.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "hasAssignedNodes",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "slot",
              "type": {
                "text": "HTMLSlotElement"
              },
              "description": "The slot to test."
            }
          ],
          "description": "Determines whether a slot has any assigned nodes."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "hasAssignedNodes",
          "declaration": {
            "name": "hasAssignedNodes",
            "module": "src/shared/utils/hasAssignedNodes.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./computeCssSize\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./computeLineCount\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./focusWhenReady\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./forcedColorsActive\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./generateClipPaths\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./getTextContent\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./guid\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./hasAssignedNodes\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./interceptProperty\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./prefersReducedMotion\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./resolveElementById\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./resolveFragmentUrl\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./scrollIntoViewIfNeeded\""
          }
        },
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "package": "\"./VelocityTracker\""
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/interceptProperty.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "interceptProperty",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "target",
              "type": {
                "text": "T"
              },
              "description": "The object whose property should be intercepted."
            },
            {
              "name": "prop",
              "type": {
                "text": "K"
              },
              "description": "The property key to intercept."
            },
            {
              "name": "options",
              "type": {
                "text": "{\r\n    get?: (getter: () => T[K]) => T[K];\r\n    set?: (value: T[K], setter: (v: T[K]) => void) => void;\r\n  }"
              },
              "description": "Configuration object for interceptor callbacks."
            }
          ],
          "description": "Intercepts property access and mutations on a target object, allowing custom logic\r\nto run when the property is read or written to."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "interceptProperty",
          "declaration": {
            "name": "interceptProperty",
            "module": "src/shared/utils/interceptProperty.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/prefersReducedMotion.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "prefersReducedMotion",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "description": "Determines whether reduced motion is preferred."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "prefersReducedMotion",
          "declaration": {
            "name": "prefersReducedMotion",
            "module": "src/shared/utils/prefersReducedMotion.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/resolveElementById.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "resolveElementById",
          "return": {
            "type": {
              "text": "Promise<T | null>"
            }
          },
          "parameters": [
            {
              "name": "id",
              "type": {
                "text": "string"
              },
              "description": "The element ID to resolve."
            },
            {
              "name": "root",
              "default": "document",
              "type": {
                "text": "ParentNode"
              },
              "description": "Optional root node to query from (defaults to document)."
            }
          ],
          "description": "Resolves an element by ID, waiting for document readiness if needed."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "resolveElementById",
          "declaration": {
            "name": "resolveElementById",
            "module": "src/shared/utils/resolveElementById.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/resolveFragmentUrl.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "resolveFragmentUrl",
          "return": {
            "type": {
              "text": ""
            }
          },
          "parameters": [
            {
              "name": "id",
              "type": {
                "text": "string"
              },
              "description": "The fragment identifier to append (e.g., an SVG element's ID)."
            }
          ],
          "description": "Resolves a URL fragment reference (`url(path#id)`) based on the current document location.\r\n\r\nThis helper is typically used when constructing fragment-based URLs for SVG\r\nreferences (e.g., masks, clipPaths, filters) where the browser requires a fully\r\nqualified `url(...)` value that includes the current path.\r\n\r\nHow it works:\r\n- Safely reads `document.location` (guarded for SSR environments).\r\n- Extracts the current page's path + query string.\r\n- Removes any existing hash fragment from the URL.\r\n- Appends `#${id}` to produce a stable fragment reference.\r\n\r\nExample:\r\n  // If the current page is /viewer/page?mode=edit#section2\r\n  resolveFragmentUrl(\"clip\") → \"url(/viewer/page?mode=edit#clip)\""
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "resolveFragmentUrl",
          "declaration": {
            "name": "resolveFragmentUrl",
            "module": "src/shared/utils/resolveFragmentUrl.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/scrollIntoViewIfNeeded.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "scrollIntoViewIfNeeded",
          "return": {
            "type": {
              "text": "void"
            }
          },
          "parameters": [
            {
              "name": "element",
              "type": {
                "text": "HTMLElement"
              },
              "description": "The element to scroll into view."
            },
            {
              "name": "scrollContainer",
              "type": {
                "text": "HTMLElement"
              },
              "description": "The scrollable container."
            },
            {
              "name": "options",
              "optional": true,
              "type": {
                "text": "ScrollIntoViewOptions"
              },
              "description": "Options used to scroll into view."
            }
          ],
          "description": "If needed, scrolls an element into view within a given scroll container."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "scrollIntoViewIfNeeded",
          "declaration": {
            "name": "scrollIntoViewIfNeeded",
            "module": "src/shared/utils/scrollIntoViewIfNeeded.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/shared/utils/VelocityTracker.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Utility for computing gesture velocity over a rolling time window.",
          "name": "VelocityTracker",
          "members": [
            {
              "kind": "field",
              "name": "#samples",
              "privacy": "private",
              "type": {
                "text": "Array<{ y: number; t: number }>"
              },
              "readonly": true,
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "#windowMs",
              "privacy": "private",
              "type": {
                "text": "number"
              },
              "readonly": true,
              "default": "windowMs"
            },
            {
              "kind": "method",
              "name": "add",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  },
                  "description": "The value in pixels."
                },
                {
                  "name": "timestamp",
                  "default": "performance.now()",
                  "type": {
                    "text": "number"
                  },
                  "description": "The timestamp when `value` changed.",
                  "optional": true
                }
              ],
              "description": "Adds a new sample to the tracker."
            },
            {
              "kind": "method",
              "name": "getVelocity",
              "return": {
                "type": {
                  "text": ""
                }
              },
              "description": "Computes the current velocity in px/s."
            },
            {
              "kind": "method",
              "name": "reset",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Clears all stored samples."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "VelocityTracker",
          "declaration": {
            "name": "VelocityTracker",
            "module": "src/shared/utils/VelocityTracker.ts"
          }
        }
      ]
    }
  ]
}
