{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://protostar.dev/schemas/ui.schema.json",
  "title": "Protostar UI Definition",
  "description": "Formal specification for Protostar User Interface files.",
  "type": "object",
  "allOf": [
    {
      "$ref": "#/definitions/Control"
    }
  ],
  "definitions": {
    "Size": {
      "type": "string",
      "pattern": "^(Auto|auto|\\*|\\d\u002B(\\.\\d\u002B)?(px|%|fr)?)$",
      "description": "Size value (e.g. \u0027100%\u0027, \u0027400px\u0027, \u00271fr\u0027, \u0027Auto\u0027)."
    },
    "Thickness": {
      "type": "string",
      "pattern": "^(\\d\u002B(\\.\\d\u002B)?)([ ,]\u002B\\d\u002B(\\.\\d\u002B)?){0,3}$",
      "description": "Uniform (\u002710\u0027) or 2-4 values (\u0027L T R B\u0027 or \u0027L,T,R,B\u0027)."
    },
    "Alignment": {
      "type": "string",
      "enum": [
        "Left",
        "Center",
        "Right",
        "Top",
        "Bottom",
        "Stretch"
      ]
    },
    "Color": {
      "type": "string",
      "pattern": "^(#([A-Fa-f0-9]{3}){1,2}|[a-zA-Z]\u002B)$"
    },
    "Binding": {
      "type": "object",
      "properties": {
        "TargetProperty": {
          "type": "string"
        },
        "Path": {
          "type": "string"
        },
        "Mode": {
          "type": "string"
        },
        "StringFormat": {
          "type": "string"
        },
        "Template": {
          "type": "string"
        }
      },
      "required": [],
      "additionalProperties": false
    },
    "TreeNode": {
      "type": "object",
      "properties": {
        "Id": {
          "type": "string"
        },
        "Text": {
          "type": "string"
        },
        "IsExpanded": {
          "type": "boolean"
        },
        "IsSelected": {
          "type": "boolean"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsDraggable": {
          "type": "boolean"
        },
        "IsDropTarget": {
          "type": "boolean"
        },
        "DragPreviewMetaText": {
          "type": "string"
        },
        "DragGhostMetaText": {
          "type": "string"
        },
        "DragPreviewHidden": {
          "type": "boolean"
        },
        "IsCheckable": {
          "type": "boolean"
        },
        "IsChecked": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "IsCheckDisabled": {
          "type": "boolean"
        },
        "IsRecursive": {
          "type": "boolean"
        },
        "ShowSelectionCount": {
          "type": "boolean"
        },
        "Style": {
          "type": "string"
        },
        "MetaText": {
          "type": "string"
        },
        "Icon": {
          "type": "string"
        },
        "IconClass": {
          "type": "string"
        },
        "Title": {
          "type": "string"
        },
        "TooltipChildren": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        },
        "TooltipSeverity": {
          "type": "string"
        },
        "DataId": {},
        "DataContext": {},
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "Command": {
          "type": "string"
        },
        "CommandPayload": {},
        "ToggleCommand": {
          "type": "string"
        },
        "ToggleCommandPayload": {},
        "ContextMenuItems": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "DoubleClickCommand": {
          "type": "string"
        },
        "DoubleClickPayload": {},
        "CheckCommand": {
          "type": "string"
        },
        "CheckCommandPayload": {},
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TreeNode"
          }
        }
      },
      "required": [],
      "additionalProperties": false
    },
    "SelectOption": {
      "type": "object",
      "properties": {
        "Label": {
          "type": "string"
        },
        "Value": {},
        "IsDisabled": {
          "type": "boolean"
        },
        "Status": {
          "type": "string"
        }
      },
      "required": [],
      "additionalProperties": false
    },
    "DataGridColumn": {
      "type": "object",
      "properties": {
        "Header": {
          "type": "string"
        },
        "Field": {
          "type": "string"
        },
        "SortField": {
          "type": "string"
        },
        "SortHint": {
          "type": "string"
        },
        "Flex": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Align": {
          "type": "string"
        },
        "Editable": {
          "type": "boolean"
        },
        "EditorType": {
          "type": "string"
        },
        "EditCommand": {
          "type": "string"
        },
        "CellType": {
          "type": "string"
        },
        "HeaderTooltip": {
          "type": "string"
        },
        "IsHidden": {
          "type": "boolean"
        }
      },
      "required": [],
      "additionalProperties": false
    },
    "BreadcrumbItem": {
      "type": "object",
      "properties": {
        "Label": {
          "type": "string"
        },
        "Command": {
          "type": "string"
        },
        "CommandPayload": {},
        "Icon": {
          "type": "string"
        },
        "IsDisabled": {
          "type": "boolean"
        },
        "IsWarning": {
          "type": "boolean"
        },
        "IsError": {
          "type": "boolean"
        },
        "IsSuccess": {
          "type": "boolean"
        }
      },
      "required": [],
      "additionalProperties": false
    },
    "Alert": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Alert"
        },
        "Severity": {
          "type": "string"
        },
        "Title": {
          "type": "string"
        },
        "Message": {
          "type": "string"
        },
        "IsDismissible": {
          "type": "boolean"
        },
        "AutoCloseMs": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "ActionCommand": {
          "type": "string"
        },
        "ActionText": {
          "type": "string"
        },
        "ActionPayload": {},
        "Icon": {
          "anyOf": [
            {
              "oneOf": [
                {
                  "type": "string",
                  "description": "Unicode glyph"
                },
                {
                  "type": "object",
                  "properties": {
                    "Type": {
                      "const": "Asset"
                    },
                    "Id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "Type",
                    "Id"
                  ],
                  "additionalProperties": false
                }
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "IsToast": {
          "type": "boolean"
        },
        "IsBanner": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "Anchor": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Anchor"
        },
        "AnchorId": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ArmourGrid": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "ArmourGrid"
        },
        "Cells": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        "ColumnCount": {
          "type": "integer"
        },
        "ArmourRating": {
          "type": "integer"
        }
      },
      "additionalProperties": false
    },
    "Badge": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Badge"
        },
        "Text": {
          "type": "string"
        },
        "Variant": {
          "type": "string"
        },
        "Size": {
          "type": "string"
        },
        "Shape": {
          "type": "string"
        },
        "Icon": {
          "anyOf": [
            {
              "oneOf": [
                {
                  "type": "string",
                  "description": "Unicode glyph"
                },
                {
                  "type": "object",
                  "properties": {
                    "Type": {
                      "const": "Asset"
                    },
                    "Id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "Type",
                    "Id"
                  ],
                  "additionalProperties": false
                }
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "IsDot": {
          "type": "boolean"
        },
        "IsOverlay": {
          "type": "boolean"
        },
        "OverlayPosition": {
          "type": "string"
        },
        "MaxValue": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "IsPulsing": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "Breadcrumbs": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Breadcrumbs"
        },
        "Path": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/BreadcrumbItem"
          }
        },
        "SeparatorStyle": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Button": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Button"
        },
        "Text": {
          "type": "string"
        },
        "Icon": {
          "anyOf": [
            {
              "oneOf": [
                {
                  "type": "string",
                  "description": "Unicode glyph"
                },
                {
                  "type": "object",
                  "properties": {
                    "Type": {
                      "const": "Asset"
                    },
                    "Id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "Type",
                    "Id"
                  ],
                  "additionalProperties": false
                }
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "Command": {
          "type": "string"
        },
        "CommandPayload": {},
        "TooltipText": {
          "type": "string"
        },
        "TooltipSeverity": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "CheckGroup": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "CheckGroup"
        },
        "Label": {
          "type": "string"
        },
        "Items": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "SelectedValues": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Orientation": {
          "type": "string"
        },
        "IsError": {
          "type": "boolean"
        },
        "Variant": {
          "type": "string"
        },
        "IsCompact": {
          "type": "boolean"
        },
        "HasAccentStrip": {
          "type": "boolean"
        },
        "Command": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Checkbox": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Checkbox"
        },
        "IsChecked": {
          "type": "boolean"
        },
        "IsIndeterminate": {
          "type": "boolean"
        },
        "Label": {
          "type": "string"
        },
        "Command": {
          "type": "string"
        },
        "CommandPayload": {},
        "TooltipText": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Collapsible": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Collapsible"
        },
        "Title": {
          "type": "string"
        },
        "IsExpanded": {
          "type": "boolean"
        },
        "ToggleCommand": {
          "type": "string"
        },
        "HeaderActions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        }
      },
      "additionalProperties": false
    },
    "ContextMenu": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "ContextMenu"
        },
        "Title": {
          "type": "string"
        },
        "X": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "Y": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "Items": {
          "type": "array",
          "items": {
            "type": "object"
          }
        }
      },
      "additionalProperties": false
    },
    "DataFormatter": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "DataFormatter"
        },
        "Value": {},
        "Format": {
          "type": "string"
        },
        "Precision": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Unit": {
          "type": "string"
        },
        "Prefix": {
          "type": "string"
        },
        "Suffix": {
          "type": "string"
        },
        "Locale": {
          "type": "string"
        },
        "ShowSign": {
          "type": "boolean"
        },
        "Compact": {
          "type": "boolean"
        },
        "MaxLength": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Ellipsis": {
          "type": "string"
        },
        "Variant": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "DataGrid": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "DataGrid"
        },
        "Columns": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DataGridColumn"
          }
        },
        "ColumnGroups": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "EnableVerticalScroll": {
          "type": "boolean"
        },
        "EnableHorizontalScroll": {
          "type": "boolean"
        },
        "HeadersVisible": {
          "type": "boolean"
        },
        "UseZebraStriping": {
          "type": "boolean"
        },
        "AllowReorder": {
          "type": "boolean"
        },
        "AllowSorting": {
          "type": "boolean"
        },
        "ShowDragHandle": {
          "type": "boolean"
        },
        "Compact": {
          "type": "boolean"
        },
        "OnRowReordered": {
          "type": "string"
        },
        "OnCellEdited": {
          "type": "string"
        },
        "OnSelectionChanged": {
          "type": "string"
        },
        "Rows": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "SelectionMode": {
          "type": "string"
        },
        "EnableRowDrag": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "RowDragIdField": {
          "type": "string"
        },
        "RowDragMime": {
          "type": "string"
        },
        "SelectedKey": {
          "type": "string"
        },
        "FooterLeftText": {
          "type": "string"
        },
        "FooterRightText": {
          "type": "string"
        },
        "FooterRows": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {}
          }
        },
        "CostRow": {
          "type": "object"
        },
        "PageSize": {
          "type": "integer"
        },
        "TotalRows": {
          "type": "integer"
        },
        "CurrentPage": {
          "type": "integer"
        },
        "PageChangedCommand": {
          "type": "string"
        },
        "SortChangedCommand": {
          "type": "string"
        },
        "ShowSearch": {
          "type": "boolean"
        },
        "SearchPlaceholder": {
          "type": "string"
        },
        "SearchCommand": {
          "type": "string"
        },
        "FilterText": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "DateTime": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "DateTime"
        },
        "Value": {
          "type": "string"
        },
        "Mode": {
          "type": "string"
        },
        "Format": {
          "type": "string"
        },
        "Compact": {
          "type": "boolean"
        },
        "Large": {
          "type": "boolean"
        },
        "Hud": {
          "type": "boolean"
        },
        "Interactive": {
          "type": "boolean"
        },
        "ShowEra": {
          "type": "boolean"
        },
        "ShowPeriod": {
          "type": "boolean"
        },
        "Eta": {
          "type": "string"
        },
        "ShowBorder": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "Grid": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Grid"
        },
        "RowDefinitions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ColumnDefinitions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Gap": {
          "type": "integer"
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        }
      },
      "additionalProperties": false
    },
    "Image": {
      "type": "object",
      "required": [
        "Type",
        "Asset"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Image"
        },
        "Asset": {
          "type": "string"
        },
        "Stretch": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Input": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Input"
        },
        "Value": {
          "type": "string"
        },
        "Placeholder": {
          "type": "string"
        },
        "InputType": {
          "type": "string"
        },
        "AutoFocus": {
          "type": "boolean"
        },
        "Command": {
          "type": "string"
        },
        "CommitOnInput": {
          "type": "boolean"
        },
        "ShowClearButton": {
          "type": "boolean"
        },
        "Min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "Max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "Step": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "step": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "Label": {
      "type": "object",
      "required": [
        "Type",
        "Text"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Label"
        },
        "Text": {
          "type": "string"
        },
        "TextAlignment": {
          "type": "string"
        },
        "AllowHtml": {
          "type": "boolean"
        },
        "Tooltip": {
          "type": "string"
        },
        "Variant": {
          "type": "string"
        },
        "TooltipChildren": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        },
        "TooltipSeverity": {
          "type": "string"
        },
        "TooltipPlacement": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Modal": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Modal"
        },
        "CloseCommand": {
          "type": "string"
        },
        "CloseCommandPayload": {},
        "DefaultCommand": {
          "type": "string"
        },
        "DefaultCommandPayload": {},
        "IsDismissible": {
          "type": "boolean"
        },
        "CloseOnBackdropClick": {
          "type": "boolean"
        },
        "CloseOnEscape": {
          "type": "boolean"
        },
        "Size": {
          "type": "string"
        },
        "BadgeText": {
          "type": "string"
        },
        "BadgeVariant": {
          "type": "string"
        },
        "AccentVariant": {
          "type": "string"
        },
        "DisplayMode": {
          "type": "string"
        },
        "BackdropVariant": {
          "type": "string"
        },
        "BackdropInset": {
          "type": "string"
        },
        "IsCompact": {
          "type": "boolean"
        },
        "IsTall": {
          "type": "boolean"
        },
        "FooterChildren": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        },
        "Title": {
          "type": "string"
        },
        "HeaderActions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        },
        "Command": {
          "type": "string"
        },
        "CommandPayload": {}
      },
      "additionalProperties": false
    },
    "NavigationMenu": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "NavigationMenu"
        },
        "Items": {
          "type": "array",
          "items": {
            "type": "object"
          }
        }
      },
      "additionalProperties": false
    },
    "OptionGroup": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "OptionGroup"
        },
        "Label": {
          "type": "string"
        },
        "Items": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "SelectedValue": {
          "type": "string"
        },
        "IsError": {
          "type": "boolean"
        },
        "IsCompact": {
          "type": "boolean"
        },
        "Orientation": {
          "type": "string"
        },
        "Command": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Pagination": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Pagination"
        },
        "CurrentPage": {
          "type": "integer"
        },
        "TotalPages": {
          "type": "integer"
        },
        "MaxVisiblePages": {
          "type": "integer"
        },
        "IsCompact": {
          "type": "boolean"
        },
        "Size": {
          "type": "string"
        },
        "PageChangedCommand": {
          "type": "string"
        },
        "command": {
          "type": "string"
        },
        "Command": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Panel": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Panel"
        },
        "Title": {
          "type": "string"
        },
        "HeaderActions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        },
        "Command": {
          "type": "string"
        },
        "CommandPayload": {}
      },
      "additionalProperties": false
    },
    "Primitive": {
      "type": "object",
      "required": [
        "Type",
        "Shape"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Primitive"
        },
        "Shape": {
          "type": "string"
        },
        "Color": {
          "$ref": "#/definitions/Color"
        },
        "Stroke": {
          "$ref": "#/definitions/Color"
        },
        "StrokeThickness": {
          "type": "number"
        },
        "CornerRadius": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ProgressBar": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "ProgressBar"
        },
        "Value": {
          "type": "number"
        },
        "Min": {
          "type": "number"
        },
        "Max": {
          "type": "number"
        },
        "Variant": {
          "type": "string"
        },
        "IsCompact": {
          "type": "boolean"
        },
        "IsIndeterminate": {
          "type": "boolean"
        },
        "IsPaused": {
          "type": "boolean"
        },
        "ShowLabel": {
          "type": "boolean"
        },
        "AriaLabel": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "PropertyGrid": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "PropertyGrid"
        },
        "Sections": {
          "type": "array",
          "items": {
            "type": "object"
          }
        }
      },
      "additionalProperties": false
    },
    "Radio": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Radio"
        },
        "IsChecked": {
          "type": "boolean"
        },
        "Value": {},
        "GroupValue": {},
        "Name": {
          "type": "string"
        },
        "Label": {
          "type": "string"
        },
        "Command": {
          "type": "string"
        },
        "TooltipText": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "RadioGroup": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "RadioGroup"
        },
        "Label": {
          "type": "string"
        },
        "Items": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "SelectedValue": {
          "type": "string"
        },
        "IsError": {
          "type": "boolean"
        },
        "Orientation": {
          "type": "string"
        },
        "Command": {
          "type": "string"
        },
        "Tooltip": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Resource": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Resource"
        },
        "Mineral": {
          "type": "string"
        },
        "Color": {
          "$ref": "#/definitions/Color"
        },
        "Value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "Available": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "Delta": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "ShowBadge": {
          "type": "boolean"
        },
        "ShowBar": {
          "type": "boolean"
        },
        "ShowDelta": {
          "type": "boolean"
        },
        "Compact": {
          "type": "boolean"
        },
        "State": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "ResponsiveGrid": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "ResponsiveGrid"
        },
        "MinItemWidth": {
          "$ref": "#/definitions/Size"
        },
        "MaxColumns": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Gap": {
          "type": "integer"
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        }
      },
      "additionalProperties": false
    },
    "ScrollBox": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "ScrollBox"
        },
        "Axis": {
          "type": "string"
        },
        "Variant": {
          "type": "string"
        },
        "IsHighlighted": {
          "type": "boolean"
        },
        "IsCompact": {
          "type": "boolean"
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        }
      },
      "additionalProperties": false
    },
    "Select": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Select"
        },
        "Value": {},
        "Options": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/SelectOption"
          }
        },
        "Command": {
          "type": "string"
        },
        "IsSearchable": {
          "type": "boolean"
        },
        "Variant": {
          "type": "string"
        },
        "IsCompact": {
          "type": "boolean"
        },
        "Size": {
          "type": "string"
        },
        "IsClearable": {
          "type": "boolean"
        },
        "Placeholder": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Separator": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Separator"
        },
        "Orientation": {
          "type": "string"
        },
        "Label": {
          "type": "string"
        },
        "Variant": {
          "type": "string"
        },
        "Spacing": {
          "type": "string"
        },
        "Thick": {
          "type": "boolean"
        },
        "Dashed": {
          "type": "boolean"
        },
        "Dotted": {
          "type": "boolean"
        },
        "Double": {
          "type": "boolean"
        },
        "Fade": {
          "type": "boolean"
        },
        "Glow": {
          "type": "boolean"
        },
        "Simple": {
          "type": "boolean"
        },
        "Inset": {
          "type": "boolean"
        },
        "InsetLeft": {
          "type": "boolean"
        },
        "InsetRight": {
          "type": "boolean"
        },
        "Disabled": {
          "type": "boolean"
        },
        "Animated": {
          "type": "boolean"
        },
        "NoTrail": {
          "type": "boolean"
        },
        "NoLead": {
          "type": "boolean"
        },
        "LabelOnly": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "Slider": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Slider"
        },
        "Value": {
          "type": "number"
        },
        "Min": {
          "type": "number"
        },
        "Max": {
          "type": "number"
        },
        "Step": {
          "type": "number"
        },
        "ShowValue": {
          "type": "boolean"
        },
        "Command": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "StackPanel": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "StackPanel"
        },
        "Orientation": {
          "type": "string"
        },
        "Gap": {
          "type": "number"
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        }
      },
      "additionalProperties": false
    },
    "StatusBar": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "StatusBar"
        },
        "FormattedDate": {
          "type": "string"
        },
        "FormattedResources": {
          "type": "string"
        },
        "FormattedWealth": {
          "type": "string"
        },
        "FormattedWealthIncome": {
          "type": "string"
        },
        "FormattedWealthExpense": {
          "type": "string"
        },
        "FormattedWealthNet": {
          "type": "string"
        },
        "FormattedMineralProduction": {
          "type": "string"
        },
        "FormattedMineralUsage": {
          "type": "string"
        },
        "FormattedPopulation": {
          "type": "string"
        },
        "FormattedPopulationGrowth": {
          "type": "string"
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        }
      },
      "additionalProperties": false
    },
    "TabContainer": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "TabContainer"
        },
        "Orientation": {
          "type": "string"
        },
        "ActiveIndex": {
          "type": "integer"
        },
        "Command": {
          "type": "string"
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        }
      },
      "additionalProperties": false
    },
    "TabItem": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "TabItem"
        },
        "Title": {
          "type": "string"
        },
        "Icon": {
          "type": "string"
        },
        "IsDisabled": {
          "type": "boolean"
        },
        "IsWarning": {
          "type": "boolean"
        },
        "IsError": {
          "type": "boolean"
        },
        "IsDirty": {
          "type": "boolean"
        },
        "MetaText": {
          "type": "string"
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        }
      },
      "additionalProperties": false
    },
    "Taskbar": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Taskbar"
        },
        "Orientation": {
          "type": "string"
        },
        "Variant": {
          "type": "string"
        },
        "Title": {
          "type": "string"
        },
        "IsCollapsible": {
          "type": "boolean"
        },
        "IsCollapsed": {
          "type": "boolean"
        },
        "ActiveItemId": {
          "type": "string"
        },
        "ShowFooter": {
          "type": "boolean"
        },
        "Items": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "Sections": {
          "type": "array",
          "items": {
            "type": "object"
          }
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        }
      },
      "additionalProperties": false
    },
    "TextArea": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "TextArea"
        },
        "Value": {
          "type": "string"
        },
        "Placeholder": {
          "type": "string"
        },
        "Rows": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Command": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Tooltip": {
      "type": "object",
      "required": [
        "Type",
        "Text"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Tooltip"
        },
        "Text": {
          "type": "string"
        },
        "Placement": {
          "type": "string"
        },
        "Severity": {
          "type": "string"
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        }
      },
      "additionalProperties": false
    },
    "Tree": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Tree"
        },
        "IsInline": {
          "type": "boolean"
        },
        "Nodes": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TreeNode"
          }
        },
        "UseZebraStriping": {
          "type": "boolean"
        },
        "FilterText": {
          "type": "string"
        },
        "ShowSearch": {
          "type": "boolean"
        },
        "SearchPlaceholder": {
          "type": "string"
        },
        "ExpansionStateToken": {
          "type": "string"
        },
        "EnableVerticalScroll": {
          "type": "boolean"
        },
        "HideIcons": {
          "type": "boolean"
        },
        "DragDropEnabled": {
          "type": "boolean"
        },
        "DropGroupId": {
          "type": "string"
        },
        "DropMatrix": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "AllowReorder": {
          "type": "boolean"
        },
        "AllowReparenting": {
          "type": "boolean"
        },
        "ShowDragHandle": {
          "type": "boolean"
        },
        "SelectionMode": {
          "type": "string"
        },
        "OnSelectionChanged": {
          "type": "string"
        },
        "OnItemDoubleClicked": {
          "type": "string"
        },
        "OnNodeMoved": {
          "type": "string"
        },
        "AcceptExternalDropMime": {
          "type": "string"
        },
        "FullRowToggle": {
          "type": "boolean"
        },
        "HideParentSelection": {
          "type": "boolean"
        },
        "FilterLeavesOnly": {
          "type": "boolean"
        },
        "ShowExpandCollapse": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "Typography": {
      "type": "object",
      "required": [
        "Type",
        "Text"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Typography"
        },
        "Text": {
          "type": "string"
        },
        "Variant": {
          "type": "string"
        },
        "Color": {
          "$ref": "#/definitions/Color"
        },
        "Weight": {
          "type": "string"
        },
        "TextAlign": {
          "type": "string"
        },
        "AllowHtml": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "Wealth": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Wealth"
        },
        "Value": {
          "type": "number"
        },
        "Label": {
          "type": "string"
        },
        "ShowSign": {
          "type": "boolean"
        },
        "Compact": {
          "type": "boolean"
        },
        "State": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "Window": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "Window"
        },
        "Icon": {
          "anyOf": [
            {
              "oneOf": [
                {
                  "type": "string",
                  "description": "Unicode glyph"
                },
                {
                  "type": "object",
                  "properties": {
                    "Type": {
                      "const": "Asset"
                    },
                    "Id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "Type",
                    "Id"
                  ],
                  "additionalProperties": false
                }
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "IsActive": {
          "type": "boolean"
        },
        "Left": {
          "$ref": "#/definitions/Size"
        },
        "Top": {
          "$ref": "#/definitions/Size"
        },
        "State": {
          "type": "string",
          "enum": [
            "Normal",
            "Minimized",
            "Maximized"
          ]
        },
        "BackgroundImage": {
          "type": "string"
        },
        "WindowGroup": {
          "type": "string"
        },
        "windowGroup": {
          "type": "string"
        },
        "IsMinimizable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "isMinimizable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "IsRestorable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "isRestorable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "IsClosable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "isClosable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ]
        },
        "DisplayLocation": {
          "type": "string"
        },
        "displayLocation": {
          "type": "string"
        },
        "FooterChildren": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        },
        "Title": {
          "type": "string"
        },
        "HeaderActions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        },
        "Command": {
          "type": "string"
        },
        "CommandPayload": {}
      },
      "additionalProperties": false
    },
    "WrapPanel": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        },
        "Type": {
          "const": "WrapPanel"
        },
        "Orientation": {
          "type": "string"
        },
        "Gap": {
          "type": "integer"
        },
        "Children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Control"
          }
        }
      },
      "additionalProperties": false
    },
    "Control": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Type": {
          "type": "string",
          "description": "The type of control to create.",
          "enum": [
            "Alert",
            "Anchor",
            "ArmourGrid",
            "Badge",
            "Breadcrumbs",
            "Button",
            "CheckGroup",
            "Checkbox",
            "Collapsible",
            "ContextMenu",
            "DataFormatter",
            "DataGrid",
            "DateTime",
            "Grid",
            "Image",
            "Input",
            "Label",
            "Modal",
            "NavigationMenu",
            "OptionGroup",
            "Pagination",
            "Panel",
            "Primitive",
            "ProgressBar",
            "PropertyGrid",
            "Radio",
            "RadioGroup",
            "Resource",
            "ResponsiveGrid",
            "ScrollBox",
            "Select",
            "Separator",
            "Slider",
            "StackPanel",
            "StatusBar",
            "TabContainer",
            "TabItem",
            "Taskbar",
            "TextArea",
            "Tooltip",
            "Tree",
            "Typography",
            "Wealth",
            "Window",
            "WrapPanel"
          ]
        },
        "Id": {
          "type": "string"
        },
        "IsVisible": {
          "type": "boolean"
        },
        "IsEnabled": {
          "type": "boolean"
        },
        "RequiredRoles": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "DataContext": {},
        "Classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "classes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "Width": {
          "$ref": "#/definitions/Size"
        },
        "Height": {
          "$ref": "#/definitions/Size"
        },
        "Background": {
          "$ref": "#/definitions/Color"
        },
        "Margin": {
          "$ref": "#/definitions/Thickness"
        },
        "Padding": {
          "$ref": "#/definitions/Thickness"
        },
        "HorizontalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "VerticalAlignment": {
          "$ref": "#/definitions/Alignment"
        },
        "Style": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "Bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "bindings": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Binding"
          }
        },
        "GridRow": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Row": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumn": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.Column": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridRowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.RowSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "GridColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Grid.ColumnSpan": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ]
        },
        "Flex": {
          "type": "string"
        }
      },
      "oneOf": [
        {
          "$ref": "#/definitions/Alert"
        },
        {
          "$ref": "#/definitions/Anchor"
        },
        {
          "$ref": "#/definitions/ArmourGrid"
        },
        {
          "$ref": "#/definitions/Badge"
        },
        {
          "$ref": "#/definitions/Breadcrumbs"
        },
        {
          "$ref": "#/definitions/Button"
        },
        {
          "$ref": "#/definitions/CheckGroup"
        },
        {
          "$ref": "#/definitions/Checkbox"
        },
        {
          "$ref": "#/definitions/Collapsible"
        },
        {
          "$ref": "#/definitions/ContextMenu"
        },
        {
          "$ref": "#/definitions/DataFormatter"
        },
        {
          "$ref": "#/definitions/DataGrid"
        },
        {
          "$ref": "#/definitions/DateTime"
        },
        {
          "$ref": "#/definitions/Grid"
        },
        {
          "$ref": "#/definitions/Image"
        },
        {
          "$ref": "#/definitions/Input"
        },
        {
          "$ref": "#/definitions/Label"
        },
        {
          "$ref": "#/definitions/Modal"
        },
        {
          "$ref": "#/definitions/NavigationMenu"
        },
        {
          "$ref": "#/definitions/OptionGroup"
        },
        {
          "$ref": "#/definitions/Pagination"
        },
        {
          "$ref": "#/definitions/Panel"
        },
        {
          "$ref": "#/definitions/Primitive"
        },
        {
          "$ref": "#/definitions/ProgressBar"
        },
        {
          "$ref": "#/definitions/PropertyGrid"
        },
        {
          "$ref": "#/definitions/Radio"
        },
        {
          "$ref": "#/definitions/RadioGroup"
        },
        {
          "$ref": "#/definitions/Resource"
        },
        {
          "$ref": "#/definitions/ResponsiveGrid"
        },
        {
          "$ref": "#/definitions/ScrollBox"
        },
        {
          "$ref": "#/definitions/Select"
        },
        {
          "$ref": "#/definitions/Separator"
        },
        {
          "$ref": "#/definitions/Slider"
        },
        {
          "$ref": "#/definitions/StackPanel"
        },
        {
          "$ref": "#/definitions/StatusBar"
        },
        {
          "$ref": "#/definitions/TabContainer"
        },
        {
          "$ref": "#/definitions/TabItem"
        },
        {
          "$ref": "#/definitions/Taskbar"
        },
        {
          "$ref": "#/definitions/TextArea"
        },
        {
          "$ref": "#/definitions/Tooltip"
        },
        {
          "$ref": "#/definitions/Tree"
        },
        {
          "$ref": "#/definitions/Typography"
        },
        {
          "$ref": "#/definitions/Wealth"
        },
        {
          "$ref": "#/definitions/Window"
        },
        {
          "$ref": "#/definitions/WrapPanel"
        }
      ]
    }
  }
}
