{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/defs-react.js",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/defs.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "sizes",
          "type": {
            "text": "['small', 'medium', 'large']"
          },
          "default": "['small', 'medium', 'large']"
        },
        {
          "kind": "variable",
          "name": "resizeModes",
          "type": {
            "text": "['auto', 'manual', 'none']"
          },
          "default": "['auto', 'manual', 'none']"
        },
        {
          "kind": "variable",
          "name": "statusTypes",
          "type": {
            "text": "['default', 'success', 'error']"
          },
          "default": "['default', 'success', 'error']"
        },
        {
          "kind": "variable",
          "name": "defaultProps",
          "type": {
            "text": "DefaultProps"
          },
          "default": "{ disabled: false, size: 'medium', resize: 'auto', value: '', placeholder: '', status: 'default', autoFocus: false, readonly: false, required: false, }",
          "description": "Default values for optional properties that have default fallback values in the component."
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "sizes",
          "declaration": {
            "name": "sizes",
            "module": "src/defs.js"
          }
        },
        {
          "kind": "js",
          "name": "resizeModes",
          "declaration": {
            "name": "resizeModes",
            "module": "src/defs.js"
          }
        },
        {
          "kind": "js",
          "name": "statusTypes",
          "declaration": {
            "name": "statusTypes",
            "module": "src/defs.js"
          }
        },
        {
          "kind": "js",
          "name": "defaultProps",
          "declaration": {
            "name": "defaultProps",
            "module": "src/defs.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/index.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "PieTextarea",
          "members": [
            {
              "kind": "field",
              "name": "value",
              "privacy": "public",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "TextareaProps['defaultValue']"
              },
              "privacy": "public",
              "attribute": "defaultValue"
            },
            {
              "kind": "field",
              "name": "disabled",
              "privacy": "public",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "privacy": "public",
              "attribute": "size"
            },
            {
              "kind": "field",
              "name": "resize",
              "privacy": "public",
              "attribute": "resize"
            },
            {
              "kind": "field",
              "name": "readonly",
              "privacy": "public",
              "attribute": "readonly"
            },
            {
              "kind": "field",
              "name": "autoFocus",
              "privacy": "public",
              "attribute": "autoFocus"
            },
            {
              "kind": "field",
              "name": "required",
              "privacy": "public",
              "attribute": "required"
            },
            {
              "kind": "field",
              "name": "status",
              "privacy": "public",
              "attribute": "status"
            },
            {
              "kind": "field",
              "name": "assistiveText",
              "type": {
                "text": "TextareaProps['assistiveText']"
              },
              "privacy": "public",
              "attribute": "assistiveText"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "TextareaProps['name']"
              },
              "privacy": "public",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autocomplete",
              "type": {
                "text": "TextareaProps['autocomplete']"
              },
              "privacy": "public",
              "attribute": "autocomplete"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "TextareaProps['placeholder']"
              },
              "privacy": "public",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "maxlength",
              "type": {
                "text": "TextareaProps['maxlength']"
              },
              "privacy": "public",
              "attribute": "maxlength"
            },
            {
              "kind": "field",
              "name": "rows",
              "type": {
                "text": "TextareaProps['rows']"
              },
              "privacy": "public",
              "attribute": "rows"
            },
            {
              "kind": "field",
              "name": "aria",
              "type": {
                "text": "TextareaProps['aria']"
              },
              "privacy": "public",
              "attribute": "aria"
            },
            {
              "kind": "field",
              "name": "_textarea",
              "type": {
                "text": "HTMLTextAreaElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "focusTarget",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "public"
            },
            {
              "kind": "field",
              "name": "_abortController",
              "type": {
                "text": "AbortController"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_throttledResize",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "privacy": "public",
              "description": "(Read-only) returns a ValidityState with the validity states that this element is in.\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/validity",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "formDisabledCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "disabled",
                  "type": {
                    "text": "boolean"
                  },
                  "description": "The latest disabled state of the input."
                }
              ],
              "description": "Called after the disabled state of the element changes,\neither because the disabled attribute of this element was added or removed;\nor because the disabled state changed on a <fieldset> that's an ancestor of this element."
            },
            {
              "kind": "method",
              "name": "setSelectionRange",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "selectionStart",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionEnd",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "selectionDirection",
                  "default": "'none'",
                  "type": {
                    "text": "'forward' | 'backward' | 'none'"
                  }
                }
              ],
              "description": "Sets the selected text range on the underlying native textarea."
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Called when the form that owns this component is reset.\nResets the value to the default value."
            },
            {
              "kind": "method",
              "name": "handleResize",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleInput",
              "privacy": "private",
              "description": "Handles input events and updates the component's value based on the input event or a provided new value.",
              "parameters": [
                {
                  "description": "The input event triggered by user interaction. If null, the `newValue` is used.",
                  "name": "event",
                  "type": {
                    "text": "InputEvent | null"
                  }
                },
                {
                  "description": "An optional new value to set if the event is not provided.",
                  "name": "newValue",
                  "optional": true,
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "field",
              "name": "handleChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleKeyDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderAssistiveText",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "type": {
                "text": "InputEvent"
              },
              "description": "when the textarea value is changed.",
              "name": "input"
            },
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "when the textarea value is changed.",
              "name": "change"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "fieldName": "value"
            },
            {
              "name": "defaultValue",
              "type": {
                "text": "TextareaProps['defaultValue']"
              },
              "fieldName": "defaultValue"
            },
            {
              "name": "disabled",
              "fieldName": "disabled"
            },
            {
              "name": "size",
              "fieldName": "size"
            },
            {
              "name": "resize",
              "fieldName": "resize"
            },
            {
              "name": "readonly",
              "fieldName": "readonly"
            },
            {
              "name": "autoFocus",
              "fieldName": "autoFocus"
            },
            {
              "name": "required",
              "fieldName": "required"
            },
            {
              "name": "status",
              "fieldName": "status"
            },
            {
              "name": "assistiveText",
              "type": {
                "text": "TextareaProps['assistiveText']"
              },
              "fieldName": "assistiveText"
            },
            {
              "name": "name",
              "type": {
                "text": "TextareaProps['name']"
              },
              "fieldName": "name"
            },
            {
              "name": "autocomplete",
              "type": {
                "text": "TextareaProps['autocomplete']"
              },
              "fieldName": "autocomplete"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "TextareaProps['placeholder']"
              },
              "fieldName": "placeholder"
            },
            {
              "name": "maxlength",
              "type": {
                "text": "TextareaProps['maxlength']"
              },
              "fieldName": "maxlength"
            },
            {
              "name": "rows",
              "type": {
                "text": "TextareaProps['rows']"
              },
              "fieldName": "rows"
            },
            {
              "name": "aria",
              "type": {
                "text": "TextareaProps['aria']"
              },
              "fieldName": "aria"
            }
          ],
          "mixins": [
            {
              "name": "FormControlMixin",
              "package": "@justeattakeaway/pie-webc-core"
            },
            {
              "name": "RtlMixin",
              "package": "@justeattakeaway/pie-webc-core"
            },
            {
              "name": "DelegatesFocusMixin",
              "package": "@justeattakeaway/pie-webc-core"
            }
          ],
          "superclass": {
            "name": "PieElement",
            "package": "@justeattakeaway/pie-webc-core/src/internals/PieElement"
          },
          "tagName": "pie-textarea",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/defs"
          }
        },
        {
          "kind": "js",
          "name": "PieTextarea",
          "declaration": {
            "name": "PieTextarea",
            "module": "src/index.js"
          }
        }
      ]
    }
  ]
}
