{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/zui-base.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZuiBaseElement",
          "members": [
            {
              "kind": "field",
              "name": "#elements",
              "privacy": "private",
              "type": {
                "text": "Map<string, HTMLElement[]>"
              },
              "static": true,
              "default": "new Map()"
            },
            {
              "kind": "method",
              "name": "_getElements",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": ""
                }
              },
              "parameters": [
                {
                  "name": "tagName",
                  "type": {
                    "text": "string"
                  },
                  "description": "The tag name of the element to retrieve"
                }
              ],
              "description": "A protected method to retrieve important elements in the global state"
            },
            {
              "kind": "method",
              "name": "_storeElement",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to store"
                }
              ],
              "description": "A protected method to store off important elements in the global state"
            },
            {
              "kind": "method",
              "name": "_removeElement",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to remove"
                }
              ],
              "description": "A protected method to remove important elements from the global state"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ZuiBaseElement",
          "declaration": {
            "name": "ZuiBaseElement",
            "module": "src/zui-base.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/zui-form-associated-element.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZuiFormAssociatedElement",
          "members": [
            {
              "kind": "field",
              "name": "shadowRootOptions",
              "type": {
                "text": "ShadowRootInit"
              },
              "static": true,
              "default": "{ ...ZuiBaseElement.shadowRootOptions, delegatesFocus: true }"
            },
            {
              "kind": "field",
              "name": "_focusControlSelector",
              "type": {
                "text": "string"
              },
              "privacy": "protected",
              "description": "Necessary workaround to https://issues.chromium.org/issues/389587444 and purely needed for validation",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "formAssociated",
              "privacy": "protected",
              "static": true,
              "description": "Tells the browser that this is a form-associated custom element: https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements-face-example",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "The name of this element that is associated with form submission",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Represents whether a user can make changes to this element; if true, the value of this element will be excluded from the form submission",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Represents whether a user can make changes to this element; the value of this element will still be included in the form submission",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If true, this element will be focused when connected to the document",
              "attribute": "autofocus",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "willValidate",
              "description": "Returns true if the element will be validated when the form is submitted",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "description": "Returns a ValidityState object that represents the validity states of an element.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "description": "Returns the error message that would be displayed if the element was to be checked for validity",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "#priorValidationMessage",
              "privacy": "private",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "This is required when a consumer utilizes setCustomValidity"
            },
            {
              "kind": "field",
              "name": "#focusControl",
              "privacy": "private",
              "type": {
                "text": "HTMLElement | HTMLInputElement | null | undefined"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "#internals",
              "privacy": "private",
              "type": {
                "text": "ElementInternals | undefined"
              }
            },
            {
              "kind": "field",
              "name": "#userInteracted",
              "privacy": "private",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_deferFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "default": "false",
              "description": "TODO(pat): Temporary hack for zui-select-dropdown; focus should be refactored in that component"
            },
            {
              "kind": "field",
              "name": "_deferClick",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_formSubmitButton",
              "type": {
                "text": "HTMLButtonElement | HTMLInputElement | null"
              },
              "privacy": "protected",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "checkValidity"
            },
            {
              "kind": "method",
              "name": "reportValidity"
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  },
                  "description": "The error message to be displayed when the element is checked for validity"
                }
              ],
              "description": "Sets a custom error message to be displayed when the element is checked for validity. Set to empty string to remove the custom error. <strong>Note:</strong> consumers must clear the custom error; the component will not automatically clear it."
            },
            {
              "kind": "method",
              "name": "_setFormValue",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "FormValueType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_setValidity",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "validity",
                  "type": {
                    "text": "ValidityStateFlags"
                  }
                },
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_mapValidationMessage",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "validityState",
                  "type": {
                    "text": "ValidityStateFlags"
                  }
                },
                {
                  "name": "validationMessageMap",
                  "type": {
                    "text": "ValidationMessageMap"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#broadcastValidityStateChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "userTriggered",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#elements",
              "privacy": "private",
              "type": {
                "text": "Map<string, HTMLElement[]>"
              },
              "static": true,
              "default": "new Map()",
              "inheritedFrom": {
                "name": "ZuiBaseElement",
                "module": "src/zui-base.ts"
              }
            },
            {
              "kind": "method",
              "name": "_getElements",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": ""
                }
              },
              "parameters": [
                {
                  "name": "tagName",
                  "type": {
                    "text": "string"
                  },
                  "description": "The tag name of the element to retrieve"
                }
              ],
              "description": "A protected method to retrieve important elements in the global state",
              "inheritedFrom": {
                "name": "ZuiBaseElement",
                "module": "src/zui-base.ts"
              }
            },
            {
              "kind": "method",
              "name": "_storeElement",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to store"
                }
              ],
              "description": "A protected method to store off important elements in the global state",
              "inheritedFrom": {
                "name": "ZuiBaseElement",
                "module": "src/zui-base.ts"
              }
            },
            {
              "kind": "method",
              "name": "_removeElement",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLElement"
                  },
                  "description": "The element to remove"
                }
              ],
              "description": "A protected method to remove important elements from the global state",
              "inheritedFrom": {
                "name": "ZuiBaseElement",
                "module": "src/zui-base.ts"
              }
            }
          ],
          "events": [
            {
              "name": "validitystatechange",
              "type": {
                "text": "Event"
              }
            }
          ],
          "attributes": [
            {
              "type": {
                "text": "string"
              },
              "description": "The name of this element that is associated with form submission",
              "name": "name"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "Represents whether a user can make changes to this element; if true, the value of this element will be excluded from the form submission",
              "name": "disabled",
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "Represents whether a user can make changes to this element; the value of this element will still be included in the form submission",
              "name": "readonly",
              "default": "false",
              "fieldName": "readOnly"
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "If true, this element will be focused when connected to the document",
              "name": "autofocus",
              "default": "false",
              "fieldName": "autofocus"
            }
          ],
          "superclass": {
            "name": "ZuiBaseElement",
            "module": "/src/zui-base.js"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "ZuiFormAssociatedElement",
          "declaration": {
            "name": "ZuiFormAssociatedElement",
            "module": "src/zui-form-associated-element.ts"
          }
        }
      ]
    }
  ]
}
