{
  "$ref": "#/definitions/Component",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "Component": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "type": "string"
        },
        "schemaentry": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/definitions/FormSchemaEntry"
            }
          ],
          "description": "JSON string from HTML, or a parsed object from JavaScript (`parseSchemaentryProp`)."
        },
        "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": {
        "array_style": {
          "description": "For `type: \"arraytags\"` only: forwarded to `hb-input-array-tags` as the host `array_style` attribute (`\"pills\"` | `\"area\"` string). When omitted, **`hb-form` defaults to `\"area\"`**.",
          "type": "string"
        },
        "dependencies": {
          "items": {
            "$ref": "#/definitions/FormSchemaDependency"
          },
          "type": "array"
        },
        "disabled": {
          "type": "boolean"
        },
        "id": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "params": {
          "$ref": "#/definitions/InputArrayObjectsParams"
        },
        "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"
    },
    "InputArrayObjectsNestedField": {
      "additionalProperties": false,
      "description": "Same shape as `FormSchemaEntry` in `hb-form` (nested rows inside `params.schema`). Defined locally so `ts-json-schema-generator` does not merge two symbols named `FormSchemaEntry`.\n\nNested `params` may include any keys supported by the embedded input types (min/max, options, …) in addition to `columns` for `type: \"row\"`.",
      "properties": {
        "array_style": {
          "description": "For `type: \"arraytags\"` only: forwarded to `hb-input-array-tags` as the host `array_style` attribute (`\"pills\"` | `\"area\"` string). When omitted, **`hb-form` defaults to `\"area\"`**.",
          "type": "string"
        },
        "dependencies": {
          "items": {
            "$ref": "#/definitions/FormSchemaDependency"
          },
          "type": "array"
        },
        "disabled": {
          "type": "boolean"
        },
        "id": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "params": {
          "properties": {
            "columns": {
              "items": {
                "$ref": "#/definitions/InputArrayObjectsNestedField"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "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"
      ],
      "type": "object"
    },
    "InputArrayObjectsParams": {
      "additionalProperties": false,
      "properties": {
        "addPropertyLabel": {
          "description": "Label for the “add property” / add-row control.",
          "type": "string"
        },
        "columns": {
          "description": "Rarely used; mirror of row-style layouts.",
          "items": {
            "$ref": "#/definitions/InputArrayObjectsNestedField"
          },
          "type": "array"
        },
        "schema": {
          "description": "Sub-form template for each row in the table.",
          "items": {
            "$ref": "#/definitions/InputArrayObjectsNestedField"
          },
          "type": "array"
        }
      },
      "type": "object"
    }
  }
}
