{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "sp-swatch-group.js",
      "declarations": [],
      "exports": [
        {
          "kind": "custom-element-definition",
          "name": "sp-swatch-group",
          "declaration": {
            "name": "SwatchGroup",
            "module": "/src/SwatchGroup.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "sp-swatch.js",
      "declarations": [],
      "exports": [
        {
          "kind": "custom-element-definition",
          "name": "sp-swatch",
          "declaration": {
            "name": "Swatch",
            "module": "/src/Swatch.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/Swatch.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "Swatch",
          "members": [
            {
              "kind": "field",
              "name": "border",
              "type": {
                "text": "SwatchBorder"
              },
              "privacy": "public",
              "attribute": "border",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              },
              "privacy": "public",
              "default": "''",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "privacy": "public",
              "default": "''",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "mixedValue",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "attribute": "mixed-value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "nothing",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "attribute": "nothing",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "role",
              "type": {
                "text": "string"
              },
              "privacy": "public",
              "default": "'button'",
              "attribute": "role",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "rounding",
              "type": {
                "text": "SwatchRounding"
              },
              "privacy": "public",
              "attribute": "rounding",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false",
              "attribute": "selected",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "shape",
              "type": {
                "text": "SwatchShape"
              },
              "privacy": "public",
              "attribute": "shape",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "focusElement",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "public",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "toggle",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "force",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleKeydown",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeypress",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleKeyup",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "renderDisabled",
              "privacy": "protected"
            },
            {
              "kind": "field",
              "name": "renderMixedValue",
              "privacy": "protected"
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event"
              }
            }
          ],
          "attributes": [
            {
              "name": "border",
              "type": {
                "text": "SwatchBorder"
              },
              "fieldName": "border"
            },
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "color"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "label"
            },
            {
              "name": "mixed-value",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "mixedValue"
            },
            {
              "name": "nothing",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "nothing"
            },
            {
              "name": "role",
              "type": {
                "text": "string"
              },
              "default": "'button'",
              "fieldName": "role"
            },
            {
              "name": "rounding",
              "type": {
                "text": "SwatchRounding"
              },
              "fieldName": "rounding"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "selected"
            },
            {
              "name": "shape",
              "type": {
                "text": "SwatchShape"
              },
              "fieldName": "shape"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            }
          ],
          "mixins": [
            {
              "name": "SizedMixin",
              "package": "@spectrum-web-components/base"
            }
          ],
          "superclass": {
            "name": "Focusable",
            "package": "@spectrum-web-components/shared/src/focusable.js"
          },
          "tagName": "sp-swatch",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "Swatch",
          "declaration": {
            "name": "Swatch",
            "module": "src/Swatch.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/SwatchGroup.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "SwatchGroup",
          "slots": [
            {
              "description": "Swatch elements to manage as a group",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "border",
              "type": {
                "text": "SwatchBorder"
              },
              "privacy": "public",
              "attribute": "border",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "density",
              "type": {
                "text": "'compact' | 'spacious' | undefined"
              },
              "privacy": "public",
              "attribute": "density",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "rounding",
              "type": {
                "text": "SwatchRounding"
              },
              "privacy": "public",
              "attribute": "rounding",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "string[]"
              },
              "privacy": "public",
              "attribute": "selected"
            },
            {
              "kind": "field",
              "name": "_selected",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "selects",
              "type": {
                "text": "SwatchSelects"
              },
              "privacy": "public",
              "attribute": "selects"
            },
            {
              "kind": "field",
              "name": "selectedSet",
              "privacy": "private",
              "default": "new Set<string>()"
            },
            {
              "kind": "field",
              "name": "shape",
              "type": {
                "text": "SwatchShape"
              },
              "privacy": "public",
              "attribute": "shape",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "swatches",
              "type": {
                "text": "Swatch[]"
              },
              "privacy": "public"
            },
            {
              "kind": "field",
              "name": "rovingTabindexController",
              "default": "new RovingTabindexController<Swatch>(this, { focusInIndex: (elements: Swatch[]) => { let firstEnabledIndex = -1; const firstSelectedIndex = elements.findIndex((el, index) => { if (!elements[firstEnabledIndex] && !el.disabled) { firstEnabledIndex = index; } return el.selected && !el.disabled; }); return elements[firstSelectedIndex] ? firstSelectedIndex : firstEnabledIndex; }, elements: () => this.swatches, isFocusableElement: (el: Swatch) => !el.disabled, })"
            },
            {
              "kind": "method",
              "name": "focus",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event & { target: Swatch }"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "manageChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getPassthroughSwatchActions",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "((swatch: Swatch) => void)[]"
                }
              },
              "parameters": [
                {
                  "name": "changes",
                  "type": {
                    "text": "PropertyValues"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getSelectionSwatchActions",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "((swatch: Swatch) => void)[]"
                }
              },
              "parameters": [
                {
                  "name": "changes",
                  "type": {
                    "text": "PropertyValues"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "name": "change",
              "type": {
                "text": "Event"
              }
            }
          ],
          "attributes": [
            {
              "name": "border",
              "type": {
                "text": "SwatchBorder"
              },
              "fieldName": "border"
            },
            {
              "name": "density",
              "type": {
                "text": "'compact' | 'spacious' | undefined"
              },
              "fieldName": "density"
            },
            {
              "name": "rounding",
              "type": {
                "text": "SwatchRounding"
              },
              "fieldName": "rounding"
            },
            {
              "name": "selected",
              "type": {
                "text": "string[]"
              },
              "fieldName": "selected"
            },
            {
              "name": "selects",
              "type": {
                "text": "SwatchSelects"
              },
              "fieldName": "selects"
            },
            {
              "name": "shape",
              "type": {
                "text": "SwatchShape"
              },
              "fieldName": "shape"
            }
          ],
          "mixins": [
            {
              "name": "SizedMixin",
              "package": "@spectrum-web-components/base"
            }
          ],
          "superclass": {
            "name": "SpectrumElement",
            "package": "@spectrum-web-components/base"
          },
          "tagName": "sp-swatch-group",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SwatchGroup",
          "declaration": {
            "name": "SwatchGroup",
            "module": "src/SwatchGroup.js"
          }
        }
      ]
    }
  ]
}
