{
  "$schema": "../../schemas/component-contract.schema.json",
  "name": "select",
  "category": "data-input",
  "status": "stable",
  "kind": "custom-element",
  "tagName": "blora-select",
  "since": "2.0.0",
  "requiresJavaScript": true,
  "formAssociated": true,
  "attributes": {
    "name": {
      "type": "string"
    },
    "value": {
      "type": "string",
      "reflects": true
    },
    "disabled": {
      "type": "boolean",
      "reflects": true
    },
    "required": {
      "type": "boolean",
      "reflects": true
    },
    "placeholder": {
      "type": "string"
    },
    "multiple": {
      "type": "boolean",
      "reflects": true
    },
    "max-tag-count": {
      "type": "number",
      "default": 2
    }
  },
  "properties": {
    "selectedOptions": {
      "type": "readonly BloraOptionData[]",
      "readonly": true
    },
    "values": {
      "type": "readonly string[]",
      "readonly": true
    }
  },
  "methods": {
    "focus": {
      "returns": "void"
    },
    "checkValidity": {
      "returns": "boolean"
    },
    "reportValidity": {
      "returns": "boolean"
    },
    "setCustomValidity": {
      "parameters": [
        {
          "name": "message",
          "type": "string"
        }
      ],
      "returns": "void"
    }
  },
  "events": {
    "input": {
      "native": true,
      "bubbles": true,
      "composed": true
    },
    "change": {
      "native": true,
      "bubbles": true,
      "composed": true
    },
    "blora-before-open": {
      "detail": "{ source: string; reason: string }",
      "bubbles": true,
      "composed": true,
      "cancelable": true
    },
    "blora-open": {
      "detail": "{ source: string; reason: string }",
      "bubbles": true,
      "composed": true
    },
    "blora-before-close": {
      "detail": "{ source: string; reason: string }",
      "bubbles": true,
      "composed": true,
      "cancelable": true
    },
    "blora-close": {
      "detail": "{ source: string; reason: string }",
      "bubbles": true,
      "composed": true
    }
  },
  "slots": {
    "default": "blora-option elements"
  },
  "parts": ["trigger", "value", "tag", "tag-remove", "popup", "listbox", "option"],
  "cssProperties": [
    "--blora-select-popup-max-height",
    "--blora-button-bg",
    "--blora-button-fg",
    "--blora-button-bd"
  ],
  "accessibilityPattern": "combobox"
}
