{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "vaadin-switch.js",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "*",
          "declaration": {
            "name": "*",
            "module": "src/vaadin-switch.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/vaadin-switch.js",
      "declarations": [
        {
          "kind": "class",
          "description": "`<vaadin-switch>` is a binary on/off switch control for a single setting.\n\n```html\n<vaadin-switch label=\"Notifications\"></vaadin-switch>\n```\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name            | Description\n---------------------|-------------\n`switch`             | The track element that holds the marker.\n`marker`             | The marker element inside the track.\n`label`              | The slotted label element wrapper.\n`helper-text`        | The slotted helper text element wrapper.\n`error-message`      | The slotted error message element wrapper.\n`required-indicator` | The `required` state indicator element.\n\nThe following state attributes are available for styling:\n\nAttribute            | Description\n---------------------|-------------\n`active`             | Set when the switch is activated with mouse, touch or the keyboard.\n`checked`            | Set when the switch is checked.\n`disabled`           | Set when the switch is disabled.\n`readonly`           | Set when the switch is readonly.\n`focus-ring`         | Set when the switch is focused using the keyboard.\n`focused`            | Set when the switch is focused.\n`required`           | Set when the switch is required.\n`invalid`            | Set when the switch is invalid.\n`has-label`          | Set when the switch has a label.\n`has-helper`         | Set when the switch has helper text.\n`has-error-message`  | Set when the switch has an error message.\n`has-tooltip`        | Set when the switch has a slotted tooltip.\n\nThe following custom CSS properties are available for styling:\n\nCustom CSS property                                |\n:--------------------------------------------------|\n| `--vaadin-input-field-error-color`               |\n| `--vaadin-input-field-error-font-size`           |\n| `--vaadin-input-field-error-font-weight`         |\n| `--vaadin-input-field-error-line-height`         |\n| `--vaadin-input-field-helper-color`              |\n| `--vaadin-input-field-helper-font-size`          |\n| `--vaadin-input-field-helper-font-weight`        |\n| `--vaadin-input-field-helper-line-height`        |\n| `--vaadin-input-field-required-indicator`        |\n| `--vaadin-input-field-required-indicator-color`  |\n| `--vaadin-switch-background`                     |\n| `--vaadin-switch-border-color`                   |\n| `--vaadin-switch-border-radius`                  |\n| `--vaadin-switch-border-width`                   |\n| `--vaadin-switch-gap`                            |\n| `--vaadin-switch-height`                         |\n| `--vaadin-switch-width`                          |\n| `--vaadin-switch-icon-color`                     |\n| `--vaadin-switch-icon-size`                      |\n| `--vaadin-switch-label-color`                    |\n| `--vaadin-switch-label-font-size`                |\n| `--vaadin-switch-label-font-weight`              |\n| `--vaadin-switch-label-line-height`              |\n| `--vaadin-switch-marker-border-color`            |\n| `--vaadin-switch-marker-border-radius`           |\n| `--vaadin-switch-marker-border-width`            |\n| `--vaadin-switch-marker-color`                   |\n| `--vaadin-switch-marker-height`                  |\n| `--vaadin-switch-marker-scale`                   |\n| `--vaadin-switch-marker-width`                   |\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
          "name": "Switch",
          "members": [
            {
              "kind": "field",
              "name": "accessibleDescriptionRef",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "A space-separated list of IDs referencing the elements that\ndescribe the component for screen reader users. The referenced\nelements are announced in addition to the helper text and\nthe error message.",
              "attribute": "accessible-description-ref",
              "inheritedFrom": {
                "name": "FieldMixin",
                "package": "@vaadin/field-base/src/field-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "accessibleName",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "String used to label the component for screen reader users.",
              "attribute": "accessible-name",
              "inheritedFrom": {
                "name": "FieldMixin",
                "package": "@vaadin/field-base/src/field-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "accessibleNameRef",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "A space-separated list of IDs referencing the elements that\nlabel the component for screen reader users.",
              "attribute": "accessible-name-ref",
              "inheritedFrom": {
                "name": "FieldMixin",
                "package": "@vaadin/field-base/src/field-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "autofocus",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Specify that this control should have input focus when the page loads.",
              "attribute": "autofocus",
              "inheritedFrom": {
                "name": "DelegateFocusMixin",
                "package": "@vaadin/a11y-base/src/delegate-focus-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "checked",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "True if the element is checked.",
              "attribute": "checked",
              "inheritedFrom": {
                "name": "CheckedMixin",
                "package": "@vaadin/field-base/src/checked-mixin.js"
              }
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "inheritedFrom": {
                "name": "CheckboxMixin",
                "package": "@vaadin/checkbox/src/vaadin-checkbox-mixin.js"
              }
            },
            {
              "kind": "method",
              "name": "clear",
              "description": "Clear the value of the field.",
              "inheritedFrom": {
                "name": "InputMixin",
                "package": "@vaadin/field-base/src/input-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "disabled",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the user cannot interact with this element.",
              "attribute": "disabled",
              "inheritedFrom": {
                "name": "DisabledMixin",
                "package": "@vaadin/a11y-base/src/disabled-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "errorMessage",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "Error to show when the field is invalid.",
              "attribute": "error-message",
              "inheritedFrom": {
                "name": "FieldMixin",
                "package": "@vaadin/field-base/src/field-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "helperText",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "String used for the helper text.",
              "attribute": "helper-text",
              "inheritedFrom": {
                "name": "FieldMixin",
                "package": "@vaadin/field-base/src/field-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "invalid",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true when the field is invalid.",
              "attribute": "invalid",
              "inheritedFrom": {
                "name": "ValidateMixin",
                "package": "@vaadin/field-base/src/validate-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "The label text for the input node.\nWhen no light dom defined via [slot=label], this value will be used.",
              "attribute": "label",
              "inheritedFrom": {
                "name": "LabelMixin",
                "package": "@vaadin/field-base/src/label-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "manualValidation",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to enable manual validation mode. This mode disables automatic\nconstraint validation, allowing you to control the validation process yourself.\nYou can still trigger constraint validation manually with the `validate()` method\nor use `checkValidity()` to assess the component's validity without affecting\nthe invalid state. In manual validation mode, you can also manipulate\nthe `invalid` property directly through your application logic without conflicts\nwith the component's internal validation.",
              "attribute": "manual-validation",
              "inheritedFrom": {
                "name": "ValidateMixin",
                "package": "@vaadin/field-base/src/validate-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "The name of the control, which is submitted with the form data.",
              "attribute": "name",
              "inheritedFrom": {
                "name": "CheckboxMixin",
                "package": "@vaadin/checkbox/src/vaadin-checkbox-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "readonly",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the user cannot modify the value of the control.\nThe difference between `disabled` and `readonly` is that the\nread-only element remains focusable, is announced by screen\nreaders and its value can be submitted as part of the form.",
              "attribute": "readonly",
              "inheritedFrom": {
                "name": "CheckboxMixin",
                "package": "@vaadin/checkbox/src/vaadin-checkbox-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "required",
              "privacy": "public",
              "type": {
                "text": "boolean"
              },
              "description": "Specifies that the user must fill in a value.",
              "attribute": "required",
              "inheritedFrom": {
                "name": "ValidateMixin",
                "package": "@vaadin/field-base/src/validate-mixin.js"
              }
            },
            {
              "kind": "method",
              "name": "validate",
              "description": "Validates the field and sets the `invalid` property based on the result.\n\nThe method fires a `validated` event with the result of the validation.",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "inheritedFrom": {
                "name": "ValidateMixin",
                "package": "@vaadin/field-base/src/validate-mixin.js"
              }
            },
            {
              "kind": "field",
              "name": "value",
              "privacy": "public",
              "type": {
                "text": "string"
              },
              "description": "The value of the field.",
              "attribute": "value",
              "inheritedFrom": {
                "name": "InputMixin",
                "package": "@vaadin/field-base/src/input-mixin.js"
              }
            }
          ],
          "events": [
            {
              "type": {
                "text": "Event"
              },
              "description": "Fired when the switch is toggled by the user.",
              "name": "change"
            },
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired when the `checked` property changes.",
              "name": "checked-changed"
            },
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired when the `invalid` property changes.",
              "name": "invalid-changed"
            },
            {
              "type": {
                "text": "CustomEvent"
              },
              "description": "Fired whenever the field is validated.",
              "name": "validated"
            }
          ],
          "attributes": [
            {
              "name": "accessible-description-ref",
              "type": {
                "text": "string"
              },
              "description": "A space-separated list of IDs referencing the elements that\ndescribe the component for screen reader users. The referenced\nelements are announced in addition to the helper text and\nthe error message.",
              "fieldName": "accessibleDescriptionRef",
              "inheritedFrom": {
                "name": "FieldMixin",
                "package": "@vaadin/field-base/src/field-mixin.js"
              }
            },
            {
              "name": "accessible-name",
              "type": {
                "text": "string"
              },
              "description": "String used to label the component for screen reader users.",
              "fieldName": "accessibleName",
              "inheritedFrom": {
                "name": "FieldMixin",
                "package": "@vaadin/field-base/src/field-mixin.js"
              }
            },
            {
              "name": "accessible-name-ref",
              "type": {
                "text": "string"
              },
              "description": "A space-separated list of IDs referencing the elements that\nlabel the component for screen reader users.",
              "fieldName": "accessibleNameRef",
              "inheritedFrom": {
                "name": "FieldMixin",
                "package": "@vaadin/field-base/src/field-mixin.js"
              }
            },
            {
              "name": "autofocus",
              "type": {
                "text": "boolean"
              },
              "description": "Specify that this control should have input focus when the page loads.",
              "fieldName": "autofocus",
              "inheritedFrom": {
                "name": "DelegateFocusMixin",
                "package": "@vaadin/a11y-base/src/delegate-focus-mixin.js"
              }
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "description": "True if the element is checked.",
              "fieldName": "checked",
              "inheritedFrom": {
                "name": "CheckedMixin",
                "package": "@vaadin/field-base/src/checked-mixin.js"
              }
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "description": "If true, the user cannot interact with this element.",
              "fieldName": "disabled",
              "inheritedFrom": {
                "name": "DisabledMixin",
                "package": "@vaadin/a11y-base/src/disabled-mixin.js"
              }
            },
            {
              "name": "error-message",
              "type": {
                "text": "string"
              },
              "description": "Error to show when the field is invalid.",
              "fieldName": "errorMessage",
              "inheritedFrom": {
                "name": "FieldMixin",
                "package": "@vaadin/field-base/src/field-mixin.js"
              }
            },
            {
              "name": "helper-text",
              "type": {
                "text": "string"
              },
              "description": "String used for the helper text.",
              "fieldName": "helperText",
              "inheritedFrom": {
                "name": "FieldMixin",
                "package": "@vaadin/field-base/src/field-mixin.js"
              }
            },
            {
              "name": "invalid",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true when the field is invalid.",
              "fieldName": "invalid",
              "inheritedFrom": {
                "name": "ValidateMixin",
                "package": "@vaadin/field-base/src/validate-mixin.js"
              }
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "The label text for the input node.\nWhen no light dom defined via [slot=label], this value will be used.",
              "fieldName": "label",
              "inheritedFrom": {
                "name": "LabelMixin",
                "package": "@vaadin/field-base/src/label-mixin.js"
              }
            },
            {
              "name": "manual-validation",
              "type": {
                "text": "boolean"
              },
              "description": "Set to true to enable manual validation mode. This mode disables automatic\nconstraint validation, allowing you to control the validation process yourself.\nYou can still trigger constraint validation manually with the `validate()` method\nor use `checkValidity()` to assess the component's validity without affecting\nthe invalid state. In manual validation mode, you can also manipulate\nthe `invalid` property directly through your application logic without conflicts\nwith the component's internal validation.",
              "fieldName": "manualValidation",
              "inheritedFrom": {
                "name": "ValidateMixin",
                "package": "@vaadin/field-base/src/validate-mixin.js"
              }
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "The name of the control, which is submitted with the form data.",
              "fieldName": "name",
              "inheritedFrom": {
                "name": "CheckboxMixin",
                "package": "@vaadin/checkbox/src/vaadin-checkbox-mixin.js"
              }
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "description": "When true, the user cannot modify the value of the control.\nThe difference between `disabled` and `readonly` is that the\nread-only element remains focusable, is announced by screen\nreaders and its value can be submitted as part of the form.",
              "fieldName": "readonly",
              "inheritedFrom": {
                "name": "CheckboxMixin",
                "package": "@vaadin/checkbox/src/vaadin-checkbox-mixin.js"
              }
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "description": "Specifies that the user must fill in a value.",
              "fieldName": "required",
              "inheritedFrom": {
                "name": "ValidateMixin",
                "package": "@vaadin/field-base/src/validate-mixin.js"
              }
            },
            {
              "type": {
                "text": "string"
              },
              "description": "The theme variants to apply to the component.",
              "name": "theme"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The value of the field.",
              "fieldName": "value",
              "inheritedFrom": {
                "name": "InputMixin",
                "package": "@vaadin/field-base/src/input-mixin.js"
              }
            }
          ],
          "mixins": [
            {
              "name": "CheckboxMixin",
              "package": "@vaadin/checkbox/src/vaadin-checkbox-mixin.js"
            },
            {
              "name": "ElementMixin",
              "package": "@vaadin/component-base/src/element-mixin.js"
            },
            {
              "name": "PolylitMixin",
              "package": "@vaadin/component-base/src/polylit-mixin.js"
            },
            {
              "name": "LumoInjectionMixin",
              "package": "@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "vaadin-switch",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Switch",
          "declaration": {
            "name": "Switch",
            "module": "src/vaadin-switch.js"
          }
        }
      ]
    }
  ]
}
