{
  "$schema" : "https://json-schema.org/draft/2019-09/schema",
  "type" : "object",
  "properties" : {
    "attributesContext" : {
      "$ref" : "#/$defs/AttributesContext"
    },
    "boolean" : {
      "type" : "boolean"
    },
    "cmsQuickAction" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/$defs/CmsQuickAction"
      }
    },
    "cmsQuickActionRequest" : {
      "$ref" : "#/$defs/CmsQuickActionRequest"
    },
    "compositeContext" : {
      "$ref" : "#/$defs/CompositeContext"
    },
    "compositeData" : {
      "$ref" : "#/$defs/CompositeData"
    },
    "compositeInfo" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/$defs/CompositeInfo"
      }
    },
    "contentObject" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/$defs/ContentObject"
      }
    },
    "editorFileContent" : {
      "$ref" : "#/$defs/EditorFileContent"
    },
    "executeCmsQuickActionRequest" : {
      "$ref" : "#/$defs/ExecuteCmsQuickActionRequest"
    },
    "extractContext" : {
      "$ref" : "#/$defs/ExtractContext"
    },
    "form" : {
      "$ref" : "#/$defs/Form"
    },
    "formActionArgs" : {
      "$ref" : "#/$defs/FormActionArgs"
    },
    "formCmsMetaRequest" : {
      "$ref" : "#/$defs/FormCmsMetaRequest"
    },
    "formContext" : {
      "$ref" : "#/$defs/FormContext"
    },
    "formEditorData" : {
      "$ref" : "#/$defs/FormEditorData"
    },
    "formSaveDataArgs" : {
      "$ref" : "#/$defs/FormSaveDataArgs"
    },
    "logicInfo" : {
      "$ref" : "#/$defs/LogicInfo"
    },
    "parameterInfo" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/$defs/ParameterInfo"
      }
    },
    "string" : {
      "type" : "string"
    },
    "validationResult" : {
      "type" : "array",
      "items" : {
        "$ref" : "#/$defs/ValidationResult"
      }
    },
    "variableInfo" : {
      "$ref" : "#/$defs/VariableInfo"
    },
    "void" : {
      "$ref" : "#/$defs/Void"
    }
  },
  "$defs" : {
    "ActionButtonAlignment" : {
      "type" : "string",
      "enum" : [ "START", "CENTER", "END" ]
    },
    "ActionButtonComponent" : {
      "type" : "object",
      "properties" : {
        "cid" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string",
          "enum" : [ "Button" ]
        },
        "config" : {
          "anyOf" : [ {
            "$ref" : "#/$defs/Button"
          } ]
        }
      },
      "additionalProperties" : false
    },
    "AttributesContext" : {
      "type" : "object",
      "properties" : {
        "context" : {
          "$ref" : "#/$defs/FormContext"
        },
        "dataClassField" : {
          "type" : "string"
        },
        "rootVariable" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "Button" : {
      "type" : "object",
      "properties" : {
        "action" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "confirmCancelValue" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "confirmDialog" : {
          "type" : "boolean"
        },
        "confirmHeader" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "confirmMessage" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "confirmOkValue" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "confirmSeverity" : {
          "$ref" : "#/$defs/ConfirmDialogSeverity"
        },
        "disabled" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "icon" : {
          "type" : "string"
        },
        "id" : {
          "type" : "string"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "name" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "processOnlySelf" : {
          "type" : "boolean"
        },
        "rounded" : {
          "type" : "boolean"
        },
        "style" : {
          "$ref" : "#/$defs/ButtonStyle"
        },
        "type" : {
          "$ref" : "#/$defs/ButtonType"
        },
        "variant" : {
          "$ref" : "#/$defs/ButtonVariant"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "ButtonStyle" : {
      "type" : "string",
      "enum" : [ "SOLID", "OUTLINED", "FLAT" ]
    },
    "ButtonType" : {
      "type" : "string",
      "enum" : [ "SUBMIT", "BUTTON", "RESET", "EDIT", "DELETE", "DIALOGSAVE", "DIALOGCANCEL" ]
    },
    "ButtonVariant" : {
      "type" : "string",
      "enum" : [ "PRIMARY", "SECONDARY", "DANGER", "SUCCESS", "INFO", "WARNING", "HELP" ]
    },
    "Checkbox" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "disabled" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "id" : {
          "type" : "string"
        },
        "label" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "listener" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "selected" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "updateOnChange" : {
          "type" : "boolean"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "CmsQuickAction" : {
      "type" : "object",
      "properties" : {
        "category" : {
          "$ref" : "#/$defs/CmsQuickactionCategory"
        },
        "coContent" : {
          "type" : "string"
        },
        "coName" : {
          "type" : "string"
        },
        "parentUri" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "CmsQuickActionRequest" : {
      "type" : "object",
      "properties" : {
        "context" : {
          "$ref" : "#/$defs/FormContext"
        },
        "text" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "CmsQuickactionCategory" : {
      "type" : "string",
      "enum" : [ "global", "local" ]
    },
    "Combobox" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "completeMethod" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "disabled" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "id" : {
          "type" : "string"
        },
        "itemLabel" : {
          "type" : "string"
        },
        "itemValue" : {
          "type" : "string"
        },
        "label" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "listener" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "required" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "requiredMessage" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "updateOnChange" : {
          "type" : "boolean"
        },
        "value" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "withDropdown" : {
          "type" : "boolean"
        }
      },
      "additionalProperties" : false
    },
    "Component" : {
      "type" : "object",
      "properties" : {
        "cid" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string",
          "enum" : [ "Button", "Checkbox", "Combobox", "Composite", "DataTable", "DatePicker", "Dialog", "Fieldset", "Input", "Layout", "Link", "Panel", "Radio", "Select", "Text", "Textarea" ]
        },
        "config" : {
          "anyOf" : [ {
            "$ref" : "#/$defs/Button"
          }, {
            "$ref" : "#/$defs/Checkbox"
          }, {
            "$ref" : "#/$defs/Combobox"
          }, {
            "$ref" : "#/$defs/Composite"
          }, {
            "$ref" : "#/$defs/DataTable"
          }, {
            "$ref" : "#/$defs/DatePicker"
          }, {
            "$ref" : "#/$defs/Dialog"
          }, {
            "$ref" : "#/$defs/Fieldset"
          }, {
            "$ref" : "#/$defs/Input"
          }, {
            "$ref" : "#/$defs/Layout"
          }, {
            "$ref" : "#/$defs/Link"
          }, {
            "$ref" : "#/$defs/Panel"
          }, {
            "$ref" : "#/$defs/Radio"
          }, {
            "$ref" : "#/$defs/Select"
          }, {
            "$ref" : "#/$defs/Text"
          }, {
            "$ref" : "#/$defs/Textarea"
          } ]
        }
      },
      "additionalProperties" : false
    },
    "Composite" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "id" : {
          "type" : "string"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "parameters" : {
          "$ref" : "#/$defs/Map(String,FormExpression)"
        },
        "startMethod" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "CompositeContext" : {
      "type" : "object",
      "properties" : {
        "compositeId" : {
          "type" : "string"
        },
        "context" : {
          "$ref" : "#/$defs/FormContext"
        }
      },
      "additionalProperties" : false
    },
    "CompositeData" : {
      "type" : "object",
      "properties" : {
        "data" : {
          "$ref" : "#/$defs/Form"
        }
      },
      "additionalProperties" : false
    },
    "CompositeInfo" : {
      "type" : "object",
      "properties" : {
        "id" : {
          "type" : "string"
        },
        "startMethods" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/MethodInfo"
          }
        }
      },
      "additionalProperties" : false
    },
    "ConfirmDialogSeverity" : {
      "type" : "string",
      "enum" : [ "INFO", "WARN", "ERROR", "SUCCESS" ]
    },
    "ContentObject" : {
      "type" : "object",
      "properties" : {
        "children" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/ContentObject"
          }
        },
        "fullPath" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "type" : {
          "$ref" : "#/$defs/ContentObjectType"
        },
        "values" : {
          "$ref" : "#/$defs/Map(String,String)"
        }
      },
      "additionalProperties" : false
    },
    "ContentObjectType" : {
      "type" : "string",
      "enum" : [ "STRING", "FILE", "FOLDER" ]
    },
    "DataTable" : {
      "type" : "object",
      "properties" : {
        "addButton" : {
          "type" : "boolean"
        },
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "components" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/TableComponent"
          }
        },
        "disabled" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "editDialogId" : {
          "type" : "string"
        },
        "id" : {
          "type" : "string"
        },
        "isEditable" : {
          "type" : "boolean"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "listener" : {
          "type" : "string"
        },
        "maxRows" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "paginator" : {
          "type" : "boolean"
        },
        "updateOnChange" : {
          "type" : "boolean"
        },
        "value" : {
          "type" : "string"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "DataTableColumn" : {
      "type" : "object",
      "properties" : {
        "actionButtonAlignment" : {
          "$ref" : "#/$defs/ActionButtonAlignment"
        },
        "actionColumnAsMenu" : {
          "type" : "boolean"
        },
        "asActionColumn" : {
          "type" : "boolean"
        },
        "components" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/ActionButtonComponent"
          }
        },
        "filterable" : {
          "type" : "boolean"
        },
        "header" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "sortable" : {
          "type" : "boolean"
        },
        "value" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "DatePicker" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "datePattern" : {
          "type" : "string"
        },
        "disabled" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "id" : {
          "type" : "string"
        },
        "label" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "listener" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "required" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "requiredMessage" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "showTime" : {
          "type" : "boolean"
        },
        "timePattern" : {
          "type" : "string"
        },
        "updateOnChange" : {
          "type" : "boolean"
        },
        "value" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "DefaultConfig" : {
      "type" : "object"
    },
    "Dialog" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "buttons" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/ActionButtonComponent"
          }
        },
        "components" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/Component"
          }
        },
        "header" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "id" : {
          "type" : "string"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "linkedComponent" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "EditorFileContent" : {
      "type" : "object",
      "properties" : {
        "content" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "ExecuteCmsQuickActionRequest" : {
      "type" : "object",
      "properties" : {
        "cmsQuickAction" : {
          "$ref" : "#/$defs/CmsQuickAction"
        },
        "context" : {
          "$ref" : "#/$defs/FormContext"
        }
      },
      "additionalProperties" : false
    },
    "ExtractContext" : {
      "type" : "object",
      "properties" : {
        "context" : {
          "$ref" : "#/$defs/FormContext"
        },
        "dataClassField" : {
          "type" : "string"
        },
        "layoutId" : {
          "type" : "string"
        },
        "nameSpace" : {
          "type" : "string"
        },
        "newComponentName" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "Fieldset" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "collapsed" : {
          "type" : "boolean"
        },
        "collapsible" : {
          "type" : "boolean"
        },
        "components" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/Component"
          }
        },
        "id" : {
          "type" : "string"
        },
        "legend" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "Form" : {
      "type" : "object",
      "properties" : {
        "$schema" : {
          "type" : "string"
        },
        "id" : {
          "type" : "string",
          "format" : "uuid",
          "description" : "Unique ID in UUID format"
        },
        "config" : {
          "$ref" : "#/$defs/FormConfig"
        },
        "components" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/Component"
          }
        }
      },
      "additionalProperties" : false
    },
    "FormActionArgs" : {
      "type" : "object",
      "properties" : {
        "actionId" : {
          "type" : "string",
          "enum" : [ "openComponent", "openDataClass", "openProcess", "openUrl" ]
        },
        "context" : {
          "$ref" : "#/$defs/FormContext"
        },
        "payload" : {
          "anyOf" : [ {
            "type" : "string"
          } ]
        }
      },
      "additionalProperties" : false
    },
    "FormCmsMetaRequest" : {
      "type" : "object",
      "properties" : {
        "context" : {
          "$ref" : "#/$defs/FormContext"
        },
        "requiredProjects" : {
          "type" : "boolean"
        }
      },
      "additionalProperties" : false
    },
    "FormConfig" : {
      "type" : "object",
      "properties" : {
        "renderer" : {
          "type" : "string",
          "enum" : [ "JSF" ]
        },
        "theme" : {
          "type" : "string"
        },
        "type" : {
          "$ref" : "#/$defs/FormType"
        }
      },
      "additionalProperties" : false
    },
    "FormContext" : {
      "type" : "object",
      "properties" : {
        "app" : {
          "type" : "string"
        },
        "file" : {
          "type" : "string"
        },
        "pmv" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "FormEditorData" : {
      "type" : "object",
      "properties" : {
        "context" : {
          "$ref" : "#/$defs/FormContext"
        },
        "data" : {
          "$ref" : "#/$defs/Form"
        },
        "defaults" : {
          "additionalProperties" : false,
          "$ref" : "#/$defs/DefaultConfig"
        },
        "helpUrl" : {
          "type" : "string"
        },
        "namespace" : {
          "type" : "string"
        },
        "previewUrl" : {
          "type" : "string"
        },
        "readonly" : {
          "type" : "boolean"
        }
      },
      "additionalProperties" : false
    },
    "FormExpression" : {
      "type" : "string"
    },
    "FormSaveDataArgs" : {
      "type" : "object",
      "properties" : {
        "context" : {
          "$ref" : "#/$defs/FormContext"
        },
        "data" : {
          "$ref" : "#/$defs/Form"
        }
      },
      "additionalProperties" : false
    },
    "FormType" : {
      "type" : "string",
      "enum" : [ "FORM", "COMPONENT" ]
    },
    "Input" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "decimalPlaces" : {
          "type" : "string"
        },
        "disabled" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "id" : {
          "type" : "string"
        },
        "label" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "listener" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "required" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "requiredMessage" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "symbol" : {
          "type" : "string"
        },
        "symbolPosition" : {
          "$ref" : "#/$defs/SymbolPosition"
        },
        "type" : {
          "$ref" : "#/$defs/InputType"
        },
        "updateOnChange" : {
          "type" : "boolean"
        },
        "value" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "InputType" : {
      "type" : "string",
      "enum" : [ "TEXT", "EMAIL", "PASSWORD", "NUMBER" ]
    },
    "Layout" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "components" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/Component"
          }
        },
        "gridVariant" : {
          "$ref" : "#/$defs/LayoutGridVariant"
        },
        "id" : {
          "type" : "string"
        },
        "justifyContent" : {
          "$ref" : "#/$defs/LayoutJustifyContent"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "type" : {
          "$ref" : "#/$defs/LayoutType"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "LayoutAlignItems" : {
      "type" : "string",
      "enum" : [ "START", "CENTER", "END" ]
    },
    "LayoutGridVariant" : {
      "type" : "string",
      "enum" : [ "GRID1", "GRID2", "GRID4", "FREE" ]
    },
    "LayoutJustifyContent" : {
      "type" : "string",
      "enum" : [ "NORMAL", "SPACE_BETWEEN", "END" ]
    },
    "LayoutType" : {
      "type" : "string",
      "enum" : [ "GRID", "FLEX" ]
    },
    "Link" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "href" : {
          "type" : "string"
        },
        "id" : {
          "type" : "string"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "name" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "LogicEventInfo" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "LogicInfo" : {
      "type" : "object",
      "properties" : {
        "eventStarts" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/LogicEventInfo"
          }
        },
        "startMethods" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/LogicMethodInfo"
          }
        }
      },
      "additionalProperties" : false
    },
    "LogicMethodInfo" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "parameters" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/Parameter"
          }
        },
        "returnParameter" : {
          "$ref" : "#/$defs/Parameter"
        }
      },
      "additionalProperties" : false
    },
    "Map(String,FormExpression)" : {
      "type" : "object",
      "additionalProperties" : {
        "$ref" : "#/$defs/FormExpression"
      }
    },
    "Map(String,List(Variable))" : {
      "type" : "object",
      "additionalProperties" : {
        "type" : "array",
        "items" : {
          "$ref" : "#/$defs/Variable"
        }
      }
    },
    "Map(String,String)" : {
      "type" : "object",
      "additionalProperties" : {
        "type" : "string"
      }
    },
    "MethodInfo" : {
      "type" : "object",
      "properties" : {
        "deprecated" : {
          "type" : "boolean"
        },
        "name" : {
          "type" : "string"
        },
        "parameters" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/ParameterInfo"
          }
        }
      },
      "additionalProperties" : false
    },
    "OrientationType" : {
      "type" : "string",
      "enum" : [ "horizontal", "vertical" ]
    },
    "Panel" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "collapsed" : {
          "type" : "boolean"
        },
        "collapsible" : {
          "type" : "boolean"
        },
        "components" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/Component"
          }
        },
        "id" : {
          "type" : "string"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "title" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "Parameter" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "ParameterInfo" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "type" : "string"
        },
        "name" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "Radio" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "disabled" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "dynamicItemsLabel" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "dynamicItemsList" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "dynamicItemsValue" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "id" : {
          "type" : "string"
        },
        "label" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "listener" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "orientation" : {
          "$ref" : "#/$defs/OrientationType"
        },
        "required" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "requiredMessage" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "staticItems" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/SelectItem"
          }
        },
        "updateOnChange" : {
          "type" : "boolean"
        },
        "value" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "Select" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "disabled" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "dynamicItemsLabel" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "dynamicItemsList" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "dynamicItemsValue" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "id" : {
          "type" : "string"
        },
        "label" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "listener" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "required" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "requiredMessage" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "staticItems" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/SelectItem"
          }
        },
        "updateOnChange" : {
          "type" : "boolean"
        },
        "value" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "SelectItem" : {
      "type" : "object",
      "properties" : {
        "label" : {
          "type" : "string"
        },
        "value" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "Severity" : {
      "type" : "string",
      "enum" : [ "INFO", "WARNING", "ERROR" ]
    },
    "SymbolPosition" : {
      "type" : "string",
      "enum" : [ "p", "s" ]
    },
    "TableComponent" : {
      "type" : "object",
      "properties" : {
        "cid" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string",
          "enum" : [ "DataTableColumn" ]
        },
        "config" : {
          "anyOf" : [ {
            "$ref" : "#/$defs/DataTableColumn"
          } ]
        }
      },
      "additionalProperties" : false
    },
    "Text" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "content" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "icon" : {
          "type" : "string"
        },
        "iconStyle" : {
          "$ref" : "#/$defs/TextIconStyle"
        },
        "id" : {
          "type" : "string"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "type" : {
          "$ref" : "#/$defs/TextType"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "TextIconStyle" : {
      "type" : "string",
      "enum" : [ "INLINE", "BLOCK" ]
    },
    "TextType" : {
      "type" : "string",
      "enum" : [ "RAW", "MARKDOWN" ]
    },
    "Textarea" : {
      "type" : "object",
      "properties" : {
        "alignSelf" : {
          "$ref" : "#/$defs/LayoutAlignItems"
        },
        "autoResize" : {
          "type" : "boolean"
        },
        "disabled" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "id" : {
          "type" : "string"
        },
        "label" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "lgSpan" : {
          "type" : "string"
        },
        "listener" : {
          "type" : "string"
        },
        "mdSpan" : {
          "type" : "string"
        },
        "required" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "requiredMessage" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "rows" : {
          "type" : "string"
        },
        "updateOnChange" : {
          "type" : "boolean"
        },
        "value" : {
          "$ref" : "#/$defs/FormExpression"
        },
        "visible" : {
          "$ref" : "#/$defs/FormExpression"
        }
      },
      "additionalProperties" : false
    },
    "ValidationResult" : {
      "type" : "object",
      "properties" : {
        "message" : {
          "type" : "string"
        },
        "path" : {
          "type" : "string"
        },
        "severity" : {
          "$ref" : "#/$defs/Severity"
        }
      },
      "additionalProperties" : false
    },
    "Variable" : {
      "type" : "object",
      "properties" : {
        "attribute" : {
          "type" : "string"
        },
        "description" : {
          "type" : "string"
        },
        "simpleType" : {
          "type" : "string"
        },
        "type" : {
          "type" : "string"
        }
      },
      "additionalProperties" : false
    },
    "VariableInfo" : {
      "type" : "object",
      "properties" : {
        "types" : {
          "$ref" : "#/$defs/Map(String,List(Variable))"
        },
        "variables" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/Variable"
          }
        }
      },
      "additionalProperties" : false
    },
    "Void" : {
      "type" : "object",
      "additionalProperties" : false
    }
  }
}
