{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "components/animated-image/animated-image.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaAnimatedImage",
          "cssProperties": [
            {
              "description": "The size of the icon box.",
              "name": "--control-box-size"
            },
            {
              "description": "The size of the play/pause icons.",
              "name": "--icon-size"
            }
          ],
          "cssParts": [
            {
              "description": "The container that surrounds the pause/play icons and provides their background.",
              "name": "control-box"
            }
          ],
          "slots": [
            {
              "description": "Optional play icon to use instead of the default. Works best with `<wa-icon>`.",
              "name": "play-icon"
            },
            {
              "description": "Optional pause icon to use instead of the default. Works best with `<wa-icon>`.",
              "name": "pause-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "animatedImage",
              "type": {
                "text": "HTMLImageElement"
              }
            },
            {
              "kind": "field",
              "name": "frozenFrame",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "isLoaded",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "description": "The path to the image to load.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "alt",
              "type": {
                "text": "string"
              },
              "description": "A description of the image used by assistive devices.",
              "attribute": "alt"
            },
            {
              "kind": "field",
              "name": "play",
              "type": {
                "text": "boolean"
              },
              "description": "Plays the animation. When this attribute is remove, the animation will pause.",
              "attribute": "play",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleLoad",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleError",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handlePlayChange",
              "type": {
                "text": "handlePlayChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleSrcChange",
              "type": {
                "text": "handleSrcChange() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaLoadEvent"
              }
            },
            {
              "description": "Emitted when the image loads successfully.",
              "name": "wa-load",
              "reactName": "onWaLoad",
              "eventName": "WaLoadEvent"
            },
            {
              "description": "Emitted when the image fails to load.",
              "name": "wa-error",
              "reactName": "onWaError",
              "eventName": "WaErrorEvent"
            }
          ],
          "attributes": [
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "description": "The path to the image to load.",
              "fieldName": "src"
            },
            {
              "name": "alt",
              "type": {
                "text": "string"
              },
              "description": "A description of the image used by assistive devices.",
              "fieldName": "alt"
            },
            {
              "name": "play",
              "type": {
                "text": "boolean"
              },
              "description": "Plays the animation. When this attribute is remove, the animation will pause.",
              "fieldName": "play"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "A component for displaying animated GIFs and WEBPs that play and pause on interaction.",
          "jsDoc": "/**\n * @summary A component for displaying animated GIFs and WEBPs that play and pause on interaction.\n * @documentation https://webawesome.com/docs/components/animated-image\n * @status stable\n * @since 2.0\n *\n * @dependency wa-icon\n *\n * @event wa-load - Emitted when the image loads successfully.\n * @event wa-error - Emitted when the image fails to load.\n *\n * @slot play-icon - Optional play icon to use instead of the default. Works best with `<wa-icon>`.\n * @slot pause-icon - Optional pause icon to use instead of the default. Works best with `<wa-icon>`.\n *\n * @csspart control-box - The container that surrounds the pause/play icons and provides their background.\n *\n * @cssproperty --control-box-size - The size of the icon box.\n * @cssproperty --icon-size - The size of the play/pause icons.\n */",
          "documentation": "https://webawesome.com/docs/components/animated-image",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-animated-image",
          "customElement": true,
          "modulePath": "components/animated-image/animated-image.js",
          "definitionPath": "components/animated-image/animated-image.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaAnimatedImage",
            "module": "components/animated-image/animated-image.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-animated-image",
          "declaration": {
            "name": "WaAnimatedImage",
            "module": "components/animated-image/animated-image.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/animation/animation.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaAnimation",
          "slots": [
            {
              "description": "The element to animate. Avoid slotting in more than one element, as subsequent ones will be ignored. To animate multiple elements, either wrap them in a single container or use multiple `<wa-animation>` elements.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "animation",
              "type": {
                "text": "Animation | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "hasStarted",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "Promise<HTMLSlotElement>"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "'none'",
              "description": "The name of the built-in animation to use. For custom animations, use the `keyframes` prop.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "play",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Plays the animation. When omitted, the animation will be paused. This attribute will be automatically removed when\nthe animation finishes or gets canceled.",
              "attribute": "play",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "delay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number of milliseconds to delay the start of the animation.",
              "attribute": "delay"
            },
            {
              "kind": "field",
              "name": "direction",
              "type": {
                "text": "PlaybackDirection"
              },
              "default": "'normal'",
              "description": "Determines the direction of playback as well as the behavior when reaching the end of an iteration.\n[Learn more](https://developer.mozilla.org/en-US/docs/Web/CSS/animation-direction)",
              "attribute": "direction"
            },
            {
              "kind": "field",
              "name": "duration",
              "type": {
                "text": "number"
              },
              "default": "1000",
              "description": "The number of milliseconds each iteration of the animation takes to complete.",
              "attribute": "duration"
            },
            {
              "kind": "field",
              "name": "easing",
              "type": {
                "text": "string"
              },
              "default": "'linear'",
              "description": "The easing function to use for the animation. This can be a Web Awesome easing function or a custom easing function\nsuch as `cubic-bezier(0, 1, .76, 1.14)`.",
              "attribute": "easing"
            },
            {
              "kind": "field",
              "name": "endDelay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number of milliseconds to delay after the active period of an animation sequence.",
              "attribute": "end-delay"
            },
            {
              "kind": "field",
              "name": "fill",
              "type": {
                "text": "FillMode"
              },
              "default": "'auto'",
              "description": "Sets how the animation applies styles to its target before and after its execution.",
              "attribute": "fill"
            },
            {
              "kind": "field",
              "name": "iterations",
              "type": {
                "text": "number"
              },
              "default": "Infinity",
              "description": "The number of iterations to run before the animation completes. Defaults to `Infinity`, which loops.",
              "attribute": "iterations"
            },
            {
              "kind": "field",
              "name": "iterationStart",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The offset at which to start the animation, usually between 0 (start) and 1 (end).",
              "attribute": "iteration-start"
            },
            {
              "kind": "field",
              "name": "keyframes",
              "type": {
                "text": "Keyframe[] | undefined"
              },
              "description": "The keyframes to use for the animation. If this is set, `name` will be ignored."
            },
            {
              "kind": "field",
              "name": "playbackRate",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Sets the animation's playback rate. The default is `1`, which plays the animation at a normal speed. Setting this\nto `2`, for example, will double the animation's speed. A negative value can be used to reverse the animation. This\nvalue can be changed without causing the animation to restart.",
              "attribute": "playback-rate"
            },
            {
              "kind": "field",
              "name": "currentTime",
              "type": {
                "text": "CSSNumberish"
              },
              "description": "Gets and sets the current animation time."
            },
            {
              "kind": "field",
              "name": "handleAnimationFinish",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleAnimationCancel",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "createAnimation",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "destroyAnimation",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleAnimationChange",
              "type": {
                "text": "handleAnimationChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handlePlayChange",
              "type": {
                "text": "handlePlayChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handlePlaybackRateChange",
              "type": {
                "text": "handlePlaybackRateChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "cancel",
              "description": "Clears all keyframe effects caused by this animation and aborts its playback.",
              "type": {
                "text": "cancel() => void"
              }
            },
            {
              "kind": "method",
              "name": "finish",
              "description": "Sets the playback time to the end of the animation corresponding to the current playback direction.",
              "type": {
                "text": "finish() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaStartEvent"
              }
            },
            {
              "description": "Emitted when the animation is canceled.",
              "name": "wa-cancel",
              "reactName": "onWaCancel",
              "eventName": "WaCancelEvent"
            },
            {
              "description": "Emitted when the animation finishes.",
              "name": "wa-finish",
              "reactName": "onWaFinish",
              "eventName": "WaFinishEvent"
            },
            {
              "description": "Emitted when the animation starts or restarts.",
              "name": "wa-start",
              "reactName": "onWaStart",
              "eventName": "WaStartEvent"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "'none'",
              "description": "The name of the built-in animation to use. For custom animations, use the `keyframes` prop.",
              "fieldName": "name"
            },
            {
              "name": "play",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Plays the animation. When omitted, the animation will be paused. This attribute will be automatically removed when\nthe animation finishes or gets canceled.",
              "fieldName": "play"
            },
            {
              "name": "delay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number of milliseconds to delay the start of the animation.",
              "fieldName": "delay"
            },
            {
              "name": "direction",
              "type": {
                "text": "PlaybackDirection"
              },
              "default": "'normal'",
              "description": "Determines the direction of playback as well as the behavior when reaching the end of an iteration.\n[Learn more](https://developer.mozilla.org/en-US/docs/Web/CSS/animation-direction)",
              "fieldName": "direction"
            },
            {
              "name": "duration",
              "type": {
                "text": "number"
              },
              "default": "1000",
              "description": "The number of milliseconds each iteration of the animation takes to complete.",
              "fieldName": "duration"
            },
            {
              "name": "easing",
              "type": {
                "text": "string"
              },
              "default": "'linear'",
              "description": "The easing function to use for the animation. This can be a Web Awesome easing function or a custom easing function\nsuch as `cubic-bezier(0, 1, .76, 1.14)`.",
              "fieldName": "easing"
            },
            {
              "name": "end-delay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number of milliseconds to delay after the active period of an animation sequence.",
              "fieldName": "endDelay"
            },
            {
              "name": "fill",
              "type": {
                "text": "FillMode"
              },
              "default": "'auto'",
              "description": "Sets how the animation applies styles to its target before and after its execution.",
              "fieldName": "fill"
            },
            {
              "name": "iterations",
              "type": {
                "text": "number"
              },
              "default": "Infinity",
              "description": "The number of iterations to run before the animation completes. Defaults to `Infinity`, which loops.",
              "fieldName": "iterations"
            },
            {
              "name": "iteration-start",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The offset at which to start the animation, usually between 0 (start) and 1 (end).",
              "fieldName": "iterationStart"
            },
            {
              "name": "playback-rate",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Sets the animation's playback rate. The default is `1`, which plays the animation at a normal speed. Setting this\nto `2`, for example, will double the animation's speed. A negative value can be used to reverse the animation. This\nvalue can be changed without causing the animation to restart.",
              "fieldName": "playbackRate"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Animate elements declaratively with nearly 100 baked-in presets, or roll your own with custom keyframes. Powered by the [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API).",
          "jsDoc": "/**\n * @summary Animate elements declaratively with nearly 100 baked-in presets, or roll your own with custom keyframes. Powered by the [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API).\n * @documentation https://webawesome.com/docs/components/animation\n * @status stable\n * @since 2.0\n *\n * @event wa-cancel - Emitted when the animation is canceled.\n * @event wa-finish - Emitted when the animation finishes.\n * @event wa-start - Emitted when the animation starts or restarts.\n *\n * @slot - The element to animate. Avoid slotting in more than one element, as subsequent ones will be ignored. To\n *  animate multiple elements, either wrap them in a single container or use multiple `<wa-animation>` elements.\n */",
          "documentation": "https://webawesome.com/docs/components/animation",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-animation",
          "customElement": true,
          "modulePath": "components/animation/animation.js",
          "definitionPath": "components/animation/animation.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaAnimation",
            "module": "components/animation/animation.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-animation",
          "declaration": {
            "name": "WaAnimation",
            "module": "components/animation/animation.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/animation/animations.js",
      "declarations": [
        {
          "kind": "function",
          "name": "getAnimationNames",
          "description": "Gets a list of all supported animation names."
        },
        {
          "kind": "function",
          "name": "getEasingNames",
          "description": "Gets a list of all supported easing function names."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "animations",
          "declaration": {
            "name": "animations",
            "module": "components/animation/animations.js"
          }
        },
        {
          "kind": "js",
          "name": "getAnimationNames",
          "declaration": {
            "name": "getAnimationNames",
            "module": "components/animation/animations.js"
          }
        },
        {
          "kind": "js",
          "name": "getEasingNames",
          "declaration": {
            "name": "getEasingNames",
            "module": "components/animation/animations.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/breadcrumb/breadcrumb.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaBreadcrumb",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "One or more breadcrumb items to display.",
              "name": ""
            },
            {
              "description": "The separator to use between breadcrumb items. Works best with `<wa-icon>`.",
              "name": "separator"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "separatorDir",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "separatorSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by\nscreen readers and other assistive devices to provide more context for users.",
              "attribute": "label"
            },
            {
              "kind": "method",
              "name": "getSeparator",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by\nscreen readers and other assistive devices to provide more context for users.",
              "fieldName": "label"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.",
          "jsDoc": "/**\n * @summary Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.\n * @documentation https://webawesome.com/docs/components/breadcrumb\n * @status stable\n * @since 2.0\n *\n * @slot - One or more breadcrumb items to display.\n * @slot separator - The separator to use between breadcrumb items. Works best with `<wa-icon>`.\n *\n * @dependency wa-icon\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://webawesome.com/docs/components/breadcrumb",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-breadcrumb",
          "customElement": true,
          "modulePath": "components/breadcrumb/breadcrumb.js",
          "definitionPath": "components/breadcrumb/breadcrumb.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaBreadcrumb",
            "module": "components/breadcrumb/breadcrumb.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-breadcrumb",
          "declaration": {
            "name": "WaBreadcrumb",
            "module": "components/breadcrumb/breadcrumb.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/badge/badge.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaBadge",
          "cssProperties": [
            {
              "description": "The color of the badge's pulse effect when using `attention=\"pulse\"`.",
              "name": "--pulse-color"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The badge's content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[variantStyles, styles]"
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'brand' | 'neutral' | 'success' | 'warning' | 'danger'"
              },
              "default": "'brand'",
              "description": "The badge's theme variant. Defaults to `brand` if not within another element with a variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'accent' | 'filled' | 'outlined' | 'filled-outlined'"
              },
              "default": "'accent'",
              "description": "The badge's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style badge with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "attention",
              "type": {
                "text": "'none' | 'pulse' | 'bounce'"
              },
              "default": "'none'",
              "description": "Adds an animation to draw attention to the badge.",
              "attribute": "attention",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'brand' | 'neutral' | 'success' | 'warning' | 'danger'"
              },
              "default": "'brand'",
              "description": "The badge's theme variant. Defaults to `brand` if not within another element with a variant.",
              "fieldName": "variant"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'accent' | 'filled' | 'outlined' | 'filled-outlined'"
              },
              "default": "'accent'",
              "description": "The badge's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style badge with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "attention",
              "type": {
                "text": "'none' | 'pulse' | 'bounce'"
              },
              "default": "'none'",
              "description": "Adds an animation to draw attention to the badge.",
              "fieldName": "attention"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Badges are used to draw attention and display statuses or counts.",
          "jsDoc": "/**\n * @summary Badges are used to draw attention and display statuses or counts.\n * @documentation https://webawesome.com/docs/components/badge\n * @status stable\n * @since 2.0\n *\n * @slot - The badge's content.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --pulse-color - The color of the badge's pulse effect when using `attention=\"pulse\"`.\n *\n */",
          "documentation": "https://webawesome.com/docs/components/badge",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-badge",
          "customElement": true,
          "modulePath": "components/badge/badge.js",
          "definitionPath": "components/badge/badge.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaBadge",
            "module": "components/badge/badge.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-badge",
          "declaration": {
            "name": "WaBadge",
            "module": "components/badge/badge.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/breadcrumb-item/breadcrumb-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaBreadcrumbItem",
          "cssParts": [
            {
              "description": "The breadcrumb item's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            },
            {
              "description": "The container that wraps the separator.",
              "name": "separator"
            }
          ],
          "slots": [
            {
              "description": "The breadcrumb item's label.",
              "name": ""
            },
            {
              "description": "An element, such as `<wa-icon>`, placed before the label.",
              "name": "start"
            },
            {
              "description": "An element, such as `<wa-icon>`, placed after the label.",
              "name": "end"
            },
            {
              "description": "The separator to use for the breadcrumb item. This will only change the separator for this item. If you want to change it for all items in the group, set the separator on `<wa-breadcrumb>` instead.",
              "name": "separator"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "renderType",
              "type": {
                "text": "'button' | 'link' | 'dropdown'"
              },
              "privacy": "private",
              "default": "'button'"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string | undefined"
              },
              "description": "Optional URL to direct the user to when the breadcrumb item is activated. When set, a link will be rendered\ninternally. When unset, a button will be rendered instead.",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top' | undefined"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is set.",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "description": "The `rel` attribute to use on the link. Only used when `href` is set.",
              "attribute": "rel"
            },
            {
              "kind": "method",
              "name": "setRenderType",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hrefChanged",
              "type": {
                "text": "hrefChanged() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "type": {
                "text": "handleSlotChange() => void"
              }
            }
          ],
          "attributes": [
            {
              "name": "href",
              "type": {
                "text": "string | undefined"
              },
              "description": "Optional URL to direct the user to when the breadcrumb item is activated. When set, a link will be rendered\ninternally. When unset, a button will be rendered instead.",
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top' | undefined"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is set.",
              "fieldName": "target"
            },
            {
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "description": "The `rel` attribute to use on the link. Only used when `href` is set.",
              "fieldName": "rel"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Breadcrumb Items are used inside breadcrumbs to represent different links.",
          "jsDoc": "/**\n * @summary Breadcrumb Items are used inside breadcrumbs to represent different links.\n * @documentation https://webawesome.com/docs/components/breadcrumb-item\n * @status stable\n * @since 2.0\n *\n * @slot - The breadcrumb item's label.\n * @slot start - An element, such as `<wa-icon>`, placed before the label.\n * @slot end - An element, such as `<wa-icon>`, placed after the label.\n * @slot separator - The separator to use for the breadcrumb item. This will only change the separator for this item. If\n * you want to change it for all items in the group, set the separator on `<wa-breadcrumb>` instead.\n *\n * @csspart label - The breadcrumb item's label.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart end - The container that wraps the `end` slot.\n * @csspart separator - The container that wraps the separator.\n */",
          "documentation": "https://webawesome.com/docs/components/breadcrumb-item",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-breadcrumb-item",
          "customElement": true,
          "modulePath": "components/breadcrumb-item/breadcrumb-item.js",
          "definitionPath": "components/breadcrumb-item/breadcrumb-item.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaBreadcrumbItem",
            "module": "components/breadcrumb-item/breadcrumb-item.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-breadcrumb-item",
          "declaration": {
            "name": "WaBreadcrumbItem",
            "module": "components/breadcrumb-item/breadcrumb-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/avatar/avatar.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaAvatar",
          "cssProperties": [
            {
              "description": "The size of the avatar.",
              "name": "--size"
            }
          ],
          "cssParts": [
            {
              "description": "The container that wraps the avatar's icon.",
              "name": "icon"
            },
            {
              "description": "The container that wraps the avatar's initials.",
              "name": "initials"
            },
            {
              "description": "The avatar image. Only shown when the `image` attribute is set.",
              "name": "image"
            }
          ],
          "slots": [
            {
              "description": "The default icon to use when no image or initials are present. Works best with `<wa-icon>`.",
              "name": "icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "hasError",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "image",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The image source to use for the avatar.",
              "attribute": "image"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label to use to describe the avatar to assistive devices.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "initials",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Initials to use as a fallback when no image is available (1-2 characters max recommended).",
              "attribute": "initials"
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "'eager' | 'lazy'"
              },
              "default": "'eager'",
              "description": "Indicates how the browser should load the image.",
              "attribute": "loading"
            },
            {
              "kind": "field",
              "name": "shape",
              "type": {
                "text": "'circle' | 'square' | 'rounded'"
              },
              "default": "'circle'",
              "description": "The shape of the avatar.",
              "attribute": "shape",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleImageChange",
              "type": {
                "text": "handleImageChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleImageLoadError",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaErrorEvent"
              }
            },
            {
              "description": "The image could not be loaded. This may because of an invalid URL, a temporary network condition, or some unknown cause.",
              "name": "wa-error",
              "reactName": "onWaError",
              "eventName": "WaErrorEvent"
            }
          ],
          "attributes": [
            {
              "name": "image",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The image source to use for the avatar.",
              "fieldName": "image"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label to use to describe the avatar to assistive devices.",
              "fieldName": "label"
            },
            {
              "name": "initials",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Initials to use as a fallback when no image is available (1-2 characters max recommended).",
              "fieldName": "initials"
            },
            {
              "name": "loading",
              "type": {
                "text": "'eager' | 'lazy'"
              },
              "default": "'eager'",
              "description": "Indicates how the browser should load the image.",
              "fieldName": "loading"
            },
            {
              "name": "shape",
              "type": {
                "text": "'circle' | 'square' | 'rounded'"
              },
              "default": "'circle'",
              "description": "The shape of the avatar.",
              "fieldName": "shape"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Avatars are used to represent a person or object.",
          "jsDoc": "/**\n * @summary Avatars are used to represent a person or object.\n * @documentation https://webawesome.com/docs/components/avatar\n * @status stable\n * @since 2.0\n *\n * @dependency wa-icon\n *\n * @slot icon - The default icon to use when no image or initials are present. Works best with `<wa-icon>`.\n *\n * @event wa-error - The image could not be loaded. This may because of an invalid URL, a temporary network condition, or some\n * unknown cause.\n *\n * @csspart icon - The container that wraps the avatar's icon.\n * @csspart initials - The container that wraps the avatar's initials.\n * @csspart image - The avatar image. Only shown when the `image` attribute is set.\n *\n * @cssproperty --size - The size of the avatar.\n */",
          "documentation": "https://webawesome.com/docs/components/avatar",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-avatar",
          "customElement": true,
          "modulePath": "components/avatar/avatar.js",
          "definitionPath": "components/avatar/avatar.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaAvatar",
            "module": "components/avatar/avatar.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-avatar",
          "declaration": {
            "name": "WaAvatar",
            "module": "components/avatar/avatar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/button/button.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaButton",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The button's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            },
            {
              "description": "The button's caret icon, a `<wa-icon>` element.",
              "name": "caret"
            },
            {
              "description": "The spinner that shows when the button is in the loading state.",
              "name": "spinner"
            }
          ],
          "slots": [
            {
              "description": "The button's label.",
              "name": ""
            },
            {
              "description": "An element, such as `<wa-icon>`, placed before the label.",
              "name": "start"
            },
            {
              "description": "An element, such as `<wa-icon>`, placed after the label.",
              "name": "end"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...WebAwesomeFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[styles, variantStyles, sizeStyles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "static": true,
              "readonly": true
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "array"
              },
              "default": "['click']"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'start', 'end')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "button",
              "type": {
                "text": "HTMLButtonElement | HTMLLinkElement"
              }
            },
            {
              "kind": "field",
              "name": "labelSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "invalid",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isIconButton",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'neutral' | 'brand' | 'success' | 'warning' | 'danger'"
              },
              "default": "'neutral'",
              "description": "The button's theme variant. Defaults to `neutral` if not within another element with a variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'accent' | 'filled' | 'outlined' | 'filled-outlined' | 'plain'"
              },
              "default": "'accent'",
              "description": "The button's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The button's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withCaret",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
              "attribute": "with-caret",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the button. Does not apply to link buttons.",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the button in a loading state.",
              "attribute": "loading",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style button with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'button' | 'submit' | 'reset'"
              },
              "default": "'button'",
              "description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
              "attribute": "href",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top'"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is present.",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "rel",
              "type": {
                "text": "string | undefined"
              },
              "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute.",
              "attribute": "rel"
            },
            {
              "kind": "field",
              "name": "download",
              "type": {
                "text": "string | undefined"
              },
              "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
              "attribute": "download"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\nvalue of this attribute must be an id of a form in the same document or shadow root as the button.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "formAction",
              "type": {
                "text": "string"
              },
              "description": "Used to override the form owner's `action` attribute.",
              "attribute": "formaction"
            },
            {
              "kind": "field",
              "name": "formEnctype",
              "type": {
                "text": "'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain'"
              },
              "description": "Used to override the form owner's `enctype` attribute.",
              "attribute": "formenctype"
            },
            {
              "kind": "field",
              "name": "formMethod",
              "type": {
                "text": "'post' | 'get'"
              },
              "description": "Used to override the form owner's `method` attribute.",
              "attribute": "formmethod"
            },
            {
              "kind": "field",
              "name": "formNoValidate",
              "type": {
                "text": "boolean"
              },
              "description": "Used to override the form owner's `novalidate` attribute.",
              "attribute": "formnovalidate"
            },
            {
              "kind": "field",
              "name": "formTarget",
              "type": {
                "text": "'_self' | '_blank' | '_parent' | '_top' | string"
              },
              "description": "Used to override the form owner's `target` attribute.",
              "attribute": "formtarget"
            },
            {
              "kind": "method",
              "name": "constructLightDOMButton",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleLabelSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isButton",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isLink",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "parameters": [
                {
                  "name": "_args",
                  "type": {
                    "text": "Parameters<WebAwesomeFormAssociatedElement['setValue']>"
                  }
                }
              ],
              "type": {
                "text": "setValue(_args: Parameters<WebAwesomeFormAssociatedElement['setValue']>) => void"
              }
            },
            {
              "kind": "method",
              "name": "click",
              "description": "Simulates a click on the button.",
              "type": {
                "text": "click() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the button.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the button.",
              "type": {
                "text": "blur() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaInvalidEvent"
              }
            },
            {
              "description": "Emitted when the button loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the button gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "wa-invalid",
              "reactName": "onWaInvalid",
              "eventName": "WaInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "variant",
              "type": {
                "text": "'neutral' | 'brand' | 'success' | 'warning' | 'danger'"
              },
              "default": "'neutral'",
              "description": "The button's theme variant. Defaults to `neutral` if not within another element with a variant.",
              "fieldName": "variant"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'accent' | 'filled' | 'outlined' | 'filled-outlined' | 'plain'"
              },
              "default": "'accent'",
              "description": "The button's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The button's size.",
              "fieldName": "size"
            },
            {
              "name": "with-caret",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
              "fieldName": "withCaret"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the button. Does not apply to link buttons.",
              "fieldName": "disabled"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the button in a loading state.",
              "fieldName": "loading"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style button with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "type",
              "type": {
                "text": "'button' | 'submit' | 'reset'"
              },
              "default": "'button'",
              "description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
              "fieldName": "type"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
              "fieldName": "value"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "'_blank' | '_parent' | '_self' | '_top'"
              },
              "description": "Tells the browser where to open the link. Only used when `href` is present.",
              "fieldName": "target"
            },
            {
              "name": "rel",
              "type": {
                "text": "string | undefined"
              },
              "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute.",
              "fieldName": "rel"
            },
            {
              "name": "download",
              "type": {
                "text": "string | undefined"
              },
              "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
              "fieldName": "download"
            },
            {
              "name": "form",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\nvalue of this attribute must be an id of a form in the same document or shadow root as the button.",
              "fieldName": "form"
            },
            {
              "name": "formaction",
              "type": {
                "text": "string"
              },
              "description": "Used to override the form owner's `action` attribute.",
              "fieldName": "formAction"
            },
            {
              "name": "formenctype",
              "type": {
                "text": "'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain'"
              },
              "description": "Used to override the form owner's `enctype` attribute.",
              "fieldName": "formEnctype"
            },
            {
              "name": "formmethod",
              "type": {
                "text": "'post' | 'get'"
              },
              "description": "Used to override the form owner's `method` attribute.",
              "fieldName": "formMethod"
            },
            {
              "name": "formnovalidate",
              "type": {
                "text": "boolean"
              },
              "description": "Used to override the form owner's `novalidate` attribute.",
              "fieldName": "formNoValidate"
            },
            {
              "name": "formtarget",
              "type": {
                "text": "'_self' | '_blank' | '_parent' | '_top' | string"
              },
              "description": "Used to override the form owner's `target` attribute.",
              "fieldName": "formTarget"
            }
          ],
          "superclass": {
            "name": "WebAwesomeFormAssociatedElement",
            "module": "/src/internal/webawesome-form-associated-element.js"
          },
          "summary": "Buttons represent actions that are available to the user.",
          "jsDoc": "/**\n * @summary Buttons represent actions that are available to the user.\n * @documentation https://webawesome.com/docs/components/button\n * @status stable\n * @since 2.0\n *\n * @dependency wa-icon\n * @dependency wa-spinner\n *\n * @event blur - Emitted when the button loses focus.\n * @event focus - Emitted when the button gains focus.\n * @event wa-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @slot - The button's label.\n * @slot start - An element, such as `<wa-icon>`, placed before the label.\n * @slot end - An element, such as `<wa-icon>`, placed after the label.\n *\n * @csspart base - The component's base wrapper.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart label - The button's label.\n * @csspart end - The container that wraps the `end` slot.\n * @csspart caret - The button's caret icon, a `<wa-icon>` element.\n * @csspart spinner - The spinner that shows when the button is in the loading state.\n */",
          "documentation": "https://webawesome.com/docs/components/button",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-icon",
            "wa-spinner"
          ],
          "tagName": "wa-button",
          "customElement": true,
          "modulePath": "components/button/button.js",
          "definitionPath": "components/button/button.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaButton",
            "module": "components/button/button.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-button",
          "declaration": {
            "name": "WaButton",
            "module": "components/button/button.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/button-group/button-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaButtonGroup",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "One or more `<wa-button>` elements to display in the button group.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[styles]"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "disableRole",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasOutlined",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "The button group's orientation.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseOver",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseOut",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateClassNames",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
              "fieldName": "label"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "The button group's orientation.",
              "fieldName": "orientation"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Button groups can be used to group related buttons into sections.",
          "jsDoc": "/**\n * @summary Button groups can be used to group related buttons into sections.\n * @documentation https://webawesome.com/docs/components/button-group\n * @status stable\n * @since 2.0\n *\n * @slot - One or more `<wa-button>` elements to display in the button group.\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://webawesome.com/docs/components/button-group",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-button-group",
          "customElement": true,
          "modulePath": "components/button-group/button-group.js",
          "definitionPath": "components/button-group/button-group.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaButtonGroup",
            "module": "components/button-group/button-group.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-button-group",
          "declaration": {
            "name": "WaButtonGroup",
            "module": "components/button-group/button-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/callout/callout.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaCallout",
          "cssParts": [
            {
              "description": "The container that wraps the optional icon.",
              "name": "icon"
            },
            {
              "description": "The container that wraps the callout's main content.",
              "name": "message"
            }
          ],
          "slots": [
            {
              "description": "The callout's main content.",
              "name": ""
            },
            {
              "description": "An icon to show in the callout. Works best with `<wa-icon>`.",
              "name": "icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[styles, variantStyles, sizeStyles]"
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'brand' | 'neutral' | 'success' | 'warning' | 'danger'"
              },
              "default": "'brand'",
              "description": "The callout's theme variant. Defaults to `brand` if not within another element with a variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'accent' | 'filled' | 'outlined' | 'plain' | 'filled-outlined'"
              },
              "description": "The callout's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The callout's size.",
              "attribute": "size",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'brand' | 'neutral' | 'success' | 'warning' | 'danger'"
              },
              "default": "'brand'",
              "description": "The callout's theme variant. Defaults to `brand` if not within another element with a variant.",
              "fieldName": "variant"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'accent' | 'filled' | 'outlined' | 'plain' | 'filled-outlined'"
              },
              "description": "The callout's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The callout's size.",
              "fieldName": "size"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Callouts are used to display important messages inline.",
          "jsDoc": "/**\n * @summary Callouts are used to display important messages inline.\n * @documentation https://webawesome.com/docs/components/callout\n * @status stable\n * @since 3.0\n *\n * @slot - The callout's main content.\n * @slot icon - An icon to show in the callout. Works best with `<wa-icon>`.\n *\n * @csspart icon - The container that wraps the optional icon.\n * @csspart message - The container that wraps the callout's main content.\n */",
          "documentation": "https://webawesome.com/docs/components/callout",
          "status": "stable",
          "since": "3.0",
          "tagName": "wa-callout",
          "customElement": true,
          "modulePath": "components/callout/callout.js",
          "definitionPath": "components/callout/callout.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaCallout",
            "module": "components/callout/callout.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-callout",
          "declaration": {
            "name": "WaCallout",
            "module": "components/callout/callout.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/carousel/autoplay-controller.js",
      "declarations": [
        {
          "kind": "class",
          "description": "A controller that repeatedly calls the specified callback with the provided interval time.\nThe timer is automatically paused while the user is interacting with the component.",
          "name": "AutoplayController",
          "members": [
            {
              "kind": "field",
              "name": "host",
              "type": {
                "text": "ReactiveElement"
              },
              "privacy": "private",
              "default": "host"
            },
            {
              "kind": "field",
              "name": "timerId",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "tickCallback",
              "type": {
                "text": "() => void"
              },
              "privacy": "private",
              "default": "tickCallback"
            },
            {
              "kind": "field",
              "name": "activeInteractions",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "paused",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "stopped",
              "type": {
                "text": "boolean"
              },
              "default": "true"
            },
            {
              "kind": "method",
              "name": "hostConnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "start",
              "parameters": [
                {
                  "name": "interval",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "stop"
            },
            {
              "kind": "field",
              "name": "pause"
            },
            {
              "kind": "field",
              "name": "resume"
            }
          ],
          "jsDoc": "/**\n * A controller that repeatedly calls the specified callback with the provided interval time.\n * The timer is automatically paused while the user is interacting with the component.\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "AutoplayController",
          "declaration": {
            "name": "AutoplayController",
            "module": "components/carousel/autoplay-controller.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/carousel/carousel.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaCarousel",
          "cssProperties": [
            {
              "description": "The aspect ratio of each slide.",
              "name": "--aspect-ratio",
              "default": "16/9"
            },
            {
              "description": "The amount of padding to apply to the scroll area, allowing adjacent slides to become partially visible as a scroll hint.",
              "name": "--scroll-hint"
            },
            {
              "description": "The space between each slide.",
              "name": "--slide-gap",
              "default": "var(--wa-space-m)"
            }
          ],
          "cssParts": [
            {
              "description": "The carousel's internal wrapper.",
              "name": "base"
            },
            {
              "description": "The scroll container that wraps the slides.",
              "name": "scroll-container"
            },
            {
              "description": "The pagination indicators wrapper.",
              "name": "pagination"
            },
            {
              "description": "The pagination indicator.",
              "name": "pagination-item"
            },
            {
              "description": "Applied when the item is active.",
              "name": "pagination-item-active"
            },
            {
              "description": "The navigation wrapper.",
              "name": "navigation"
            },
            {
              "description": "The navigation button.",
              "name": "navigation-button"
            },
            {
              "description": "Applied to the previous button.",
              "name": "navigation-button-previous"
            },
            {
              "description": "Applied to the next button.",
              "name": "navigation-button-next"
            }
          ],
          "slots": [
            {
              "description": "The carousel's main content, one or more `<wa-carousel-item>` elements.",
              "name": ""
            },
            {
              "description": "Optional next icon to use instead of the default. Works best with `<wa-icon>`.",
              "name": "next-icon"
            },
            {
              "description": "Optional previous icon to use instead of the default. Works best with `<wa-icon>`.",
              "name": "previous-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "loop",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, allows the user to navigate the carousel in the same direction indefinitely.",
              "attribute": "loop",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "slides",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "slides",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "currentSlide",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "currentSlide",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "navigation",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, show the carousel's navigation.",
              "attribute": "navigation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pagination",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, show the carousel's pagination indicators.",
              "attribute": "pagination",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autoplay",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, the slides will scroll automatically when the user is not interacting with them.",
              "attribute": "autoplay",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autoplayInterval",
              "type": {
                "text": "number"
              },
              "default": "3000",
              "description": "Specifies the amount of time, in milliseconds, between each automatic scroll.",
              "attribute": "autoplay-interval"
            },
            {
              "kind": "field",
              "name": "slidesPerPage",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Specifies how many slides should be shown at a given time.",
              "attribute": "slides-per-page"
            },
            {
              "kind": "field",
              "name": "slidesPerMove",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Specifies the number of slides the carousel will advance when scrolling, useful when specifying a `slides-per-page`\ngreater than one. It can't be higher than `slides-per-page`.",
              "attribute": "slides-per-move"
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Specifies the orientation in which the carousel will lay out.",
              "attribute": "orientation"
            },
            {
              "kind": "field",
              "name": "mouseDragging",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, it is possible to scroll through the slides by dragging them with the mouse.",
              "attribute": "mouse-dragging",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "scrollContainer",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "paginationContainer",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "activeSlide",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "scrolling",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "dragging",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "autoplayController",
              "privacy": "private",
              "default": "new AutoplayController(this, () => this.next())"
            },
            {
              "kind": "field",
              "name": "dragStartPosition",
              "type": {
                "text": "[number, number]"
              },
              "privacy": "private",
              "default": "[-1, -1]"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "pendingSlideChange",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "method",
              "name": "getPageCount",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getCurrentPage",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "canScrollNext",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "canScrollPrev",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseDragStart",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleMouseDrag",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleMouseDragEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleScroll",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleScrollEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isCarouselItem",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "node is WaCarouselItem"
                }
              },
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "Node"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "initializeSlides",
              "type": {
                "text": "initializeSlides() => void"
              }
            },
            {
              "kind": "method",
              "name": "createClones",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSlideChange",
              "type": {
                "text": "handleSlideChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateSlidesSnap",
              "type": {
                "text": "updateSlidesSnap() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleAutoplayChange",
              "type": {
                "text": "handleAutoplayChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "previous",
              "parameters": [
                {
                  "name": "behavior",
                  "default": "'smooth'",
                  "type": {
                    "text": "ScrollBehavior"
                  },
                  "description": "The behavior used for scrolling."
                }
              ],
              "description": "Move the carousel backward by `slides-per-move` slides.",
              "type": {
                "text": "previous(behavior: ScrollBehavior = 'smooth') => void"
              }
            },
            {
              "kind": "method",
              "name": "next",
              "parameters": [
                {
                  "name": "behavior",
                  "default": "'smooth'",
                  "type": {
                    "text": "ScrollBehavior"
                  },
                  "description": "The behavior used for scrolling."
                }
              ],
              "description": "Move the carousel forward by `slides-per-move` slides.",
              "type": {
                "text": "next(behavior: ScrollBehavior = 'smooth') => void"
              }
            },
            {
              "kind": "method",
              "name": "goToSlide",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  },
                  "description": "The slide index."
                },
                {
                  "name": "behavior",
                  "default": "'smooth'",
                  "type": {
                    "text": "ScrollBehavior"
                  },
                  "description": "The behavior used for scrolling."
                }
              ],
              "description": "Scrolls the carousel to the slide specified by `index`.",
              "type": {
                "text": "goToSlide(index: number, behavior: ScrollBehavior = 'smooth') => void"
              }
            },
            {
              "kind": "method",
              "name": "scrollToSlide",
              "privacy": "private",
              "parameters": [
                {
                  "name": "slide",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "behavior",
                  "default": "'smooth'",
                  "type": {
                    "text": "ScrollBehavior"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaSlideChangeEvent"
              }
            },
            {
              "type": {
                "text": "{ index: number, slide: WaCarouselItem }"
              },
              "description": "Emitted when the active slide changes.",
              "name": "wa-slide-change",
              "reactName": "onWaSlideChange",
              "eventName": "WaSlideChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "loop",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, allows the user to navigate the carousel in the same direction indefinitely.",
              "fieldName": "loop"
            },
            {
              "name": "slides",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "slides"
            },
            {
              "name": "currentSlide",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "currentSlide"
            },
            {
              "name": "navigation",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, show the carousel's navigation.",
              "fieldName": "navigation"
            },
            {
              "name": "pagination",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, show the carousel's pagination indicators.",
              "fieldName": "pagination"
            },
            {
              "name": "autoplay",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, the slides will scroll automatically when the user is not interacting with them.",
              "fieldName": "autoplay"
            },
            {
              "name": "autoplay-interval",
              "type": {
                "text": "number"
              },
              "default": "3000",
              "description": "Specifies the amount of time, in milliseconds, between each automatic scroll.",
              "fieldName": "autoplayInterval"
            },
            {
              "name": "slides-per-page",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Specifies how many slides should be shown at a given time.",
              "fieldName": "slidesPerPage"
            },
            {
              "name": "slides-per-move",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Specifies the number of slides the carousel will advance when scrolling, useful when specifying a `slides-per-page`\ngreater than one. It can't be higher than `slides-per-page`.",
              "fieldName": "slidesPerMove"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Specifies the orientation in which the carousel will lay out.",
              "fieldName": "orientation"
            },
            {
              "name": "mouse-dragging",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, it is possible to scroll through the slides by dragging them with the mouse.",
              "fieldName": "mouseDragging"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Carousels display an arbitrary number of content slides along a horizontal or vertical axis.",
          "jsDoc": "/**\n * @summary Carousels display an arbitrary number of content slides along a horizontal or vertical axis.\n *\n * @since 2.2\n * @status experimental\n *\n * @dependency wa-icon\n *\n * @event {{ index: number, slide: WaCarouselItem }} wa-slide-change - Emitted when the active slide changes.\n *\n * @slot - The carousel's main content, one or more `<wa-carousel-item>` elements.\n * @slot next-icon - Optional next icon to use instead of the default. Works best with `<wa-icon>`.\n * @slot previous-icon - Optional previous icon to use instead of the default. Works best with `<wa-icon>`.\n *\n * @csspart base - The carousel's internal wrapper.\n * @csspart scroll-container - The scroll container that wraps the slides.\n * @csspart pagination - The pagination indicators wrapper.\n * @csspart pagination-item - The pagination indicator.\n * @csspart pagination-item-active - Applied when the item is active.\n * @csspart navigation - The navigation wrapper.\n * @csspart navigation-button - The navigation button.\n * @csspart navigation-button-previous - Applied to the previous button.\n * @csspart navigation-button-next - Applied to the next button.\n *\n * @cssproperty [--aspect-ratio=16/9] - The aspect ratio of each slide.\n * @cssproperty --scroll-hint - The amount of padding to apply to the scroll area, allowing adjacent slides to become\n *  partially visible as a scroll hint.\n * @cssproperty [--slide-gap=var(--wa-space-m)] - The space between each slide.\n */",
          "since": "2.2",
          "status": "experimental",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-carousel",
          "customElement": true,
          "modulePath": "components/carousel/carousel.js",
          "definitionPath": "components/carousel/carousel.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaCarousel",
            "module": "components/carousel/carousel.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-carousel",
          "declaration": {
            "name": "WaCarousel",
            "module": "components/carousel/carousel.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/carousel/scroll-controller.js",
      "declarations": [
        {
          "kind": "class",
          "description": "A controller for handling scrolling and mouse dragging.",
          "name": "ScrollController",
          "members": [
            {
              "kind": "field",
              "name": "host",
              "type": {
                "text": "T"
              },
              "privacy": "private",
              "default": "host"
            },
            {
              "kind": "field",
              "name": "dragging",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "scrolling",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "mouseDragging",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "method",
              "name": "hostConnected"
            },
            {
              "kind": "method",
              "name": "hostDisconnected",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "field",
              "name": "handleScroll"
            },
            {
              "kind": "field",
              "name": "handleScrollEnd"
            },
            {
              "kind": "field",
              "name": "handlePointerDown"
            },
            {
              "kind": "field",
              "name": "handlePointerMove"
            },
            {
              "kind": "field",
              "name": "handlePointerUp"
            },
            {
              "kind": "method",
              "name": "handleDragStart"
            },
            {
              "kind": "method",
              "name": "handleDrag",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDragEnd"
            }
          ],
          "jsDoc": "/**\n * A controller for handling scrolling and mouse dragging.\n */"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ScrollController",
          "declaration": {
            "name": "ScrollController",
            "module": "components/carousel/scroll-controller.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/card/card.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaCard",
          "cssProperties": [
            {
              "description": "The amount of space around and between sections of the card. Expects a single value.",
              "name": "--spacing",
              "default": "var(--wa-space-l)"
            }
          ],
          "cssParts": [
            {
              "description": "The container that wraps the card's media.",
              "name": "media"
            },
            {
              "description": "The container that wraps the card's header.",
              "name": "header"
            },
            {
              "description": "The container that wraps the card's main content.",
              "name": "body"
            },
            {
              "description": "The container that wraps the card's footer.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "The card's main content.",
              "name": ""
            },
            {
              "description": "An optional header for the card.",
              "name": "header"
            },
            {
              "description": "An optional footer for the card.",
              "name": "footer"
            },
            {
              "description": "An optional media section to render at the start of the card.",
              "name": "media"
            },
            {
              "description": "An optional actions section to render at the end for the horizontal card.",
              "name": "actions"
            },
            {
              "description": "An optional actions section to render in the header of the vertical card.",
              "name": "header-actions"
            },
            {
              "description": "An optional actions section to render in the footer of the vertical card.",
              "name": "footer-actions"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[sizeStyles, styles]"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'footer', 'header', 'media')"
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'accent' | 'filled' | 'outlined' | 'plain'"
              },
              "default": "'outlined'",
              "description": "The card's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withHeader",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Renders the card with a header. Only needed for SSR, otherwise is automatically added.",
              "attribute": "with-header",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withMedia",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Renders the card with an image. Only needed for SSR, otherwise is automatically added.",
              "attribute": "with-media",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withFooter",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Renders the card with a footer. Only needed for SSR, otherwise is automatically added.",
              "attribute": "with-footer",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'vertical'",
              "description": "Renders the card's orientation *",
              "attribute": "orientation",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "appearance",
              "type": {
                "text": "'accent' | 'filled' | 'outlined' | 'plain'"
              },
              "default": "'outlined'",
              "description": "The card's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "with-header",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Renders the card with a header. Only needed for SSR, otherwise is automatically added.",
              "fieldName": "withHeader"
            },
            {
              "name": "with-media",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Renders the card with an image. Only needed for SSR, otherwise is automatically added.",
              "fieldName": "withMedia"
            },
            {
              "name": "with-footer",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Renders the card with a footer. Only needed for SSR, otherwise is automatically added.",
              "fieldName": "withFooter"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'vertical'",
              "description": "Renders the card's orientation *",
              "fieldName": "orientation"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Cards can be used to group related subjects in a container.",
          "jsDoc": "/**\n * @summary Cards can be used to group related subjects in a container.\n * @documentation https://webawesome.com/docs/components/card\n * @status stable\n * @since 2.0\n *\n * @slot - The card's main content.\n * @slot header - An optional header for the card.\n * @slot footer - An optional footer for the card.\n * @slot media - An optional media section to render at the start of the card.\n * @slot actions - An optional actions section to render at the end for the horizontal card.\n * @slot header-actions - An optional actions section to render in the header of the vertical card.\n * @slot footer-actions - An optional actions section to render in the footer of the vertical card.\n *\n * @csspart media - The container that wraps the card's media.\n * @csspart header - The container that wraps the card's header.\n * @csspart body - The container that wraps the card's main content.\n * @csspart footer - The container that wraps the card's footer.\n *\n * @cssproperty [--spacing=var(--wa-space-l)] - The amount of space around and between sections of the card. Expects a single value.\n */",
          "documentation": "https://webawesome.com/docs/components/card",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-card",
          "customElement": true,
          "modulePath": "components/card/card.js",
          "definitionPath": "components/card/card.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaCard",
            "module": "components/card/card.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-card",
          "declaration": {
            "name": "WaCard",
            "module": "components/card/card.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/carousel-item/carousel-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaCarouselItem",
          "cssProperties": [
            {
              "description": "The slide's aspect ratio. Inherited from the carousel by default.",
              "name": "--aspect-ratio"
            }
          ],
          "slots": [
            {
              "description": "The carousel item's content..",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "A carousel item represent a slide within a carousel.",
          "jsDoc": "/**\n * @summary A carousel item represent a slide within a carousel.\n *\n * @since 2.0\n * @status experimental\n *\n * @slot - The carousel item's content..\n *\n * @cssproperty --aspect-ratio - The slide's aspect ratio. Inherited from the carousel by default.\n *\n */",
          "since": "2.0",
          "status": "experimental",
          "tagName": "wa-carousel-item",
          "customElement": true,
          "modulePath": "components/carousel-item/carousel-item.js",
          "definitionPath": "components/carousel-item/carousel-item.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaCarouselItem",
            "module": "components/carousel-item/carousel-item.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-carousel-item",
          "declaration": {
            "name": "WaCarouselItem",
            "module": "components/carousel-item/carousel-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/checkbox/checkbox.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaCheckbox",
          "cssProperties": [
            {
              "description": "The color of the checked and indeterminate icons.",
              "name": "--checked-icon-color"
            },
            {
              "description": "The size of the checked and indeterminate icons relative to the checkbox.",
              "name": "--checked-icon-scale"
            }
          ],
          "cssParts": [
            {
              "description": "The component's label .",
              "name": "base"
            },
            {
              "description": "The square container that wraps the checkbox's checked state.",
              "name": "control"
            },
            {
              "description": "The checked icon, a `<wa-icon>` element.",
              "name": "checked-icon"
            },
            {
              "description": "The indeterminate icon, a `<wa-icon>` element.",
              "name": "indeterminate-icon"
            },
            {
              "description": "The container that wraps the checkbox's label.",
              "name": "label"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            }
          ],
          "slots": [
            {
              "description": "The checkbox's label.",
              "name": ""
            },
            {
              "description": "Text that describes how to use the checkbox. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[formControlStyles, sizeStyles, styles]"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...WebAwesomeFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "validators",
              "static": true,
              "readonly": true
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the checkbox, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The value of the checkbox, submitted as a name/value pair with form data.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The checkbox's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the checkbox.",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\nall/none\" behavior when associated checkboxes have a mix of checked and unchecked states.",
              "attribute": "indeterminate",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "description": "Draws the checkbox in a checked state."
            },
            {
              "kind": "field",
              "name": "defaultChecked",
              "type": {
                "text": "boolean"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the checkbox a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox's hint. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDefaultCheckedChange",
              "type": {
                "text": "handleDefaultCheckedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleValueOrCheckedChange",
              "type": {
                "text": "handleValueOrCheckedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleStateChange",
              "type": {
                "text": "handleStateChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "method",
              "name": "click",
              "description": "Simulates a click on the checkbox.",
              "type": {
                "text": "click() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the checkbox.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the checkbox.",
              "type": {
                "text": "blur() => void"
              }
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the checked state changes.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the checkbox loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the checkbox gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the checkbox receives input.",
              "name": "input",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "wa-invalid",
              "reactName": "onWaInvalid",
              "eventName": "WaInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the checkbox, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The value of the checkbox, submitted as a name/value pair with form data.",
              "fieldName": "value"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The checkbox's size.",
              "fieldName": "size"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the checkbox.",
              "fieldName": "disabled"
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\nall/none\" behavior when associated checkboxes have a mix of checked and unchecked states.",
              "fieldName": "indeterminate"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultChecked"
            },
            {
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the checkbox a required field.",
              "fieldName": "required"
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox's hint. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint"
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the checkbox is checked.",
              "name": "checked"
            },
            {
              "description": "Applied when the checkbox is disabled.",
              "name": "disabled"
            },
            {
              "description": "Applied when the checkbox is in an indeterminate state.",
              "name": "indeterminate"
            }
          ],
          "superclass": {
            "name": "WebAwesomeFormAssociatedElement",
            "module": "/src/internal/webawesome-form-associated-element.js"
          },
          "summary": "Checkboxes allow the user to toggle an option on or off.",
          "jsDoc": "/**\n * @summary Checkboxes allow the user to toggle an option on or off.\n * @documentation https://webawesome.com/docs/components/checkbox\n * @status stable\n * @since 2.0\n *\n * @dependency wa-icon\n *\n * @slot - The checkbox's label.\n * @slot hint - Text that describes how to use the checkbox. Alternatively, you can use the `hint` attribute.\n *\n * @event blur - Emitted when the checkbox loses focus.\n * @event change - Emitted when the checked state changes.\n * @event focus - Emitted when the checkbox gains focus.\n * @event input - Emitted when the checkbox receives input.\n * @event wa-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's label .\n * @csspart control - The square container that wraps the checkbox's checked state.\n * @csspart checked-icon - The checked icon, a `<wa-icon>` element.\n * @csspart indeterminate-icon - The indeterminate icon, a `<wa-icon>` element.\n * @csspart label - The container that wraps the checkbox's label.\n * @csspart hint - The hint's wrapper.\n *\n * @cssproperty --checked-icon-color - The color of the checked and indeterminate icons.\n * @cssproperty --checked-icon-scale - The size of the checked and indeterminate icons relative to the checkbox.\n *\n * @cssstate checked - Applied when the checkbox is checked.\n * @cssstate disabled - Applied when the checkbox is disabled.\n * @cssstate indeterminate - Applied when the checkbox is in an indeterminate state.\n *\n */",
          "documentation": "https://webawesome.com/docs/components/checkbox",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-checkbox",
          "customElement": true,
          "modulePath": "components/checkbox/checkbox.js",
          "definitionPath": "components/checkbox/checkbox.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaCheckbox",
            "module": "components/checkbox/checkbox.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-checkbox",
          "declaration": {
            "name": "WaCheckbox",
            "module": "components/checkbox/checkbox.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/color-picker/color-picker.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaColorPicker",
          "cssProperties": [
            {
              "description": "The width of the color grid.",
              "name": "--grid-width"
            },
            {
              "description": "The height of the color grid.",
              "name": "--grid-height"
            },
            {
              "description": "The size of the color grid's handle.",
              "name": "--grid-handle-size"
            },
            {
              "description": "The height of the hue and alpha sliders.",
              "name": "--slider-height"
            },
            {
              "description": "The diameter of the slider's handle.",
              "name": "--slider-handle-size"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The color picker's dropdown trigger.",
              "name": "trigger"
            },
            {
              "description": "The container that holds the swatches.",
              "name": "swatches"
            },
            {
              "description": "Each individual swatch.",
              "name": "swatch"
            },
            {
              "description": "The color grid.",
              "name": "grid"
            },
            {
              "description": "The color grid's handle.",
              "name": "grid-handle"
            },
            {
              "description": "Hue and opacity sliders.",
              "name": "slider"
            },
            {
              "description": "Hue and opacity slider handles.",
              "name": "slider-handle"
            },
            {
              "description": "The hue slider.",
              "name": "hue-slider"
            },
            {
              "description": "The hue slider's handle.",
              "name": "hue-slider-handle"
            },
            {
              "description": "The opacity slider.",
              "name": "opacity-slider"
            },
            {
              "description": "The opacity slider's handle.",
              "name": "opacity-slider-handle"
            },
            {
              "description": "The preview color.",
              "name": "preview"
            },
            {
              "description": "The text input.",
              "name": "input"
            },
            {
              "description": "The eye dropper button.",
              "name": "eyedropper-button"
            },
            {
              "description": "The eye dropper button's exported `button` part.",
              "name": "eyedropper-button__base"
            },
            {
              "description": "The eye dropper button's exported `start` part.",
              "name": "eyedropper-button__start"
            },
            {
              "description": "The eye dropper button's exported `label` part.",
              "name": "eyedropper-button__label"
            },
            {
              "description": "The eye dropper button's exported `end` part.",
              "name": "eyedropper-button__end"
            },
            {
              "description": "The eye dropper button's exported `caret` part.",
              "name": "eyedropper-button__caret"
            },
            {
              "description": "The format button.",
              "name": "format-button"
            },
            {
              "description": "The format button's exported `button` part.",
              "name": "format-button__base"
            },
            {
              "description": "The format button's exported `start` part.",
              "name": "format-button__start"
            },
            {
              "description": "The format button's exported `label` part.",
              "name": "format-button__label"
            },
            {
              "description": "The format button's exported `end` part.",
              "name": "format-button__end"
            },
            {
              "description": "The format button's exported `caret` part.",
              "name": "format-button__caret"
            }
          ],
          "slots": [
            {
              "description": "The color picker's form label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "The color picker's form hint. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[visuallyHidden, sizeStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...WebAwesomeFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "validators",
              "static": true,
              "readonly": true
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint', 'label')"
            },
            {
              "kind": "field",
              "name": "isSafeValue",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "base",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "WaInput"
              }
            },
            {
              "kind": "field",
              "name": "triggerLabel",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "triggerButton",
              "type": {
                "text": "HTMLButtonElement"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "WaPopup"
              }
            },
            {
              "kind": "field",
              "name": "previewButton",
              "type": {
                "text": "HTMLButtonElement"
              }
            },
            {
              "kind": "field",
              "name": "trigger",
              "type": {
                "text": "HTMLButtonElement"
              }
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isDraggingGridHandle",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isEmpty",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "true"
            },
            {
              "kind": "field",
              "name": "inputValue",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "hue",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "saturation",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "100"
            },
            {
              "kind": "field",
              "name": "brightness",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "100"
            },
            {
              "kind": "field",
              "name": "alpha",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "100"
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The current value of the color picker. The value's format will vary based the `format` attribute. To get the value\nin a specific format, use the `getFormattedValue()` method. The value is submitted as a name/value pair with form\ndata."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "with-label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "with-hint",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hasEyeDropper",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The color picker's label. This will not be displayed, but it will be announced by assistive devices. If you need to\ndisplay HTML, you can use the `label` slot` instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The color picker's hint. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint"
            },
            {
              "kind": "field",
              "name": "format",
              "type": {
                "text": "'hex' | 'rgb' | 'hsl' | 'hsv'"
              },
              "default": "'hex'",
              "description": "The format to use. If opacity is enabled, these will translate to HEXA, RGBA, HSLA, and HSVA respectively. The color\npicker will accept user input in any format (including CSS color names) and convert it to the desired format.",
              "attribute": "format"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "Determines the size of the color picker's trigger",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutFormatToggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the button that lets users toggle between format.",
              "attribute": "without-format-toggle"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the form control, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the color picker.",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the popup is open. You can toggle this attribute to show and hide the popup, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the popup's open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "opacity",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows the opacity slider. Enabling this will cause the formatted value to be HEXA, RGBA, or HSLA.",
              "attribute": "opacity"
            },
            {
              "kind": "field",
              "name": "uppercase",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "By default, values are lowercase. With this attribute, values will be uppercase instead.",
              "attribute": "uppercase"
            },
            {
              "kind": "field",
              "name": "swatches",
              "type": {
                "text": "string | string[]"
              },
              "default": "''",
              "description": "One or more predefined color swatches to display as presets in the color picker. Can include any format the color\npicker can parse, including HEX(A), RGB(A), HSL(A), HSV(A), and CSS color names. Each color must be separated by a\nsemicolon (`;`). Alternatively, you can pass an array of color values to this property using JavaScript.",
              "attribute": "swatches"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the color picker a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleCopy",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleFocusIn",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleFocusOut",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFormatToggle",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleAlphaDrag",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleHueDrag",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleGridDrag",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleAlphaKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleHueKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleGridKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleInputChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleInputInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "InputEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleInputKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleTouchMove",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "TouchEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "parseColor",
              "privacy": "private",
              "parameters": [
                {
                  "name": "colorString",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setColor",
              "privacy": "private",
              "parameters": [
                {
                  "name": "colorString",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setLetterCase",
              "privacy": "private",
              "parameters": [
                {
                  "name": "string",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "syncValues",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleAfterHide",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleAfterShow",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleEyeDropper",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "selectSwatch",
              "privacy": "private",
              "parameters": [
                {
                  "name": "color",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getHexString",
              "parameters": [
                {
                  "name": "hue",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "saturation",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "brightness",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "alpha",
                  "default": "100"
                }
              ],
              "description": "Generates a hex string from HSV values. Hue must be 0-360. All other arguments must be 0-100.",
              "type": {
                "text": "getHexString(hue: number, saturation: number, brightness: number, alpha = 100) => void"
              }
            },
            {
              "kind": "method",
              "name": "stopNestedEventPropagation",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "CustomEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleFormatChange",
              "type": {
                "text": "handleFormatChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleOpacityChange",
              "type": {
                "text": "handleOpacityChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleValueChange",
              "parameters": [
                {
                  "name": "oldValue",
                  "type": {
                    "text": "string | undefined"
                  }
                },
                {
                  "name": "newValue",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "type": {
                "text": "handleValueChange(oldValue: string | undefined, newValue: string) => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the color picker.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the color picker.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "getFormattedValue",
              "parameters": [
                {
                  "name": "format",
                  "default": "'hex'",
                  "type": {
                    "text": "'hex' | 'hexa' | 'rgb' | 'rgba' | 'hsl' | 'hsla' | 'hsv' | 'hsva'"
                  }
                }
              ],
              "description": "Returns the current value as a string in the specified format.",
              "type": {
                "text": "getFormattedValue(format: 'hex' | 'hexa' | 'rgb' | 'rgba' | 'hsl' | 'hsla' | 'hsv' | 'hsva' = 'hex') => void"
              }
            },
            {
              "kind": "field",
              "name": "reportValidityAfterShow",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "description": "Checks for validity and shows the browser's validation message if the control is invalid.",
              "type": {
                "text": "reportValidity() => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "type": {
                "text": "formResetCallback() => void"
              }
            },
            {
              "kind": "field",
              "name": "handleKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentMouseDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleTriggerClick",
              "type": {
                "text": "handleTriggerClick() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleTriggerKeyDown",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ],
              "type": {
                "text": "handleTriggerKeyDown(event: KeyboardEvent) => void"
              }
            },
            {
              "kind": "method",
              "name": "handleTriggerKeyUp",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ],
              "type": {
                "text": "handleTriggerKeyUp(event: KeyboardEvent) => void"
              }
            },
            {
              "kind": "method",
              "name": "updateAccessibleTrigger",
              "type": {
                "text": "updateAccessibleTrigger() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the color picker panel.",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the color picker panel",
              "type": {
                "text": "hide() => void"
              }
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "type": {
                "text": "addOpenListeners() => void"
              }
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "type": {
                "text": "removeOpenListeners() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the color picker's value changes.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the color picker receives input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "type": {
                "text": "WaInvalidEvent"
              }
            },
            {
              "name": "wa-show",
              "type": {
                "text": "CustomEvent"
              },
              "reactName": "onWaShow",
              "eventName": "WaShowEvent"
            },
            {
              "name": "wa-after-show",
              "type": {
                "text": "CustomEvent"
              },
              "reactName": "onWaAfterShow",
              "eventName": "WaAfterShowEvent"
            },
            {
              "name": "wa-hide",
              "type": {
                "text": "CustomEvent"
              },
              "reactName": "onWaHide",
              "eventName": "WaHideEvent"
            },
            {
              "name": "wa-after-hide",
              "type": {
                "text": "CustomEvent"
              },
              "reactName": "onWaAfterHide",
              "eventName": "WaAfterHideEvent"
            },
            {
              "description": "Emitted when the color picker loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the color picker receives focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "wa-invalid",
              "reactName": "onWaInvalid",
              "eventName": "WaInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultValue"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "withHint"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The color picker's label. This will not be displayed, but it will be announced by assistive devices. If you need to\ndisplay HTML, you can use the `label` slot` instead.",
              "fieldName": "label"
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The color picker's hint. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint"
            },
            {
              "name": "format",
              "type": {
                "text": "'hex' | 'rgb' | 'hsl' | 'hsv'"
              },
              "default": "'hex'",
              "description": "The format to use. If opacity is enabled, these will translate to HEXA, RGBA, HSLA, and HSVA respectively. The color\npicker will accept user input in any format (including CSS color names) and convert it to the desired format.",
              "fieldName": "format"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "Determines the size of the color picker's trigger",
              "fieldName": "size"
            },
            {
              "name": "without-format-toggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the button that lets users toggle between format.",
              "fieldName": "withoutFormatToggle"
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the form control, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the color picker.",
              "fieldName": "disabled"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the popup is open. You can toggle this attribute to show and hide the popup, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the popup's open state.",
              "fieldName": "open"
            },
            {
              "name": "opacity",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows the opacity slider. Enabling this will cause the formatted value to be HEXA, RGBA, or HSLA.",
              "fieldName": "opacity"
            },
            {
              "name": "uppercase",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "By default, values are lowercase. With this attribute, values will be uppercase instead.",
              "fieldName": "uppercase"
            },
            {
              "name": "swatches",
              "type": {
                "text": "string | string[]"
              },
              "default": "''",
              "description": "One or more predefined color swatches to display as presets in the color picker. Can include any format the color\npicker can parse, including HEX(A), RGB(A), HSL(A), HSV(A), and CSS color names. Each color must be separated by a\nsemicolon (`;`). Alternatively, you can pass an array of color values to this property using JavaScript.",
              "fieldName": "swatches"
            },
            {
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the color picker a required field.",
              "fieldName": "required"
            }
          ],
          "superclass": {
            "name": "WebAwesomeFormAssociatedElement",
            "module": "/src/internal/webawesome-form-associated-element.js"
          },
          "summary": "Color pickers allow the user to select a color.",
          "jsDoc": "/**\n * @summary Color pickers allow the user to select a color.\n * @documentation https://webawesome.com/docs/components/color-picker\n * @status stable\n * @since 2.0\n *\n * @dependency wa-button\n * @dependency wa-button-group\n * @dependency wa-input\n * @dependency wa-popup\n * @dependency wa-visually-hidden\n *\n * @slot label - The color picker's form label. Alternatively, you can use the `label` attribute.\n * @slot hint - The color picker's form hint. Alternatively, you can use the `hint` attribute.\n *\n * @event blur - Emitted when the color picker loses focus.\n * @event change - Emitted when the color picker's value changes.\n * @event focus - Emitted when the color picker receives focus.\n * @event input - Emitted when the color picker receives input.\n * @event wa-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart trigger - The color picker's dropdown trigger.\n * @csspart swatches - The container that holds the swatches.\n * @csspart swatch - Each individual swatch.\n * @csspart grid - The color grid.\n * @csspart grid-handle - The color grid's handle.\n * @csspart slider - Hue and opacity sliders.\n * @csspart slider-handle - Hue and opacity slider handles.\n * @csspart hue-slider - The hue slider.\n * @csspart hue-slider-handle - The hue slider's handle.\n * @csspart opacity-slider - The opacity slider.\n * @csspart opacity-slider-handle - The opacity slider's handle.\n * @csspart preview - The preview color.\n * @csspart input - The text input.\n * @csspart eyedropper-button - The eye dropper button.\n * @csspart eyedropper-button__base - The eye dropper button's exported `button` part.\n * @csspart eyedropper-button__start - The eye dropper button's exported `start` part.\n * @csspart eyedropper-button__label - The eye dropper button's exported `label` part.\n * @csspart eyedropper-button__end - The eye dropper button's exported `end` part.\n * @csspart eyedropper-button__caret - The eye dropper button's exported `caret` part.\n * @csspart format-button - The format button.\n * @csspart format-button__base - The format button's exported `button` part.\n * @csspart format-button__start - The format button's exported `start` part.\n * @csspart format-button__label - The format button's exported `label` part.\n * @csspart format-button__end - The format button's exported `end` part.\n * @csspart format-button__caret - The format button's exported `caret` part.\n *\n * @cssproperty --grid-width - The width of the color grid.\n * @cssproperty --grid-height - The height of the color grid.\n * @cssproperty --grid-handle-size - The size of the color grid's handle.\n * @cssproperty --slider-height - The height of the hue and alpha sliders.\n * @cssproperty --slider-handle-size - The diameter of the slider's handle.\n */",
          "documentation": "https://webawesome.com/docs/components/color-picker",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-button",
            "wa-button-group",
            "wa-input",
            "wa-popup",
            "wa-visually-hidden"
          ],
          "tagName": "wa-color-picker",
          "customElement": true,
          "modulePath": "components/color-picker/color-picker.js",
          "definitionPath": "components/color-picker/color-picker.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaColorPicker",
            "module": "components/color-picker/color-picker.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-color-picker",
          "declaration": {
            "name": "WaColorPicker",
            "module": "components/color-picker/color-picker.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/comparison/comparison.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaComparison",
          "cssProperties": [
            {
              "description": "The width of the dividing line.",
              "name": "--divider-width"
            },
            {
              "description": "The size of the compare handle.",
              "name": "--handle-size"
            }
          ],
          "cssParts": [
            {
              "description": "The container that wraps the before and after content.",
              "name": "base"
            },
            {
              "description": "The container that wraps the before content.",
              "name": "before"
            },
            {
              "description": "The container that wraps the after content.",
              "name": "after"
            },
            {
              "description": "The divider that separates the before and after content.",
              "name": "divider"
            },
            {
              "description": "The handle that the user drags to expose the after content.",
              "name": "handle"
            }
          ],
          "slots": [
            {
              "description": "The before content, often an `<img>` or `<svg>` element.",
              "name": "before"
            },
            {
              "description": "The after content, often an `<img>` or `<svg>` element.",
              "name": "after"
            },
            {
              "description": "The icon used inside the handle.",
              "name": "handle"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "handle",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "position",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The position of the divider as a percentage.",
              "attribute": "position",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleDrag",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handlePositionChange",
              "type": {
                "text": "handlePositionChange() => void"
              }
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the position changes.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "position",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The position of the divider as a percentage.",
              "fieldName": "position"
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the comparison is being dragged.",
              "name": "dragging"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Compare visual differences between similar content with a sliding panel.",
          "jsDoc": "/**\n * @summary Compare visual differences between similar content with a sliding panel.\n * @documentation https://webawesome.com/docs/components/comparison\n * @status stable\n * @since 2.0\n *\n * @dependency wa-icon\n *\n * @slot before - The before content, often an `<img>` or `<svg>` element.\n * @slot after - The after content, often an `<img>` or `<svg>` element.\n * @slot handle - The icon used inside the handle.\n *\n * @event change - Emitted when the position changes.\n *\n * @csspart base - The container that wraps the before and after content.\n * @csspart before - The container that wraps the before content.\n * @csspart after - The container that wraps the after content.\n * @csspart divider - The divider that separates the before and after content.\n * @csspart handle - The handle that the user drags to expose the after content.\n *\n * @cssproperty --divider-width - The width of the dividing line.\n * @cssproperty --handle-size - The size of the compare handle.\n *\n * @cssstate dragging - Applied when the comparison is being dragged.\n */",
          "documentation": "https://webawesome.com/docs/components/comparison",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-comparison",
          "customElement": true,
          "modulePath": "components/comparison/comparison.js",
          "definitionPath": "components/comparison/comparison.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaComparison",
            "module": "components/comparison/comparison.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-comparison",
          "declaration": {
            "name": "WaComparison",
            "module": "components/comparison/comparison.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/copy-button/copy-button.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaCopyButton",
          "cssParts": [
            {
              "description": "The internal `<button>` element.",
              "name": "button"
            },
            {
              "description": "The container that holds the copy icon.",
              "name": "copy-icon"
            },
            {
              "description": "The container that holds the success icon.",
              "name": "success-icon"
            },
            {
              "description": "The container that holds the error icon.",
              "name": "error-icon"
            },
            {
              "description": "The tooltip's exported `base` part.",
              "name": "tooltip__base"
            },
            {
              "description": "The tooltip's exported `popup` part.",
              "name": "tooltip__base__popup"
            },
            {
              "description": "The tooltip's exported `arrow` part.",
              "name": "tooltip__base__arrow"
            },
            {
              "description": "The tooltip's exported `body` part.",
              "name": "tooltip__body"
            }
          ],
          "slots": [
            {
              "description": "The icon to show in the default copy state. Works best with `<wa-icon>`.",
              "name": "copy-icon"
            },
            {
              "description": "The icon to show when the content is copied. Works best with `<wa-icon>`.",
              "name": "success-icon"
            },
            {
              "description": "The icon to show when a copy error occurs. Works best with `<wa-icon>`.",
              "name": "error-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[visuallyHidden, styles]"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "copyIcon",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "successIcon",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "errorIcon",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "tooltip",
              "type": {
                "text": "WaTooltip"
              }
            },
            {
              "kind": "field",
              "name": "isCopying",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "status",
              "type": {
                "text": "'rest' | 'success' | 'error'"
              },
              "default": "'rest'"
            },
            {
              "kind": "field",
              "name": "currentLabel",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The text value to copy.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "from",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "An id that references an element in the same document from which data will be copied. If both this and `value` are\npresent, this value will take precedence. By default, the target element's `textContent` will be copied. To copy an\nattribute, append the attribute name wrapped in square brackets, e.g. `from=\"el[value]\"`. To copy a property,\nappend a dot and the property name, e.g. `from=\"el.value\"`.",
              "attribute": "from"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the copy button.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "copyLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label to show in the tooltip.",
              "attribute": "copy-label"
            },
            {
              "kind": "field",
              "name": "successLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label to show in the tooltip after copying.",
              "attribute": "success-label"
            },
            {
              "kind": "field",
              "name": "errorLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label to show in the tooltip when a copy error occurs.",
              "attribute": "error-label"
            },
            {
              "kind": "field",
              "name": "feedbackDuration",
              "type": {
                "text": "number"
              },
              "default": "1000",
              "description": "The length of time to show feedback before restoring the default trigger.",
              "attribute": "feedback-duration"
            },
            {
              "kind": "field",
              "name": "tooltipPlacement",
              "type": {
                "text": "'top' | 'right' | 'bottom' | 'left'"
              },
              "default": "'top'",
              "description": "The preferred placement of the tooltip.",
              "attribute": "tooltip-placement"
            },
            {
              "kind": "method",
              "name": "handleCopy",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "showStatus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "status",
                  "type": {
                    "text": "'success' | 'error'"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaErrorEvent"
              }
            },
            {
              "description": "Emitted when the data has been copied.",
              "name": "wa-copy",
              "reactName": "onWaCopy",
              "eventName": "WaCopyEvent"
            },
            {
              "description": "Emitted when the data could not be copied.",
              "name": "wa-error",
              "reactName": "onWaError",
              "eventName": "WaErrorEvent"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The text value to copy.",
              "fieldName": "value"
            },
            {
              "name": "from",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "An id that references an element in the same document from which data will be copied. If both this and `value` are\npresent, this value will take precedence. By default, the target element's `textContent` will be copied. To copy an\nattribute, append the attribute name wrapped in square brackets, e.g. `from=\"el[value]\"`. To copy a property,\nappend a dot and the property name, e.g. `from=\"el.value\"`.",
              "fieldName": "from"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the copy button.",
              "fieldName": "disabled"
            },
            {
              "name": "copy-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label to show in the tooltip.",
              "fieldName": "copyLabel"
            },
            {
              "name": "success-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label to show in the tooltip after copying.",
              "fieldName": "successLabel"
            },
            {
              "name": "error-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label to show in the tooltip when a copy error occurs.",
              "fieldName": "errorLabel"
            },
            {
              "name": "feedback-duration",
              "type": {
                "text": "number"
              },
              "default": "1000",
              "description": "The length of time to show feedback before restoring the default trigger.",
              "fieldName": "feedbackDuration"
            },
            {
              "name": "tooltip-placement",
              "type": {
                "text": "'top' | 'right' | 'bottom' | 'left'"
              },
              "default": "'top'",
              "description": "The preferred placement of the tooltip.",
              "fieldName": "tooltipPlacement"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Copies text data to the clipboard when the user clicks the trigger.",
          "jsDoc": "/**\n * @summary Copies text data to the clipboard when the user clicks the trigger.\n * @documentation https://webawesome.com/docs/components/copy\n * @status experimental\n * @since 2.7\n *\n * @dependency wa-icon\n * @dependency wa-tooltip\n *\n * @event wa-copy - Emitted when the data has been copied.\n * @event wa-error - Emitted when the data could not be copied.\n *\n * @slot copy-icon - The icon to show in the default copy state. Works best with `<wa-icon>`.\n * @slot success-icon - The icon to show when the content is copied. Works best with `<wa-icon>`.\n * @slot error-icon - The icon to show when a copy error occurs. Works best with `<wa-icon>`.\n *\n * @csspart button - The internal `<button>` element.\n * @csspart copy-icon - The container that holds the copy icon.\n * @csspart success-icon - The container that holds the success icon.\n * @csspart error-icon - The container that holds the error icon.\n * @csspart tooltip__base - The tooltip's exported `base` part.\n * @csspart tooltip__base__popup - The tooltip's exported `popup` part.\n * @csspart tooltip__base__arrow - The tooltip's exported `arrow` part.\n * @csspart tooltip__body - The tooltip's exported `body` part.\n */",
          "documentation": "https://webawesome.com/docs/components/copy",
          "status": "experimental",
          "since": "2.7",
          "dependencies": [
            "wa-icon",
            "wa-tooltip"
          ],
          "tagName": "wa-copy-button",
          "customElement": true,
          "modulePath": "components/copy-button/copy-button.js",
          "definitionPath": "components/copy-button/copy-button.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaCopyButton",
            "module": "components/copy-button/copy-button.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-copy-button",
          "declaration": {
            "name": "WaCopyButton",
            "module": "components/copy-button/copy-button.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/details/details.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaDetails",
          "cssProperties": [
            {
              "description": "The amount of space around and between the details' content. Expects a single value.",
              "name": "--spacing"
            },
            {
              "description": "The show duration to use when applying built-in animation classes.",
              "name": "--show-duration",
              "default": "200ms"
            },
            {
              "description": "The hide duration to use when applying built-in animation classes.",
              "name": "--hide-duration",
              "default": "200ms"
            }
          ],
          "cssParts": [
            {
              "description": "The inner `<details>` element used to render the component. Styles you apply to the component are automatically applied to this part, so you usually don't need to deal with it unless you need to set the `display` property.",
              "name": "base"
            },
            {
              "description": "The header that wraps both the summary and the expand/collapse icon.",
              "name": "header"
            },
            {
              "description": "The container that wraps the summary.",
              "name": "summary"
            },
            {
              "description": "The container that wraps the expand/collapse icons.",
              "name": "icon"
            },
            {
              "description": "The details content.",
              "name": "content"
            }
          ],
          "slots": [
            {
              "description": "The details' main content.",
              "name": ""
            },
            {
              "description": "The details' summary. Alternatively, you can use the `summary` attribute.",
              "name": "summary"
            },
            {
              "description": "Optional expand icon to use instead of the default. Works best with `<wa-icon>`.",
              "name": "expand-icon"
            },
            {
              "description": "Optional collapse icon to use instead of the default. Works best with `<wa-icon>`.",
              "name": "collapse-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "detailsObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "details",
              "type": {
                "text": "HTMLDetailsElement"
              }
            },
            {
              "kind": "field",
              "name": "header",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "body",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "expandIconSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "isAnimating",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the details is open. You can toggle this attribute to show and hide the details, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the details' open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "summary",
              "type": {
                "text": "string"
              },
              "description": "The summary to show in the header. If you need to display HTML, use the `summary` slot instead.",
              "attribute": "summary"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Groups related details elements. When one opens, others with the same name will close.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the details so it can't be toggled.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'filled' | 'outlined' | 'filled-outlined' | 'plain'"
              },
              "default": "'outlined'",
              "description": "The element's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "iconPlacement",
              "type": {
                "text": "'start' | 'end'"
              },
              "default": "'end'",
              "description": "The location of the expand/collapse icon.",
              "attribute": "icon-placement",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleSummaryClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSummaryKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "closeOthersWithSameName",
              "privacy": "private",
              "description": "Closes other <wa-details> elements in the same document when they have the same name."
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the details.",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the details",
              "type": {
                "text": "hide() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaAfterShowEvent"
              }
            },
            {
              "description": "Emitted when the details opens.",
              "name": "wa-show",
              "reactName": "onWaShow",
              "eventName": "WaShowEvent"
            },
            {
              "description": "Emitted after the details opens and all animations are complete.",
              "name": "wa-after-show",
              "reactName": "onWaAfterShow",
              "eventName": "WaAfterShowEvent"
            },
            {
              "description": "Emitted when the details closes.",
              "name": "wa-hide",
              "reactName": "onWaHide",
              "eventName": "WaHideEvent"
            },
            {
              "description": "Emitted after the details closes and all animations are complete.",
              "name": "wa-after-hide",
              "reactName": "onWaAfterHide",
              "eventName": "WaAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the details is open. You can toggle this attribute to show and hide the details, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the details' open state.",
              "fieldName": "open"
            },
            {
              "name": "summary",
              "type": {
                "text": "string"
              },
              "description": "The summary to show in the header. If you need to display HTML, use the `summary` slot instead.",
              "fieldName": "summary"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "Groups related details elements. When one opens, others with the same name will close.",
              "fieldName": "name"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the details so it can't be toggled.",
              "fieldName": "disabled"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'filled' | 'outlined' | 'filled-outlined' | 'plain'"
              },
              "default": "'outlined'",
              "description": "The element's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "icon-placement",
              "type": {
                "text": "'start' | 'end'"
              },
              "default": "'end'",
              "description": "The location of the expand/collapse icon.",
              "fieldName": "iconPlacement"
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the details is animating expand/collapse.",
              "name": "animating"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Details show a brief summary and expand to show additional content.",
          "jsDoc": "/**\n * @summary Details show a brief summary and expand to show additional content.\n * @documentation https://webawesome.com/docs/components/details\n * @status stable\n * @since 2.0\n *\n * @dependency wa-icon\n *\n * @slot - The details' main content.\n * @slot summary - The details' summary. Alternatively, you can use the `summary` attribute.\n * @slot expand-icon - Optional expand icon to use instead of the default. Works best with `<wa-icon>`.\n * @slot collapse-icon - Optional collapse icon to use instead of the default. Works best with `<wa-icon>`.\n *\n * @event wa-show - Emitted when the details opens.\n * @event wa-after-show - Emitted after the details opens and all animations are complete.\n * @event wa-hide - Emitted when the details closes.\n * @event wa-after-hide - Emitted after the details closes and all animations are complete.\n *\n * @csspart base - The inner `<details>` element used to render the component.\n *                 Styles you apply to the component are automatically applied to this part, so you usually don't need to deal with it unless you need to set the `display` property.\n * @csspart header - The header that wraps both the summary and the expand/collapse icon.\n * @csspart summary - The container that wraps the summary.\n * @csspart icon - The container that wraps the expand/collapse icons.\n * @csspart content - The details content.\n *\n * @cssproperty --spacing - The amount of space around and between the details' content. Expects a single value.\n * @cssproperty [--show-duration=200ms] - The show duration to use when applying built-in animation classes.\n * @cssproperty [--hide-duration=200ms] - The hide duration to use when applying built-in animation classes.\n *\n * @cssstate animating - Applied when the details is animating expand/collapse.\n */",
          "documentation": "https://webawesome.com/docs/components/details",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-details",
          "customElement": true,
          "modulePath": "components/details/details.js",
          "definitionPath": "components/details/details.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaDetails",
            "module": "components/details/details.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-details",
          "declaration": {
            "name": "WaDetails",
            "module": "components/details/details.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/dialog/dialog.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaDialog",
          "cssProperties": [
            {
              "description": "The amount of space around and between the dialog's content.",
              "name": "--spacing"
            },
            {
              "description": "The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.",
              "name": "--width"
            },
            {
              "description": "The animation duration when showing the dialog.",
              "name": "--show-duration",
              "default": "200ms"
            },
            {
              "description": "The animation duration when hiding the dialog.",
              "name": "--hide-duration",
              "default": "200ms"
            }
          ],
          "cssParts": [
            {
              "description": "The dialog's internal `<dialog>` element.",
              "name": "dialog"
            },
            {
              "description": "The dialog's header. This element wraps the title and header actions.",
              "name": "header"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<wa-button>`.",
              "name": "header-actions"
            },
            {
              "description": "The dialog's title.",
              "name": "title"
            },
            {
              "description": "The close button, a `<wa-button>`.",
              "name": "close-button"
            },
            {
              "description": "The close button's exported `base` part.",
              "name": "close-button__base"
            },
            {
              "description": "The dialog's body.",
              "name": "body"
            },
            {
              "description": "The dialog's footer.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "The dialog's main content.",
              "name": ""
            },
            {
              "description": "The dialog's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<wa-button>`.",
              "name": "header-actions"
            },
            {
              "description": "The dialog's footer, usually one or more buttons representing various options.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'footer', 'header-actions', 'label')"
            },
            {
              "kind": "field",
              "name": "originalTrigger",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "dialog",
              "type": {
                "text": "HTMLDialogElement"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the dialog is open. Toggle this attribute to show and hide the dialog.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The dialog's label as displayed in the header. You should always include a relevant label, as it is required for\nproper accessibility. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutHeader",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the header. This will also remove the default close button.",
              "attribute": "without-header",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "lightDismiss",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When enabled, the dialog will be closed when the user clicks outside of it.",
              "attribute": "light-dismiss"
            },
            {
              "kind": "method",
              "name": "requestClose",
              "privacy": "private",
              "parameters": [
                {
                  "name": "source",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDialogCancel",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDialogClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDialogPointerDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "privacy": "private",
              "description": "Shows the dialog."
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaAfterHideEvent"
              }
            },
            {
              "description": "Emitted when the dialog opens.",
              "name": "wa-show",
              "reactName": "onWaShow",
              "eventName": "WaShowEvent"
            },
            {
              "description": "Emitted after the dialog opens and all animations are complete.",
              "name": "wa-after-show",
              "reactName": "onWaAfterShow",
              "eventName": "WaAfterShowEvent"
            },
            {
              "type": {
                "text": "{ source: Element }"
              },
              "description": "Emitted when the dialog is requested to close. Calling `event.preventDefault()` will prevent the dialog from closing. You can inspect `event.detail.source` to see which element caused the dialog to close. If the source is the dialog element itself, the user has pressed [[Escape]] or the dialog has been closed programmatically. Avoid using this unless closing the dialog will result in destructive behavior such as data loss.",
              "name": "wa-hide",
              "reactName": "onWaHide",
              "eventName": "WaHideEvent"
            },
            {
              "description": "Emitted after the dialog closes and all animations are complete.",
              "name": "wa-after-hide",
              "reactName": "onWaAfterHide",
              "eventName": "WaAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the dialog is open. Toggle this attribute to show and hide the dialog.",
              "fieldName": "open"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The dialog's label as displayed in the header. You should always include a relevant label, as it is required for\nproper accessibility. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "without-header",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the header. This will also remove the default close button.",
              "fieldName": "withoutHeader"
            },
            {
              "name": "light-dismiss",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When enabled, the dialog will be closed when the user clicks outside of it.",
              "fieldName": "lightDismiss"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Dialogs, sometimes called \"modals\", appear above the page and require the user's immediate attention.",
          "jsDoc": "/**\n * @summary Dialogs, sometimes called \"modals\", appear above the page and require the user's immediate attention.\n * @documentation https://webawesome.com/docs/components/dialog\n * @status stable\n * @since 2.0\n *\n * @dependency wa-button\n *\n * @slot - The dialog's main content.\n * @slot label - The dialog's label. Alternatively, you can use the `label` attribute.\n * @slot header-actions - Optional actions to add to the header. Works best with `<wa-button>`.\n * @slot footer - The dialog's footer, usually one or more buttons representing various options.\n *\n * @event wa-show - Emitted when the dialog opens.\n * @event wa-after-show - Emitted after the dialog opens and all animations are complete.\n * @event {{ source: Element }} wa-hide - Emitted when the dialog is requested to close. Calling\n *  `event.preventDefault()` will prevent the dialog from closing. You can inspect `event.detail.source` to see which\n *  element caused the dialog to close. If the source is the dialog element itself, the user has pressed [[Escape]] or\n *  the dialog has been closed programmatically. Avoid using this unless closing the dialog will result in destructive\n *  behavior such as data loss.\n * @event wa-after-hide - Emitted after the dialog closes and all animations are complete.\n *\n * @csspart dialog - The dialog's internal `<dialog>` element.\n * @csspart header - The dialog's header. This element wraps the title and header actions.\n * @csspart header-actions - Optional actions to add to the header. Works best with `<wa-button>`.\n * @csspart title - The dialog's title.\n * @csspart close-button - The close button, a `<wa-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n * @csspart body - The dialog's body.\n * @csspart footer - The dialog's footer.\n *\n * @cssproperty --spacing - The amount of space around and between the dialog's content.\n * @cssproperty --width - The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.\n * @cssproperty [--show-duration=200ms] - The animation duration when showing the dialog.\n * @cssproperty [--hide-duration=200ms] - The animation duration when hiding the dialog.\n */",
          "documentation": "https://webawesome.com/docs/components/dialog",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-button"
          ],
          "tagName": "wa-dialog",
          "customElement": true,
          "modulePath": "components/dialog/dialog.js",
          "definitionPath": "components/dialog/dialog.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaDialog",
            "module": "components/dialog/dialog.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-dialog",
          "declaration": {
            "name": "WaDialog",
            "module": "components/dialog/dialog.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/divider/divider.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaDivider",
          "cssProperties": [
            {
              "description": "The color of the divider.",
              "name": "--color"
            },
            {
              "description": "The width of the divider.",
              "name": "--width"
            },
            {
              "description": "The spacing of the divider.",
              "name": "--spacing"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Sets the divider's orientation.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleVerticalChange",
              "type": {
                "text": "handleVerticalChange() => void"
              }
            }
          ],
          "attributes": [
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Sets the divider's orientation.",
              "fieldName": "orientation"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Dividers are used to visually separate or group elements.",
          "jsDoc": "/**\n * @summary Dividers are used to visually separate or group elements.\n * @documentation https://webawesome.com/docs/components/divider\n * @status stable\n * @since 2.0\n *\n * @cssproperty --color - The color of the divider.\n * @cssproperty --width - The width of the divider.\n * @cssproperty --spacing - The spacing of the divider.\n */",
          "documentation": "https://webawesome.com/docs/components/divider",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-divider",
          "customElement": true,
          "modulePath": "components/divider/divider.js",
          "definitionPath": "components/divider/divider.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaDivider",
            "module": "components/divider/divider.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-divider",
          "declaration": {
            "name": "WaDivider",
            "module": "components/divider/divider.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/drawer/drawer.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaDrawer",
          "cssProperties": [
            {
              "description": "The amount of space around and between the drawer's content.",
              "name": "--spacing"
            },
            {
              "description": "The preferred size of the drawer. This will be applied to the drawer's width or height depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens.",
              "name": "--size"
            },
            {
              "description": "The animation duration when showing the drawer.",
              "name": "--show-duration",
              "default": "200ms"
            },
            {
              "description": "The animation duration when hiding the drawer.",
              "name": "--hide-duration",
              "default": "200ms"
            }
          ],
          "cssParts": [
            {
              "description": "The drawer's internal `<dialog>` element.",
              "name": "dialog"
            },
            {
              "description": "The drawer's header. This element wraps the title and header actions.",
              "name": "header"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<wa-button>`.",
              "name": "header-actions"
            },
            {
              "description": "The drawer's title.",
              "name": "title"
            },
            {
              "description": "The close button, a `<wa-button>`.",
              "name": "close-button"
            },
            {
              "description": "The close button's exported `base` part.",
              "name": "close-button__base"
            },
            {
              "description": "The drawer's body.",
              "name": "body"
            },
            {
              "description": "The drawer's footer.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "The drawer's main content.",
              "name": ""
            },
            {
              "description": "The drawer's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<wa-button>`.",
              "name": "header-actions"
            },
            {
              "description": "The drawer's footer, usually one or more buttons representing various options.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'footer', 'header-actions', 'label')"
            },
            {
              "kind": "field",
              "name": "originalTrigger",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "drawer",
              "type": {
                "text": "HTMLDialogElement"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the drawer is open. Toggle this attribute to show and hide the drawer.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The drawer's label as displayed in the header. You should always include a relevant label, as it is required for\nproper accessibility. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'end' | 'bottom' | 'start'"
              },
              "default": "'end'",
              "description": "The direction from which the drawer will open.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutHeader",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the header. This will also remove the default close button.",
              "attribute": "without-header",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "lightDismiss",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "When enabled, the drawer will be closed when the user clicks outside of it.",
              "attribute": "light-dismiss"
            },
            {
              "kind": "method",
              "name": "requestClose",
              "privacy": "private",
              "parameters": [
                {
                  "name": "source",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDialogCancel",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDialogClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDialogPointerDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "privacy": "private",
              "description": "Shows the drawer."
            },
            {
              "description": "Exposes the internal modal utility that controls focus trapping. To temporarily disable focus trapping and allow third-party modals spawned from an active Shoelace modal, call `modal.activateExternal()` when the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Shoelace's focus trapping.",
              "name": "modal",
              "kind": "field"
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaAfterHideEvent"
              }
            },
            {
              "description": "Emitted when the drawer opens.",
              "name": "wa-show",
              "reactName": "onWaShow",
              "eventName": "WaShowEvent"
            },
            {
              "description": "Emitted after the drawer opens and all animations are complete.",
              "name": "wa-after-show",
              "reactName": "onWaAfterShow",
              "eventName": "WaAfterShowEvent"
            },
            {
              "description": "Emitted when the drawer is requesting to close. Calling `event.preventDefault()` will prevent the drawer from closing. You can inspect `event.detail.source` to see which element caused the drawer to close. If the source is the drawer element itself, the user has pressed [[Escape]] or the drawer has been closed programmatically. Avoid using this unless closing the drawer will result in destructive behavior such as data loss.",
              "name": "wa-hide",
              "type": {
                "text": "{ source: Element }"
              },
              "reactName": "onWaHide",
              "eventName": "WaHideEvent"
            },
            {
              "description": "Emitted after the drawer closes and all animations are complete.",
              "name": "wa-after-hide",
              "reactName": "onWaAfterHide",
              "eventName": "WaAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the drawer is open. Toggle this attribute to show and hide the drawer.",
              "fieldName": "open"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The drawer's label as displayed in the header. You should always include a relevant label, as it is required for\nproper accessibility. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'end' | 'bottom' | 'start'"
              },
              "default": "'end'",
              "description": "The direction from which the drawer will open.",
              "fieldName": "placement"
            },
            {
              "name": "without-header",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the header. This will also remove the default close button.",
              "fieldName": "withoutHeader"
            },
            {
              "name": "light-dismiss",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "When enabled, the drawer will be closed when the user clicks outside of it.",
              "fieldName": "lightDismiss"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Drawers slide in from a container to expose additional options and information.",
          "jsDoc": "/**\n * @summary Drawers slide in from a container to expose additional options and information.\n * @documentation https://webawesome.com/docs/components/drawer\n * @status stable\n * @since 2.0\n *\n * @dependency wa-button\n *\n * @slot - The drawer's main content.\n * @slot label - The drawer's label. Alternatively, you can use the `label` attribute.\n * @slot header-actions - Optional actions to add to the header. Works best with `<wa-button>`.\n * @slot footer - The drawer's footer, usually one or more buttons representing various options.\n *\n * @event wa-show - Emitted when the drawer opens.\n * @event wa-after-show - Emitted after the drawer opens and all animations are complete.\n * @event wa-hide - Emitted when the drawer closes.\n * @event wa-after-hide - Emitted after the drawer closes and all animations are complete.\n * @event {{ source: Element }} wa-hide - Emitted when the drawer is requesting to close. Calling\n *  `event.preventDefault()` will prevent the drawer from closing. You can inspect `event.detail.source` to see which\n *  element caused the drawer to close. If the source is the drawer element itself, the user has pressed [[Escape]] or\n *  the drawer has been closed programmatically. Avoid using this unless closing the drawer will result in destructive\n *  behavior such as data loss.\n *\n * @csspart dialog - The drawer's internal `<dialog>` element.\n * @csspart header - The drawer's header. This element wraps the title and header actions.\n * @csspart header-actions - Optional actions to add to the header. Works best with `<wa-button>`.\n * @csspart title - The drawer's title.\n * @csspart close-button - The close button, a `<wa-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n * @csspart body - The drawer's body.\n * @csspart footer - The drawer's footer.\n *\n * @cssproperty --spacing - The amount of space around and between the drawer's content.\n * @cssproperty --size - The preferred size of the drawer. This will be applied to the drawer's width or height\n *   depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens.\n * @cssproperty [--show-duration=200ms] - The animation duration when showing the drawer.\n * @cssproperty [--hide-duration=200ms] - The animation duration when hiding the drawer.\n *\n * @property modal - Exposes the internal modal utility that controls focus trapping. To temporarily disable focus\n *   trapping and allow third-party modals spawned from an active Shoelace modal, call `modal.activateExternal()` when\n *   the third-party modal opens. Upon closing, call `modal.deactivateExternal()` to restore Shoelace's focus trapping.\n */",
          "documentation": "https://webawesome.com/docs/components/drawer",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-button"
          ],
          "tagName": "wa-drawer",
          "customElement": true,
          "modulePath": "components/drawer/drawer.js",
          "definitionPath": "components/drawer/drawer.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaDrawer",
            "module": "components/drawer/drawer.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-drawer",
          "declaration": {
            "name": "WaDrawer",
            "module": "components/drawer/drawer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/dropdown/dropdown.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaDropdown",
          "cssProperties": [
            {
              "description": "The duration of the show animation.",
              "name": "--show-duration"
            },
            {
              "description": "The duration of the hide animation.",
              "name": "--hide-duration"
            }
          ],
          "cssParts": [
            {
              "description": "The component's host element.",
              "name": "base"
            },
            {
              "description": "The dropdown menu container.",
              "name": "menu"
            }
          ],
          "slots": [
            {
              "description": "The dropdown's items, typically `<wa-dropdown-item>` elements.",
              "name": ""
            },
            {
              "description": "The element that triggers the dropdown, such as a `<wa-button>` or `<button>`.",
              "name": "trigger"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[sizeStyles, styles]"
            },
            {
              "kind": "field",
              "name": "submenuCleanups",
              "type": {
                "text": "Map<WaDropdownItem, ReturnType<typeof autoUpdate>>"
              },
              "privacy": "private",
              "default": "new Map()"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "userTypedQuery",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "userTypedTimeout",
              "type": {
                "text": "ReturnType<typeof setTimeout>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "openSubmenuStack",
              "type": {
                "text": "WaDropdownItem[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "menu",
              "type": {
                "text": "HTMLDivElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "WaPopup"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Opens or closes the dropdown.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The dropdown's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'bottom-start'",
              "description": "The placement of the dropdown menu in reference to the trigger. The menu will shift to a more optimal location if\nthe preferred placement doesn't have enough room.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance of the dropdown menu from its trigger.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The offset of the dropdown menu along its trigger.",
              "attribute": "skidding"
            },
            {
              "kind": "method",
              "name": "getItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "WaDropdownItem[]"
                }
              },
              "parameters": [
                {
                  "name": "includeDisabled",
                  "default": "false"
                }
              ],
              "description": "Gets all dropdown items slotted in the menu."
            },
            {
              "kind": "method",
              "name": "getSubmenuItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "WaDropdownItem[]"
                }
              },
              "parameters": [
                {
                  "name": "parentItem",
                  "type": {
                    "text": "WaDropdownItem"
                  }
                },
                {
                  "name": "includeDisabled",
                  "default": "false"
                }
              ],
              "description": "Gets all dropdown items in a specific submenu."
            },
            {
              "kind": "method",
              "name": "syncItemSizes",
              "privacy": "private",
              "description": "Syncs item sizes with the dropdown's size property."
            },
            {
              "kind": "method",
              "name": "addToSubmenuStack",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "WaDropdownItem"
                  }
                }
              ],
              "description": "Handles the submenu navigation stack"
            },
            {
              "kind": "method",
              "name": "removeFromSubmenuStack",
              "privacy": "private",
              "description": "Removes the last item from the submenu stack"
            },
            {
              "kind": "method",
              "name": "getCurrentSubmenuItem",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "WaDropdownItem | undefined"
                }
              },
              "description": "Gets the current active submenu item"
            },
            {
              "kind": "method",
              "name": "closeAllSubmenus",
              "privacy": "private",
              "description": "Closes all submenus in the dropdown."
            },
            {
              "kind": "method",
              "name": "closeSiblingSubmenus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "WaDropdownItem"
                  }
                }
              ],
              "description": "Closes sibling submenus at the same level as the specified item."
            },
            {
              "kind": "method",
              "name": "getTrigger",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLButtonElement | WaButton | null"
                }
              },
              "description": "Get the slotted trigger button, a <wa-button> or <button> element"
            },
            {
              "kind": "method",
              "name": "showMenu",
              "privacy": "private",
              "description": "Shows the dropdown menu. This should only be called from within updated()."
            },
            {
              "kind": "method",
              "name": "hideMenu",
              "privacy": "private",
              "description": "Hides the dropdown menu. This should only be called from within updated()."
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private",
              "description": "Handles key down events when the menu is open"
            },
            {
              "kind": "field",
              "name": "handleDocumentPointerDown",
              "privacy": "private",
              "description": "Handles pointer down events when the dropdown is open."
            },
            {
              "kind": "method",
              "name": "handleMenuClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ],
              "description": "Handles clicks on the menu."
            },
            {
              "kind": "method",
              "name": "handleMenuSlotChange",
              "privacy": "private",
              "description": "Prepares dropdown items when they get added or removed"
            },
            {
              "kind": "method",
              "name": "handleTriggerClick",
              "privacy": "private",
              "description": "Toggles the dropdown menu"
            },
            {
              "kind": "method",
              "name": "handleSubmenuOpening",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "CustomEvent"
                  }
                }
              ],
              "description": "Handles submenu opening events"
            },
            {
              "kind": "method",
              "name": "setupSubmenuPosition",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "WaDropdownItem"
                  }
                }
              ],
              "description": "Sets up submenu positioning with autoUpdate"
            },
            {
              "kind": "method",
              "name": "handleSubmenuSlotChange",
              "privacy": "private",
              "static": true,
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "processSubmenuItems",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "WaDropdownItem"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "cleanupSubmenuPosition",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "WaDropdownItem"
                  }
                }
              ],
              "description": "Cleans up submenu positioning"
            },
            {
              "kind": "method",
              "name": "positionSubmenu",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "WaDropdownItem"
                  }
                }
              ],
              "description": "Positions a submenu relative to its parent item"
            },
            {
              "kind": "method",
              "name": "updateSafeTriangleCoordinates",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "WaDropdownItem"
                  }
                }
              ],
              "description": "Updates the safe triangle coordinates for a submenu"
            },
            {
              "kind": "field",
              "name": "handleGlobalMouseMove",
              "privacy": "private",
              "description": "Handle global mouse movement for safe triangle logic"
            },
            {
              "kind": "method",
              "name": "makeSelection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "WaDropdownItem"
                  }
                }
              ],
              "description": "Makes a selection, emits the wa-select event, and closes the dropdown."
            },
            {
              "kind": "method",
              "name": "syncAriaAttributes",
              "privacy": "private",
              "description": "Syncs aria attributes on the slotted trigger element and the menu based on the dropdown's current state"
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaAfterShowEvent"
              }
            },
            {
              "description": "Emitted when the dropdown is about to show.",
              "name": "wa-show",
              "reactName": "onWaShow",
              "eventName": "WaShowEvent"
            },
            {
              "description": "Emitted after the dropdown has been shown.",
              "name": "wa-after-show",
              "reactName": "onWaAfterShow",
              "eventName": "WaAfterShowEvent"
            },
            {
              "description": "Emitted when the dropdown is about to hide.",
              "name": "wa-hide",
              "reactName": "onWaHide",
              "eventName": "WaHideEvent"
            },
            {
              "description": "Emitted after the dropdown has been hidden.",
              "name": "wa-after-hide",
              "reactName": "onWaAfterHide",
              "eventName": "WaAfterHideEvent"
            },
            {
              "description": "Emitted when an item in the dropdown is selected.",
              "name": "wa-select",
              "reactName": "onWaSelect",
              "eventName": "WaSelectEvent"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Opens or closes the dropdown.",
              "fieldName": "open"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The dropdown's size.",
              "fieldName": "size"
            },
            {
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'bottom-start'",
              "description": "The placement of the dropdown menu in reference to the trigger. The menu will shift to a more optimal location if\nthe preferred placement doesn't have enough room.",
              "fieldName": "placement"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance of the dropdown menu from its trigger.",
              "fieldName": "distance"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The offset of the dropdown menu along its trigger.",
              "fieldName": "skidding"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Dropdowns display a list of options that can be triggered by a button or other element. They support\nkeyboard navigation, submenus, and various customization options.",
          "jsDoc": "/**\n * @summary Dropdowns display a list of options that can be triggered by a button or other element. They support\n *  keyboard navigation, submenus, and various customization options.\n * @documentation https://webawesome.com/docs/components/dropdown\n * @status stable\n * @since 2.0\n *\n * @dependency wa-dropdown-item\n * @dependency wa-popup\n *\n * @event wa-show - Emitted when the dropdown is about to show.\n * @event wa-after-show - Emitted after the dropdown has been shown.\n * @event wa-hide - Emitted when the dropdown is about to hide.\n * @event wa-after-hide - Emitted after the dropdown has been hidden.\n * @event wa-select - Emitted when an item in the dropdown is selected.\n *\n * @slot - The dropdown's items, typically `<wa-dropdown-item>` elements.\n * @slot trigger - The element that triggers the dropdown, such as a `<wa-button>` or `<button>`.\n *\n * @csspart base - The component's host element.\n * @csspart menu - The dropdown menu container.\n *\n * @cssproperty --show-duration - The duration of the show animation.\n * @cssproperty --hide-duration - The duration of the hide animation.\n */",
          "documentation": "https://webawesome.com/docs/components/dropdown",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-dropdown-item",
            "wa-popup"
          ],
          "tagName": "wa-dropdown",
          "customElement": true,
          "modulePath": "components/dropdown/dropdown.js",
          "definitionPath": "components/dropdown/dropdown.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaDropdown",
            "module": "components/dropdown/dropdown.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-dropdown",
          "declaration": {
            "name": "WaDropdown",
            "module": "components/dropdown/dropdown.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/dropdown-item/dropdown-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaDropdownItem",
          "cssParts": [
            {
              "description": "The checkmark icon (a `<wa-icon>` element) when the item is a checkbox.",
              "name": "checkmark"
            },
            {
              "description": "The container for the icon slot.",
              "name": "icon"
            },
            {
              "description": "The container for the label slot.",
              "name": "label"
            },
            {
              "description": "The container for the details slot.",
              "name": "details"
            },
            {
              "description": "The submenu indicator icon (a `<wa-icon>` element).",
              "name": "submenu-icon"
            },
            {
              "description": "The submenu container.",
              "name": "submenu"
            }
          ],
          "slots": [
            {
              "description": "The dropdown item's label.",
              "name": ""
            },
            {
              "description": "An optional icon to display before the label.",
              "name": "icon"
            },
            {
              "description": "Additional content or details to display after the label.",
              "name": "details"
            },
            {
              "description": "Submenu items, typically `<wa-dropdown-item>` elements, to create a nested menu.",
              "name": "submenu"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'start', 'end')"
            },
            {
              "kind": "field",
              "name": "submenuElement",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'danger' | 'default'"
              },
              "default": "'default'",
              "description": "The type of menu item to render.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "An optional value for the menu item. This is useful for determining which item was selected when listening to the\ndropdown's `wa-select` event.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'normal' | 'checkbox'"
              },
              "default": "'normal'",
              "description": "Set to `checkbox` to make the item a checkbox.",
              "attribute": "type",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set to true to check the dropdown item. Only valid when `type` is `checkbox`.",
              "attribute": "checked"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the dropdown item.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "submenuOpen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the submenu is currently open.",
              "attribute": "submenuOpen",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateHasSubmenuState",
              "privacy": "private",
              "description": "Update the has-submenu custom state"
            },
            {
              "kind": "method",
              "name": "openSubmenu",
              "description": "Opens the submenu.",
              "type": {
                "text": "openSubmenu() => void"
              }
            },
            {
              "kind": "method",
              "name": "notifyParentOfOpening",
              "privacy": "private",
              "description": "Notifies the parent dropdown that this item is opening its submenu"
            },
            {
              "kind": "method",
              "name": "closeSubmenu",
              "description": "Closes the submenu.",
              "type": {
                "text": "closeSubmenu() => void"
              }
            },
            {
              "kind": "method",
              "name": "getSubmenuItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "WaDropdownItem[]"
                }
              },
              "description": "Gets all dropdown items in the submenu."
            },
            {
              "kind": "method",
              "name": "handleMouseEnter",
              "privacy": "private",
              "description": "Handles mouse enter to open the submenu"
            }
          ],
          "events": [
            {
              "description": "Emitted when the dropdown item loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the dropdown item gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'danger' | 'default'"
              },
              "default": "'default'",
              "description": "The type of menu item to render.",
              "fieldName": "variant"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "An optional value for the menu item. This is useful for determining which item was selected when listening to the\ndropdown's `wa-select` event.",
              "fieldName": "value"
            },
            {
              "name": "type",
              "type": {
                "text": "'normal' | 'checkbox'"
              },
              "default": "'normal'",
              "description": "Set to `checkbox` to make the item a checkbox.",
              "fieldName": "type"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set to true to check the dropdown item. Only valid when `type` is `checkbox`.",
              "fieldName": "checked"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the dropdown item.",
              "fieldName": "disabled"
            },
            {
              "name": "submenuOpen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the submenu is currently open.",
              "fieldName": "submenuOpen"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Represents an individual item within a dropdown menu, supporting standard items, checkboxes, and submenus.",
          "jsDoc": "/**\n * @summary Represents an individual item within a dropdown menu, supporting standard items, checkboxes, and submenus.\n * @documentation https://webawesome.com/docs/components/dropdown-item\n * @status experimental\n * @since 3.0\n *\n * @dependency wa-icon\n *\n * @event blur - Emitted when the dropdown item loses focus.\n * @event focus - Emitted when the dropdown item gains focus.\n *\n * @slot - The dropdown item's label.\n * @slot icon - An optional icon to display before the label.\n * @slot details - Additional content or details to display after the label.\n * @slot submenu - Submenu items, typically `<wa-dropdown-item>` elements, to create a nested menu.\n *\n * @csspart checkmark - The checkmark icon (a `<wa-icon>` element) when the item is a checkbox.\n * @csspart icon - The container for the icon slot.\n * @csspart label - The container for the label slot.\n * @csspart details - The container for the details slot.\n * @csspart submenu-icon - The submenu indicator icon (a `<wa-icon>` element).\n * @csspart submenu - The submenu container.\n */",
          "documentation": "https://webawesome.com/docs/components/dropdown-item",
          "status": "experimental",
          "since": "3.0",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-dropdown-item",
          "customElement": true,
          "modulePath": "components/dropdown-item/dropdown-item.js",
          "definitionPath": "components/dropdown-item/dropdown-item.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaDropdownItem",
            "module": "components/dropdown-item/dropdown-item.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-dropdown-item",
          "declaration": {
            "name": "WaDropdownItem",
            "module": "components/dropdown-item/dropdown-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/format-bytes/format-bytes.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaFormatBytes",
          "members": [
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number to format in bytes.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "unit",
              "type": {
                "text": "'byte' | 'bit'"
              },
              "default": "'byte'",
              "description": "The type of unit to display.",
              "attribute": "unit"
            },
            {
              "kind": "field",
              "name": "display",
              "type": {
                "text": "'long' | 'short' | 'narrow'"
              },
              "default": "'short'",
              "description": "Determines how to display the result, e.g. \"100 bytes\", \"100 b\", or \"100b\".",
              "attribute": "display"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number to format in bytes.",
              "fieldName": "value"
            },
            {
              "name": "unit",
              "type": {
                "text": "'byte' | 'bit'"
              },
              "default": "'byte'",
              "description": "The type of unit to display.",
              "fieldName": "unit"
            },
            {
              "name": "display",
              "type": {
                "text": "'long' | 'short' | 'narrow'"
              },
              "default": "'short'",
              "description": "Determines how to display the result, e.g. \"100 bytes\", \"100 b\", or \"100b\".",
              "fieldName": "display"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Formats a number as a human readable bytes value.",
          "jsDoc": "/**\n * @summary Formats a number as a human readable bytes value.\n * @documentation https://webawesome.com/docs/components/format-bytes\n * @status stable\n * @since 2.0\n */",
          "documentation": "https://webawesome.com/docs/components/format-bytes",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-format-bytes",
          "customElement": true,
          "modulePath": "components/format-bytes/format-bytes.js",
          "definitionPath": "components/format-bytes/format-bytes.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaFormatBytes",
            "module": "components/format-bytes/format-bytes.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-format-bytes",
          "declaration": {
            "name": "WaFormatBytes",
            "module": "components/format-bytes/format-bytes.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/format-date/format-date.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaFormatDate",
          "members": [
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "date",
              "type": {
                "text": "Date | string"
              },
              "default": "new Date()",
              "description": "The date/time to format. If not set, the current date and time will be used. When passing a string, it's strongly\nrecommended to use the ISO 8601 format to ensure timezones are handled correctly. To convert a date to this format\nin JavaScript, use [`date.toISOString()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString).",
              "attribute": "date"
            },
            {
              "kind": "field",
              "name": "weekday",
              "type": {
                "text": "'narrow' | 'short' | 'long'"
              },
              "description": "The format for displaying the weekday.",
              "attribute": "weekday"
            },
            {
              "kind": "field",
              "name": "era",
              "type": {
                "text": "'narrow' | 'short' | 'long'"
              },
              "description": "The format for displaying the era.",
              "attribute": "era"
            },
            {
              "kind": "field",
              "name": "year",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the year.",
              "attribute": "year"
            },
            {
              "kind": "field",
              "name": "month",
              "type": {
                "text": "'numeric' | '2-digit' | 'narrow' | 'short' | 'long'"
              },
              "description": "The format for displaying the month.",
              "attribute": "month"
            },
            {
              "kind": "field",
              "name": "day",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the day.",
              "attribute": "day"
            },
            {
              "kind": "field",
              "name": "hour",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the hour.",
              "attribute": "hour"
            },
            {
              "kind": "field",
              "name": "minute",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the minute.",
              "attribute": "minute"
            },
            {
              "kind": "field",
              "name": "second",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the second.",
              "attribute": "second"
            },
            {
              "kind": "field",
              "name": "timeZoneName",
              "type": {
                "text": "'short' | 'long'"
              },
              "description": "The format for displaying the time.",
              "attribute": "time-zone-name"
            },
            {
              "kind": "field",
              "name": "timeZone",
              "type": {
                "text": "string"
              },
              "description": "The time zone to express the time in.",
              "attribute": "time-zone"
            },
            {
              "kind": "field",
              "name": "hourFormat",
              "type": {
                "text": "'auto' | '12' | '24'"
              },
              "default": "'auto'",
              "description": "The format for displaying the hour.",
              "attribute": "hour-format"
            }
          ],
          "attributes": [
            {
              "name": "date",
              "type": {
                "text": "Date | string"
              },
              "default": "new Date()",
              "description": "The date/time to format. If not set, the current date and time will be used. When passing a string, it's strongly\nrecommended to use the ISO 8601 format to ensure timezones are handled correctly. To convert a date to this format\nin JavaScript, use [`date.toISOString()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString).",
              "fieldName": "date"
            },
            {
              "name": "weekday",
              "type": {
                "text": "'narrow' | 'short' | 'long'"
              },
              "description": "The format for displaying the weekday.",
              "fieldName": "weekday"
            },
            {
              "name": "era",
              "type": {
                "text": "'narrow' | 'short' | 'long'"
              },
              "description": "The format for displaying the era.",
              "fieldName": "era"
            },
            {
              "name": "year",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the year.",
              "fieldName": "year"
            },
            {
              "name": "month",
              "type": {
                "text": "'numeric' | '2-digit' | 'narrow' | 'short' | 'long'"
              },
              "description": "The format for displaying the month.",
              "fieldName": "month"
            },
            {
              "name": "day",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the day.",
              "fieldName": "day"
            },
            {
              "name": "hour",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the hour.",
              "fieldName": "hour"
            },
            {
              "name": "minute",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the minute.",
              "fieldName": "minute"
            },
            {
              "name": "second",
              "type": {
                "text": "'numeric' | '2-digit'"
              },
              "description": "The format for displaying the second.",
              "fieldName": "second"
            },
            {
              "name": "time-zone-name",
              "type": {
                "text": "'short' | 'long'"
              },
              "description": "The format for displaying the time.",
              "fieldName": "timeZoneName"
            },
            {
              "name": "time-zone",
              "type": {
                "text": "string"
              },
              "description": "The time zone to express the time in.",
              "fieldName": "timeZone"
            },
            {
              "name": "hour-format",
              "type": {
                "text": "'auto' | '12' | '24'"
              },
              "default": "'auto'",
              "description": "The format for displaying the hour.",
              "fieldName": "hourFormat"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Formats a date/time using the specified locale and options.",
          "jsDoc": "/**\n * @summary Formats a date/time using the specified locale and options.\n * @documentation https://webawesome.com/docs/components/format-date\n * @status stable\n * @since 2.0\n */",
          "documentation": "https://webawesome.com/docs/components/format-date",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-format-date",
          "customElement": true,
          "modulePath": "components/format-date/format-date.js",
          "definitionPath": "components/format-date/format-date.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaFormatDate",
            "module": "components/format-date/format-date.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-format-date",
          "declaration": {
            "name": "WaFormatDate",
            "module": "components/format-date/format-date.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/format-number/format-number.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaFormatNumber",
          "members": [
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number to format.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'currency' | 'decimal' | 'percent'"
              },
              "default": "'decimal'",
              "description": "The formatting style to use.",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "withoutGrouping",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Turns off grouping separators.",
              "attribute": "without-grouping"
            },
            {
              "kind": "field",
              "name": "currency",
              "type": {
                "text": "string"
              },
              "default": "'USD'",
              "description": "The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code to use when formatting.",
              "attribute": "currency"
            },
            {
              "kind": "field",
              "name": "currencyDisplay",
              "type": {
                "text": "'symbol' | 'narrowSymbol' | 'code' | 'name'"
              },
              "default": "'symbol'",
              "description": "How to display the currency.",
              "attribute": "currency-display"
            },
            {
              "kind": "field",
              "name": "minimumIntegerDigits",
              "type": {
                "text": "number"
              },
              "description": "The minimum number of integer digits to use. Possible values are 1-21.",
              "attribute": "minimum-integer-digits"
            },
            {
              "kind": "field",
              "name": "minimumFractionDigits",
              "type": {
                "text": "number"
              },
              "description": "The minimum number of fraction digits to use. Possible values are 0-100.",
              "attribute": "minimum-fraction-digits"
            },
            {
              "kind": "field",
              "name": "maximumFractionDigits",
              "type": {
                "text": "number"
              },
              "description": "The maximum number of fraction digits to use. Possible values are 0-100.",
              "attribute": "maximum-fraction-digits"
            },
            {
              "kind": "field",
              "name": "minimumSignificantDigits",
              "type": {
                "text": "number"
              },
              "description": "The minimum number of significant digits to use. Possible values are 1-21.",
              "attribute": "minimum-significant-digits"
            },
            {
              "kind": "field",
              "name": "maximumSignificantDigits",
              "type": {
                "text": "number"
              },
              "description": "The maximum number of significant digits to use,. Possible values are 1-21.",
              "attribute": "maximum-significant-digits"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The number to format.",
              "fieldName": "value"
            },
            {
              "name": "type",
              "type": {
                "text": "'currency' | 'decimal' | 'percent'"
              },
              "default": "'decimal'",
              "description": "The formatting style to use.",
              "fieldName": "type"
            },
            {
              "name": "without-grouping",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Turns off grouping separators.",
              "fieldName": "withoutGrouping"
            },
            {
              "name": "currency",
              "type": {
                "text": "string"
              },
              "default": "'USD'",
              "description": "The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code to use when formatting.",
              "fieldName": "currency"
            },
            {
              "name": "currency-display",
              "type": {
                "text": "'symbol' | 'narrowSymbol' | 'code' | 'name'"
              },
              "default": "'symbol'",
              "description": "How to display the currency.",
              "fieldName": "currencyDisplay"
            },
            {
              "name": "minimum-integer-digits",
              "type": {
                "text": "number"
              },
              "description": "The minimum number of integer digits to use. Possible values are 1-21.",
              "fieldName": "minimumIntegerDigits"
            },
            {
              "name": "minimum-fraction-digits",
              "type": {
                "text": "number"
              },
              "description": "The minimum number of fraction digits to use. Possible values are 0-100.",
              "fieldName": "minimumFractionDigits"
            },
            {
              "name": "maximum-fraction-digits",
              "type": {
                "text": "number"
              },
              "description": "The maximum number of fraction digits to use. Possible values are 0-100.",
              "fieldName": "maximumFractionDigits"
            },
            {
              "name": "minimum-significant-digits",
              "type": {
                "text": "number"
              },
              "description": "The minimum number of significant digits to use. Possible values are 1-21.",
              "fieldName": "minimumSignificantDigits"
            },
            {
              "name": "maximum-significant-digits",
              "type": {
                "text": "number"
              },
              "description": "The maximum number of significant digits to use,. Possible values are 1-21.",
              "fieldName": "maximumSignificantDigits"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Formats a number using the specified locale and options.",
          "jsDoc": "/**\n * @summary Formats a number using the specified locale and options.\n * @documentation https://webawesome.com/docs/components/format-number\n * @status stable\n * @since 2.0\n */",
          "documentation": "https://webawesome.com/docs/components/format-number",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-format-number",
          "customElement": true,
          "modulePath": "components/format-number/format-number.js",
          "definitionPath": "components/format-number/format-number.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaFormatNumber",
            "module": "components/format-number/format-number.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-format-number",
          "declaration": {
            "name": "WaFormatNumber",
            "module": "components/format-number/format-number.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/icon/icon.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaIcon",
          "cssProperties": [
            {
              "description": "Sets a duotone icon's primary color.",
              "name": "--primary-color",
              "default": "currentColor"
            },
            {
              "description": "Sets a duotone icon's primary opacity.",
              "name": "--primary-opacity",
              "default": "1"
            },
            {
              "description": "Sets a duotone icon's secondary color.",
              "name": "--secondary-color",
              "default": "currentColor"
            },
            {
              "description": "Sets a duotone icon's secondary opacity.",
              "name": "--secondary-opacity",
              "default": "0.4"
            }
          ],
          "cssParts": [
            {
              "description": "The internal SVG element.",
              "name": "svg"
            },
            {
              "description": "The `<use>` element generated when using `spriteSheet: true`",
              "name": "use"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "svg",
              "type": {
                "text": "SVGElement | HTMLTemplateResult | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | undefined"
              },
              "description": "The name of the icon to draw. Available names depend on the icon library being used.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "family",
              "type": {
                "text": "string"
              },
              "description": "The family of icons to choose from. For Font Awesome Free, valid options include `classic` and `brands`. For\nFont Awesome Pro subscribers, valid options include, `classic`, `sharp`, `duotone`, `sharp-duotone`, and `brands`.\nA valid kit code must be present to show pro icons via CDN. You can set `<html data-fa-kit-code=\"...\">` to provide\none.",
              "attribute": "family",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "string"
              },
              "description": "The name of the icon's variant. For Font Awesome, valid options include `thin`, `light`, `regular`, and `solid` for\nthe `classic` and `sharp` families. Some variants require a Font Awesome Pro subscription. Custom icon libraries\nmay or may not use this property.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autoWidth",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the width of the icon to match the cropped SVG viewBox. This operates like the Font `fa-width-auto` class.",
              "attribute": "auto-width",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "swapOpacity",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Swaps the opacity of duotone icons.",
              "attribute": "swap-opacity",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string | undefined"
              },
              "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "library",
              "type": {
                "text": "string"
              },
              "default": "'default'",
              "description": "The name of a registered custom icon library.",
              "attribute": "library",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "getIconSource",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "IconSource"
                }
              }
            },
            {
              "kind": "field",
              "name": "resolveIcon",
              "privacy": "private",
              "description": "Given a URL, this function returns the resulting SVG element or an appropriate error symbol."
            },
            {
              "kind": "method",
              "name": "handleLabelChange",
              "type": {
                "text": "handleLabelChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "setIcon",
              "type": {
                "text": "setIcon() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaErrorEvent"
              }
            },
            {
              "description": "Emitted when the icon has loaded. When using `spriteSheet: true` this will not emit.",
              "name": "wa-load",
              "reactName": "onWaLoad",
              "eventName": "WaLoadEvent"
            },
            {
              "description": "Emitted when the icon fails to load due to an error. When using `spriteSheet: true` this will not emit.",
              "name": "wa-error",
              "reactName": "onWaError",
              "eventName": "WaErrorEvent"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string | undefined"
              },
              "description": "The name of the icon to draw. Available names depend on the icon library being used.",
              "fieldName": "name"
            },
            {
              "name": "family",
              "type": {
                "text": "string"
              },
              "description": "The family of icons to choose from. For Font Awesome Free, valid options include `classic` and `brands`. For\nFont Awesome Pro subscribers, valid options include, `classic`, `sharp`, `duotone`, `sharp-duotone`, and `brands`.\nA valid kit code must be present to show pro icons via CDN. You can set `<html data-fa-kit-code=\"...\">` to provide\none.",
              "fieldName": "family"
            },
            {
              "name": "variant",
              "type": {
                "text": "string"
              },
              "description": "The name of the icon's variant. For Font Awesome, valid options include `thin`, `light`, `regular`, and `solid` for\nthe `classic` and `sharp` families. Some variants require a Font Awesome Pro subscription. Custom icon libraries\nmay or may not use this property.",
              "fieldName": "variant"
            },
            {
              "name": "auto-width",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Sets the width of the icon to match the cropped SVG viewBox. This operates like the Font `fa-width-auto` class.",
              "fieldName": "autoWidth"
            },
            {
              "name": "swap-opacity",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Swaps the opacity of duotone icons.",
              "fieldName": "swapOpacity"
            },
            {
              "name": "src",
              "type": {
                "text": "string | undefined"
              },
              "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
              "fieldName": "src"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
              "fieldName": "label"
            },
            {
              "name": "library",
              "type": {
                "text": "string"
              },
              "default": "'default'",
              "description": "The name of a registered custom icon library.",
              "fieldName": "library"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Icons are symbols that can be used to represent various options within an application.",
          "jsDoc": "/**\n * @summary Icons are symbols that can be used to represent various options within an application.\n * @documentation https://webawesome.com/docs/components/icon\n * @status stable\n * @since 2.0\n *\n * @event wa-load - Emitted when the icon has loaded. When using `spriteSheet: true` this will not emit.\n * @event wa-error - Emitted when the icon fails to load due to an error. When using `spriteSheet: true` this will not emit.\n *\n * @csspart svg - The internal SVG element.\n * @csspart use - The `<use>` element generated when using `spriteSheet: true`\n *\n * @cssproperty [--primary-color=currentColor] - Sets a duotone icon's primary color.\n * @cssproperty [--primary-opacity=1] - Sets a duotone icon's primary opacity.\n * @cssproperty [--secondary-color=currentColor] - Sets a duotone icon's secondary color.\n * @cssproperty [--secondary-opacity=0.4] - Sets a duotone icon's secondary opacity.\n */",
          "documentation": "https://webawesome.com/docs/components/icon",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-icon",
          "customElement": true,
          "modulePath": "components/icon/icon.js",
          "definitionPath": "components/icon/icon.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaIcon",
            "module": "components/icon/icon.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-icon",
          "declaration": {
            "name": "WaIcon",
            "module": "components/icon/icon.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/icon/library.default.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "library",
          "type": {
            "text": "IconLibrary"
          },
          "default": "{ name: 'default', resolver: (name: string, family = 'classic', variant = 'solid') => { return getIconUrl(name, family, variant); }, mutator: (svg, hostEl) => { // Duotone families if (hostEl?.family && !svg.hasAttribute('data-duotone-initialized')) { const { family, variant } = hostEl; if ( // Duotone family === 'duotone' || // Sharp duotone family === 'sharp-duotone' || // Notdog duo-solid (family === 'notdog' && variant === 'duo-solid') || // Jelly duo-regular (family === 'jelly' && variant === 'duo-regular') || // Thumbprint family === 'thumbprint' ) { // Identify the primary and secondary paths. The secondary path is the one that has an opacity attribute. const paths = [...svg.querySelectorAll<SVGPathElement>('path')]; const primaryPath = paths.find(p => !p.hasAttribute('opacity')); const secondaryPath = paths.find(p => p.hasAttribute('opacity')); if (!primaryPath || !secondaryPath) return; primaryPath.setAttribute('data-duotone-primary', ''); secondaryPath.setAttribute('data-duotone-secondary', ''); // Swap the primary and secondary opacity using CSS custom properties if (hostEl.swapOpacity && primaryPath && secondaryPath) { const originalOpacity = secondaryPath.getAttribute('opacity') || '0.4'; // Set path-specific opacity custom properties primaryPath.style.setProperty('--path-opacity', originalOpacity); secondaryPath.style.setProperty('--path-opacity', '1'); } svg.setAttribute('data-duotone-initialized', ''); } } }, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "library",
            "module": "components/icon/library.default.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/icon/library.system.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "icons",
          "type": {
            "text": "{ [key: string]: { [key: string]: string } }"
          },
          "default": "{ // // Solid variant // solid: { check: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z\"/></svg>`, 'chevron-down': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"/></svg>`, 'chevron-left': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"/></svg>`, 'chevron-right': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M311.1 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L243.2 256 73.9 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"/></svg>`, circle: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0z\"/></svg>`, eyedropper: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M341.6 29.2l-101.6 101.6-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4 101.6-101.6c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6l0 42.4-26.6 39.9c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4l39.9-26.6 42.4 0c21.2 0 41.6-8.4 56.6-23.4l109.4-109.4-45.3-45.3-109.4 109.4c-3 3-7.1 4.7-11.3 4.7l-36.1 0 0-36.1c0-4.2 1.7-8.3 4.7-11.3l109.4-109.4-45.3-45.3-109.4 109.4z\"/></svg>`, 'grip-vertical': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M128 40c0-22.1-17.9-40-40-40L40 0C17.9 0 0 17.9 0 40L0 88c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zm0 192c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zM0 424l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM320 40c0-22.1-17.9-40-40-40L232 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zM192 232l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM320 424c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48z\"/></svg>`, indeterminate: `<svg part=\"indeterminate-icon\" class=\"icon\" viewBox=\"0 0 16 16\"><g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\"><g stroke=\"currentColor\" stroke-width=\"2\"><g transform=\"translate(2.285714 6.857143)\"><path d=\"M10.2857143,1.14285714 L1.14285714,1.14285714\"/></g></g></g></svg>`, minus: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z\"/></svg>`, pause: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M48 32C21.5 32 0 53.5 0 80L0 432c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48L48 32zm224 0c-26.5 0-48 21.5-48 48l0 352c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48l-64 0z\"/></svg>`, play: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M91.2 36.9c-12.4-6.8-27.4-6.5-39.6 .7S32 57.9 32 72l0 368c0 14.1 7.5 27.2 19.6 34.4s27.2 7.5 39.6 .7l336-184c12.8-7 20.8-20.5 20.8-35.1s-8-28.1-20.8-35.1l-336-184z\"/></svg>`, star: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z\"/></svg>`, user: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224 248a120 120 0 1 0 0-240 120 120 0 1 0 0 240zm-29.7 56C95.8 304 16 383.8 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-98.5-79.8-178.3-178.3-178.3l-59.4 0z\"/></svg>`, xmark: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z\"/></svg>`, }, // // Regular variant // regular: { 'circle-question': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M464 256a208 208 0 1 0 -416 0 208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0zm256-80c-17.7 0-32 14.3-32 32 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 47.2-36 67.2-56 74.5l0 3.8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8.1c0-20.5 14.8-35.2 30.1-40.2 6.4-2.1 13.2-5.5 18.2-10.3 4.3-4.2 7.7-10 7.7-19.6 0-17.7-14.3-32-32-32zM224 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"/></svg>`, 'circle-xmark': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464a256 256 0 1 0 0-512 256 256 0 1 0 0 512zM167 167c-9.4 9.4-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55c-9.4-9.4-24.6-9.4-33.9 0z\"/></svg>`, copy: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M384 336l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l133.5 0c4.2 0 8.3 1.7 11.3 4.7l58.5 58.5c3 3 4.7 7.1 4.7 11.3L400 320c0 8.8-7.2 16-16 16zM192 384l192 0c35.3 0 64-28.7 64-64l0-197.5c0-17-6.7-33.3-18.7-45.3L370.7 18.7C358.7 6.7 342.5 0 325.5 0L192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-16-48 0 0 16c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l16 0 0-48-16 0z\"/></svg>`, eye: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M288 80C222.8 80 169.2 109.6 128.1 147.7 89.6 183.5 63 226 49.4 256 63 286 89.6 328.5 128.1 364.3 169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256 513 226 486.4 183.5 447.9 147.7 406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1 3.3 7.9 3.3 16.7 0 24.6-14.9 35.7-46.2 87.7-93 131.1-47.1 43.7-111.8 80.6-192.6 80.6S142.5 443.2 95.4 399.4c-46.8-43.5-78.1-95.4-93-131.1-3.3-7.9-3.3-16.7 0-24.6 14.9-35.7 46.2-87.7 93-131.1zM288 336c44.2 0 80-35.8 80-80 0-29.6-16.1-55.5-40-69.3-1.4 59.7-49.6 107.9-109.3 109.3 13.8 23.9 39.7 40 69.3 40zm-79.6-88.4c2.5 .3 5 .4 7.6 .4 35.3 0 64-28.7 64-64 0-2.6-.2-5.1-.4-7.6-37.4 3.9-67.2 33.7-71.1 71.1zm45.6-115c10.8-3 22.2-4.5 33.9-4.5 8.8 0 17.5 .9 25.8 2.6 .3 .1 .5 .1 .8 .2 57.9 12.2 101.4 63.7 101.4 125.2 0 70.7-57.3 128-128 128-61.6 0-113-43.5-125.2-101.4-1.8-8.6-2.8-17.5-2.8-26.6 0-11 1.4-21.8 4-32 .2-.7 .3-1.3 .5-1.9 11.9-43.4 46.1-77.6 89.5-89.5z\"/></svg>`, 'eye-slash': `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M41-24.9c-9.4-9.4-24.6-9.4-33.9 0S-2.3-.3 7 9.1l528 528c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-96.4-96.4c2.7-2.4 5.4-4.8 8-7.2 46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6-56.8 0-105.6 18.2-146 44.2L41-24.9zM176.9 111.1c32.1-18.9 69.2-31.1 111.1-31.1 65.2 0 118.8 29.6 159.9 67.7 38.5 35.7 65.1 78.3 78.6 108.3-13.6 30-40.2 72.5-78.6 108.3-3.1 2.8-6.2 5.6-9.4 8.4L393.8 328c14-20.5 22.2-45.3 22.2-72 0-70.7-57.3-128-128-128-26.7 0-51.5 8.2-72 22.2l-39.1-39.1zm182 182l-108-108c11.1-5.8 23.7-9.1 37.1-9.1 44.2 0 80 35.8 80 80 0 13.4-3.3 26-9.1 37.1zM103.4 173.2l-34-34c-32.6 36.8-55 75.8-66.9 104.5-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6 37.3 0 71.2-7.9 101.5-20.6L352.2 422c-20 6.4-41.4 10-64.2 10-65.2 0-118.8-29.6-159.9-67.7-38.5-35.7-65.1-78.3-78.6-108.3 10.4-23.1 28.6-53.6 54-82.8z\"/></svg>`, star: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M288.1-32c9 0 17.3 5.1 21.4 13.1L383 125.3 542.9 150.7c8.9 1.4 16.3 7.7 19.1 16.3s.5 18-5.8 24.4L441.7 305.9 467 465.8c1.4 8.9-2.3 17.9-9.6 23.2s-17 6.1-25 2L288.1 417.6 143.8 491c-8 4.1-17.7 3.3-25-2s-11-14.2-9.6-23.2L134.4 305.9 20 191.4c-6.4-6.4-8.6-15.8-5.8-24.4s10.1-14.9 19.1-16.3l159.9-25.4 73.6-144.2c4.1-8 12.4-13.1 21.4-13.1zm0 76.8L230.3 158c-3.5 6.8-10 11.6-17.6 12.8l-125.5 20 89.8 89.9c5.4 5.4 7.9 13.1 6.7 20.7l-19.8 125.5 113.3-57.6c6.8-3.5 14.9-3.5 21.8 0l113.3 57.6-19.8-125.5c-1.2-7.6 1.3-15.3 6.7-20.7l89.8-89.9-125.5-20c-7.6-1.2-14.1-6-17.6-12.8L288.1 44.8z\"/></svg>`, }, }"
        },
        {
          "kind": "variable",
          "name": "systemLibrary",
          "type": {
            "text": "IconLibrary"
          },
          "default": "{ name: 'system', resolver: (name: string, _family = 'classic', variant = 'solid') => { let collection = icons[variant]; // Fall back to a question mark if the icon is missing let svg = collection[name] ?? icons.regular[name] ?? icons.regular['circle-question']; if (svg) { return dataUri(svg); } return ''; }, }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "icons",
          "declaration": {
            "name": "icons",
            "module": "components/icon/library.system.js"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "systemLibrary",
            "module": "components/icon/library.system.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/icon/library.js",
      "declarations": [
        {
          "kind": "function",
          "name": "watchIcon",
          "parameters": [
            {
              "name": "icon",
              "type": {
                "text": "WaIcon"
              }
            }
          ],
          "description": "Adds an icon to the list of watched icons."
        },
        {
          "kind": "function",
          "name": "unwatchIcon",
          "parameters": [
            {
              "name": "icon",
              "type": {
                "text": "WaIcon"
              }
            }
          ],
          "description": "Removes an icon from the list of watched icons."
        },
        {
          "kind": "function",
          "name": "getIconLibrary",
          "parameters": [
            {
              "name": "name",
              "optional": true,
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Returns a library from the registry."
        },
        {
          "kind": "function",
          "name": "registerIconLibrary",
          "parameters": [
            {
              "name": "name",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "options",
              "type": {
                "text": "Omit<IconLibrary, 'name'>"
              }
            }
          ],
          "description": "Adds an icon library to the registry, or overrides an existing one."
        },
        {
          "kind": "function",
          "name": "unregisterIconLibrary",
          "parameters": [
            {
              "name": "name",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Removes an icon library from the registry."
        },
        {
          "kind": "function",
          "name": "setDefaultIconFamily",
          "parameters": [
            {
              "name": "family",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Sets the default icon family."
        },
        {
          "kind": "function",
          "name": "getDefaultIconFamily",
          "description": "Gets the default icon family."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "watchIcon",
          "declaration": {
            "name": "watchIcon",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "unwatchIcon",
          "declaration": {
            "name": "unwatchIcon",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "getIconLibrary",
          "declaration": {
            "name": "getIconLibrary",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "registerIconLibrary",
          "declaration": {
            "name": "registerIconLibrary",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "unregisterIconLibrary",
          "declaration": {
            "name": "unregisterIconLibrary",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "setDefaultIconFamily",
          "declaration": {
            "name": "setDefaultIconFamily",
            "module": "components/icon/library.js"
          }
        },
        {
          "kind": "js",
          "name": "getDefaultIconFamily",
          "declaration": {
            "name": "getDefaultIconFamily",
            "module": "components/icon/library.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/include/include.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaInclude",
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "description": "The location of the HTML file to include. Be sure you trust the content you are including as it will be executed as\ncode and can result in XSS attacks.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "mode",
              "type": {
                "text": "'cors' | 'no-cors' | 'same-origin'"
              },
              "default": "'cors'",
              "description": "The fetch mode to use.",
              "attribute": "mode"
            },
            {
              "kind": "field",
              "name": "allowScripts",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows included scripts to be executed. Be sure you trust the content you are including as it will be executed as\ncode and can result in XSS attacks.",
              "attribute": "allow-scripts"
            },
            {
              "kind": "method",
              "name": "executeScript",
              "privacy": "private",
              "parameters": [
                {
                  "name": "script",
                  "type": {
                    "text": "HTMLScriptElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSrcChange",
              "type": {
                "text": "handleSrcChange() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaIncludeErrorEvent"
              }
            },
            {
              "description": "Emitted when the included file is loaded.",
              "name": "wa-load",
              "reactName": "onWaLoad",
              "eventName": "WaLoadEvent"
            },
            {
              "type": {
                "text": "{ status: number }"
              },
              "description": "Emitted when the included file fails to load due to an error.",
              "name": "wa-include-error",
              "reactName": "onWaIncludeError",
              "eventName": "WaIncludeErrorEvent"
            }
          ],
          "attributes": [
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "description": "The location of the HTML file to include. Be sure you trust the content you are including as it will be executed as\ncode and can result in XSS attacks.",
              "fieldName": "src"
            },
            {
              "name": "mode",
              "type": {
                "text": "'cors' | 'no-cors' | 'same-origin'"
              },
              "default": "'cors'",
              "description": "The fetch mode to use.",
              "fieldName": "mode"
            },
            {
              "name": "allow-scripts",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows included scripts to be executed. Be sure you trust the content you are including as it will be executed as\ncode and can result in XSS attacks.",
              "fieldName": "allowScripts"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Includes give you the power to embed external HTML files into the page.",
          "jsDoc": "/**\n * @summary Includes give you the power to embed external HTML files into the page.\n * @documentation https://webawesome.com/docs/components/include\n * @status stable\n * @since 2.0\n *\n * @event wa-load - Emitted when the included file is loaded.\n * @event {{ status: number }} wa-include-error - Emitted when the included file fails to load due to an error.\n */",
          "documentation": "https://webawesome.com/docs/components/include",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-include",
          "customElement": true,
          "modulePath": "components/include/include.js",
          "definitionPath": "components/include/include.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaInclude",
            "module": "components/include/include.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-include",
          "declaration": {
            "name": "WaInclude",
            "module": "components/include/include.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/include/request.js",
      "declarations": [
        {
          "kind": "function",
          "name": "requestInclude",
          "return": {
            "type": {
              "text": "Promise<IncludeFile>"
            }
          },
          "parameters": [
            {
              "name": "src",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "mode",
              "default": "'cors'",
              "type": {
                "text": "'cors' | 'no-cors' | 'same-origin'"
              }
            }
          ],
          "description": "Fetches an include file from a remote source. Caching is enabled so the origin is only pinged once."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "requestInclude",
          "declaration": {
            "name": "requestInclude",
            "module": "components/include/request.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/input/input.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaInput",
          "cssParts": [
            {
              "description": "The label",
              "name": "label"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            },
            {
              "description": "The wrapper being rendered as an input",
              "name": "base"
            },
            {
              "description": "The internal `<input>` control.",
              "name": "input"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The clear button.",
              "name": "clear-button"
            },
            {
              "description": "The password toggle button.",
              "name": "password-toggle-button"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            }
          ],
          "slots": [
            {
              "description": "The input's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "An element, such as `<wa-icon>`, placed at the start of the input control.",
              "name": "start"
            },
            {
              "description": "An element, such as `<wa-icon>`, placed at the end of the input control.",
              "name": "end"
            },
            {
              "description": "An icon to use in lieu of the default clear icon.",
              "name": "clear-icon"
            },
            {
              "description": "An icon to use in lieu of the default show password icon.",
              "name": "show-password-icon"
            },
            {
              "description": "An icon to use in lieu of the default hide password icon.",
              "name": "hide-password-icon"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[sizeStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...WebAwesomeFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "validators",
              "static": true,
              "readonly": true
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "array"
              },
              "default": "['blur', 'input']"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint', 'label')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "| 'date'\n    | 'datetime-local'\n    | 'email'\n    | 'number'\n    | 'password'\n    | 'search'\n    | 'tel'\n    | 'text'\n    | 'time'\n    | 'url'"
              },
              "default": "'text'",
              "description": "The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.",
              "attribute": "type",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The current value of the input, submitted as a name/value pair with form data."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The input's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'filled' | 'outlined' | 'filled-outlined'"
              },
              "default": "'outlined'",
              "description": "The input's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's hint. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint"
            },
            {
              "kind": "field",
              "name": "withClear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "attribute": "with-clear"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "passwordToggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a button to toggle the password's visibility. Only applies to password types.",
              "attribute": "password-toggle"
            },
            {
              "kind": "field",
              "name": "passwordVisible",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Determines whether or not the password is currently visible. Only applies to password input types.",
              "attribute": "password-visible"
            },
            {
              "kind": "field",
              "name": "withoutSpinButtons",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the browser's built-in increment/decrement spin buttons for number inputs.",
              "attribute": "without-spin-buttons"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pattern",
              "type": {
                "text": "string"
              },
              "description": "A regular expression pattern to validate input against.",
              "attribute": "pattern"
            },
            {
              "kind": "field",
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "description": "The minimum length of input that will be considered valid.",
              "attribute": "minlength"
            },
            {
              "kind": "field",
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "attribute": "maxlength"
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "number | string"
              },
              "description": "The input's minimum value. Only applies to date and number input types.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number | string"
              },
              "description": "The input's maximum value. Only applies to date and number input types.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number | 'any'"
              },
              "description": "Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "autocapitalize",
              "type": {
                "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
              },
              "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
              "attribute": "autocapitalize"
            },
            {
              "kind": "field",
              "name": "autocorrect",
              "type": {
                "text": "'off' | 'on'"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off.",
              "attribute": "autocorrect"
            },
            {
              "kind": "field",
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "attribute": "autocomplete"
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "attribute": "enterkeyhint"
            },
            {
              "kind": "field",
              "name": "spellcheck",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enables spell checking on the input.",
              "attribute": "spellcheck"
            },
            {
              "kind": "field",
              "name": "inputmode",
              "type": {
                "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
              },
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "attribute": "inputmode"
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. Will determine if the SSRed component will have the label slot rendered on initial paint.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. Will determine if the SSRed component will have the hint slot rendered on initial paint.",
              "attribute": "with-hint"
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClearClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handlePasswordToggle",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleStepChange",
              "type": {
                "text": "handleStepChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the input.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the input.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "select",
              "description": "Selects all the text in the input.",
              "type": {
                "text": "select() => void"
              }
            },
            {
              "kind": "method",
              "name": "setSelectionRange",
              "parameters": [
                {
                  "name": "selectionStart",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionEnd",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionDirection",
                  "default": "'none'",
                  "type": {
                    "text": "'forward' | 'backward' | 'none'"
                  }
                }
              ],
              "description": "Sets the start and end positions of the text selection (0-based).",
              "type": {
                "text": "setSelectionRange(selectionStart: number, selectionEnd: number, selectionDirection: 'forward' | 'backward' | 'none' = 'none') => void"
              }
            },
            {
              "kind": "method",
              "name": "setRangeText",
              "parameters": [
                {
                  "name": "replacement",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "start",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "end",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectMode",
                  "default": "'preserve'",
                  "type": {
                    "text": "'select' | 'start' | 'end' | 'preserve'"
                  }
                }
              ],
              "description": "Replaces a range of text with a new string.",
              "type": {
                "text": "setRangeText(replacement: string, start?: number, end?: number, selectMode: 'select' | 'start' | 'end' | 'preserve' = 'preserve') => void"
              }
            },
            {
              "kind": "method",
              "name": "showPicker",
              "description": "Displays the browser picker for an input element (only works if the browser supports it for the input type).",
              "type": {
                "text": "showPicker() => void"
              }
            },
            {
              "kind": "method",
              "name": "stepUp",
              "description": "Increments the value of a numeric input type by the value of the step attribute.",
              "type": {
                "text": "stepUp() => void"
              }
            },
            {
              "kind": "method",
              "name": "stepDown",
              "description": "Decrements the value of a numeric input type by the value of the step attribute.",
              "type": {
                "text": "stepDown() => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "type": {
                "text": "formResetCallback() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaClearEvent"
              }
            },
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "wa-clear",
              "reactName": "onWaClear",
              "eventName": "WaClearEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "wa-invalid",
              "reactName": "onWaInvalid",
              "eventName": "WaInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "type",
              "type": {
                "text": "| 'date'\n    | 'datetime-local'\n    | 'email'\n    | 'number'\n    | 'password'\n    | 'search'\n    | 'tel'\n    | 'text'\n    | 'time'\n    | 'url'"
              },
              "default": "'text'",
              "description": "The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.",
              "fieldName": "type"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultValue"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The input's size.",
              "fieldName": "size"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'filled' | 'outlined' | 'filled-outlined'"
              },
              "default": "'outlined'",
              "description": "The input's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style input with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input's hint. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint"
            },
            {
              "name": "with-clear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the input is not empty.",
              "fieldName": "withClear"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "password-toggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a button to toggle the password's visibility. Only applies to password types.",
              "fieldName": "passwordToggle"
            },
            {
              "name": "password-visible",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Determines whether or not the password is currently visible. Only applies to password input types.",
              "fieldName": "passwordVisible"
            },
            {
              "name": "without-spin-buttons",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the browser's built-in increment/decrement spin buttons for number inputs.",
              "fieldName": "withoutSpinButtons"
            },
            {
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "fieldName": "required"
            },
            {
              "name": "pattern",
              "type": {
                "text": "string"
              },
              "description": "A regular expression pattern to validate input against.",
              "fieldName": "pattern"
            },
            {
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "description": "The minimum length of input that will be considered valid.",
              "fieldName": "minlength"
            },
            {
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "fieldName": "maxlength"
            },
            {
              "name": "min",
              "type": {
                "text": "number | string"
              },
              "description": "The input's minimum value. Only applies to date and number input types.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "number | string"
              },
              "description": "The input's maximum value. Only applies to date and number input types.",
              "fieldName": "max"
            },
            {
              "name": "step",
              "type": {
                "text": "number | 'any'"
              },
              "description": "Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.",
              "fieldName": "step"
            },
            {
              "name": "autocapitalize",
              "type": {
                "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
              },
              "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
              "fieldName": "autocapitalize"
            },
            {
              "name": "autocorrect",
              "type": {
                "text": "'off' | 'on'"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off.",
              "fieldName": "autocorrect"
            },
            {
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "fieldName": "autocomplete"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "fieldName": "autofocus"
            },
            {
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "fieldName": "enterkeyhint"
            },
            {
              "name": "spellcheck",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enables spell checking on the input.",
              "fieldName": "spellcheck"
            },
            {
              "name": "inputmode",
              "type": {
                "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
              },
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "fieldName": "inputmode"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. Will determine if the SSRed component will have the label slot rendered on initial paint.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. Will determine if the SSRed component will have the hint slot rendered on initial paint.",
              "fieldName": "withHint"
            }
          ],
          "cssStates": [
            {
              "description": "The input is empty.",
              "name": "blank"
            }
          ],
          "superclass": {
            "name": "WebAwesomeFormAssociatedElement",
            "module": "/src/internal/webawesome-form-associated-element.js"
          },
          "summary": "Inputs collect data from the user.",
          "jsDoc": "/**\n * @summary Inputs collect data from the user.\n * @documentation https://webawesome.com/docs/components/input\n * @status stable\n * @since 2.0\n *\n * @dependency wa-icon\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot start - An element, such as `<wa-icon>`, placed at the start of the input control.\n * @slot end - An element, such as `<wa-icon>`, placed at the end of the input control.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot show-password-icon - An icon to use in lieu of the default show password icon.\n * @slot hide-password-icon - An icon to use in lieu of the default hide password icon.\n * @slot hint - Text that describes how to use the input. Alternatively, you can use the `hint` attribute.\n *\n * @event blur - Emitted when the control loses focus.\n * @event change - Emitted when an alteration to the control's value is committed by the user.\n * @event focus - Emitted when the control gains focus.\n * @event input - Emitted when the control receives input.\n * @event wa-clear - Emitted when the clear button is activated.\n * @event wa-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart label - The label\n * @csspart hint - The hint's wrapper.\n * @csspart base - The wrapper being rendered as an input\n * @csspart input - The internal `<input>` control.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart clear-button - The clear button.\n * @csspart password-toggle-button - The password toggle button.\n * @csspart end - The container that wraps the `end` slot.\n *\n * @cssstate blank - The input is empty.\n */",
          "documentation": "https://webawesome.com/docs/components/input",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-input",
          "customElement": true,
          "modulePath": "components/input/input.js",
          "definitionPath": "components/input/input.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaInput",
            "module": "components/input/input.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-input",
          "declaration": {
            "name": "WaInput",
            "module": "components/input/input.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/intersection-observer/intersection-observer.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaIntersectionObserver",
          "slots": [
            {
              "description": "Elements to track. Only immediate children of the host are monitored.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "intersectionObserver",
              "type": {
                "text": "IntersectionObserver | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "observedElements",
              "privacy": "private",
              "default": "new Map<Element, boolean>()"
            },
            {
              "kind": "field",
              "name": "root",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Element ID to define the viewport boundaries for tracked targets.",
              "attribute": "root"
            },
            {
              "kind": "field",
              "name": "rootMargin",
              "type": {
                "text": "string"
              },
              "default": "'0px'",
              "description": "Offset space around the root boundary. Accepts values like CSS margin syntax.",
              "attribute": "root-margin"
            },
            {
              "kind": "field",
              "name": "threshold",
              "type": {
                "text": "string"
              },
              "default": "'0'",
              "description": "One or more space-separated values representing visibility percentages that trigger the observer callback.",
              "attribute": "threshold"
            },
            {
              "kind": "field",
              "name": "intersectClass",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "CSS class applied to elements during intersection. Automatically removed when elements leave\nthe viewport, enabling pure CSS styling based on visibility state.",
              "attribute": "intersect-class"
            },
            {
              "kind": "field",
              "name": "once",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If enabled, observation ceases after initial intersection.",
              "attribute": "once",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Deactivates the intersection observer functionality.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "parseThreshold",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number[]"
                }
              },
              "description": "Converts threshold property string into numeric array."
            },
            {
              "kind": "method",
              "name": "resolveRoot",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Element | null"
                }
              },
              "description": "Locates and returns the root element using the specified ID."
            },
            {
              "kind": "method",
              "name": "startObserver",
              "privacy": "private",
              "description": "Initializes or reinitializes the intersection observer instance."
            },
            {
              "kind": "method",
              "name": "stopObserver",
              "privacy": "private",
              "description": "Halts the intersection observer and cleans up."
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleOptionsChange",
              "type": {
                "text": "handleOptionsChange() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ entry: IntersectionObserverEntry }"
              },
              "description": "Fired when a tracked element begins or ceases intersecting.",
              "name": "wa-intersect",
              "reactName": "onWaIntersect",
              "eventName": "WaIntersectEvent"
            }
          ],
          "attributes": [
            {
              "name": "root",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "Element ID to define the viewport boundaries for tracked targets.",
              "fieldName": "root"
            },
            {
              "name": "root-margin",
              "type": {
                "text": "string"
              },
              "default": "'0px'",
              "description": "Offset space around the root boundary. Accepts values like CSS margin syntax.",
              "fieldName": "rootMargin"
            },
            {
              "name": "threshold",
              "type": {
                "text": "string"
              },
              "default": "'0'",
              "description": "One or more space-separated values representing visibility percentages that trigger the observer callback.",
              "fieldName": "threshold"
            },
            {
              "name": "intersect-class",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "CSS class applied to elements during intersection. Automatically removed when elements leave\nthe viewport, enabling pure CSS styling based on visibility state.",
              "fieldName": "intersectClass"
            },
            {
              "name": "once",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If enabled, observation ceases after initial intersection.",
              "fieldName": "once"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Deactivates the intersection observer functionality.",
              "fieldName": "disabled"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Tracks immediate child elements and fires events as they move in and out of view.",
          "jsDoc": "/**\n * @summary Tracks immediate child elements and fires events as they move in and out of view.\n * @documentation https://webawesome.com/docs/components/intersection-observer\n * @status stable\n * @since 2.0\n *\n * @slot - Elements to track. Only immediate children of the host are monitored.\n *\n * @event {{ entry: IntersectionObserverEntry }} wa-intersect - Fired when a tracked element begins or ceases intersecting.\n */",
          "documentation": "https://webawesome.com/docs/components/intersection-observer",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-intersection-observer",
          "customElement": true,
          "modulePath": "components/intersection-observer/intersection-observer.js",
          "definitionPath": "components/intersection-observer/intersection-observer.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaIntersectionObserver",
            "module": "components/intersection-observer/intersection-observer.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-intersection-observer",
          "declaration": {
            "name": "WaIntersectionObserver",
            "module": "components/intersection-observer/intersection-observer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/mutation-observer/mutation-observer.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaMutationObserver",
          "slots": [
            {
              "description": "The content to watch for mutations.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "attr",
              "type": {
                "text": "string"
              },
              "description": "Watches for changes to attributes. To watch only specific attributes, separate them by a space, e.g.\n`attr=\"class id title\"`. To watch all attributes, use `*`.",
              "attribute": "attr",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "attrOldValue",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the attribute's previous value should be recorded when monitoring changes.",
              "attribute": "attr-old-value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "charData",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Watches for changes to the character data contained within the node.",
              "attribute": "char-data",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "charDataOldValue",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the previous value of the node's text should be recorded.",
              "attribute": "char-data-old-value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "childList",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Watches for the addition or removal of new child nodes.",
              "attribute": "child-list",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the observer.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "handleMutation",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "startObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "stopObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleChange",
              "type": {
                "text": "handleChange() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "{ mutationList: MutationRecord[] }"
              },
              "description": "Emitted when a mutation occurs.",
              "name": "wa-mutation",
              "reactName": "onWaMutation",
              "eventName": "WaMutationEvent"
            }
          ],
          "attributes": [
            {
              "name": "attr",
              "type": {
                "text": "string"
              },
              "description": "Watches for changes to attributes. To watch only specific attributes, separate them by a space, e.g.\n`attr=\"class id title\"`. To watch all attributes, use `*`.",
              "fieldName": "attr"
            },
            {
              "name": "attr-old-value",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the attribute's previous value should be recorded when monitoring changes.",
              "fieldName": "attrOldValue"
            },
            {
              "name": "char-data",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Watches for changes to the character data contained within the node.",
              "fieldName": "charData"
            },
            {
              "name": "char-data-old-value",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the previous value of the node's text should be recorded.",
              "fieldName": "charDataOldValue"
            },
            {
              "name": "child-list",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Watches for the addition or removal of new child nodes.",
              "fieldName": "childList"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the observer.",
              "fieldName": "disabled"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "The Mutation Observer component offers a thin, declarative interface to the [`MutationObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver).",
          "jsDoc": "/**\n * @summary The Mutation Observer component offers a thin, declarative interface to the [`MutationObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver).\n * @documentation https://webawesome.com/docs/components/mutation-observer\n * @status stable\n * @since 2.0\n *\n * @event {{ mutationList: MutationRecord[] }} wa-mutation - Emitted when a mutation occurs.\n *\n * @slot - The content to watch for mutations.\n */",
          "documentation": "https://webawesome.com/docs/components/mutation-observer",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-mutation-observer",
          "customElement": true,
          "modulePath": "components/mutation-observer/mutation-observer.js",
          "definitionPath": "components/mutation-observer/mutation-observer.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaMutationObserver",
            "module": "components/mutation-observer/mutation-observer.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-mutation-observer",
          "declaration": {
            "name": "WaMutationObserver",
            "module": "components/mutation-observer/mutation-observer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/option/option.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaOption",
          "cssParts": [
            {
              "description": "The checked icon, a `<wa-icon>` element.",
              "name": "checked-icon"
            },
            {
              "description": "The option's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            }
          ],
          "slots": [
            {
              "description": "The option's label.",
              "name": ""
            },
            {
              "description": "An element, such as `<wa-icon>`, placed before the label.",
              "name": "start"
            },
            {
              "description": "An element, such as `<wa-icon>`, placed after the label.",
              "name": "end"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "isInitialized",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "current",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The option's value. When selected, the containing form control will receive this value. The value must be unique\nfrom other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\nmultiple values.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the option in a disabled state, preventing selection.",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "defaultSelected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Selects an option initially.",
              "attribute": "selected"
            },
            {
              "kind": "field",
              "name": "_label",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "label",
              "description": "The option’s plain text label.\nUsually automatically generated, but can be useful to provide manually for cases involving complex content.",
              "type": {
                "text": "string"
              },
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "defaultLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The default label, generated from the element contents. Will be equal to `label` in most cases."
            },
            {
              "kind": "method",
              "name": "handleDefaultSlotChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleHover",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateDefaultLabel",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The option's value. When selected, the containing form control will receive this value. The value must be unique\nfrom other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\nmultiple values.",
              "fieldName": "value"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the option in a disabled state, preventing selection.",
              "fieldName": "disabled"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Selects an option initially.",
              "fieldName": "defaultSelected"
            },
            {
              "name": "label",
              "description": "The option’s plain text label.\nUsually automatically generated, but can be useful to provide manually for cases involving complex content.",
              "type": {
                "text": "string"
              },
              "fieldName": "label"
            }
          ],
          "cssStates": [
            {
              "description": "The user has keyed into the option, but hasn't selected it yet (shows a highlight)",
              "name": "current"
            },
            {
              "description": "The option is selected and has aria-selected=\"true\"",
              "name": "selected"
            },
            {
              "description": "Like `:hover` but works while dragging in Safari",
              "name": "hover"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Options define the selectable items within a select component.",
          "jsDoc": "/**\n * @summary Options define the selectable items within a select component.\n * @documentation https://webawesome.com/docs/components/option\n * @status stable\n * @since 2.0\n *\n * @dependency wa-icon\n *\n * @slot - The option's label.\n * @slot start - An element, such as `<wa-icon>`, placed before the label.\n * @slot end - An element, such as `<wa-icon>`, placed after the label.\n *\n * @csspart checked-icon - The checked icon, a `<wa-icon>` element.\n * @csspart label - The option's label.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart end - The container that wraps the `end` slot.\n *\n * @cssstate current - The user has keyed into the option, but hasn't selected it yet (shows a highlight)\n * @cssstate selected - The option is selected and has aria-selected=\"true\"\n * @cssstate hover - Like `:hover` but works while dragging in Safari\n */",
          "documentation": "https://webawesome.com/docs/components/option",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-option",
          "customElement": true,
          "modulePath": "components/option/option.js",
          "definitionPath": "components/option/option.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaOption",
            "module": "components/option/option.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-option",
          "declaration": {
            "name": "WaOption",
            "module": "components/option/option.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/popover/popover.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaPopover",
          "cssProperties": [
            {
              "description": "The size of the tiny arrow that points to the popover (set to zero to remove).",
              "name": "--arrow-size",
              "default": "0.375rem"
            },
            {
              "description": "The maximum width of the popover's body content.",
              "name": "--max-width",
              "default": "25rem"
            },
            {
              "description": "The speed of the show animation.",
              "name": "--show-duration",
              "default": "100ms"
            },
            {
              "description": "The speed of the hide animation.",
              "name": "--hide-duration",
              "default": "100ms"
            }
          ],
          "cssParts": [
            {
              "description": "The native dialog element that contains the popover content.",
              "name": "dialog"
            },
            {
              "description": "The popover's body where its content is rendered.",
              "name": "body"
            },
            {
              "description": "The internal `<wa-popup>` element that positions the popover.",
              "name": "popup"
            },
            {
              "description": "The popup's exported `popup` part. Use this to target the popover's popup container.",
              "name": "popup__popup"
            },
            {
              "description": "The popup's exported `arrow` part. Use this to target the popover's arrow.",
              "name": "popup__arrow"
            }
          ],
          "slots": [
            {
              "description": "The popover's content. Interactive elements such as buttons and links are supported.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'wa-popup': WaPopup }"
            },
            {
              "kind": "field",
              "name": "dialog",
              "type": {
                "text": "HTMLDialogElement"
              }
            },
            {
              "kind": "field",
              "name": "body",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "WaPopup"
              }
            },
            {
              "kind": "field",
              "name": "anchor",
              "type": {
                "text": "null | Element"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the popover. Note that the actual placement may vary as needed to keep the popover\ninside of the viewport.",
              "attribute": "placement"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows or hides the popover.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance in pixels from which to offset the popover away from its target.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the popover along its target.",
              "attribute": "skidding"
            },
            {
              "kind": "field",
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The ID of the popover's anchor element. This must be an interactive/focusable element such as a button.",
              "attribute": "for"
            },
            {
              "kind": "field",
              "name": "withoutArrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the arrow from the popover.",
              "attribute": "without-arrow",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "eventController",
              "privacy": "private",
              "default": "new AbortController()"
            },
            {
              "kind": "field",
              "name": "handleAnchorClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleBodyClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleForChange",
              "type": {
                "text": "handleForChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleOptionsChange",
              "type": {
                "text": "handleOptionsChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the popover.",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the popover.",
              "type": {
                "text": "hide() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaAfterShowEvent"
              }
            },
            {
              "description": "Emitted when the popover begins to show. Canceling this event will stop the popover from showing.",
              "name": "wa-show",
              "reactName": "onWaShow",
              "eventName": "WaShowEvent"
            },
            {
              "description": "Emitted after the popover has shown and all animations are complete.",
              "name": "wa-after-show",
              "reactName": "onWaAfterShow",
              "eventName": "WaAfterShowEvent"
            },
            {
              "description": "Emitted when the popover begins to hide. Canceling this event will stop the popover from hiding.",
              "name": "wa-hide",
              "reactName": "onWaHide",
              "eventName": "WaHideEvent"
            },
            {
              "description": "Emitted after the popover has hidden and all animations are complete.",
              "name": "wa-after-hide",
              "reactName": "onWaAfterHide",
              "eventName": "WaAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the popover. Note that the actual placement may vary as needed to keep the popover\ninside of the viewport.",
              "fieldName": "placement"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows or hides the popover.",
              "fieldName": "open"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance in pixels from which to offset the popover away from its target.",
              "fieldName": "distance"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the popover along its target.",
              "fieldName": "skidding"
            },
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The ID of the popover's anchor element. This must be an interactive/focusable element such as a button.",
              "fieldName": "for"
            },
            {
              "name": "without-arrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the arrow from the popover.",
              "fieldName": "withoutArrow"
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the popover is open.",
              "name": "open"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Popovers display contextual content and interactive elements in a floating panel.",
          "jsDoc": "/**\n * @summary Popovers display contextual content and interactive elements in a floating panel.\n * @documentation https://webawesome.com/docs/components/popover\n * @status stable\n * @since 3.0\n *\n * @dependency wa-popup\n *\n * @slot - The popover's content. Interactive elements such as buttons and links are supported.\n *\n * @event wa-show - Emitted when the popover begins to show. Canceling this event will stop the popover from showing.\n * @event wa-after-show - Emitted after the popover has shown and all animations are complete.\n * @event wa-hide - Emitted when the popover begins to hide. Canceling this event will stop the popover from hiding.\n * @event wa-after-hide - Emitted after the popover has hidden and all animations are complete.\n *\n * @csspart dialog - The native dialog element that contains the popover content.\n * @csspart body - The popover's body where its content is rendered.\n * @csspart popup - The internal `<wa-popup>` element that positions the popover.\n * @csspart popup__popup - The popup's exported `popup` part. Use this to target the popover's popup container.\n * @csspart popup__arrow - The popup's exported `arrow` part. Use this to target the popover's arrow.\n *\n * @cssproperty [--arrow-size=0.375rem] - The size of the tiny arrow that points to the popover (set to zero to remove).\n * @cssproperty [--max-width=25rem] - The maximum width of the popover's body content.\n * @cssproperty [--show-duration=100ms] - The speed of the show animation.\n * @cssproperty [--hide-duration=100ms] - The speed of the hide animation.\n *\n * @cssstate open - Applied when the popover is open.\n */",
          "documentation": "https://webawesome.com/docs/components/popover",
          "status": "stable",
          "since": "3.0",
          "dependencies": [
            "wa-popup"
          ],
          "tagName": "wa-popover",
          "customElement": true,
          "modulePath": "components/popover/popover.js",
          "definitionPath": "components/popover/popover.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaPopover",
            "module": "components/popover/popover.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-popover",
          "declaration": {
            "name": "WaPopover",
            "module": "components/popover/popover.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/popup/popup.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaPopup",
          "cssProperties": [
            {
              "description": "The size of the arrow. Note that an arrow won't be shown unless the `arrow` attribute is used.",
              "name": "--arrow-size",
              "default": "6px"
            },
            {
              "description": "The color of the arrow.",
              "name": "--arrow-color",
              "default": "black"
            },
            {
              "description": "A read-only custom property that determines the amount of width the popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only available when using `auto-size`.",
              "name": "--auto-size-available-width"
            },
            {
              "description": "A read-only custom property that determines the amount of height the popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only available when using `auto-size`.",
              "name": "--auto-size-available-height"
            },
            {
              "description": "The show duration to use when applying built-in animation classes.",
              "name": "--show-duration",
              "default": "100ms"
            },
            {
              "description": "The hide duration to use when applying built-in animation classes.",
              "name": "--hide-duration",
              "default": "100ms"
            }
          ],
          "cssParts": [
            {
              "description": "The arrow's container. Avoid setting `top|bottom|left|right` properties, as these values are assigned dynamically as the popup moves. This is most useful for applying a background color to match the popup, and maybe a border or box shadow.",
              "name": "arrow"
            },
            {
              "description": "The popup's container. Useful for setting a background color, box shadow, etc.",
              "name": "popup"
            },
            {
              "description": "The hover bridge element. Only available when the `hover-bridge` option is enabled.",
              "name": "hover-bridge"
            }
          ],
          "slots": [
            {
              "description": "The popup's content.",
              "name": ""
            },
            {
              "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can use the `anchor` attribute or property instead.",
              "name": "anchor"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "anchorEl",
              "type": {
                "text": "Element | VirtualElement | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "cleanup",
              "type": {
                "text": "ReturnType<typeof autoUpdate> | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "HTMLElement"
              },
              "description": "A reference to the internal popup container. Useful for animating and styling the popup with JavaScript."
            },
            {
              "kind": "field",
              "name": "arrowEl",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "anchor",
              "type": {
                "text": "Element | string | VirtualElement"
              },
              "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
              "attribute": "anchor"
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "boundary",
              "type": {
                "text": "'viewport' | 'scroll'"
              },
              "default": "'viewport'",
              "description": "The bounding box to use for flipping, shifting, and auto-sizing.",
              "attribute": "boundary"
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel away from its anchor.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel along its anchor.",
              "attribute": "skidding"
            },
            {
              "kind": "field",
              "name": "arrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n`--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n`::part(arrow)` in your stylesheet.",
              "attribute": "arrow"
            },
            {
              "kind": "field",
              "name": "arrowPlacement",
              "type": {
                "text": "'start' | 'end' | 'center' | 'anchor'"
              },
              "default": "'anchor'",
              "description": "The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\nanchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\nalign the arrow to the start, end, or center of the popover instead.",
              "attribute": "arrow-placement"
            },
            {
              "kind": "field",
              "name": "arrowPadding",
              "type": {
                "text": "number"
              },
              "default": "10",
              "description": "The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\nthis will prevent it from overflowing the corners.",
              "attribute": "arrow-padding"
            },
            {
              "kind": "field",
              "name": "flip",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n`flipFallbackPlacements` to further configure how the fallback placement is determined.",
              "attribute": "flip"
            },
            {
              "kind": "field",
              "name": "flipFallbackPlacements",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\nstring of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\nfallback strategy will be used instead.",
              "attribute": "flip-fallback-placements"
            },
            {
              "kind": "field",
              "name": "flipFallbackStrategy",
              "type": {
                "text": "'best-fit' | 'initial'"
              },
              "default": "'best-fit'",
              "description": "When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\nthe popup should be positioned using the best available fit based on available space or as it was initially\npreferred.",
              "attribute": "flip-fallback-strategy"
            },
            {
              "kind": "field",
              "name": "flipBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "attribute": "flipBoundary"
            },
            {
              "kind": "field",
              "name": "flipPadding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
              "attribute": "flip-padding"
            },
            {
              "kind": "field",
              "name": "shift",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Moves the popup along the axis to keep it in view when clipped.",
              "attribute": "shift"
            },
            {
              "kind": "field",
              "name": "shiftBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "attribute": "shiftBoundary"
            },
            {
              "kind": "field",
              "name": "shiftPadding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
              "attribute": "shift-padding"
            },
            {
              "kind": "field",
              "name": "autoSize",
              "type": {
                "text": "'horizontal' | 'vertical' | 'both'"
              },
              "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
              "attribute": "auto-size"
            },
            {
              "kind": "field",
              "name": "sync",
              "type": {
                "text": "'width' | 'height' | 'both'"
              },
              "description": "Syncs the popup's width or height to that of the anchor element.",
              "attribute": "sync"
            },
            {
              "kind": "field",
              "name": "autoSizeBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "attribute": "autoSizeBoundary"
            },
            {
              "kind": "field",
              "name": "autoSizePadding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
              "attribute": "auto-size-padding"
            },
            {
              "kind": "field",
              "name": "hoverBridge",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When a gap exists between the anchor and the popup element, this option will add a \"hover bridge\" that fills the\ngap using an invisible element. This makes listening for events such as `mouseenter` and `mouseleave` more sane\nbecause the pointer never technically leaves the element. The hover bridge will only be drawn when the popover is\nactive.",
              "attribute": "hover-bridge"
            },
            {
              "kind": "method",
              "name": "handleAnchorChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "start",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "stop",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<void>"
                }
              }
            },
            {
              "kind": "method",
              "name": "reposition",
              "description": "Forces the popup to recalculate and reposition itself.",
              "type": {
                "text": "reposition() => void"
              }
            },
            {
              "kind": "field",
              "name": "updateHoverBridge",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaRepositionEvent"
              }
            },
            {
              "description": "Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive operations in your listener or consider debouncing it.",
              "name": "wa-reposition",
              "reactName": "onWaReposition",
              "eventName": "WaRepositionEvent"
            }
          ],
          "attributes": [
            {
              "name": "anchor",
              "type": {
                "text": "Element | string | VirtualElement"
              },
              "description": "The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide the anchor\nelement `id`, a DOM element reference, or a `VirtualElement`. If the anchor lives inside the popup, use the\n`anchor` slot instead.",
              "fieldName": "anchor"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn\ndown and the popup will be hidden.",
              "fieldName": "active"
            },
            {
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
              "fieldName": "placement"
            },
            {
              "name": "boundary",
              "type": {
                "text": "'viewport' | 'scroll'"
              },
              "default": "'viewport'",
              "description": "The bounding box to use for flipping, shifting, and auto-sizing.",
              "fieldName": "boundary"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel away from its anchor.",
              "fieldName": "distance"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel along its anchor.",
              "fieldName": "skidding"
            },
            {
              "name": "arrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and\n`--arrow-color` custom properties. For additional customizations, you can also target the arrow using\n`::part(arrow)` in your stylesheet.",
              "fieldName": "arrow"
            },
            {
              "name": "arrow-placement",
              "type": {
                "text": "'start' | 'end' | 'center' | 'anchor'"
              },
              "default": "'anchor'",
              "description": "The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the\nanchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will\nalign the arrow to the start, end, or center of the popover instead.",
              "fieldName": "arrowPlacement"
            },
            {
              "name": "arrow-padding",
              "type": {
                "text": "number"
              },
              "default": "10",
              "description": "The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,\nthis will prevent it from overflowing the corners.",
              "fieldName": "arrowPadding"
            },
            {
              "name": "flip",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, placement of the popup will flip to the opposite site to keep it in view. You can use\n`flipFallbackPlacements` to further configure how the fallback placement is determined.",
              "fieldName": "flip"
            },
            {
              "name": "flip-fallback-placements",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a\nstring of any number of placements separated by a space, e.g. \"top bottom left\". If no placement fits, the flip\nfallback strategy will be used instead.",
              "fieldName": "flipFallbackPlacements"
            },
            {
              "name": "flip-fallback-strategy",
              "type": {
                "text": "'best-fit' | 'initial'"
              },
              "default": "'best-fit'",
              "description": "When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether\nthe popup should be positioned using the best available fit based on available space or as it was initially\npreferred.",
              "fieldName": "flipFallbackStrategy"
            },
            {
              "name": "flipBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "fieldName": "flipBoundary"
            },
            {
              "name": "flip-padding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
              "fieldName": "flipPadding"
            },
            {
              "name": "shift",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Moves the popup along the axis to keep it in view when clipped.",
              "fieldName": "shift"
            },
            {
              "name": "shiftBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "fieldName": "shiftBoundary"
            },
            {
              "name": "shift-padding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
              "fieldName": "shiftPadding"
            },
            {
              "name": "auto-size",
              "type": {
                "text": "'horizontal' | 'vertical' | 'both'"
              },
              "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
              "fieldName": "autoSize"
            },
            {
              "name": "sync",
              "type": {
                "text": "'width' | 'height' | 'both'"
              },
              "description": "Syncs the popup's width or height to that of the anchor element.",
              "fieldName": "sync"
            },
            {
              "name": "autoSizeBoundary",
              "type": {
                "text": "Element | Element[]"
              },
              "description": "The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By\ndefault, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can\nchange the boundary by passing a reference to one or more elements to this property.",
              "fieldName": "autoSizeBoundary"
            },
            {
              "name": "auto-size-padding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
              "fieldName": "autoSizePadding"
            },
            {
              "name": "hover-bridge",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When a gap exists between the anchor and the popup element, this option will add a \"hover bridge\" that fills the\ngap using an invisible element. This makes listening for events such as `mouseenter` and `mouseleave` more sane\nbecause the pointer never technically leaves the element. The hover bridge will only be drawn when the popover is\nactive.",
              "fieldName": "hoverBridge"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Popup is a utility that lets you declaratively anchor \"popup\" containers to another element.",
          "jsDoc": "/**\n * @summary Popup is a utility that lets you declaratively anchor \"popup\" containers to another element.\n * @documentation https://webawesome.com/docs/components/popup\n * @status stable\n * @since 2.0\n *\n * @event wa-reposition - Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive\n *  operations in your listener or consider debouncing it.\n *\n * @slot - The popup's content.\n * @slot anchor - The element the popup will be anchored to. If the anchor lives outside of the popup, you can use the\n *  `anchor` attribute or property instead.\n *\n * @csspart arrow - The arrow's container. Avoid setting `top|bottom|left|right` properties, as these values are\n *  assigned dynamically as the popup moves. This is most useful for applying a background color to match the popup, and\n *  maybe a border or box shadow.\n * @csspart popup - The popup's container. Useful for setting a background color, box shadow, etc.\n * @csspart hover-bridge - The hover bridge element. Only available when the `hover-bridge` option is enabled.\n *\n * @cssproperty [--arrow-size=6px] - The size of the arrow. Note that an arrow won't be shown unless the `arrow`\n *  attribute is used.\n * @cssproperty [--arrow-color=black] - The color of the arrow.\n * @cssproperty [--auto-size-available-width] - A read-only custom property that determines the amount of width the\n *  popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only\n *  available when using `auto-size`.\n * @cssproperty [--auto-size-available-height] - A read-only custom property that determines the amount of height the\n *  popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only\n *  available when using `auto-size`.\n * @cssproperty [--show-duration=100ms] - The show duration to use when applying built-in animation classes.\n * @cssproperty [--hide-duration=100ms] - The hide duration to use when applying built-in animation classes.\n */",
          "documentation": "https://webawesome.com/docs/components/popup",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-popup",
          "customElement": true,
          "modulePath": "components/popup/popup.js",
          "definitionPath": "components/popup/popup.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaPopup",
            "module": "components/popup/popup.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-popup",
          "declaration": {
            "name": "WaPopup",
            "module": "components/popup/popup.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/progress-bar/progress-bar.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaProgressBar",
          "cssProperties": [
            {
              "description": "The color of the track.",
              "name": "--track-height",
              "default": "1rem"
            },
            {
              "description": "The color of the track.",
              "name": "--track-color",
              "default": "var(--wa-color-neutral-fill-normal)"
            },
            {
              "description": "The color of the indicator.",
              "name": "--indicator-color",
              "default": "var(--wa-color-brand-fill-loud)"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The progress bar's indicator.",
              "name": "indicator"
            },
            {
              "description": "The progress bar's label.",
              "name": "label"
            }
          ],
          "slots": [
            {
              "description": "A label to show inside the progress indicator.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current progress as a percentage, 0 to 100.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, percentage is ignored, the label is hidden, and the progress bar is drawn in an indeterminate state.",
              "attribute": "indeterminate",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label for assistive devices.",
              "attribute": "label"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current progress as a percentage, 0 to 100.",
              "fieldName": "value"
            },
            {
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, percentage is ignored, the label is hidden, and the progress bar is drawn in an indeterminate state.",
              "fieldName": "indeterminate"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label for assistive devices.",
              "fieldName": "label"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Progress bars are used to show the status of an ongoing operation.",
          "jsDoc": "/**\n * @summary Progress bars are used to show the status of an ongoing operation.\n * @documentation https://webawesome.com/docs/components/progress-bar\n * @status stable\n * @since 2.0\n *\n * @slot - A label to show inside the progress indicator.\n *\n * @csspart base - The component's base wrapper.\n * @csspart indicator - The progress bar's indicator.\n * @csspart label - The progress bar's label.\n *\n * @cssproperty [--track-height=1rem] - The color of the track.\n * @cssproperty [--track-color=var(--wa-color-neutral-fill-normal)] - The color of the track.\n * @cssproperty [--indicator-color=var(--wa-color-brand-fill-loud)] - The color of the indicator.\n */",
          "documentation": "https://webawesome.com/docs/components/progress-bar",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-progress-bar",
          "customElement": true,
          "modulePath": "components/progress-bar/progress-bar.js",
          "definitionPath": "components/progress-bar/progress-bar.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaProgressBar",
            "module": "components/progress-bar/progress-bar.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-progress-bar",
          "declaration": {
            "name": "WaProgressBar",
            "module": "components/progress-bar/progress-bar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/progress-ring/progress-ring.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaProgressRing",
          "cssProperties": [
            {
              "description": "The diameter of the progress ring (cannot be a percentage).",
              "name": "--size"
            },
            {
              "description": "The width of the track.",
              "name": "--track-width"
            },
            {
              "description": "The color of the track.",
              "name": "--track-color"
            },
            {
              "description": "The width of the indicator. Defaults to the track width.",
              "name": "--indicator-width"
            },
            {
              "description": "The color of the indicator.",
              "name": "--indicator-color"
            },
            {
              "description": "The duration of the indicator's transition when the value changes.",
              "name": "--indicator-transition-duration"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The progress ring label.",
              "name": "label"
            }
          ],
          "slots": [
            {
              "description": "A label to show inside the ring.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "indicator",
              "type": {
                "text": "SVGCircleElement"
              }
            },
            {
              "kind": "field",
              "name": "indicatorOffset",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current progress as a percentage, 0 to 100.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label for assistive devices.",
              "attribute": "label"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current progress as a percentage, 0 to 100.",
              "fieldName": "value"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A custom label for assistive devices.",
              "fieldName": "label"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Progress rings are used to show the progress of a determinate operation in a circular fashion.",
          "jsDoc": "/**\n * @summary Progress rings are used to show the progress of a determinate operation in a circular fashion.\n * @documentation https://webawesome.com/docs/components/progress-ring\n * @status stable\n * @since 2.0\n *\n * @slot - A label to show inside the ring.\n *\n * @csspart base - The component's base wrapper.\n * @csspart label - The progress ring label.\n *\n * @cssproperty --size - The diameter of the progress ring (cannot be a percentage).\n * @cssproperty --track-width - The width of the track.\n * @cssproperty --track-color - The color of the track.\n * @cssproperty --indicator-width - The width of the indicator. Defaults to the track width.\n * @cssproperty --indicator-color - The color of the indicator.\n * @cssproperty --indicator-transition-duration - The duration of the indicator's transition when the value changes.\n */",
          "documentation": "https://webawesome.com/docs/components/progress-ring",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-progress-ring",
          "customElement": true,
          "modulePath": "components/progress-ring/progress-ring.js",
          "definitionPath": "components/progress-ring/progress-ring.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaProgressRing",
            "module": "components/progress-ring/progress-ring.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-progress-ring",
          "declaration": {
            "name": "WaProgressRing",
            "module": "components/progress-ring/progress-ring.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/qr-code/qr-code.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaQrCode",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "canvas",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The QR code's value.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label for assistive devices to announce. If unspecified, the value will be used instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "number"
              },
              "default": "128",
              "description": "The size of the QR code, in pixels.",
              "attribute": "size"
            },
            {
              "kind": "field",
              "name": "fill",
              "type": {
                "text": "string"
              },
              "default": "'black'",
              "description": "The fill color. This can be any valid CSS color, but not a CSS custom property.",
              "attribute": "fill"
            },
            {
              "kind": "field",
              "name": "background",
              "type": {
                "text": "string"
              },
              "default": "'white'",
              "description": "The background color. This can be any valid CSS color or `transparent`. It cannot be a CSS custom property.",
              "attribute": "background"
            },
            {
              "kind": "field",
              "name": "radius",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The edge radius of each module. Must be between 0 and 0.5.",
              "attribute": "radius"
            },
            {
              "kind": "field",
              "name": "errorCorrection",
              "type": {
                "text": "'L' | 'M' | 'Q' | 'H'"
              },
              "default": "'H'",
              "description": "The level of error correction to use. [Learn more](https://www.qrcode.com/en/about/error_correction.html)",
              "attribute": "error-correction"
            },
            {
              "kind": "field",
              "name": "generated",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Whether or not the qr-code generated."
            },
            {
              "kind": "method",
              "name": "generate",
              "type": {
                "text": "generate() => void"
              }
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The QR code's value.",
              "fieldName": "value"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label for assistive devices to announce. If unspecified, the value will be used instead.",
              "fieldName": "label"
            },
            {
              "name": "size",
              "type": {
                "text": "number"
              },
              "default": "128",
              "description": "The size of the QR code, in pixels.",
              "fieldName": "size"
            },
            {
              "name": "fill",
              "type": {
                "text": "string"
              },
              "default": "'black'",
              "description": "The fill color. This can be any valid CSS color, but not a CSS custom property.",
              "fieldName": "fill"
            },
            {
              "name": "background",
              "type": {
                "text": "string"
              },
              "default": "'white'",
              "description": "The background color. This can be any valid CSS color or `transparent`. It cannot be a CSS custom property.",
              "fieldName": "background"
            },
            {
              "name": "radius",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The edge radius of each module. Must be between 0 and 0.5.",
              "fieldName": "radius"
            },
            {
              "name": "error-correction",
              "type": {
                "text": "'L' | 'M' | 'Q' | 'H'"
              },
              "default": "'H'",
              "description": "The level of error correction to use. [Learn more](https://www.qrcode.com/en/about/error_correction.html)",
              "fieldName": "errorCorrection"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Generates a [QR code](https://www.qrcode.com/) and renders it using the [Canvas API](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API).",
          "jsDoc": "/**\n * @summary Generates a [QR code](https://www.qrcode.com/) and renders it using the [Canvas API](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API).\n * @documentation https://webawesome.com/docs/components/qr-code\n * @status stable\n * @since 2.0\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://webawesome.com/docs/components/qr-code",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-qr-code",
          "customElement": true,
          "modulePath": "components/qr-code/qr-code.js",
          "definitionPath": "components/qr-code/qr-code.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaQrCode",
            "module": "components/qr-code/qr-code.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-qr-code",
          "declaration": {
            "name": "WaQrCode",
            "module": "components/qr-code/qr-code.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/radio/radio.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaRadio",
          "cssProperties": [
            {
              "description": "The color of the checked icon.",
              "name": "--checked-icon-color"
            },
            {
              "description": "The size of the checked icon relative to the radio.",
              "name": "--checked-icon-scale"
            }
          ],
          "cssParts": [
            {
              "description": "The circular container that wraps the radio's checked state.",
              "name": "control"
            },
            {
              "description": "The checked icon.",
              "name": "checked-icon"
            },
            {
              "description": "The container that wraps the radio's label.",
              "name": "label"
            }
          ],
          "slots": [
            {
              "description": "The radio's label.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[formControlStyles, sizeStyles, styles]"
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The string pointing to a form's id.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The radio's value. When selected, the radio group will receive this value.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'default' | 'button'"
              },
              "default": "'default'",
              "description": "The radio's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The radio's size. When used inside a radio group, the size will be determined by the radio group's size so this\nattribute can typically be omitted.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio.",
              "attribute": "disabled"
            },
            {
              "kind": "method",
              "name": "setInitialAttributes",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setValue",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "setValue() => void"
              }
            },
            {
              "kind": "field",
              "name": "handleClick",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            }
          ],
          "attributes": [
            {
              "name": "form",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The string pointing to a form's id.",
              "fieldName": "form"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The radio's value. When selected, the radio group will receive this value.",
              "fieldName": "value"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'default' | 'button'"
              },
              "default": "'default'",
              "description": "The radio's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The radio's size. When used inside a radio group, the size will be determined by the radio group's size so this\nattribute can typically be omitted.",
              "fieldName": "size"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio.",
              "fieldName": "disabled"
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the control is checked.",
              "name": "checked"
            },
            {
              "description": "Applied when the control is disabled.",
              "name": "disabled"
            }
          ],
          "superclass": {
            "name": "WebAwesomeFormAssociatedElement",
            "module": "/src/internal/webawesome-form-associated-element.js"
          },
          "summary": "Radios allow the user to select a single option from a group.",
          "jsDoc": "/**\n * @summary Radios allow the user to select a single option from a group.\n * @documentation https://webawesome.com/docs/components/radio\n * @status stable\n * @since 2.0\n *\n * @dependency wa-icon\n *\n * @slot - The radio's label.\n *\n * @event blur - Emitted when the control loses focus.\n * @event focus - Emitted when the control gains focus.\n *\n * @csspart control - The circular container that wraps the radio's checked state.\n * @csspart checked-icon - The checked icon.\n * @csspart label - The container that wraps the radio's label.\n *\n * @cssproperty --checked-icon-color - The color of the checked icon.\n * @cssproperty --checked-icon-scale - The size of the checked icon relative to the radio.\n *\n * @cssstate checked - Applied when the control is checked.\n * @cssstate disabled - Applied when the control is disabled.\n */",
          "documentation": "https://webawesome.com/docs/components/radio",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-radio",
          "customElement": true,
          "modulePath": "components/radio/radio.js",
          "definitionPath": "components/radio/radio.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaRadio",
            "module": "components/radio/radio.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-radio",
          "declaration": {
            "name": "WaRadio",
            "module": "components/radio/radio.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/radio-group/radio-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaRadioGroup",
          "cssParts": [
            {
              "description": "The form control that wraps the label, input, and hint.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The input's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The wrapper than surrounds radio items, styled as a flex container by default.",
              "name": "radios"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            }
          ],
          "slots": [
            {
              "description": "The default slot where `<wa-radio>` elements are placed.",
              "name": ""
            },
            {
              "description": "The radio group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the radio group. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[sizeStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "static": true,
              "readonly": true
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint', 'label')"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio groups's hint. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the radio group, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio group and all child radios.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'vertical'",
              "description": "The orientation in which to show radio items.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The current value of the radio group, submitted as a name/value pair with form data."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | null"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The radio group's size. This size will be applied to all child radios and radio buttons, except when explicitly overridden.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Ensures a child radio is checked before allowing the containing form to submit.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. if true, will show slotted label on initial render.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. if true, will show slotted hint on initial render.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...WebAwesomeFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "description": "We use the first available radio as the validationTarget similar to native HTML that shows the validation popup on\nthe first radio element.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "parameters": [
                {
                  "name": "args",
                  "type": {
                    "text": "Parameters<WebAwesomeFormAssociatedElement['formResetCallback']>"
                  }
                }
              ],
              "type": {
                "text": "formResetCallback(args: Parameters<WebAwesomeFormAssociatedElement['formResetCallback']>) => void"
              }
            },
            {
              "kind": "field",
              "name": "handleRadioClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getAllRadios",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleLabelClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncRadioElements",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the radio group.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            }
          ],
          "events": [
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the radio group receives user input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the radio group's selected value changes.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "wa-invalid",
              "reactName": "onWaInvalid",
              "eventName": "WaInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
              "fieldName": "label"
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio groups's hint. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint"
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the radio group, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio group and all child radios.",
              "fieldName": "disabled"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'vertical'",
              "description": "The orientation in which to show radio items.",
              "fieldName": "orientation"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultValue"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The radio group's size. This size will be applied to all child radios and radio buttons, except when explicitly overridden.",
              "fieldName": "size"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Ensures a child radio is checked before allowing the containing form to submit.",
              "fieldName": "required"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. if true, will show slotted label on initial render.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. if true, will show slotted hint on initial render.",
              "fieldName": "withHint"
            }
          ],
          "superclass": {
            "name": "WebAwesomeFormAssociatedElement",
            "module": "/src/internal/webawesome-form-associated-element.js"
          },
          "summary": "Radio groups are used to group multiple [radios](/docs/components/radio) so they function as a single form control.",
          "jsDoc": "/**\n * @summary Radio groups are used to group multiple [radios](/docs/components/radio) so they function as a single form control.\n * @documentation https://webawesome.com/docs/components/radio-group\n * @status stable\n * @since 2.0\n *\n * @dependency wa-radio\n *\n * @slot - The default slot where `<wa-radio>` elements are placed.\n * @slot label - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\n *  attribute.\n * @slot hint - Text that describes how to use the radio group. Alternatively, you can use the `hint` attribute.\n *\n * @event change - Emitted when the radio group's selected value changes.\n * @event input - Emitted when the radio group receives user input.\n * @event wa-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and hint.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart radios - The wrapper than surrounds radio items, styled as a flex container by default.\n * @csspart hint - The hint's wrapper.\n */",
          "documentation": "https://webawesome.com/docs/components/radio-group",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-radio"
          ],
          "tagName": "wa-radio-group",
          "customElement": true,
          "modulePath": "components/radio-group/radio-group.js",
          "definitionPath": "components/radio-group/radio-group.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaRadioGroup",
            "module": "components/radio-group/radio-group.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-radio-group",
          "declaration": {
            "name": "WaRadioGroup",
            "module": "components/radio-group/radio-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/rating/rating.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaRating",
          "cssProperties": [
            {
              "description": "The inactive color for symbols.",
              "name": "--symbol-color"
            },
            {
              "description": "The active color for symbols.",
              "name": "--symbol-color-active"
            },
            {
              "description": "The spacing to use around symbols.",
              "name": "--symbol-spacing"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[sizeStyles, styles]"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "rating",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "hoverValue",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "isHovering",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label that describes the rating to assistive devices.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current rating.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "The highest rating to show.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "precision",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The precision at which the rating will increase and decrease. For example, to allow half-star ratings, set this\nattribute to `0.5`.",
              "attribute": "precision"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the rating readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the rating.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "getSymbol",
              "type": {
                "text": "(value: number, isSelected: boolean) => string"
              },
              "description": "A function that customizes the symbol to be rendered. The first and only argument is the rating's current value.\nThe function should return a string containing trusted HTML of the symbol to render at the specified value. Works\nwell with `<wa-icon>` elements.",
              "attribute": "getSymbol"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The component's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "getValueFromMousePosition",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getValueFromTouchPosition",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "TouchEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getValueFromXCoordinate",
              "privacy": "private",
              "parameters": [
                {
                  "name": "coordinate",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "newValue",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseEnter",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseMove",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseLeave",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleTouchStart",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "TouchEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleTouchMove",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "TouchEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleTouchEnd",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "TouchEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "roundToPrecision",
              "privacy": "private",
              "parameters": [
                {
                  "name": "numberToRound",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "precision",
                  "default": "0.5"
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleHoverValueChange",
              "type": {
                "text": "handleHoverValueChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleIsHoveringChange",
              "type": {
                "text": "handleIsHoveringChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the rating.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the rating.",
              "type": {
                "text": "blur() => void"
              }
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the rating's value changes.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "type": {
                "text": "WaHoverEvent"
              }
            },
            {
              "type": {
                "text": "{ phase: 'start' | 'move' | 'end', value: number }"
              },
              "description": "Emitted when the user hovers over a value. The `phase` property indicates when hovering starts, moves to a new value, or ends. The `value` property tells what the rating's value would be if the user were to commit to the hovered value.",
              "name": "wa-hover",
              "reactName": "onWaHover",
              "eventName": "WaHoverEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A label that describes the rating to assistive devices.",
              "fieldName": "label"
            },
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The current rating.",
              "fieldName": "value"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "5",
              "description": "The highest rating to show.",
              "fieldName": "max"
            },
            {
              "name": "precision",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The precision at which the rating will increase and decrease. For example, to allow half-star ratings, set this\nattribute to `0.5`.",
              "fieldName": "precision"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the rating readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the rating.",
              "fieldName": "disabled"
            },
            {
              "name": "getSymbol",
              "type": {
                "text": "(value: number, isSelected: boolean) => string"
              },
              "description": "A function that customizes the symbol to be rendered. The first and only argument is the rating's current value.\nThe function should return a string containing trusted HTML of the symbol to render at the specified value. Works\nwell with `<wa-icon>` elements.",
              "fieldName": "getSymbol"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The component's size.",
              "fieldName": "size"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Ratings give users a way to quickly view and provide feedback.",
          "jsDoc": "/**\n * @summary Ratings give users a way to quickly view and provide feedback.\n * @documentation https://webawesome.com/docs/components/rating\n * @status stable\n * @since 2.0\n *\n * @dependency wa-icon\n *\n * @event change - Emitted when the rating's value changes.\n * @event {{ phase: 'start' | 'move' | 'end', value: number }} wa-hover - Emitted when the user hovers over a value. The\n *  `phase` property indicates when hovering starts, moves to a new value, or ends. The `value` property tells what the\n *  rating's value would be if the user were to commit to the hovered value.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --symbol-color - The inactive color for symbols.\n * @cssproperty --symbol-color-active - The active color for symbols.\n * @cssproperty --symbol-spacing - The spacing to use around symbols.\n */",
          "documentation": "https://webawesome.com/docs/components/rating",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-rating",
          "customElement": true,
          "modulePath": "components/rating/rating.js",
          "definitionPath": "components/rating/rating.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaRating",
            "module": "components/rating/rating.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-rating",
          "declaration": {
            "name": "WaRating",
            "module": "components/rating/rating.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/relative-time/relative-time.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaRelativeTime",
          "members": [
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "updateTimeout",
              "type": {
                "text": "number | ReturnType<typeof setTimeout>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "isoTime",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "relativeTime",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "date",
              "type": {
                "text": "Date | string"
              },
              "default": "new Date()",
              "description": "The date from which to calculate time from. If not set, the current date and time will be used. When passing a\nstring, it's strongly recommended to use the ISO 8601 format to ensure timezones are handled correctly. To convert\na date to this format in JavaScript, use [`date.toISOString()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString).",
              "attribute": "date"
            },
            {
              "kind": "field",
              "name": "format",
              "type": {
                "text": "'long' | 'short' | 'narrow'"
              },
              "default": "'long'",
              "description": "The formatting style to use.",
              "attribute": "format"
            },
            {
              "kind": "field",
              "name": "numeric",
              "type": {
                "text": "'always' | 'auto'"
              },
              "default": "'auto'",
              "description": "When `auto`, values such as \"yesterday\" and \"tomorrow\" will be shown when possible. When `always`, values such as\n\"1 day ago\" and \"in 1 day\" will be shown.",
              "attribute": "numeric"
            },
            {
              "kind": "field",
              "name": "sync",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Keep the displayed value up to date as time passes.",
              "attribute": "sync"
            }
          ],
          "attributes": [
            {
              "name": "date",
              "type": {
                "text": "Date | string"
              },
              "default": "new Date()",
              "description": "The date from which to calculate time from. If not set, the current date and time will be used. When passing a\nstring, it's strongly recommended to use the ISO 8601 format to ensure timezones are handled correctly. To convert\na date to this format in JavaScript, use [`date.toISOString()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString).",
              "fieldName": "date"
            },
            {
              "name": "format",
              "type": {
                "text": "'long' | 'short' | 'narrow'"
              },
              "default": "'long'",
              "description": "The formatting style to use.",
              "fieldName": "format"
            },
            {
              "name": "numeric",
              "type": {
                "text": "'always' | 'auto'"
              },
              "default": "'auto'",
              "description": "When `auto`, values such as \"yesterday\" and \"tomorrow\" will be shown when possible. When `always`, values such as\n\"1 day ago\" and \"in 1 day\" will be shown.",
              "fieldName": "numeric"
            },
            {
              "name": "sync",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Keep the displayed value up to date as time passes.",
              "fieldName": "sync"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Outputs a localized time phrase relative to the current date and time.",
          "jsDoc": "/**\n * @summary Outputs a localized time phrase relative to the current date and time.\n * @documentation https://webawesome.com/docs/components/relative-time\n * @status stable\n * @since 2.0\n */",
          "documentation": "https://webawesome.com/docs/components/relative-time",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-relative-time",
          "customElement": true,
          "modulePath": "components/relative-time/relative-time.js",
          "definitionPath": "components/relative-time/relative-time.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaRelativeTime",
            "module": "components/relative-time/relative-time.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-relative-time",
          "declaration": {
            "name": "WaRelativeTime",
            "module": "components/relative-time/relative-time.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/resize-observer/resize-observer.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaResizeObserver",
          "slots": [
            {
              "description": "One or more elements to watch for resizing.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "observedElements",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the observer.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "startObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "stopObserver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaResizeEvent"
              }
            },
            {
              "type": {
                "text": "{ entries: ResizeObserverEntry[] }"
              },
              "description": "Emitted when the element is resized.",
              "name": "wa-resize",
              "reactName": "onWaResize",
              "eventName": "WaResizeEvent"
            }
          ],
          "attributes": [
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the observer.",
              "fieldName": "disabled"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "The Resize Observer component offers a thin, declarative interface to the [`ResizeObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver).",
          "jsDoc": "/**\n * @summary The Resize Observer component offers a thin, declarative interface to the [`ResizeObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver).\n * @documentation https://webawesome.com/docs/components/resize-observer\n * @status stable\n * @since 2.0\n *\n * @slot - One or more elements to watch for resizing.\n *\n * @event {{ entries: ResizeObserverEntry[] }} wa-resize - Emitted when the element is resized.\n */",
          "documentation": "https://webawesome.com/docs/components/resize-observer",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-resize-observer",
          "customElement": true,
          "modulePath": "components/resize-observer/resize-observer.js",
          "definitionPath": "components/resize-observer/resize-observer.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaResizeObserver",
            "module": "components/resize-observer/resize-observer.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-resize-observer",
          "declaration": {
            "name": "WaResizeObserver",
            "module": "components/resize-observer/resize-observer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/sample-component/sample-component.js",
      "declarations": [
        {
          "kind": "class",
          "description": "SAMPLE COMPONENT",
          "name": "WaSampleComponent",
          "cssParts": [
            {
              "description": "The component's root container.",
              "name": "base"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The current value of the slider.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The minimum value selectable.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "100",
              "description": "The maximum value selectable.",
              "attribute": "max"
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The current value of the slider.",
              "fieldName": "value"
            },
            {
              "name": "min",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The minimum value selectable.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "100",
              "description": "The maximum value selectable.",
              "fieldName": "max"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "tagName": "wa-sample-component",
          "customElement": true,
          "summary": "A simple slider component that displays the current value.",
          "jsDoc": "/**\n * SAMPLE COMPONENT\n *\n * @summary A simple slider component that displays the current value.\n * @documentation https://webawesome.com/docs/components/sample-component\n * @status experimental\n * @since 3.0\n *\n * @tag wa-sample-component\n *\n * @csspart base - The component's root container.\n *\n * @prop {number} value - The current value of the slider.\n * @prop {number} min - The minimum value selectable.\n * @prop {number} max - The maximum value selectable.\n *\n * @example\n * ```html\n * <wa-sample-component value=\"75\" min=\"0\" max=\"150\"></wa-sample-component>\n * ```\n */",
          "documentation": "https://webawesome.com/docs/components/sample-component",
          "status": "experimental",
          "since": "3.0",
          "modulePath": "components/sample-component/sample-component.js",
          "definitionPath": "components/sample-component/sample-component.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaSampleComponent",
            "module": "components/sample-component/sample-component.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-sample-component",
          "declaration": {
            "name": "WaSampleComponent",
            "module": "components/sample-component/sample-component.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/scroller/scroller.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaScroller",
          "cssProperties": [
            {
              "description": "The base color of the shadow.",
              "name": "--shadow-color",
              "default": "var(--wa-color-surface-default)"
            },
            {
              "description": "The size of the shadow.",
              "name": "--shadow-size",
              "default": "2rem"
            }
          ],
          "cssParts": [
            {
              "description": "The container that wraps the slotted content.",
              "name": "content"
            }
          ],
          "slots": [
            {
              "description": "The content to show inside the scroller.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[styles]"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "privacy": "private",
              "default": "new ResizeObserver(() => this.updateScroll())"
            },
            {
              "kind": "field",
              "name": "content",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "canScroll",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "The scroller's orientation.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutScrollbar",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the visible scrollbar.",
              "attribute": "without-scrollbar",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutShadow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the shadows.",
              "attribute": "without-shadow",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateScroll",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "The scroller's orientation.",
              "fieldName": "orientation"
            },
            {
              "name": "without-scrollbar",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the visible scrollbar.",
              "fieldName": "withoutScrollbar"
            },
            {
              "name": "without-shadow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the shadows.",
              "fieldName": "withoutShadow"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Scrollers create an accessible container while providing visual cues that help users identify and navigate\nthrough content that scrolls.",
          "jsDoc": "/**\n * @summary Scrollers create an accessible container while providing visual cues that help users identify and navigate\n *  through content that scrolls.\n * @documentation https://webawesome.com/docs/components/scroller\n * @status stable\n * @since 3.0\n *\n * @slot - The content to show inside the scroller.\n *\n * @cssproperty [--shadow-color=var(--wa-color-surface-default)] - The base color of the shadow.\n * @cssproperty [--shadow-size=2rem] - The size of the shadow.\n *\n * @csspart content - The container that wraps the slotted content.\n */",
          "documentation": "https://webawesome.com/docs/components/scroller",
          "status": "stable",
          "since": "3.0",
          "tagName": "wa-scroller",
          "customElement": true,
          "modulePath": "components/scroller/scroller.js",
          "definitionPath": "components/scroller/scroller.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaScroller",
            "module": "components/scroller/scroller.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-scroller",
          "declaration": {
            "name": "WaScroller",
            "module": "components/scroller/scroller.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/select/select.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaSelect",
          "cssProperties": [
            {
              "description": "The duration of the show animation.",
              "name": "--show-duration",
              "default": "100ms"
            },
            {
              "description": "The duration of the hide animation.",
              "name": "--hide-duration",
              "default": "100ms"
            },
            {
              "description": "When using `multiple`, the max size of tags before their content is truncated.",
              "name": "--tag-max-size",
              "default": "10ch"
            }
          ],
          "cssParts": [
            {
              "description": "The form control that wraps the label, input, and hint.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The select's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            },
            {
              "description": "The container the wraps the start, end, value, clear icon, and expand button.",
              "name": "combobox"
            },
            {
              "description": "The container that wraps the `start` slot.",
              "name": "start"
            },
            {
              "description": "The container that wraps the `end` slot.",
              "name": "end"
            },
            {
              "description": "The element that displays the selected option's label, an `<input>` element.",
              "name": "display-input"
            },
            {
              "description": "The listbox container where options are slotted.",
              "name": "listbox"
            },
            {
              "description": "The container that houses option tags when `multiselect` is used.",
              "name": "tags"
            },
            {
              "description": "The individual tags that represent each multiselect option.",
              "name": "tag"
            },
            {
              "description": "The tag's content part.",
              "name": "tag__content"
            },
            {
              "description": "The tag's remove button.",
              "name": "tag__remove-button"
            },
            {
              "description": "The tag's remove button base part.",
              "name": "tag__remove-button__base"
            },
            {
              "description": "The clear button.",
              "name": "clear-button"
            },
            {
              "description": "The container that wraps the expand icon.",
              "name": "expand-icon"
            }
          ],
          "slots": [
            {
              "description": "The listbox options. Must be `<wa-option>` elements. You can use `<wa-divider>` to group items visually.",
              "name": ""
            },
            {
              "description": "The input's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "An element, such as `<wa-icon>`, placed at the start of the combobox.",
              "name": "start"
            },
            {
              "description": "An element, such as `<wa-icon>`, placed at the end of the combobox.",
              "name": "end"
            },
            {
              "description": "An icon to use in lieu of the default clear icon.",
              "name": "clear-icon"
            },
            {
              "description": "The icon to show when the control is expanded and collapsed. Rotates on open and close.",
              "name": "expand-icon"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[styles, formControlStyles, sizeStyles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "static": true,
              "readonly": true
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "array"
              },
              "default": "['blur', 'input']"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint', 'label')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "typeToSelectString",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "typeToSelectTimeout",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "WaPopup"
              }
            },
            {
              "kind": "field",
              "name": "combobox",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "displayInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "valueInput",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "listbox",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "description": "Where to anchor native constraint validation",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "displayLabel",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "currentOption",
              "type": {
                "text": "WaOption"
              }
            },
            {
              "kind": "field",
              "name": "selectedOptions",
              "type": {
                "text": "WaOption[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "optionValues",
              "type": {
                "text": "Set<string | null> | undefined"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the select, submitted as a name/value pair with form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "_defaultValue",
              "type": {
                "text": "null | string | string[]"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "defaultValue"
            },
            {
              "kind": "method",
              "name": "convertDefaultValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "val",
                  "type": {
                    "text": "typeof this.defaultValue"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string[] | undefined | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The select's value. This will be a string for single select or an array for multi-select.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The select's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the select is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows more than one option to be selected.",
              "attribute": "multiple",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "maxOptionsVisible",
              "type": {
                "text": "number"
              },
              "default": "3",
              "description": "The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.",
              "attribute": "max-options-visible"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select control.",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "withClear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the select is not empty.",
              "attribute": "with-clear"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'filled' | 'outlined' | 'filled-outlined'"
              },
              "default": "'outlined'",
              "description": "The select's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style select with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's hint. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint"
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR purposes when a label is slotted in. Will show the label on first render.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR purposes when hint is slotted in. Will show the hint on first render.",
              "attribute": "with-hint"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The select's required attribute.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "getTag",
              "type": {
                "text": "(option: WaOption, index: number) => TemplateResult | string | HTMLElement"
              },
              "description": "A function that customizes the tags to be rendered when multiple=true. The first argument is the option, the second\nis the current tag's index.  The function should return either a Lit TemplateResult or a string containing trusted\nHTML of the symbol to render at the specified value."
            },
            {
              "kind": "method",
              "name": "updateDefaultValue",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentFocusIn",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentMouseDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleLabelClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleComboboxClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleComboboxMouseDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleComboboxKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClearClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClearMouseDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleOptionClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDefaultSlotChange",
              "privacy": "public",
              "type": {
                "text": "handleDefaultSlotChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleTagRemove",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "WaRemoveEvent"
                  }
                },
                {
                  "name": "directOption",
                  "optional": true,
                  "type": {
                    "text": "WaOption"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getAllOptions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getFirstOption",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setCurrentOption",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "WaOption | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setSelectedOptions",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "WaOption | WaOption[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleOptionSelection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "WaOption"
                  }
                },
                {
                  "name": "force",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "selectionChanged",
              "privacy": "public",
              "type": {
                "text": "selectionChanged() => void"
              }
            },
            {
              "kind": "field",
              "name": "tags",
              "privacy": "protected",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleValueChange",
              "type": {
                "text": "handleValueChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the listbox.",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the listbox.",
              "type": {
                "text": "hide() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the control.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the control.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "type": {
                "text": "formResetCallback() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaClearEvent"
              }
            },
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the control's value changes.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control's value is cleared.",
              "name": "wa-clear",
              "reactName": "onWaClear",
              "eventName": "WaClearEvent"
            },
            {
              "description": "Emitted when the select's menu opens.",
              "name": "wa-show",
              "reactName": "onWaShow",
              "eventName": "WaShowEvent"
            },
            {
              "description": "Emitted after the select's menu opens and all animations are complete.",
              "name": "wa-after-show",
              "reactName": "onWaAfterShow",
              "eventName": "WaAfterShowEvent"
            },
            {
              "description": "Emitted when the select's menu closes.",
              "name": "wa-hide",
              "reactName": "onWaHide",
              "eventName": "WaHideEvent"
            },
            {
              "description": "Emitted after the select's menu closes and all animations are complete.",
              "name": "wa-after-hide",
              "reactName": "onWaAfterHide",
              "eventName": "WaAfterHideEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "wa-invalid",
              "reactName": "onWaInvalid",
              "eventName": "WaInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the select, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "description": "The select's value. This will be a string for single select or an array for multi-select.",
              "fieldName": "value"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The select's size.",
              "fieldName": "size"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the select is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows more than one option to be selected.",
              "fieldName": "multiple"
            },
            {
              "name": "max-options-visible",
              "type": {
                "text": "number"
              },
              "default": "3",
              "description": "The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.",
              "fieldName": "maxOptionsVisible"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select control.",
              "fieldName": "disabled"
            },
            {
              "name": "with-clear",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button when the select is not empty.",
              "fieldName": "withClear"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.",
              "fieldName": "open"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'filled' | 'outlined' | 'filled-outlined'"
              },
              "default": "'outlined'",
              "description": "The select's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style select with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
              "fieldName": "placement"
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's hint. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR purposes when a label is slotted in. Will show the label on first render.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR purposes when hint is slotted in. Will show the hint on first render.",
              "fieldName": "withHint"
            },
            {
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The select's required attribute.",
              "fieldName": "required"
            }
          ],
          "cssStates": [
            {
              "description": "The select is empty.",
              "name": "blank"
            }
          ],
          "superclass": {
            "name": "WebAwesomeFormAssociatedElement",
            "module": "/src/internal/webawesome-form-associated-element.js"
          },
          "summary": "Selects allow you to choose items from a menu of predefined options.",
          "jsDoc": "/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @documentation https://webawesome.com/docs/components/select\n * @status stable\n * @since 2.0\n *\n * @dependency wa-icon\n * @dependency wa-popup\n * @dependency wa-tag\n * @dependency wa-option\n *\n * @slot - The listbox options. Must be `<wa-option>` elements. You can use `<wa-divider>` to group items visually.\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot start - An element, such as `<wa-icon>`, placed at the start of the combobox.\n * @slot end - An element, such as `<wa-icon>`, placed at the end of the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n * @slot hint - Text that describes how to use the input. Alternatively, you can use the `hint` attribute.\n *\n * @event change - Emitted when the control's value changes.\n * @event input - Emitted when the control receives input.\n * @event focus - Emitted when the control gains focus.\n * @event blur - Emitted when the control loses focus.\n * @event wa-clear - Emitted when the control's value is cleared.\n * @event wa-show - Emitted when the select's menu opens.\n * @event wa-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event wa-hide - Emitted when the select's menu closes.\n * @event wa-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event wa-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and hint.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart hint - The hint's wrapper.\n * @csspart combobox - The container the wraps the start, end, value, clear icon, and expand button.\n * @csspart start - The container that wraps the `start` slot.\n * @csspart end - The container that wraps the `end` slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n *\n * @cssproperty [--show-duration=100ms] - The duration of the show animation.\n * @cssproperty [--hide-duration=100ms] - The duration of the hide animation.\n * @cssproperty [--tag-max-size=10ch] - When using `multiple`, the max size of tags before their content is truncated.\n *\n * @cssstate blank - The select is empty.\n */",
          "documentation": "https://webawesome.com/docs/components/select",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-icon",
            "wa-popup",
            "wa-tag",
            "wa-option"
          ],
          "tagName": "wa-select",
          "customElement": true,
          "modulePath": "components/select/select.js",
          "definitionPath": "components/select/select.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaSelect",
            "module": "components/select/select.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-select",
          "declaration": {
            "name": "WaSelect",
            "module": "components/select/select.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/skeleton/skeleton.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaSkeleton",
          "cssProperties": [
            {
              "description": "The color of the skeleton.",
              "name": "--color"
            },
            {
              "description": "The sheen color when the skeleton is in its loading state.",
              "name": "--sheen-color"
            }
          ],
          "cssParts": [
            {
              "description": "The skeleton's indicator which is responsible for its color and animation.",
              "name": "indicator"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "effect",
              "type": {
                "text": "'pulse' | 'sheen' | 'none'"
              },
              "default": "'none'",
              "description": "Determines which effect the skeleton will use.",
              "attribute": "effect",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "effect",
              "type": {
                "text": "'pulse' | 'sheen' | 'none'"
              },
              "default": "'none'",
              "description": "Determines which effect the skeleton will use.",
              "fieldName": "effect"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Skeletons are used to provide a visual representation of where content will eventually be drawn.",
          "jsDoc": "/**\n * @summary Skeletons are used to provide a visual representation of where content will eventually be drawn.\n * @documentation https://webawesome.com/docs/components/skeleton\n * @status stable\n * @since 2.0\n *\n * @csspart indicator - The skeleton's indicator which is responsible for its color and animation.\n *\n * @cssproperty --color - The color of the skeleton.\n * @cssproperty --sheen-color - The sheen color when the skeleton is in its loading state.\n */",
          "documentation": "https://webawesome.com/docs/components/skeleton",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-skeleton",
          "customElement": true,
          "modulePath": "components/skeleton/skeleton.js",
          "definitionPath": "components/skeleton/skeleton.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaSkeleton",
            "module": "components/skeleton/skeleton.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-skeleton",
          "declaration": {
            "name": "WaSkeleton",
            "module": "components/skeleton/skeleton.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/slider/slider.js",
      "declarations": [
        {
          "kind": "class",
          "description": "<wa-slider>",
          "name": "WaSlider",
          "cssProperties": [
            {
              "description": "The height or width of the slider's track.",
              "name": "--track-size",
              "default": "0.75em"
            },
            {
              "description": "The width of each individual marker.",
              "name": "--marker-width",
              "default": "0.1875em"
            },
            {
              "description": "The height of each individual marker.",
              "name": "--marker-height",
              "default": "0.1875em"
            },
            {
              "description": "The width of the thumb.",
              "name": "--thumb-width",
              "default": "1.25em"
            },
            {
              "description": "The height of the thumb.",
              "name": "--thumb-height",
              "default": "1.25em"
            }
          ],
          "cssParts": [
            {
              "description": "The element that contains the sliders's label.",
              "name": "label"
            },
            {
              "description": "The element that contains the slider's description.",
              "name": "hint"
            },
            {
              "description": "The focusable element with `role=\"slider\"`. Contains the track and reference slot.",
              "name": "slider"
            },
            {
              "description": "The slider's track.",
              "name": "track"
            },
            {
              "description": "The colored indicator that shows from the start of the slider to the current value.",
              "name": "indicator"
            },
            {
              "description": "The container that holds all the markers when `with-markers` is used.",
              "name": "markers"
            },
            {
              "description": "The individual markers that are shown when `with-markers` is used.",
              "name": "marker"
            },
            {
              "description": "The container that holds references that get slotted in.",
              "name": "references"
            },
            {
              "description": "The slider's thumb.",
              "name": "thumb"
            },
            {
              "description": "The min value thumb in a range slider.",
              "name": "thumb-min"
            },
            {
              "description": "The max value thumb in a range slider.",
              "name": "thumb-max"
            },
            {
              "description": "The tooltip, a `<wa-tooltip>` element.",
              "name": "tooltip"
            },
            {
              "description": "The tooltip's `tooltip` part.",
              "name": "tooltip__tooltip"
            },
            {
              "description": "The tooltip's `content` part.",
              "name": "tooltip__content"
            },
            {
              "description": "The tooltip's `arrow` part.",
              "name": "tooltip__arrow"
            }
          ],
          "slots": [
            {
              "description": "The slider label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `hint` attribute. instead.",
              "name": "hint"
            },
            {
              "description": "One or more reference labels to show visually below the slider.",
              "name": "reference"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true"
            },
            {
              "kind": "field",
              "name": "observeSlots",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true"
            },
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[sizeStyles, formControlStyles, styles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "static": true,
              "readonly": true
            },
            {
              "kind": "field",
              "name": "draggableTrack",
              "type": {
                "text": "DraggableElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "draggableThumbMin",
              "type": {
                "text": "DraggableElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "draggableThumbMax",
              "type": {
                "text": "DraggableElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint', 'label')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "trackBoundingClientRect",
              "type": {
                "text": "DOMRect"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "valueWhenDraggingStarted",
              "type": {
                "text": "number | undefined | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "activeThumb",
              "type": {
                "text": "'min' | 'max' | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "lastTrackPosition",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "focusableAnchor",
              "privacy": "protected",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationTarget",
              "description": "Override validation target to point to the focusable element",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "slider",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "thumb",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "thumbMin",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "thumbMax",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "track",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "tooltip",
              "type": {
                "text": "WaTooltip"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The slider's label. If you need to provide HTML in the label, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The slider hint. If you need to display HTML, use the hint slot instead.",
              "attribute": "hint"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "The name of the slider. This will be submitted with the form as a name/value pair.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "minValue",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The minimum value of a range selection. Used only when range attribute is set.",
              "attribute": "min-value"
            },
            {
              "kind": "field",
              "name": "maxValue",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The maximum value of a range selection. Used only when range attribute is set.",
              "attribute": "max-value"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "number"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "description": "The current value of the slider, submitted as a name/value pair with form data."
            },
            {
              "kind": "field",
              "name": "range",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Converts the slider to a range slider with two thumbs.",
              "attribute": "range",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "isRange",
              "type": {
                "text": "boolean"
              },
              "description": "Get if this is a range slider",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the slider.",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the slider a read-only field.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "The orientation of the slider.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The slider's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "indicatorOffset",
              "type": {
                "text": "number"
              },
              "description": "The starting value from which to draw the slider's fill, which is based on its current value.",
              "attribute": "indicator-offset"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "The form to associate this control with. If omitted, the closest containing `<form>` will be used. The value of\nthis attribute must be an ID of a form in the same document or shadow root.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The minimum value allowed.",
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "100",
              "description": "The maximum value allowed.",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The granularity the value must adhere to when incrementing and decrementing.",
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the slider a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Tells the browser to focus the slider when the page loads or a dialog is shown.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "tooltipDistance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance of the tooltip from the slider's thumb.",
              "attribute": "tooltip-distance"
            },
            {
              "kind": "field",
              "name": "tooltipPlacement",
              "type": {
                "text": "'top' | 'right' | 'bottom' | 'left'"
              },
              "default": "'top'",
              "description": "The placement of the tooltip in reference to the slider's thumb.",
              "attribute": "tooltip-placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withMarkers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws markers at each step along the slider.",
              "attribute": "with-markers"
            },
            {
              "kind": "field",
              "name": "withTooltip",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a tooltip above the thumb when the control has focus or is dragged.",
              "attribute": "with-tooltip"
            },
            {
              "kind": "field",
              "name": "valueFormatter",
              "type": {
                "text": "(value: number) => string"
              },
              "description": "A custom formatting function to apply to the value. This will be shown in the tooltip and announced by screen\nreaders. Must be set with JavaScript. Property only."
            },
            {
              "kind": "method",
              "name": "clampAndRoundToStep",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Clamps a number to min/max while ensuring it's a valid step interval."
            },
            {
              "kind": "method",
              "name": "getPercentageFromValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Given a value, returns its percentage within a range of min/max."
            },
            {
              "kind": "method",
              "name": "getValueFromCoordinates",
              "privacy": "private",
              "parameters": [
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Converts coordinates to slider value"
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleLabelPointerDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setValueFromCoordinates",
              "privacy": "private",
              "parameters": [
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setThumbValueFromCoordinates",
              "privacy": "private",
              "parameters": [
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "thumb",
                  "type": {
                    "text": "'min' | 'max'"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "showTooltip",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hideTooltip",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "showRangeTooltips",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hideRangeTooltips",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateFormValue",
              "privacy": "private",
              "description": "Updates the form value submission for range sliders"
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "description": "Sets focus to the slider.",
              "type": {
                "text": "focus() => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "privacy": "public",
              "description": "Removes focus from the slider.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "stepDown",
              "privacy": "public",
              "description": "Decreases the slider's value by `step`. This is a programmatic change, so `input` and `change` events will not be\nemitted when this is called.",
              "type": {
                "text": "stepDown() => void"
              }
            },
            {
              "kind": "method",
              "name": "stepUp",
              "privacy": "public",
              "description": "Increases the slider's value by `step`. This is a programmatic change, so `input` and `change` events will not be\nemitted when this is called.",
              "type": {
                "text": "stepUp() => void"
              }
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "name": "blur",
              "type": {
                "text": "FocusEvent"
              },
              "description": "Emitted when the control loses focus.",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "name": "focus",
              "type": {
                "text": "FocusEvent"
              },
              "description": "Emitted when the control gains focus.",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "wa-invalid",
              "reactName": "onWaInvalid",
              "eventName": "WaInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The slider's label. If you need to provide HTML in the label, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The slider hint. If you need to display HTML, use the hint slot instead.",
              "fieldName": "hint"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "The name of the slider. This will be submitted with the form as a name/value pair.",
              "fieldName": "name"
            },
            {
              "name": "min-value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The minimum value of a range selection. Used only when range attribute is set.",
              "fieldName": "minValue"
            },
            {
              "name": "max-value",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The maximum value of a range selection. Used only when range attribute is set.",
              "fieldName": "maxValue"
            },
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultValue"
            },
            {
              "name": "range",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Converts the slider to a range slider with two thumbs.",
              "fieldName": "range"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the slider.",
              "fieldName": "disabled"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the slider a read-only field.",
              "fieldName": "readonly"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "The orientation of the slider.",
              "fieldName": "orientation"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The slider's size.",
              "fieldName": "size"
            },
            {
              "name": "indicator-offset",
              "type": {
                "text": "number"
              },
              "description": "The starting value from which to draw the slider's fill, which is based on its current value.",
              "fieldName": "indicatorOffset"
            },
            {
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "The form to associate this control with. If omitted, the closest containing `<form>` will be used. The value of\nthis attribute must be an ID of a form in the same document or shadow root.",
              "fieldName": "form"
            },
            {
              "name": "min",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The minimum value allowed.",
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "100",
              "description": "The maximum value allowed.",
              "fieldName": "max"
            },
            {
              "name": "step",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The granularity the value must adhere to when incrementing and decrementing.",
              "fieldName": "step"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the slider a required field.",
              "fieldName": "required"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Tells the browser to focus the slider when the page loads or a dialog is shown.",
              "fieldName": "autofocus"
            },
            {
              "name": "tooltip-distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance of the tooltip from the slider's thumb.",
              "fieldName": "tooltipDistance"
            },
            {
              "name": "tooltip-placement",
              "type": {
                "text": "'top' | 'right' | 'bottom' | 'left'"
              },
              "default": "'top'",
              "description": "The placement of the tooltip in reference to the slider's thumb.",
              "fieldName": "tooltipPlacement"
            },
            {
              "name": "with-markers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws markers at each step along the slider.",
              "fieldName": "withMarkers"
            },
            {
              "name": "with-tooltip",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a tooltip above the thumb when the control has focus or is dragged.",
              "fieldName": "withTooltip"
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the slider is disabled.",
              "name": "disabled"
            },
            {
              "description": "Applied when the slider is being dragged.",
              "name": "dragging"
            },
            {
              "description": "Applied when the slider has focus.",
              "name": "focused"
            },
            {
              "description": "Applied when the slider is valid and the user has sufficiently interacted with it.",
              "name": "user-valid"
            },
            {
              "description": "Applied when the slider is invalid and the user has sufficiently interacted with it.",
              "name": "user-invalid"
            }
          ],
          "superclass": {
            "name": "WebAwesomeFormAssociatedElement",
            "module": "/src/internal/webawesome-form-associated-element.js"
          },
          "summary": "Ranges allow the user to select a single value within a given range using a slider.",
          "jsDoc": "/**\n * <wa-slider>\n *\n * @summary Ranges allow the user to select a single value within a given range using a slider.\n * @documentation https://webawesome.com/docs/components/range\n * @status stable\n * @since 2.0\n *\n * @dependency wa-tooltip\n *\n * @slot label - The slider label. Alternatively, you can use the `label` attribute.\n * @slot hint - Text that describes how to use the input. Alternatively, you can use the `hint` attribute.\n *  instead.\n * @slot reference - One or more reference labels to show visually below the slider.\n *\n * @event blur - Emitted when the control loses focus.\n * @event change - Emitted when an alteration to the control's value is committed by the user.\n * @event focus - Emitted when the control gains focus.\n * @event input - Emitted when the control receives input.\n * @event wa-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart label - The element that contains the sliders's label.\n * @csspart hint - The element that contains the slider's description.\n * @csspart slider - The focusable element with `role=\"slider\"`. Contains the track and reference slot.\n * @csspart track - The slider's track.\n * @csspart indicator - The colored indicator that shows from the start of the slider to the current value.\n * @csspart markers - The container that holds all the markers when `with-markers` is used.\n * @csspart marker - The individual markers that are shown when `with-markers` is used.\n * @csspart references - The container that holds references that get slotted in.\n * @csspart thumb - The slider's thumb.\n * @csspart thumb-min - The min value thumb in a range slider.\n * @csspart thumb-max - The max value thumb in a range slider.\n * @csspart tooltip - The tooltip, a `<wa-tooltip>` element.\n * @csspart tooltip__tooltip - The tooltip's `tooltip` part.\n * @csspart tooltip__content - The tooltip's `content` part.\n * @csspart tooltip__arrow - The tooltip's `arrow` part.\n *\n * @cssstate disabled - Applied when the slider is disabled.\n * @cssstate dragging - Applied when the slider is being dragged.\n * @cssstate focused - Applied when the slider has focus.\n * @cssstate user-valid - Applied when the slider is valid and the user has sufficiently interacted with it.\n * @cssstate user-invalid - Applied when the slider is invalid and the user has sufficiently interacted with it.\n *\n * @cssproperty [--track-size=0.75em] - The height or width of the slider's track.\n * @cssproperty [--marker-width=0.1875em] - The width of each individual marker.\n * @cssproperty [--marker-height=0.1875em] - The height of each individual marker.\n * @cssproperty [--thumb-width=1.25em] - The width of the thumb.\n * @cssproperty [--thumb-height=1.25em] - The height of the thumb.\n */",
          "documentation": "https://webawesome.com/docs/components/range",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-tooltip"
          ],
          "tagName": "wa-slider",
          "customElement": true,
          "modulePath": "components/slider/slider.js",
          "definitionPath": "components/slider/slider.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaSlider",
            "module": "components/slider/slider.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-slider",
          "declaration": {
            "name": "WaSlider",
            "module": "components/slider/slider.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/spinner/spinner.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaSpinner",
          "cssProperties": [
            {
              "description": "The width of the track.",
              "name": "--track-width"
            },
            {
              "description": "The color of the track.",
              "name": "--track-color"
            },
            {
              "description": "The color of the spinner's indicator.",
              "name": "--indicator-color"
            },
            {
              "description": "The time it takes for the spinner to complete one animation cycle.",
              "name": "--speed"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Spinners are used to show the progress of an indeterminate operation.",
          "jsDoc": "/**\n * @summary Spinners are used to show the progress of an indeterminate operation.\n * @documentation https://webawesome.com/docs/components/spinner\n * @status stable\n * @since 2.0\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --track-width - The width of the track.\n * @cssproperty --track-color - The color of the track.\n * @cssproperty --indicator-color - The color of the spinner's indicator.\n * @cssproperty --speed - The time it takes for the spinner to complete one animation cycle.\n */",
          "documentation": "https://webawesome.com/docs/components/spinner",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-spinner",
          "customElement": true,
          "modulePath": "components/spinner/spinner.js",
          "definitionPath": "components/spinner/spinner.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaSpinner",
            "module": "components/spinner/spinner.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-spinner",
          "declaration": {
            "name": "WaSpinner",
            "module": "components/spinner/spinner.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/split-panel/split-panel.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaSplitPanel",
          "cssProperties": [
            {
              "description": "The width of the visible divider.",
              "name": "--divider-width",
              "default": "4px"
            },
            {
              "description": "The invisible region around the divider where dragging can occur. This is usually wider than the divider to facilitate easier dragging.",
              "name": "--divider-hit-area",
              "default": "12px"
            },
            {
              "description": "The minimum allowed size of the primary panel.",
              "name": "--min",
              "default": "0"
            },
            {
              "description": "The maximum allowed size of the primary panel.",
              "name": "--max",
              "default": "100%"
            }
          ],
          "cssParts": [
            {
              "description": "The start panel.",
              "name": "start"
            },
            {
              "description": "The end panel.",
              "name": "end"
            },
            {
              "description": "Targets both the start and end panels.",
              "name": "panel"
            },
            {
              "description": "The divider that separates the start and end panels.",
              "name": "divider"
            }
          ],
          "slots": [
            {
              "description": "Content to place in the start panel.",
              "name": "start"
            },
            {
              "description": "Content to place in the end panel.",
              "name": "end"
            },
            {
              "description": "The divider. Useful for slotting in a custom icon that renders as a handle.",
              "name": "divider"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "cachedPositionInPixels",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "isCollapsed",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "positionBeforeCollapsing",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "divider",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "position",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The current position of the divider from the primary panel's edge as a percentage 0-100. Defaults to 50% of the\ncontainer's initial size.",
              "attribute": "position",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "positionInPixels",
              "type": {
                "text": "number"
              },
              "description": "The current position of the divider from the primary panel's edge in pixels.",
              "attribute": "position-in-pixels"
            },
            {
              "kind": "field",
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Sets the split panel's orientation.",
              "attribute": "orientation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables resizing. Note that the position may still change as a result of resizing the host element.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "primary",
              "type": {
                "text": "'start' | 'end' | undefined"
              },
              "description": "If no primary panel is designated, both panels will resize proportionally when the host element is resized. If a\nprimary panel is designated, it will maintain its size and the other panel will grow or shrink as needed when the\nhost element is resized.",
              "attribute": "primary"
            },
            {
              "kind": "field",
              "name": "snap",
              "type": {
                "text": "string | undefined"
              },
              "description": "One or more space-separated values at which the divider should snap. Values can be in pixels or percentages, e.g.\n`\"100px 50%\"`.",
              "attribute": "snap"
            },
            {
              "kind": "field",
              "name": "snapThreshold",
              "type": {
                "text": "number"
              },
              "default": "12",
              "description": "How close the divider must be to a snap point until snapping occurs.",
              "attribute": "snap-threshold"
            },
            {
              "kind": "method",
              "name": "detectSize",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "percentageToPixels",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "pixelsToPercentage",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDrag",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleResize",
              "privacy": "private",
              "parameters": [
                {
                  "name": "entries",
                  "type": {
                    "text": "ResizeObserverEntry[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handlePositionChange",
              "type": {
                "text": "handlePositionChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handlePositionInPixelsChange",
              "type": {
                "text": "handlePositionInPixelsChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleVerticalChange",
              "type": {
                "text": "handleVerticalChange() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaRepositionEvent"
              }
            },
            {
              "description": "Emitted when the divider's position changes.",
              "name": "wa-reposition",
              "reactName": "onWaReposition",
              "eventName": "WaRepositionEvent"
            }
          ],
          "attributes": [
            {
              "name": "position",
              "type": {
                "text": "number"
              },
              "default": "50",
              "description": "The current position of the divider from the primary panel's edge as a percentage 0-100. Defaults to 50% of the\ncontainer's initial size.",
              "fieldName": "position"
            },
            {
              "name": "position-in-pixels",
              "type": {
                "text": "number"
              },
              "description": "The current position of the divider from the primary panel's edge in pixels.",
              "fieldName": "positionInPixels"
            },
            {
              "name": "orientation",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "description": "Sets the split panel's orientation.",
              "fieldName": "orientation"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables resizing. Note that the position may still change as a result of resizing the host element.",
              "fieldName": "disabled"
            },
            {
              "name": "primary",
              "type": {
                "text": "'start' | 'end' | undefined"
              },
              "description": "If no primary panel is designated, both panels will resize proportionally when the host element is resized. If a\nprimary panel is designated, it will maintain its size and the other panel will grow or shrink as needed when the\nhost element is resized.",
              "fieldName": "primary"
            },
            {
              "name": "snap",
              "type": {
                "text": "string | undefined"
              },
              "description": "One or more space-separated values at which the divider should snap. Values can be in pixels or percentages, e.g.\n`\"100px 50%\"`.",
              "fieldName": "snap"
            },
            {
              "name": "snap-threshold",
              "type": {
                "text": "number"
              },
              "default": "12",
              "description": "How close the divider must be to a snap point until snapping occurs.",
              "fieldName": "snapThreshold"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Split panels display two adjacent panels, allowing the user to reposition them.",
          "jsDoc": "/**\n * @summary Split panels display two adjacent panels, allowing the user to reposition them.\n * @documentation https://webawesome.com/docs/components/split-panel\n * @status stable\n * @since 2.0\n *\n * @event wa-reposition - Emitted when the divider's position changes.\n *\n * @slot start - Content to place in the start panel.\n * @slot end - Content to place in the end panel.\n * @slot divider - The divider. Useful for slotting in a custom icon that renders as a handle.\n *\n * @csspart start - The start panel.\n * @csspart end - The end panel.\n * @csspart panel - Targets both the start and end panels.\n * @csspart divider - The divider that separates the start and end panels.\n *\n * @cssproperty [--divider-width=4px] - The width of the visible divider.\n * @cssproperty [--divider-hit-area=12px] - The invisible region around the divider where dragging can occur. This is\n *  usually wider than the divider to facilitate easier dragging.\n * @cssproperty [--min=0] - The minimum allowed size of the primary panel.\n * @cssproperty [--max=100%] - The maximum allowed size of the primary panel.\n */",
          "documentation": "https://webawesome.com/docs/components/split-panel",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-split-panel",
          "customElement": true,
          "modulePath": "components/split-panel/split-panel.js",
          "definitionPath": "components/split-panel/split-panel.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaSplitPanel",
            "module": "components/split-panel/split-panel.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-split-panel",
          "declaration": {
            "name": "WaSplitPanel",
            "module": "components/split-panel/split-panel.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/switch/switch.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaSwitch",
          "cssProperties": [
            {
              "description": "The width of the switch.",
              "name": "--width"
            },
            {
              "description": "The height of the switch.",
              "name": "--height"
            },
            {
              "description": "The size of the thumb.",
              "name": "--thumb-size"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The control that houses the switch's thumb.",
              "name": "control"
            },
            {
              "description": "The switch's thumb.",
              "name": "thumb"
            },
            {
              "description": "The switch's label.",
              "name": "label"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            }
          ],
          "slots": [
            {
              "description": "The switch's label.",
              "name": ""
            },
            {
              "description": "Text that describes how to use the switch. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ ...WebAwesomeFormAssociatedElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[formControlStyles, sizeStyles, styles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "static": true,
              "readonly": true
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint')"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the switch, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The value of the switch, submitted as a name/value pair with form data.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The switch's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the switch.",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "description": "Draws the switch in a checked state."
            },
            {
              "kind": "field",
              "name": "defaultChecked",
              "type": {
                "text": "boolean"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the switch a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The switch's hint. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. If you slot in hint, make sure to add `with-hint` to your component to get it to properly render with SSR.",
              "attribute": "with-hint"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleValueOrCheckedChange",
              "type": {
                "text": "handleValueOrCheckedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDefaultCheckedChange",
              "type": {
                "text": "handleDefaultCheckedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleStateChange",
              "type": {
                "text": "handleStateChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "click",
              "description": "Simulates a click on the switch.",
              "type": {
                "text": "click() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the switch.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the switch.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "setValue",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string | File | FormData | null"
                  }
                },
                {
                  "name": "stateValue",
                  "optional": true,
                  "type": {
                    "text": "string | File | FormData | null | undefined"
                  }
                }
              ],
              "type": {
                "text": "setValue(value: string | File | FormData | null, stateValue?: string | File | FormData | null | undefined) => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "type": {
                "text": "formResetCallback() => void"
              }
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the control's checked state changes.",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "name": "input",
              "type": {
                "text": "InputEvent"
              },
              "description": "Emitted when the control receives input.",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "wa-invalid",
              "reactName": "onWaInvalid",
              "eventName": "WaInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the switch, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string | null"
              },
              "description": "The value of the switch, submitted as a name/value pair with form data.",
              "fieldName": "value"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The switch's size.",
              "fieldName": "size"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the switch.",
              "fieldName": "disabled"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultChecked"
            },
            {
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the switch a required field.",
              "fieldName": "required"
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The switch's hint. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. If you slot in hint, make sure to add `with-hint` to your component to get it to properly render with SSR.",
              "fieldName": "withHint"
            }
          ],
          "superclass": {
            "name": "WebAwesomeFormAssociatedElement",
            "module": "/src/internal/webawesome-form-associated-element.js"
          },
          "summary": "Switches allow the user to toggle an option on or off.",
          "jsDoc": "/**\n * @summary Switches allow the user to toggle an option on or off.\n * @documentation https://webawesome.com/docs/components/switch\n * @status stable\n * @since 2.0\n *\n * @slot - The switch's label.\n * @slot hint - Text that describes how to use the switch. Alternatively, you can use the `hint` attribute.\n *\n * @event blur - Emitted when the control loses focus.\n * @event change - Emitted when the control's checked state changes.\n * @event input - Emitted when the control receives input.\n * @event focus - Emitted when the control gains focus.\n * @event wa-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The control that houses the switch's thumb.\n * @csspart thumb - The switch's thumb.\n * @csspart label - The switch's label.\n * @csspart hint - The hint's wrapper.\n *\n * @cssproperty --width - The width of the switch.\n * @cssproperty --height - The height of the switch.\n * @cssproperty --thumb-size - The size of the thumb.\n */",
          "documentation": "https://webawesome.com/docs/components/switch",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-switch",
          "customElement": true,
          "modulePath": "components/switch/switch.js",
          "definitionPath": "components/switch/switch.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaSwitch",
            "module": "components/switch/switch.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-switch",
          "declaration": {
            "name": "WaSwitch",
            "module": "components/switch/switch.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tab/tab.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaTab",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The tab's label.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "attrId",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true,
              "default": "++id"
            },
            {
              "kind": "field",
              "name": "componentId",
              "privacy": "private",
              "readonly": true,
              "default": "`wa-tab-${this.attrId}`"
            },
            {
              "kind": "field",
              "name": "tab",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "panel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the tab panel this tab is associated with. The panel must be located in the same tab group.",
              "attribute": "panel",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tab and prevents selection.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleActiveChange",
              "type": {
                "text": "handleActiveChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            }
          ],
          "attributes": [
            {
              "name": "panel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the tab panel this tab is associated with. The panel must be located in the same tab group.",
              "fieldName": "panel"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tab and prevents selection.",
              "fieldName": "disabled"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Tabs are used inside [tab groups](/docs/components/tab-group) to represent and activate [tab panels](/docs/components/tab-panel).",
          "jsDoc": "/**\n * @summary Tabs are used inside [tab groups](/docs/components/tab-group) to represent and activate [tab panels](/docs/components/tab-panel).\n * @documentation https://webawesome.com/docs/components/tab\n * @status stable\n * @since 2.0\n *\n * @slot - The tab's label.\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://webawesome.com/docs/components/tab",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-tab",
          "customElement": true,
          "modulePath": "components/tab/tab.js",
          "definitionPath": "components/tab/tab.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaTab",
            "module": "components/tab/tab.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-tab",
          "declaration": {
            "name": "WaTab",
            "module": "components/tab/tab.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tab-group/tab-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaTabGroup",
          "cssProperties": [
            {
              "description": "The color of the active tab indicator.",
              "name": "--indicator-color"
            },
            {
              "description": "The color of the indicator's track (the line that separates tabs from panels).",
              "name": "--track-color"
            },
            {
              "description": "The width of the indicator's track (the line that separates tabs from panels).",
              "name": "--track-width"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The tab group's navigation container where tabs are slotted in.",
              "name": "nav"
            },
            {
              "description": "The container that wraps the tabs.",
              "name": "tabs"
            },
            {
              "description": "The tab group's body where tab panels are slotted in.",
              "name": "body"
            },
            {
              "description": "The previous/next scroll buttons that show when tabs are scrollable, a `<wa-button>`.",
              "name": "scroll-button"
            },
            {
              "description": "The starting scroll button.",
              "name": "scroll-button-start"
            },
            {
              "description": "The ending scroll button.",
              "name": "scroll-button-end"
            },
            {
              "description": "The scroll button's exported `base` part.",
              "name": "scroll-button__base"
            }
          ],
          "slots": [
            {
              "description": "Used for grouping tab panels in the tab group. Must be `<wa-tab-panel>` elements.",
              "name": ""
            },
            {
              "description": "Used for grouping tabs in the tab group. Must be `<wa-tab>` elements. Note that `<wa-tab>` will set this slot on itself automatically.",
              "name": "nav"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "activeTab",
              "type": {
                "text": "WaTab | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "tabs",
              "type": {
                "text": "WaTab[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "focusableTabs",
              "type": {
                "text": "WaTab[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "panels",
              "type": {
                "text": "WaTabPanel[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "tabGroup",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "body",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "nav",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "hasScrollControls",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Sets the active tab.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom' | 'start' | 'end'"
              },
              "default": "'top'",
              "description": "The placement of the tabs.",
              "attribute": "placement"
            },
            {
              "kind": "field",
              "name": "activation",
              "type": {
                "text": "'auto' | 'manual'"
              },
              "default": "'auto'",
              "description": "When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\nmanual, the tab will receive focus but will not show until the user presses spacebar or enter.",
              "attribute": "activation"
            },
            {
              "kind": "field",
              "name": "withoutScrollControls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the scroll arrows that appear when tabs overflow.",
              "attribute": "without-scroll-controls"
            },
            {
              "kind": "method",
              "name": "getAllTabs",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getAllPanels",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getActiveTab",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "findNextFocusableTab",
              "privacy": "private",
              "parameters": [
                {
                  "name": "currentIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "direction",
                  "type": {
                    "text": "'forward' | 'backward'"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleScrollToStart",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleScrollToEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setActiveTab",
              "privacy": "private",
              "parameters": [
                {
                  "name": "tab",
                  "type": {
                    "text": "WaTab"
                  }
                },
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "{ emitEvents?: boolean; scrollBehavior?: 'auto' | 'smooth' }"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setAriaLabels",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncTabsAndPanels",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateActiveTab",
              "type": {
                "text": "updateActiveTab() => void"
              }
            },
            {
              "kind": "method",
              "name": "updateScrollControls",
              "type": {
                "text": "updateScrollControls() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaTabHideEvent"
              }
            },
            {
              "type": {
                "text": "{ name: String }"
              },
              "description": "Emitted when a tab is shown.",
              "name": "wa-tab-show",
              "reactName": "onWaTabShow",
              "eventName": "WaTabShowEvent"
            },
            {
              "type": {
                "text": "{ name: String }"
              },
              "description": "Emitted when a tab is hidden.",
              "name": "wa-tab-hide",
              "reactName": "onWaTabHide",
              "eventName": "WaTabHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "active",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Sets the active tab.",
              "fieldName": "active"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom' | 'start' | 'end'"
              },
              "default": "'top'",
              "description": "The placement of the tabs.",
              "fieldName": "placement"
            },
            {
              "name": "activation",
              "type": {
                "text": "'auto' | 'manual'"
              },
              "default": "'auto'",
              "description": "When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\nmanual, the tab will receive focus but will not show until the user presses spacebar or enter.",
              "fieldName": "activation"
            },
            {
              "name": "without-scroll-controls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the scroll arrows that appear when tabs overflow.",
              "fieldName": "withoutScrollControls"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Tab groups organize content into a container that shows one section at a time.",
          "jsDoc": "/**\n * @summary Tab groups organize content into a container that shows one section at a time.\n * @documentation https://webawesome.com/docs/components/tab-group\n * @status stable\n * @since 2.0\n *\n * @dependency wa-button\n * @dependency wa-tab\n * @dependency wa-tab-panel\n *\n * @slot - Used for grouping tab panels in the tab group. Must be `<wa-tab-panel>` elements.\n * @slot nav - Used for grouping tabs in the tab group. Must be `<wa-tab>` elements. Note that `<wa-tab>` will set this\n *  slot on itself automatically.\n *\n * @event {{ name: String }} wa-tab-show - Emitted when a tab is shown.\n * @event {{ name: String }} wa-tab-hide - Emitted when a tab is hidden.\n *\n * @csspart base - The component's base wrapper.\n * @csspart nav - The tab group's navigation container where tabs are slotted in.\n * @csspart tabs - The container that wraps the tabs.\n * @csspart body - The tab group's body where tab panels are slotted in.\n * @csspart scroll-button - The previous/next scroll buttons that show when tabs are scrollable, a `<wa-button>`.\n * @csspart scroll-button-start - The starting scroll button.\n * @csspart scroll-button-end - The ending scroll button.\n * @csspart scroll-button__base - The scroll button's exported `base` part.\n *\n * @cssproperty --indicator-color - The color of the active tab indicator.\n * @cssproperty --track-color - The color of the indicator's track (the line that separates tabs from panels).\n * @cssproperty --track-width - The width of the indicator's track (the line that separates tabs from panels).\n */",
          "documentation": "https://webawesome.com/docs/components/tab-group",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-button",
            "wa-tab",
            "wa-tab-panel"
          ],
          "tagName": "wa-tab-group",
          "customElement": true,
          "modulePath": "components/tab-group/tab-group.js",
          "definitionPath": "components/tab-group/tab-group.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaTabGroup",
            "module": "components/tab-group/tab-group.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-tab-group",
          "declaration": {
            "name": "WaTabGroup",
            "module": "components/tab-group/tab-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tab-panel/tab-panel.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaTabPanel",
          "cssProperties": [
            {
              "description": "The tab panel's padding.",
              "name": "--padding"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The tab panel's content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "attrId",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true,
              "default": "++id"
            },
            {
              "kind": "field",
              "name": "componentId",
              "privacy": "private",
              "readonly": true,
              "default": "`wa-tab-panel-${this.attrId}`"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The tab panel's name.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the tab panel will be shown.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleActiveChange",
              "type": {
                "text": "handleActiveChange() => void"
              }
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The tab panel's name.",
              "fieldName": "name"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, the tab panel will be shown.",
              "fieldName": "active"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Tab panels are used inside [tab groups](/docs/components/tab-group) to display tabbed content.",
          "jsDoc": "/**\n * @summary Tab panels are used inside [tab groups](/docs/components/tab-group) to display tabbed content.\n * @documentation https://webawesome.com/docs/components/tab-panel\n * @status stable\n * @since 2.0\n *\n * @slot - The tab panel's content.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --padding - The tab panel's padding.\n */",
          "documentation": "https://webawesome.com/docs/components/tab-panel",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-tab-panel",
          "customElement": true,
          "modulePath": "components/tab-panel/tab-panel.js",
          "definitionPath": "components/tab-panel/tab-panel.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaTabPanel",
            "module": "components/tab-panel/tab-panel.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-tab-panel",
          "declaration": {
            "name": "WaTabPanel",
            "module": "components/tab-panel/tab-panel.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tag/tag.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaTag",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The tag's content.",
              "name": "content"
            },
            {
              "description": "The tag's remove button, a `<wa-button>`.",
              "name": "remove-button"
            },
            {
              "description": "The remove button's exported `base` part.",
              "name": "remove-button__base"
            }
          ],
          "slots": [
            {
              "description": "The tag's content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[styles, variantStyles, sizeStyles]"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'brand' | 'neutral' | 'success' | 'warning' | 'danger'"
              },
              "default": "'neutral'",
              "description": "The tag's theme variant. Defaults to `neutral` if not within another element with a variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'accent' | 'filled' | 'outlined' | 'filled-outlined'"
              },
              "default": "'filled-outlined'",
              "description": "The tag's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The tag's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style tag with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withRemove",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the tag removable and shows a remove button.",
              "attribute": "with-remove"
            },
            {
              "kind": "method",
              "name": "handleRemoveClick",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaRemoveEvent"
              }
            },
            {
              "description": "Emitted when the remove button is activated.",
              "name": "wa-remove",
              "reactName": "onWaRemove",
              "eventName": "WaRemoveEvent"
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'brand' | 'neutral' | 'success' | 'warning' | 'danger'"
              },
              "default": "'neutral'",
              "description": "The tag's theme variant. Defaults to `neutral` if not within another element with a variant.",
              "fieldName": "variant"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'accent' | 'filled' | 'outlined' | 'filled-outlined'"
              },
              "default": "'filled-outlined'",
              "description": "The tag's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The tag's size.",
              "fieldName": "size"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style tag with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "with-remove",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the tag removable and shows a remove button.",
              "fieldName": "withRemove"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Tags are used as labels to organize things or to indicate a selection.",
          "jsDoc": "/**\n * @summary Tags are used as labels to organize things or to indicate a selection.\n * @documentation https://webawesome.com/docs/components/tag\n * @status stable\n * @since 2.0\n *\n * @dependency wa-button\n *\n * @slot - The tag's content.\n *\n * @event wa-remove - Emitted when the remove button is activated.\n *\n * @csspart base - The component's base wrapper.\n * @csspart content - The tag's content.\n * @csspart remove-button - The tag's remove button, a `<wa-button>`.\n * @csspart remove-button__base - The remove button's exported `base` part.\n */",
          "documentation": "https://webawesome.com/docs/components/tag",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-button"
          ],
          "tagName": "wa-tag",
          "customElement": true,
          "modulePath": "components/tag/tag.js",
          "definitionPath": "components/tag/tag.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaTag",
            "module": "components/tag/tag.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-tag",
          "declaration": {
            "name": "WaTag",
            "module": "components/tag/tag.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/textarea/textarea.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaTextarea",
          "cssParts": [
            {
              "description": "The label",
              "name": "label"
            },
            {
              "description": "The input's wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The hint's wrapper.",
              "name": "hint"
            },
            {
              "description": "The internal `<textarea>` control.",
              "name": "textarea"
            },
            {
              "description": "The wrapper around the `<textarea>` control.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The textarea's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `hint` attribute.",
              "name": "hint"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "type": {
                "text": "array"
              },
              "static": true,
              "default": "[styles, formControlStyles, sizeStyles]"
            },
            {
              "kind": "field",
              "name": "validators",
              "static": true,
              "readonly": true
            },
            {
              "kind": "field",
              "name": "assumeInteractionOn",
              "type": {
                "text": "array"
              },
              "default": "['blur', 'input']"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'hint', 'label')"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLTextAreaElement"
              }
            },
            {
              "kind": "field",
              "name": "base",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "sizeAdjuster",
              "type": {
                "text": "HTMLTextAreaElement"
              }
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the textarea, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "value",
              "description": "The current value of the input, submitted as a name/value pair with form data."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The textarea's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'filled' | 'outlined' | 'filled-outlined'"
              },
              "default": "'outlined'",
              "description": "The textarea's visual appearance.",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The textarea's label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The textarea's hint. If you need to display HTML, use the `hint` slot instead.",
              "attribute": "hint"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "rows",
              "type": {
                "text": "number"
              },
              "default": "4",
              "description": "The number of rows to display by default.",
              "attribute": "rows"
            },
            {
              "kind": "field",
              "name": "resize",
              "type": {
                "text": "'none' | 'vertical' | 'horizontal' | 'both' | 'auto'"
              },
              "default": "'vertical'",
              "description": "Controls how the textarea can be resized.",
              "attribute": "resize",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the textarea.",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the textarea readonly.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the textarea a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "description": "The minimum length of input that will be considered valid.",
              "attribute": "minlength"
            },
            {
              "kind": "field",
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "attribute": "maxlength"
            },
            {
              "kind": "field",
              "name": "autocapitalize",
              "type": {
                "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
              },
              "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
              "attribute": "autocapitalize"
            },
            {
              "kind": "field",
              "name": "autocorrect",
              "type": {
                "text": "string"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off.",
              "attribute": "autocorrect"
            },
            {
              "kind": "field",
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "attribute": "autocomplete"
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "attribute": "autofocus"
            },
            {
              "kind": "field",
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "attribute": "enterkeyhint"
            },
            {
              "kind": "field",
              "name": "spellcheck",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enables spell checking on the textarea.",
              "attribute": "spellcheck"
            },
            {
              "kind": "field",
              "name": "inputmode",
              "type": {
                "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
              },
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "attribute": "inputmode"
            },
            {
              "kind": "field",
              "name": "withLabel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. If you're slotting in a `label` element, make sure to set this to `true`.",
              "attribute": "with-label"
            },
            {
              "kind": "field",
              "name": "withHint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. If you're slotting in a `hint` element, make sure to set this to `true`.",
              "attribute": "with-hint"
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "InputEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setTextareaDimensions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleRowsChange",
              "type": {
                "text": "handleRowsChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleValueChange",
              "type": {
                "text": "handleValueChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the textarea.",
              "type": {
                "text": "focus(options?: FocusOptions) => void"
              }
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the textarea.",
              "type": {
                "text": "blur() => void"
              }
            },
            {
              "kind": "method",
              "name": "select",
              "description": "Selects all the text in the textarea.",
              "type": {
                "text": "select() => void"
              }
            },
            {
              "kind": "method",
              "name": "scrollPosition",
              "return": {
                "type": {
                  "text": "{ top: number; left: number } | undefined"
                }
              },
              "parameters": [
                {
                  "name": "position",
                  "optional": true,
                  "type": {
                    "text": "{ top?: number; left?: number }"
                  }
                }
              ],
              "description": "Gets or sets the textarea's scroll position.",
              "type": {
                "text": "scrollPosition(position?: { top?: number; left?: number }) => { top: number; left: number } | undefined"
              }
            },
            {
              "kind": "method",
              "name": "setSelectionRange",
              "parameters": [
                {
                  "name": "selectionStart",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionEnd",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionDirection",
                  "default": "'none'",
                  "type": {
                    "text": "'forward' | 'backward' | 'none'"
                  }
                }
              ],
              "description": "Sets the start and end positions of the text selection (0-based).",
              "type": {
                "text": "setSelectionRange(selectionStart: number, selectionEnd: number, selectionDirection: 'forward' | 'backward' | 'none' = 'none') => void"
              }
            },
            {
              "kind": "method",
              "name": "setRangeText",
              "parameters": [
                {
                  "name": "replacement",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "start",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "end",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectMode",
                  "default": "'preserve'",
                  "type": {
                    "text": "'select' | 'start' | 'end' | 'preserve'"
                  }
                }
              ],
              "description": "Replaces a range of text with a new string.",
              "type": {
                "text": "setRangeText(replacement: string, start?: number, end?: number, selectMode: 'select' | 'start' | 'end' | 'preserve' = 'preserve') => void"
              }
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "type": {
                "text": "formResetCallback() => void"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the control loses focus.",
              "name": "blur",
              "reactName": "onBlur",
              "eventName": "BlurEvent"
            },
            {
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "name": "change",
              "reactName": "onChange",
              "eventName": "ChangeEvent"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "focus",
              "reactName": "onFocus",
              "eventName": "FocusEvent"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "input",
              "reactName": "onInput",
              "eventName": "InputEvent"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "wa-invalid",
              "reactName": "onWaInvalid",
              "eventName": "WaInvalidEvent"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "name",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "description": "The name of the textarea, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultValue"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The textarea's size.",
              "fieldName": "size"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'filled' | 'outlined' | 'filled-outlined'"
              },
              "default": "'outlined'",
              "description": "The textarea's visual appearance.",
              "fieldName": "appearance"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The textarea's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The textarea's hint. If you need to display HTML, use the `hint` slot instead.",
              "fieldName": "hint"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder text to show as a hint when the input is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "rows",
              "type": {
                "text": "number"
              },
              "default": "4",
              "description": "The number of rows to display by default.",
              "fieldName": "rows"
            },
            {
              "name": "resize",
              "type": {
                "text": "'none' | 'vertical' | 'horizontal' | 'both' | 'auto'"
              },
              "default": "'vertical'",
              "description": "Controls how the textarea can be resized.",
              "fieldName": "resize"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the textarea.",
              "fieldName": "disabled"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the textarea readonly.",
              "fieldName": "readonly"
            },
            {
              "name": "form",
              "type": {
                "text": "null"
              },
              "default": "null",
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the textarea a required field.",
              "fieldName": "required"
            },
            {
              "name": "minlength",
              "type": {
                "text": "number"
              },
              "description": "The minimum length of input that will be considered valid.",
              "fieldName": "minlength"
            },
            {
              "name": "maxlength",
              "type": {
                "text": "number"
              },
              "description": "The maximum length of input that will be considered valid.",
              "fieldName": "maxlength"
            },
            {
              "name": "autocapitalize",
              "type": {
                "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
              },
              "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
              "fieldName": "autocapitalize"
            },
            {
              "name": "autocorrect",
              "type": {
                "text": "string"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off.",
              "fieldName": "autocorrect"
            },
            {
              "name": "autocomplete",
              "type": {
                "text": "string"
              },
              "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
              "fieldName": "autocomplete"
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Indicates that the input should receive focus on page load.",
              "fieldName": "autofocus"
            },
            {
              "name": "enterkeyhint",
              "type": {
                "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
              },
              "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
              "fieldName": "enterkeyhint"
            },
            {
              "name": "spellcheck",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enables spell checking on the textarea.",
              "fieldName": "spellcheck"
            },
            {
              "name": "inputmode",
              "type": {
                "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
              },
              "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
              "fieldName": "inputmode"
            },
            {
              "name": "with-label",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. If you're slotting in a `label` element, make sure to set this to `true`.",
              "fieldName": "withLabel"
            },
            {
              "name": "with-hint",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Used for SSR. If you're slotting in a `hint` element, make sure to set this to `true`.",
              "fieldName": "withHint"
            }
          ],
          "cssStates": [
            {
              "description": "The textarea is empty.",
              "name": "blank"
            }
          ],
          "superclass": {
            "name": "WebAwesomeFormAssociatedElement",
            "module": "/src/internal/webawesome-form-associated-element.js"
          },
          "summary": "Textareas collect data from the user and allow multiple lines of text.",
          "jsDoc": "/**\n * @summary Textareas collect data from the user and allow multiple lines of text.\n * @documentation https://webawesome.com/docs/components/textarea\n * @status stable\n * @since 2.0\n *\n * @slot label - The textarea's label. Alternatively, you can use the `label` attribute.\n * @slot hint - Text that describes how to use the input. Alternatively, you can use the `hint` attribute.\n *\n * @event blur - Emitted when the control loses focus.\n * @event change - Emitted when an alteration to the control's value is committed by the user.\n * @event focus - Emitted when the control gains focus.\n * @event input - Emitted when the control receives input.\n * @event wa-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart label - The label\n * @csspart form-control-input - The input's wrapper.\n * @csspart hint - The hint's wrapper.\n * @csspart textarea - The internal `<textarea>` control.\n * @csspart base - The wrapper around the `<textarea>` control.\n *\n * @cssstate blank - The textarea is empty.\n */",
          "documentation": "https://webawesome.com/docs/components/textarea",
          "status": "stable",
          "since": "2.0",
          "tagName": "wa-textarea",
          "customElement": true,
          "modulePath": "components/textarea/textarea.js",
          "definitionPath": "components/textarea/textarea.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaTextarea",
            "module": "components/textarea/textarea.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-textarea",
          "declaration": {
            "name": "WaTextarea",
            "module": "components/textarea/textarea.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tooltip/tooltip.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaTooltip",
          "cssProperties": [
            {
              "description": "The maximum width of the tooltip before its content will wrap.",
              "name": "--max-width"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper, an `<wa-popup>` element.",
              "name": "base"
            },
            {
              "description": "The popup's exported `popup` part. Use this to target the tooltip's popup container.",
              "name": "base__popup"
            },
            {
              "description": "The popup's exported `arrow` part. Use this to target the tooltip's arrow.",
              "name": "base__arrow"
            },
            {
              "description": "The tooltip's body where its content is rendered.",
              "name": "body"
            }
          ],
          "slots": [
            {
              "description": "The tooltip's default slot where any content should live. Interactive content should be avoided.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'wa-popup': WaPopup }"
            },
            {
              "kind": "field",
              "name": "hoverTimeout",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "body",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "WaPopup"
              }
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\ninside of the viewport.",
              "attribute": "placement"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tooltip so it won't show when triggered.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance in pixels from which to offset the tooltip away from its target.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the tooltip along its target.",
              "attribute": "skidding"
            },
            {
              "kind": "field",
              "name": "showDelay",
              "type": {
                "text": "number"
              },
              "default": "150",
              "description": "The amount of time to wait before showing the tooltip when the user mouses in.",
              "attribute": "show-delay"
            },
            {
              "kind": "field",
              "name": "hideDelay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of time to wait before hiding the tooltip when the user mouses out..",
              "attribute": "hide-delay"
            },
            {
              "kind": "field",
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'hover focus'",
              "description": "Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\noptions can be passed by separating them with a space. When manual is used, the tooltip must be activated\nprogrammatically.",
              "attribute": "trigger"
            },
            {
              "kind": "field",
              "name": "withoutArrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the arrow from the tooltip.",
              "attribute": "without-arrow",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "attribute": "for"
            },
            {
              "kind": "field",
              "name": "anchor",
              "type": {
                "text": "null | Element"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "eventController",
              "privacy": "private",
              "default": "new AbortController()"
            },
            {
              "kind": "field",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDocumentKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleMouseOver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleMouseOut",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hasTrigger",
              "privacy": "private",
              "parameters": [
                {
                  "name": "triggerType",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "addToAriaLabelledBy",
              "privacy": "private",
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Adds the tooltip ID to the aria-labelledby attribute"
            },
            {
              "kind": "method",
              "name": "removeFromAriaLabelledBy",
              "privacy": "private",
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Removes the tooltip ID from the aria-labelledby attribute"
            },
            {
              "kind": "method",
              "name": "handleOpenChange",
              "type": {
                "text": "handleOpenChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleForChange",
              "type": {
                "text": "handleForChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleOptionsChange",
              "type": {
                "text": "handleOptionsChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Shows the tooltip.",
              "type": {
                "text": "show() => void"
              }
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the tooltip",
              "type": {
                "text": "hide() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaAfterShowEvent"
              }
            },
            {
              "description": "Emitted when the tooltip begins to show.",
              "name": "wa-show",
              "reactName": "onWaShow",
              "eventName": "WaShowEvent"
            },
            {
              "description": "Emitted after the tooltip has shown and all animations are complete.",
              "name": "wa-after-show",
              "reactName": "onWaAfterShow",
              "eventName": "WaAfterShowEvent"
            },
            {
              "description": "Emitted when the tooltip begins to hide.",
              "name": "wa-hide",
              "reactName": "onWaHide",
              "eventName": "WaHideEvent"
            },
            {
              "description": "Emitted after the tooltip has hidden and all animations are complete.",
              "name": "wa-after-hide",
              "reactName": "onWaAfterHide",
              "eventName": "WaAfterHideEvent"
            }
          ],
          "attributes": [
            {
              "name": "placement",
              "type": {
                "text": "| 'top'\n    | 'top-start'\n    | 'top-end'\n    | 'right'\n    | 'right-start'\n    | 'right-end'\n    | 'bottom'\n    | 'bottom-start'\n    | 'bottom-end'\n    | 'left'\n    | 'left-start'\n    | 'left-end'"
              },
              "default": "'top'",
              "description": "The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\ninside of the viewport.",
              "fieldName": "placement"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tooltip so it won't show when triggered.",
              "fieldName": "disabled"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "8",
              "description": "The distance in pixels from which to offset the tooltip away from its target.",
              "fieldName": "distance"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods.",
              "fieldName": "open"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the tooltip along its target.",
              "fieldName": "skidding"
            },
            {
              "name": "show-delay",
              "type": {
                "text": "number"
              },
              "default": "150",
              "description": "The amount of time to wait before showing the tooltip when the user mouses in.",
              "fieldName": "showDelay"
            },
            {
              "name": "hide-delay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The amount of time to wait before hiding the tooltip when the user mouses out..",
              "fieldName": "hideDelay"
            },
            {
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'hover focus'",
              "description": "Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\noptions can be passed by separating them with a space. When manual is used, the tooltip must be activated\nprogrammatically.",
              "fieldName": "trigger"
            },
            {
              "name": "without-arrow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the arrow from the tooltip.",
              "fieldName": "withoutArrow"
            },
            {
              "name": "for",
              "type": {
                "text": "string | null"
              },
              "default": "null",
              "fieldName": "for"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Tooltips display additional information based on a specific action.",
          "jsDoc": "/**\n * @summary Tooltips display additional information based on a specific action.\n * @documentation https://webawesome.com/docs/components/tooltip\n * @status stable\n * @since 2.0\n *\n * @dependency wa-popup\n *\n * @slot - The tooltip's default slot where any content should live. Interactive content should be avoided.\n *\n * @event wa-show - Emitted when the tooltip begins to show.\n * @event wa-after-show - Emitted after the tooltip has shown and all animations are complete.\n * @event wa-hide - Emitted when the tooltip begins to hide.\n * @event wa-after-hide - Emitted after the tooltip has hidden and all animations are complete.\n *\n * @csspart base - The component's base wrapper, an `<wa-popup>` element.\n * @csspart base__popup - The popup's exported `popup` part. Use this to target the tooltip's popup container.\n * @csspart base__arrow - The popup's exported `arrow` part. Use this to target the tooltip's arrow.\n * @csspart body - The tooltip's body where its content is rendered.\n *\n * @cssproperty --max-width - The maximum width of the tooltip before its content will wrap.\n */",
          "documentation": "https://webawesome.com/docs/components/tooltip",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-popup"
          ],
          "tagName": "wa-tooltip",
          "customElement": true,
          "modulePath": "components/tooltip/tooltip.js",
          "definitionPath": "components/tooltip/tooltip.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaTooltip",
            "module": "components/tooltip/tooltip.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-tooltip",
          "declaration": {
            "name": "WaTooltip",
            "module": "components/tooltip/tooltip.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tree/tree.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaTree",
          "cssProperties": [
            {
              "description": "The size of the indentation for nested items.",
              "name": "--indent-size",
              "default": "var(--wa-space-m)"
            },
            {
              "description": "The color of the indentation line.",
              "name": "--indent-guide-color",
              "default": "var(--wa-color-surface-border)"
            },
            {
              "description": "The amount of vertical spacing to leave between the top and bottom of the indentation line's starting position.",
              "name": "--indent-guide-offset",
              "default": "0"
            },
            {
              "description": "The style of the indentation line, e.g. solid, dotted, dashed.",
              "name": "--indent-guide-style",
              "default": "solid"
            },
            {
              "description": "The width of the indentation line.",
              "name": "--indent-guide-width",
              "default": "0"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "The icon to show when the tree item is expanded. Works best with `<wa-icon>`.",
              "name": "expand-icon"
            },
            {
              "description": "The icon to show when the tree item is collapsed. Works best with `<wa-icon>`.",
              "name": "collapse-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "expandedIconSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "collapsedIconSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "selection",
              "type": {
                "text": "'single' | 'multiple' | 'leaf'"
              },
              "default": "'single'",
              "description": "The selection behavior of the tree. Single selection allows only one node to be selected at a time. Multiple\ndisplays checkboxes and allows more than one node to be selected. Leaf allows only leaf nodes to be selected.",
              "attribute": "selection"
            },
            {
              "kind": "field",
              "name": "lastFocusedItem",
              "type": {
                "text": "WaTreeItem | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "mutationObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "clickTarget",
              "type": {
                "text": "WaTreeItem | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "method",
              "name": "getExpandButtonIcon",
              "privacy": "private",
              "parameters": [
                {
                  "name": "status",
                  "type": {
                    "text": "'expand' | 'collapse'"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "initTreeItem",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleTreeChanged",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "selectItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "selectedItem",
                  "type": {
                    "text": "WaTreeItem"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getAllTreeItems",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "focusItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "optional": true,
                  "type": {
                    "text": "WaTreeItem | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleMouseDown",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ],
              "type": {
                "text": "handleMouseDown(event: MouseEvent) => void"
              }
            },
            {
              "kind": "field",
              "name": "handleFocusOut",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleFocusIn",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSelectionChange",
              "type": {
                "text": "handleSelectionChange() => void"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaSelectionChangeEvent"
              }
            },
            {
              "type": {
                "text": "{ selection: WaTreeItem[] }"
              },
              "description": "Emitted when a tree item is selected or deselected.",
              "name": "wa-selection-change",
              "reactName": "onWaSelectionChange",
              "eventName": "WaSelectionChangeEvent"
            }
          ],
          "attributes": [
            {
              "name": "selection",
              "type": {
                "text": "'single' | 'multiple' | 'leaf'"
              },
              "default": "'single'",
              "description": "The selection behavior of the tree. Single selection allows only one node to be selected at a time. Multiple\ndisplays checkboxes and allows more than one node to be selected. Leaf allows only leaf nodes to be selected.",
              "fieldName": "selection"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Trees allow you to display a hierarchical list of selectable [tree items](/docs/components/tree-item). Items with children can be expanded and collapsed as desired by the user.",
          "jsDoc": "/**\n * @summary Trees allow you to display a hierarchical list of selectable [tree items](/docs/components/tree-item). Items with children can be expanded and collapsed as desired by the user.\n * @documentation https://webawesome.com/docs/components/tree\n * @status stable\n * @since 2.0\n *\n * @dependency wa-tree-item\n *\n * @event {{ selection: WaTreeItem[] }} wa-selection-change - Emitted when a tree item is selected or deselected.\n *\n * @slot - The default slot.\n * @slot expand-icon - The icon to show when the tree item is expanded. Works best with `<wa-icon>`.\n * @slot collapse-icon - The icon to show when the tree item is collapsed. Works best with `<wa-icon>`.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty [--indent-size=var(--wa-space-m)] - The size of the indentation for nested items.\n * @cssproperty [--indent-guide-color=var(--wa-color-surface-border)] - The color of the indentation line.\n * @cssproperty [--indent-guide-offset=0] - The amount of vertical spacing to leave between the top and bottom of the\n *  indentation line's starting position.\n * @cssproperty [--indent-guide-style=solid] - The style of the indentation line, e.g. solid, dotted, dashed.\n * @cssproperty [--indent-guide-width=0] - The width of the indentation line.\n */",
          "documentation": "https://webawesome.com/docs/components/tree",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-tree-item"
          ],
          "tagName": "wa-tree",
          "customElement": true,
          "modulePath": "components/tree/tree.js",
          "definitionPath": "components/tree/tree.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaTree",
            "module": "components/tree/tree.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-tree",
          "declaration": {
            "name": "WaTree",
            "module": "components/tree/tree.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tree-item/tree-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaTreeItem",
          "cssProperties": [
            {
              "description": "The animation duration when expanding tree items.",
              "name": "--show-duration",
              "default": "200ms"
            },
            {
              "description": "The animation duration when collapsing tree items.",
              "name": "--hide-duration",
              "default": "200ms"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The tree item's container. This element wraps everything except slotted tree item children.",
              "name": "item"
            },
            {
              "description": "The tree item's indentation container.",
              "name": "indentation"
            },
            {
              "description": "The container that wraps the tree item's expand button and spinner.",
              "name": "expand-button"
            },
            {
              "description": "The spinner that shows when a lazy tree item is in the loading state.",
              "name": "spinner"
            },
            {
              "description": "The spinner's base part.",
              "name": "spinner__base"
            },
            {
              "description": "The tree item's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the tree item's nested children.",
              "name": "children"
            },
            {
              "description": "The checkbox that shows when using multiselect.",
              "name": "checkbox"
            },
            {
              "description": "The checkbox's exported `base` part.",
              "name": "checkbox__base"
            },
            {
              "description": "The checkbox's exported `control` part.",
              "name": "checkbox__control"
            },
            {
              "description": "The checkbox's exported `checked-icon` part.",
              "name": "checkbox__checked-icon"
            },
            {
              "description": "The checkbox's exported `indeterminate-icon` part.",
              "name": "checkbox__indeterminate-icon"
            },
            {
              "description": "The checkbox's exported `label` part.",
              "name": "checkbox__label"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "The icon to show when the tree item is expanded.",
              "name": "expand-icon"
            },
            {
              "description": "The icon to show when the tree item is collapsed.",
              "name": "collapse-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "method",
              "name": "isTreeItem",
              "static": true,
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "Node"
                  }
                }
              ],
              "type": {
                "text": "isTreeItem(node: Node) => void"
              }
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "indeterminate",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "isLeaf",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Expands the tree item.",
              "attribute": "expanded",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the tree item in a selected state.",
              "attribute": "selected",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tree item.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "lazy",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables lazy loading behavior.",
              "attribute": "lazy",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "childrenSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "itemElement",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "childrenContainer",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "expandButtonSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "method",
              "name": "animateCollapse",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isNestedItem",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleChildrenSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "animateExpand",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleLoadingChange",
              "type": {
                "text": "handleLoadingChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange",
              "type": {
                "text": "handleDisabledChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleExpandedState",
              "type": {
                "text": "handleExpandedState() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleIndeterminateStateChange",
              "type": {
                "text": "handleIndeterminateStateChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleSelectedChange",
              "type": {
                "text": "handleSelectedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleExpandedChange",
              "type": {
                "text": "handleExpandedChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleExpandAnimation",
              "type": {
                "text": "handleExpandAnimation() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleLazyChange",
              "type": {
                "text": "handleLazyChange() => void"
              }
            },
            {
              "kind": "method",
              "name": "getChildrenItems",
              "return": {
                "type": {
                  "text": "WaTreeItem[]"
                }
              },
              "parameters": [
                {
                  "name": "{ includeDisabled = true }",
                  "default": "{}",
                  "type": {
                    "text": "{ includeDisabled?: boolean }"
                  }
                }
              ],
              "description": "Gets all the nested tree items in this node.",
              "type": {
                "text": "getChildrenItems({ includeDisabled = true }: { includeDisabled?: boolean } = {}) => WaTreeItem[]"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "WaCollapseEvent"
              }
            },
            {
              "description": "Emitted when the tree item expands.",
              "name": "wa-expand",
              "reactName": "onWaExpand",
              "eventName": "WaExpandEvent"
            },
            {
              "description": "Emitted after the tree item expands and all animations are complete.",
              "name": "wa-after-expand",
              "reactName": "onWaAfterExpand",
              "eventName": "WaAfterExpandEvent"
            },
            {
              "description": "Emitted when the tree item collapses.",
              "name": "wa-collapse",
              "reactName": "onWaCollapse",
              "eventName": "WaCollapseEvent"
            },
            {
              "description": "Emitted after the tree item collapses and all animations are complete.",
              "name": "wa-after-collapse",
              "reactName": "onWaAfterCollapse",
              "eventName": "WaAfterCollapseEvent"
            },
            {
              "description": "Emitted when the tree item's lazy state changes.",
              "name": "wa-lazy-change",
              "reactName": "onWaLazyChange",
              "eventName": "WaLazyChangeEvent"
            },
            {
              "description": "Emitted when a lazy item is selected. Use this event to asynchronously load data and append items to the tree before expanding. After appending new items, remove the `lazy` attribute to remove the loading state and update the tree.",
              "name": "wa-lazy-load",
              "reactName": "onWaLazyLoad",
              "eventName": "WaLazyLoadEvent"
            }
          ],
          "attributes": [
            {
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Expands the tree item.",
              "fieldName": "expanded"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the tree item in a selected state.",
              "fieldName": "selected"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the tree item.",
              "fieldName": "disabled"
            },
            {
              "name": "lazy",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables lazy loading behavior.",
              "fieldName": "lazy"
            }
          ],
          "cssStates": [
            {
              "description": "Applied when the tree item is disabled.",
              "name": "disabled"
            },
            {
              "description": "Applied when the tree item is expanded.",
              "name": "expanded"
            },
            {
              "description": "Applied when the selection is indeterminate.",
              "name": "indeterminate"
            },
            {
              "description": "Applied when the tree item is selected.",
              "name": "selected"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "A tree item serves as a hierarchical node that lives inside a [tree](/docs/components/tree).",
          "jsDoc": "/**\n * @summary A tree item serves as a hierarchical node that lives inside a [tree](/docs/components/tree).\n * @documentation https://webawesome.com/docs/components/tree-item\n * @status stable\n * @since 2.0\n *\n * @dependency wa-checkbox\n * @dependency wa-icon\n * @dependency wa-spinner\n *\n * @event wa-expand - Emitted when the tree item expands.\n * @event wa-after-expand - Emitted after the tree item expands and all animations are complete.\n * @event wa-collapse - Emitted when the tree item collapses.\n * @event wa-after-collapse - Emitted after the tree item collapses and all animations are complete.\n * @event wa-lazy-change - Emitted when the tree item's lazy state changes.\n * @event wa-lazy-load - Emitted when a lazy item is selected. Use this event to asynchronously load data and append\n *  items to the tree before expanding. After appending new items, remove the `lazy` attribute to remove the loading\n *  state and update the tree.\n *\n * @slot - The default slot.\n * @slot expand-icon - The icon to show when the tree item is expanded.\n * @slot collapse-icon - The icon to show when the tree item is collapsed.\n *\n * @csspart base - The component's base wrapper.\n * @csspart item - The tree item's container. This element wraps everything except slotted tree item children.\n * @csspart indentation - The tree item's indentation container.\n * @csspart expand-button - The container that wraps the tree item's expand button and spinner.\n * @csspart spinner - The spinner that shows when a lazy tree item is in the loading state.\n * @csspart spinner__base - The spinner's base part.\n * @csspart label - The tree item's label.\n * @csspart children - The container that wraps the tree item's nested children.\n * @csspart checkbox - The checkbox that shows when using multiselect.\n * @csspart checkbox__base - The checkbox's exported `base` part.\n * @csspart checkbox__control - The checkbox's exported `control` part.\n * @csspart checkbox__checked-icon - The checkbox's exported `checked-icon` part.\n * @csspart checkbox__indeterminate-icon - The checkbox's exported `indeterminate-icon` part.\n * @csspart checkbox__label - The checkbox's exported `label` part.\n *\n * @cssproperty [--show-duration=200ms] - The animation duration when expanding tree items.\n * @cssproperty [--hide-duration=200ms] - The animation duration when collapsing tree items.\n *\n * @cssstate disabled - Applied when the tree item is disabled.\n * @cssstate expanded - Applied when the tree item is expanded.\n * @cssstate indeterminate - Applied when the selection is indeterminate.\n * @cssstate selected - Applied when the tree item is selected.\n */",
          "documentation": "https://webawesome.com/docs/components/tree-item",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "wa-checkbox",
            "wa-icon",
            "wa-spinner"
          ],
          "tagName": "wa-tree-item",
          "customElement": true,
          "modulePath": "components/tree-item/tree-item.js",
          "definitionPath": "components/tree-item/tree-item.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaTreeItem",
            "module": "components/tree-item/tree-item.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-tree-item",
          "declaration": {
            "name": "WaTreeItem",
            "module": "components/tree-item/tree-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/zoomable-frame/zoomable-frame.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "WaZoomableFrame",
          "cssParts": [
            {
              "description": "The internal `<iframe>` element.",
              "name": "iframe"
            },
            {
              "description": "The container that surrounds zoom control buttons.",
              "name": "controls"
            },
            {
              "description": "The zoom in button.",
              "name": "zoom-in-button"
            },
            {
              "description": "The zoom out button.",
              "name": "zoom-out-button"
            }
          ],
          "slots": [
            {
              "description": "The slot that contains the zoom in icon.",
              "name": "zoom-in-icon"
            },
            {
              "description": "The slot that contains the zoom out icon.",
              "name": "zoom-out-icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "css",
              "static": true,
              "default": "styles"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "availableZoomLevels",
              "type": {
                "text": "number[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "iframe",
              "type": {
                "text": "HTMLIFrameElement"
              }
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "description": "The URL of the content to display.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "srcdoc",
              "type": {
                "text": "string"
              },
              "description": "Inline HTML to display.",
              "attribute": "srcdoc"
            },
            {
              "kind": "field",
              "name": "allowfullscreen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows fullscreen mode.",
              "attribute": "allowfullscreen"
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "'eager' | 'lazy'"
              },
              "default": "'eager'",
              "description": "Controls iframe loading behavior.",
              "attribute": "loading"
            },
            {
              "kind": "field",
              "name": "referrerpolicy",
              "type": {
                "text": "string"
              },
              "description": "Controls referrer information.",
              "attribute": "referrerpolicy"
            },
            {
              "kind": "field",
              "name": "sandbox",
              "type": {
                "text": "string"
              },
              "description": "Security restrictions for the iframe.",
              "attribute": "sandbox"
            },
            {
              "kind": "field",
              "name": "zoom",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The current zoom of the frame, e.g. 0 = 0% and 1 = 100%.",
              "attribute": "zoom",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "zoomLevels",
              "type": {
                "text": "string"
              },
              "default": "'25% 50% 75% 100% 125% 150% 175% 200%'",
              "description": "The zoom levels to step through when using zoom controls. This does not restrict programmatic changes to the zoom.",
              "attribute": "zoom-levels"
            },
            {
              "kind": "field",
              "name": "withoutControls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the zoom controls.",
              "attribute": "without-controls",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "withoutInteraction",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables interaction when present.",
              "attribute": "without-interaction",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "contentWindow",
              "type": {
                "text": "Window | null"
              },
              "privacy": "public",
              "description": "Returns the internal iframe's `window` object. (Readonly property)",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "contentDocument",
              "type": {
                "text": "Document | null"
              },
              "privacy": "public",
              "description": "Returns the internal iframe's `document` object. (Readonly property)",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "parseZoomLevels",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number[]"
                }
              },
              "parameters": [
                {
                  "name": "zoomLevelsString",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getCurrentZoomIndex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "isZoomInDisabled",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "isZoomOutDisabled",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "zoomIn",
              "privacy": "public",
              "description": "Zooms in to the next available zoom level.",
              "type": {
                "text": "zoomIn() => void"
              }
            },
            {
              "kind": "method",
              "name": "zoomOut",
              "privacy": "public",
              "description": "Zooms out to the previous available zoom level.",
              "type": {
                "text": "zoomOut() => void"
              }
            },
            {
              "kind": "method",
              "name": "handleLoad",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleError",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "name": "load",
              "type": {
                "text": "Event"
              },
              "description": "Emitted when the internal iframe when it finishes loading.",
              "reactName": "onLoad",
              "eventName": "LoadEvent"
            },
            {
              "name": "error",
              "type": {
                "text": "Event"
              },
              "description": "Emitted from the internal iframe when it fails to load.",
              "reactName": "onError",
              "eventName": "ErrorEvent"
            }
          ],
          "attributes": [
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "description": "The URL of the content to display.",
              "fieldName": "src"
            },
            {
              "name": "srcdoc",
              "type": {
                "text": "string"
              },
              "description": "Inline HTML to display.",
              "fieldName": "srcdoc"
            },
            {
              "name": "allowfullscreen",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows fullscreen mode.",
              "fieldName": "allowfullscreen"
            },
            {
              "name": "loading",
              "type": {
                "text": "'eager' | 'lazy'"
              },
              "default": "'eager'",
              "description": "Controls iframe loading behavior.",
              "fieldName": "loading"
            },
            {
              "name": "referrerpolicy",
              "type": {
                "text": "string"
              },
              "description": "Controls referrer information.",
              "fieldName": "referrerpolicy"
            },
            {
              "name": "sandbox",
              "type": {
                "text": "string"
              },
              "description": "Security restrictions for the iframe.",
              "fieldName": "sandbox"
            },
            {
              "name": "zoom",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The current zoom of the frame, e.g. 0 = 0% and 1 = 100%.",
              "fieldName": "zoom"
            },
            {
              "name": "zoom-levels",
              "type": {
                "text": "string"
              },
              "default": "'25% 50% 75% 100% 125% 150% 175% 200%'",
              "description": "The zoom levels to step through when using zoom controls. This does not restrict programmatic changes to the zoom.",
              "fieldName": "zoomLevels"
            },
            {
              "name": "without-controls",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the zoom controls.",
              "fieldName": "withoutControls"
            },
            {
              "name": "without-interaction",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables interaction when present.",
              "fieldName": "withoutInteraction"
            }
          ],
          "superclass": {
            "name": "WebAwesomeElement",
            "module": "/src/internal/webawesome-element.js"
          },
          "summary": "Zoomable frames render iframe content with zoom and interaction controls.",
          "jsDoc": "/**\n * @summary Zoomable frames render iframe content with zoom and interaction controls.\n * @documentation https://webawesome.com/docs/components/zoomable-frame\n * @status stable\n * @since 3.0\n *\n * @dependency wa-icon\n *\n * @slot zoom-in-icon - The slot that contains the zoom in icon.\n * @slot zoom-out-icon - The slot that contains the zoom out icon.\n *\n * @event load - Emitted when the internal iframe when it finishes loading.\n * @event error - Emitted from the internal iframe when it fails to load.\n *\n * @csspart iframe - The internal `<iframe>` element.\n * @csspart controls - The container that surrounds zoom control buttons.\n * @csspart zoom-in-button - The zoom in button.\n * @csspart zoom-out-button - The zoom out button.\n */",
          "documentation": "https://webawesome.com/docs/components/zoomable-frame",
          "status": "stable",
          "since": "3.0",
          "dependencies": [
            "wa-icon"
          ],
          "tagName": "wa-zoomable-frame",
          "customElement": true,
          "modulePath": "components/zoomable-frame/zoomable-frame.js",
          "definitionPath": "components/zoomable-frame/zoomable-frame.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "WaZoomableFrame",
            "module": "components/zoomable-frame/zoomable-frame.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "wa-zoomable-frame",
          "declaration": {
            "name": "WaZoomableFrame",
            "module": "components/zoomable-frame/zoomable-frame.js"
          }
        }
      ]
    }
  ],
  "package": {
    "name": "@motions.io/webawesome",
    "description": "A forward-thinking library of web components.",
    "version": "3.0.0",
    "author": "motions.io",
    "homepage": "https://motions.io/",
    "license": "MIT"
  }
}
