{
  "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": "labelPlacements",
          "type": {
            "text": "['leading', 'trailing']"
          },
          "default": "['leading', 'trailing']"
        },
        {
          "kind": "variable",
          "name": "ON_SWITCH_CHANGED_EVENT",
          "type": {
            "text": "string"
          },
          "default": "'change'",
          "description": "Event name for when the switch checked state is changed."
        },
        {
          "kind": "variable",
          "name": "defaultProps",
          "type": {
            "text": "DefaultProps"
          },
          "default": "{ checked: false, defaultChecked: false, disabled: false, labelPlacement: 'leading', required: false, value: 'on', }"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "labelPlacements",
          "declaration": {
            "name": "labelPlacements",
            "module": "src/defs.js"
          }
        },
        {
          "kind": "js",
          "name": "ON_SWITCH_CHANGED_EVENT",
          "declaration": {
            "name": "ON_SWITCH_CHANGED_EVENT",
            "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": "PieSwitch",
          "members": [
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "SwitchProps['label']"
              },
              "privacy": "public",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "labelPlacement",
              "privacy": "public",
              "attribute": "labelPlacement"
            },
            {
              "kind": "field",
              "name": "aria",
              "type": {
                "text": "SwitchProps['aria']"
              },
              "privacy": "public",
              "attribute": "aria"
            },
            {
              "kind": "field",
              "name": "checked",
              "privacy": "public",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "defaultChecked",
              "privacy": "public",
              "attribute": "defaultChecked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "privacy": "public",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "privacy": "public",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "SwitchProps['name']"
              },
              "privacy": "public",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "privacy": "public",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_contextAria",
              "type": {
                "text": "ContextualAria | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "switchBody",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "focusTarget",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "public"
            },
            {
              "kind": "field",
              "name": "_abortController",
              "type": {
                "text": "AbortController"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_isAnimationAllowed",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "method",
              "name": "handleFormAssociation",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Ensures that the form value and validation state are in sync with the component."
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  },
                  "description": "This should be the change event that was listened for on an input element with `type=\"checkbox\"`."
                }
              ],
              "description": "The handleChange function updates the checkbox state and emits an event for consumers."
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "privacy": "public",
              "return": {
                "type": {
                  "text": ""
                }
              },
              "description": "Returns a boolean value which indicates validity of the value of the component. If the value is invalid, this method also fires the invalid event on the component.\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/checkValidity"
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "privacy": "public",
              "return": {
                "type": {
                  "text": ""
                }
              },
              "description": "If the value is invalid, this method also fires the invalid event on the element, and (if the event isn't canceled) reports the problem to the user.\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/reportValidity"
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Allows a consumer to set a custom validation message on the switch. An empty string counts as valid.\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setCustomValidity"
            },
            {
              "kind": "method",
              "name": "formResetCallback",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Called when the containing form is reset.\nResets checked state back to defaultChecked and emits a change event when needed."
            },
            {
              "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": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "privacy": "public",
              "description": "(Read-only) Returns a string representing a localized message that describes the validation constraints that the control does not satisfy (if any).\nThis string is empty if the component is valid.\nhttps://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/validationMessage",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "renderAriaDescription",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderSwitchLabel",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "name": "invalid",
              "type": {
                "text": "Event"
              }
            },
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "when the switch checked state is changed.",
              "name": "change"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "SwitchProps['label']"
              },
              "fieldName": "label"
            },
            {
              "name": "labelPlacement",
              "fieldName": "labelPlacement"
            },
            {
              "name": "aria",
              "type": {
                "text": "SwitchProps['aria']"
              },
              "fieldName": "aria"
            },
            {
              "name": "checked",
              "fieldName": "checked"
            },
            {
              "name": "defaultChecked",
              "fieldName": "defaultChecked"
            },
            {
              "name": "required",
              "fieldName": "required"
            },
            {
              "name": "value",
              "fieldName": "value"
            },
            {
              "name": "name",
              "type": {
                "text": "SwitchProps['name']"
              },
              "fieldName": "name"
            },
            {
              "name": "disabled",
              "fieldName": "disabled"
            }
          ],
          "mixins": [
            {
              "name": "AssociatedLabelMixin",
              "package": "@justeattakeaway/pie-webc-core"
            },
            {
              "name": "FormControlMixin",
              "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-switch",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/defs"
          }
        },
        {
          "kind": "js",
          "name": "PieSwitch",
          "declaration": {
            "name": "PieSwitch",
            "module": "src/index.js"
          }
        }
      ]
    }
  ]
}
