{
  "$ref": "#/definitions/Component",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "Component": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string"
        },
        "schemaentry": {
          "$ref": "#/definitions/FormSchemaEntry"
        },
        "show_validation": {
          "enum": [
            "yes",
            "no"
          ],
          "type": "string"
        },
        "style": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "FormSchemaDependency": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string"
        },
        "values": {
          "items": {
            "type": [
              "string",
              "number",
              "boolean"
            ]
          },
          "type": "array"
        }
      },
      "required": [
        "id"
      ],
      "type": "object"
    },
    "FormSchemaEntry": {
      "additionalProperties": false,
      "properties": {
        "dependencies": {
          "items": {
            "$ref": "#/definitions/FormSchemaDependency"
          },
          "type": "array"
        },
        "disabled": {
          "type": "boolean"
        },
        "id": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/InputDateParams"
        },
        "placeholder": {
          "type": "string"
        },
        "readonly": {
          "type": "boolean"
        },
        "required": {
          "type": "boolean"
        },
        "type": {
          "description": "Discriminator for `hb-form` rows (`row`, `text`, `number`, …). May be omitted on a standalone `schemaentry` when implied by the host tag.",
          "type": "string"
        },
        "validationRegex": {
          "type": "string"
        },
        "validationTip": {
          "type": "string"
        },
        "value": {}
      },
      "required": [
        "id"
      ],
      "type": "object"
    },
    "InputDateParams": {
      "additionalProperties": false,
      "description": "Passed to `new Date(...)` for inclusive range checks on the chosen date.",
      "properties": {
        "max": {
          "type": [
            "string",
            "number"
          ]
        },
        "min": {
          "type": [
            "string",
            "number"
          ]
        }
      },
      "type": "object"
    }
  }
}
