{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/auro-button.js",
      "declarations": [
        {
          "kind": "class",
          "description": "AuroButton is a custom element that provides a styled, accessible button with support for various states and form association.\nIt is designed to be flexible, supporting loading states, icon slots, and integration with HTML5 forms.",
          "name": "AuroButton",
          "members": [
            {
              "kind": "field",
              "name": "_renderTag",
              "description": "Renders the tag for the component.",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "appearance",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Defines whether the button will be on lighter or darker backgrounds.",
              "default": "\"default\"",
              "attribute": "appearance",
              "reflects": true,
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "kind": "field",
              "name": "attributeWatcher",
              "description": "return object from transportAttributes via a11yUtilities",
              "type": {
                "text": "Object"
              },
              "privacy": "private",
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "kind": "field",
              "name": "autofocus",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "This Boolean attribute lets you specify that the button should have input focus when the page loads, unless overridden by the user.",
              "default": "false",
              "attribute": "autofocus",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "buttonHref",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "undefined",
              "attribute": "buttonHref"
            },
            {
              "kind": "field",
              "name": "buttonRel",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "undefined",
              "attribute": "buttonRel"
            },
            {
              "kind": "field",
              "name": "buttonTarget",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "undefined",
              "attribute": "buttonTarget"
            },
            {
              "kind": "field",
              "name": "currentAriaLabel",
              "description": "Returns the current value of the projected `aria-label` attribute or undefined if not set. The `aria-label` attribute is for internal use only.",
              "return": {
                "type": {
                  "text": "string | undefined"
                }
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "currentAriaLabelledBy",
              "description": "Returns the current value of the projected `aria-labelledby` attribute or undefined if not set.",
              "return": {
                "type": {
                  "text": "string | undefined"
                }
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "If set to true, button will become disabled and not allow for interactions.",
              "default": "false",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "fluid",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Alters the shape of the button to be full width of its parent container.",
              "default": "false",
              "attribute": "fluid",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "focus",
              "description": "Internal method to apply focus to the HTML5 button.",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "field",
              "name": "form",
              "description": "Returns the form element that this button is associated with.",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "static": true,
              "description": "Enables form association for this element.",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "generateAriaLabel",
              "description": "Returns the appropriate string to be used for the aria-label attribute.",
              "return": {
                "type": {
                  "text": "String"
                }
              },
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getFontSize",
              "description": "Gets a class name for the font size based on the button's size and shape.",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "iconOnly",
              "description": "Whether or not the button is set to an icon-only shape.",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "layout",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Override layout since it isn't used in this component.",
              "default": "{'default'}",
              "attribute": "layout",
              "reflects": true,
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "kind": "field",
              "name": "loaderTag",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "loading",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "If set to true button text will be replaced with `auro-loader` and become disabled.",
              "default": "false",
              "attribute": "loading",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "loadingText",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "DEPRECATED - Use `slot=\"ariaLabel.loading\"` instead.",
              "attribute": "loadingText"
            },
            {
              "kind": "field",
              "name": "onActive",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "attribute": "data-active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "onDark",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "DEPRECATED - use `appearance` attribute.",
              "default": "false",
              "attribute": "ondark",
              "reflects": true,
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "kind": "field",
              "name": "onHover",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "attribute": "data-hover",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "onPointerEvent",
              "parameters": [
                {
                  "name": "event",
                  "description": "The pointer event.",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ],
              "description": "This is to detect pointer events for hover and active states for styling purposes.\n:host with :has selector dont work together in Safari and Firefox",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "register",
              "static": true,
              "parameters": [
                {
                  "name": "name",
                  "default": "\"auro-button\"",
                  "description": "The name of the element that you want to register.",
                  "optional": true,
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "This will register this element with the browser.",
              "type": {
                "text": "register(name?: string = \"auro-button\") => void"
              }
            },
            {
              "kind": "method",
              "name": "renderLayout",
              "description": "Renders the layout of the button.",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderLayoutDefault",
              "description": "Renders the default layout for the button.",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "resetLayoutClasses",
              "privacy": "private",
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "kind": "method",
              "name": "resetShapeClasses",
              "privacy": "private",
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "kind": "field",
              "name": "runtimeUtils",
              "privacy": "private",
              "default": "new AuroLibraryRuntimeUtils()"
            },
            {
              "kind": "field",
              "name": "shape",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Defines the shape of an element.",
              "default": "\"rounded\"",
              "attribute": "shape",
              "reflects": true,
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "kind": "field",
              "name": "showText",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Boolean"
                }
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "size",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Defines the size of an element.",
              "default": "\"md\"",
              "attribute": "size",
              "reflects": true,
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "kind": "field",
              "name": "static",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the button will be static and not respond to user interactions.",
              "default": "false",
              "attribute": "static",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "surfaceSubmitEvent",
              "description": "Submits the form that this button is associated with.",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "field",
              "name": "tabindex",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Populates `tabindex` to define the focusable sequence in keyboard navigation.\nMust be used with \".\" to ensure the host element does not retain a reference to the `tabindex` attribute.\nExample: `<auro-button .tabindex=\"${this.disabled ? '-1' : '0'}\"></auro-button>`.",
              "attribute": "tabindex"
            },
            {
              "kind": "field",
              "name": "tIndex",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Populates `tabindex` to define the focusable sequence in keyboard navigation.",
              "attribute": "tIndex",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "title",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.",
              "attribute": "title",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "type",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "attribute": "type",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "updateComponentArchitecture",
              "privacy": "private",
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "kind": "field",
              "name": "value",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Defines the value associated with the button which is submitted with the form data.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "variant",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "default": "\"primary\"",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "wrapper",
              "privacy": "private",
              "description": "A reference to the wrapper element in the shadow DOM.\nThis is used to apply layout and shape classes dynamically.",
              "type": {
                "text": "HTMLElement|null"
              },
              "default": "{null}",
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "appearance",
              "type": {
                "text": "string"
              },
              "description": "Defines whether the button will be on lighter or darker backgrounds.",
              "default": "\"default\"",
              "fieldName": "appearance",
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "This Boolean attribute lets you specify that the button should have input focus when the page loads, unless overridden by the user.",
              "default": "false",
              "fieldName": "autofocus"
            },
            {
              "name": "buttonHref",
              "type": {
                "text": "string"
              },
              "default": "undefined",
              "fieldName": "buttonHref"
            },
            {
              "name": "buttonRel",
              "type": {
                "text": "string"
              },
              "default": "undefined",
              "fieldName": "buttonRel"
            },
            {
              "name": "buttonTarget",
              "type": {
                "text": "string"
              },
              "default": "undefined",
              "fieldName": "buttonTarget"
            },
            {
              "name": "data-active",
              "type": {
                "text": "boolean"
              },
              "fieldName": "onActive"
            },
            {
              "name": "data-hover",
              "type": {
                "text": "boolean"
              },
              "fieldName": "onHover"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "If set to true, button will become disabled and not allow for interactions.",
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "name": "fluid",
              "type": {
                "text": "boolean"
              },
              "description": "Alters the shape of the button to be full width of its parent container.",
              "default": "false",
              "fieldName": "fluid"
            },
            {
              "name": "layout",
              "type": {
                "text": "string"
              },
              "description": "Defines the layout of an element.",
              "default": "{'default'}",
              "fieldName": "layout",
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "description": "If set to true button text will be replaced with `auro-loader` and become disabled.",
              "default": "false",
              "fieldName": "loading"
            },
            {
              "name": "loadingText",
              "type": {
                "text": "string"
              },
              "description": "DEPRECATED - Use `slot=\"ariaLabel.loading\"` instead.",
              "fieldName": "loadingText"
            },
            {
              "name": "ondark",
              "type": {
                "text": "boolean"
              },
              "description": "DEPRECATED - use `appearance` attribute.",
              "default": "false",
              "fieldName": "onDark",
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "name": "shape",
              "type": {
                "text": "string"
              },
              "description": "Defines the shape of an element.",
              "default": "{'default'}",
              "fieldName": "shape",
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "name": "size",
              "type": {
                "text": "string"
              },
              "description": "Defines the size of an element.",
              "default": "{'md'}",
              "fieldName": "size",
              "inheritedFrom": {
                "name": "AuroElement",
                "module": "src/layoutElement/auroElement.js"
              }
            },
            {
              "name": "static",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the button will be static and not respond to user interactions.",
              "default": "false",
              "fieldName": "static"
            },
            {
              "name": "tabindex",
              "type": {
                "text": "string"
              },
              "description": "Populates `tabindex` to define the focusable sequence in keyboard navigation.\nMust be used with \".\" to ensure the host element does not retain a reference to the `tabindex` attribute.\nExample: `<auro-button .tabindex=\"${this.disabled ? '-1' : '0'}\"></auro-button>`.",
              "fieldName": "tabindex"
            },
            {
              "name": "tIndex",
              "type": {
                "text": "string"
              },
              "description": "Populates `tabindex` to define the focusable sequence in keyboard navigation.",
              "fieldName": "tIndex"
            },
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "description": "Sets title attribute. The information is most often shown as a tooltip text when the mouse moves over the element.",
              "fieldName": "title"
            },
            {
              "name": "type",
              "type": {
                "text": "string"
              },
              "fieldName": "type"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Defines the value associated with the button which is submitted with the form data.",
              "fieldName": "value"
            },
            {
              "name": "variant",
              "type": {
                "text": "string"
              },
              "default": "\"primary\"",
              "fieldName": "variant"
            }
          ],
          "superclass": {
            "name": "AuroElement",
            "module": "/src/layoutElement/auroElement.js"
          },
          "tagName": "auro-button",
          "customElement": true,
          "modulePath": "src/auro-button.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "AuroButton",
          "declaration": {
            "name": "AuroButton",
            "module": "src/auro-button.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/index.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "AuroButton",
          "declaration": {
            "name": "AuroButton",
            "module": "src/index.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/layoutElement/a11yUtilities.js",
      "declarations": [
        {
          "kind": "function",
          "name": "transportAllA11yAttributes",
          "parameters": [
            {
              "name": "{\n  host,\n  target,\n  removeOriginal = true,\n}"
            }
          ]
        },
        {
          "kind": "function",
          "name": "transportAriaAttributes",
          "parameters": [
            {
              "name": "{\n  host,\n  target,\n  removeOriginal = true,\n}"
            }
          ]
        },
        {
          "kind": "function",
          "name": "transportRoleAttributes",
          "parameters": [
            {
              "name": "{\n  host,\n  target,\n  removeOriginal = true,\n}"
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "transportAllA11yAttributes",
          "declaration": {
            "name": "transportAllA11yAttributes",
            "module": "src/layoutElement/a11yUtilities.js"
          }
        },
        {
          "kind": "js",
          "name": "transportAriaAttributes",
          "declaration": {
            "name": "transportAriaAttributes",
            "module": "src/layoutElement/a11yUtilities.js"
          }
        },
        {
          "kind": "js",
          "name": "transportRoleAttributes",
          "declaration": {
            "name": "transportRoleAttributes",
            "module": "src/layoutElement/a11yUtilities.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/layoutElement/auroElement.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "AuroElement",
          "members": [
            {
              "kind": "field",
              "name": "appearance",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Defines whether the button will be on lighter or darker backgrounds.",
              "default": "\"default\"",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "attributeWatcher",
              "description": "return object from transportAttributes via a11yUtilities",
              "type": {
                "text": "Object"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "layout",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Defines the layout of an element.",
              "default": "{'default'}",
              "attribute": "layout",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "onDark",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "DEPRECATED - use `appearance` attribute.",
              "default": "false",
              "attribute": "ondark",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "resetLayoutClasses",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "resetShapeClasses",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "shape",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Defines the shape of an element.",
              "default": "{'default'}",
              "attribute": "shape",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Defines the size of an element.",
              "default": "{'md'}",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "updateComponentArchitecture",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "wrapper",
              "privacy": "private",
              "description": "A reference to the wrapper element in the shadow DOM.\nThis is used to apply layout and shape classes dynamically.",
              "type": {
                "text": "HTMLElement|null"
              },
              "default": "{null}"
            }
          ],
          "attributes": [
            {
              "name": "appearance",
              "type": {
                "text": "string"
              },
              "description": "Defines whether the button will be on lighter or darker backgrounds.",
              "default": "\"default\"",
              "fieldName": "appearance"
            },
            {
              "name": "layout",
              "type": {
                "text": "string"
              },
              "description": "Defines the layout of an element.",
              "default": "{'default'}",
              "fieldName": "layout"
            },
            {
              "name": "ondark",
              "type": {
                "text": "boolean"
              },
              "description": "DEPRECATED - use `appearance` attribute.",
              "default": "false",
              "fieldName": "onDark"
            },
            {
              "name": "shape",
              "type": {
                "text": "string"
              },
              "description": "Defines the shape of an element.",
              "default": "{'default'}",
              "fieldName": "shape"
            },
            {
              "name": "size",
              "type": {
                "text": "string"
              },
              "description": "Defines the size of an element.",
              "default": "{'md'}",
              "fieldName": "size"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "customElement": true,
          "modulePath": "src/layoutElement/auroElement.js"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "AuroElement",
          "declaration": {
            "name": "AuroElement",
            "module": "src/layoutElement/auroElement.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/layoutElement/transportAttributes.js",
      "declarations": [
        {
          "kind": "function",
          "name": "transportAttributes",
          "parameters": [
            {
              "name": "{\n  host,\n  target,\n  match,\n  removeOriginal = true,\n}"
            },
            {
              "description": "The parameters for the function.",
              "name": "params",
              "type": {
                "text": "@param {HTMLElement} params.host - The host element from which attributes will be transported.\n * @param {HTMLElement} params.target - The target element to which attributes will be transported.\n * @param {boolean} [params.removeOriginal=true] - Whether to remove the attributes from the host element.\n * @param {boolean} [params.observe=true] - Whether to attach a MutationObserver to the host element.\n * "
              }
            }
          ],
          "description": "Transfers all matching attributes from a host element to a target element and observes for future changes.",
          "return": {
            "type": {
              "text": "Function"
            }
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "transportAttributes",
          "declaration": {
            "name": "transportAttributes",
            "module": "src/layoutElement/transportAttributes.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/loaderVersion.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "6.1.0",
            "module": "src/loaderVersion.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/registered.js",
      "declarations": [],
      "exports": []
    }
  ]
}
