{
  "definitions": {
    "events": {
      "$ref": "#/definitions/Events",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "definitions": {
        "Events": {
          "additionalProperties": false,
          "properties": {
            "setVal": {
              "additionalProperties": false,
              "properties": {
                "id": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "value",
                "valid",
                "id"
              ],
              "type": "object"
            }
          },
          "required": [
            "setVal"
          ],
          "type": "object"
        }
      }
    },
    "component": {
      "$ref": "#/definitions/Component",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "definitions": {
        "Component": {
          "additionalProperties": false,
          "properties": {
            "id": {
              "type": "string"
            },
            "is_small": {
              "description": "When `\"yes\"`, applies Bulma `select.is-small`.",
              "enum": [
                "yes",
                "no"
              ],
              "type": "string"
            },
            "schemaentry": {
              "$ref": "#/definitions/FormSchemaEntry"
            },
            "show_validation": {
              "enum": [
                "yes",
                "no"
              ],
              "type": "string"
            },
            "style": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "FormSchemaEntry": {
          "additionalProperties": false,
          "properties": {
            "disabled": {
              "description": "When true, the native control is disabled and non-interactive.",
              "type": "boolean"
            },
            "id": {
              "description": "This will be both the key of the object when submitting the form's data, and also the id in the DOM.",
              "type": "string"
            },
            "label": {
              "description": "The descriptive label that will show alongside the form control.",
              "type": "string"
            },
            "params": {
              "description": "Other parameters that may be specific to a certain kind of form control.",
              "type": "object"
            },
            "placeholder": {
              "type": "string"
            },
            "readonly": {
              "type": "boolean"
            },
            "required": {
              "description": "This doesn't matter if the dependencies requirements aren't met.",
              "type": "boolean"
            },
            "validationRegex": {
              "type": "string"
            },
            "validationTip": {
              "description": "Shows if value is not valid.",
              "type": "string"
            },
            "value": {
              "description": "Optional default value.",
              "type": [
                "string",
                "number",
                "boolean"
              ]
            }
          },
          "required": [
            "id"
          ],
          "type": "object"
        }
      }
    }
  },
  "description": "Native `<select>` bound to `schemaentry` options from `params.options` (each option has `id`, `value`, and optional `label`). Supports JSON string or object `schemaentry`, optional required state, and `show_validation` for Bulma `select.is-success` / `select.is-danger` plus `validationTip` as `help is-danger`. Theme via inherited `--bulma-*` on `:host`. Dispatches `setVal` with `{ value, valid, id }` on every change.",
  "storybookArgs": {
    "schemaentry": {
      "control": {
        "type": "object"
      }
    },
    "show_validation": {
      "control": {
        "type": "boolean"
      }
    },
    "setVal": {
      "action": "setVal"
    }
  },
  "styleSetup": {
    "vars": [],
    "parts": [
      {
        "name": "invalid-feedback",
        "description": ""
      }
    ]
  },
  "contributors": [],
  "htmlSlots": [],
  "i18n": [],
  "examples": [
    {
      "name": "selected1",
      "data": {
        "schemaentry": {
          "type": "select",
          "placeholder": "Select something here...",
          "id": "selectsomething",
          "required": true,
          "label": "Selection of something",
          "validationTip": "This field cannot be empty.",
          "params": {
            "options": [
              {
                "label": "",
                "value": "",
                "id": "testid"
              },
              {
                "label": "testlabel",
                "value": "testvalue",
                "id": "testid2"
              },
              {
                "label": "testlabel3",
                "value": "testvalue3",
                "id": "testid3"
              }
            ]
          },
          "value": "testvalue"
        }
      }
    },
    {
      "name": "selected2",
      "data": {
        "schemaentry": {
          "type": "select",
          "placeholder": "Select something here...",
          "id": "selectsomething",
          "required": true,
          "label": "Selection of something",
          "validationTip": "This field cannot be empty.",
          "params": {
            "options": [
              {
                "label": "",
                "value": "",
                "id": "testid"
              },
              {
                "label": "testlabel",
                "value": "testvalue",
                "id": "testid2"
              },
              {
                "label": "testlabel3",
                "value": "testvalue3",
                "id": "testid3"
              }
            ]
          },
          "value": "testvalue3"
        }
      }
    },
    {
      "name": "default",
      "data": {
        "schemaentry": {
          "type": "select",
          "placeholder": "Select something here...",
          "id": "selectsomething",
          "required": true,
          "label": "Selection of something",
          "validationTip": "This field cannot be empty.",
          "params": {
            "options": [
              {
                "label": "",
                "value": "",
                "id": "testid"
              },
              {
                "label": "testlabel",
                "value": "testvalue",
                "id": "testid2"
              },
              {
                "label": "testlabel3",
                "value": "testvalue3",
                "id": "testid3"
              }
            ]
          }
        }
      }
    },
    {
      "name": "optional",
      "description": "Select is optional; empty placeholder row remains valid.",
      "data": {
        "schemaentry": {
          "type": "select",
          "placeholder": "Pick an option (optional)…",
          "id": "optionalSelect",
          "required": false,
          "label": "Priority",
          "params": {
            "options": [
              {
                "label": "—",
                "value": "",
                "id": "empty"
              },
              {
                "label": "Low",
                "value": "low",
                "id": "low"
              },
              {
                "label": "High",
                "value": "high",
                "id": "high"
              }
            ]
          }
        }
      }
    },
    {
      "name": "disabled",
      "description": "Select is fully disabled and non-interactive.",
      "data": {
        "schemaentry": {
          "type": "select",
          "id": "selectDisabled",
          "label": "Country (locked)",
          "value": "it",
          "disabled": true,
          "params": {
            "options": [
              {
                "label": "Italy",
                "value": "it",
                "id": "it"
              },
              {
                "label": "France",
                "value": "fr",
                "id": "fr"
              },
              {
                "label": "Germany",
                "value": "de",
                "id": "de"
              }
            ]
          }
        }
      }
    }
  ],
  "iifeIntegrity": "sha384-pKzGsoEux2d4Kgx/us78eFvDya/zBhka3sDsYefOQUTNiXPJrdOlak/74urzJOA1",
  "dependencies": [],
  "screenshots": [],
  "licenses": [
    {
      "type": "Apache-2.0",
      "path": "LICENSE.md",
      "cost": 0,
      "currency": "EUR"
    }
  ],
  "readmePath": "README.md",
  "name": "hb-input-select",
  "category": "inputs",
  "tags": [
    "inputs"
  ],
  "size": {},
  "iifePath": "main.iife.js",
  "repoName": "@htmlbricks/hb-input-select",
  "version": "0.71.32"
}