{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/iobroker-json-ui/latest.json",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/ioBroker/json-config/main/schemas/jsonConfig.json",
    "sourceSha256": "3954c7a0763bb32c5c56762e0331edc4de412cbe3809205ea9475daea3a3c7b9",
    "fileMatch": [
      "jsonConfig.json",
      "jsonCustom.json",
      "jsonTab.json"
    ],
    "parsers": [
      "json"
    ]
  },
  "else": {
    "type": "object",
    "required": [
      "type"
    ],
    "$ref": "#/$defs/topLevelProperties",
    "properties": {
      "type": true,
      "$schema": true,
      "i18n": true,
      "items": true
    },
    "additionalProperties": false
  },
  "$defs": {
    "multilingual": {
      "type": "object",
      "required": [
        "en"
      ],
      "additionalProperties": false,
      "patternProperties": {
        "en|de|ru|pt|nl|fr|it|es|pl|uk|zh-cn": {
          "type": "string"
        }
      }
    },
    "customFilter": {
      "type": "object",
      "description": "JSON schema for the ObjectBrowserCustomFilter interface from TypeScript.\n\nNote: ioBroker-specific enums (e.g., ObjectType, CommonType) are allowed here as strings or arrays of strings; typical values are mentioned in the description.",
      "properties": {
        "type": {
          "description": "Object type(s) in Object Browser, e.g., 'state', 'channel', 'device'. Can be a string or an array of strings.",
          "oneOf": [
            {
              "type": "string",
              "enum": [
                "state",
                "channel",
                "device",
                "folder",
                "meta",
                "adapter",
                "instance",
                "host",
                "enum",
                "group",
                "user",
                "script",
                "chart",
                "schedule"
              ]
            },
            {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "state",
                  "channel",
                  "device",
                  "folder",
                  "meta",
                  "adapter",
                  "instance",
                  "host",
                  "enum",
                  "group",
                  "user",
                  "script",
                  "chart",
                  "schedule"
                ]
              },
              "minItems": 1
            }
          ]
        },
        "common": {
          "description": "Filter on common.* properties of the object (e.g., type, role, custom)",
          "type": "object",
          "properties": {
            "type": {
              "description": "Data type of the state, e.g., 'number', 'string', 'boolean', 'object', 'array', 'mixed'. Accepts string or array of strings.",
              "oneOf": [
                {
                  "type": "string",
                  "enum": [
                    "number",
                    "string",
                    "boolean",
                    "object",
                    "array",
                    "mixed"
                  ]
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "number",
                      "string",
                      "boolean",
                      "object",
                      "array",
                      "mixed"
                    ]
                  },
                  "minItems": 1
                }
              ]
            },
            "role": {
              "description": "Role(s) of the state, e.g., 'switch', 'button' or beginning of roles. String or array of strings.",
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "minItems": 1
                }
              ]
            },
            "custom": {
              "description": "Special filter for common.custom:\n- \"_\" => no custom set (literal underscore)\n- \"_dataSources\" => only data sources (history/sql/influx etc.)\n- true => any non-empty custom\n- \"adapter.\" or \"adapter.0\" or general string => specific custom (or prefix)\nAccepts: boolean true, string or array of strings.",
              "oneOf": [
                {
                  "type": "boolean",
                  "const": true
                },
                {
                  "type": "string"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "minItems": 1
                }
              ]
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "i18n": {
      "description": "If translations will be provided via files, e.g. in admin/i18n/de/translations.json or provide the path to the i18n folder if it's custom or provide the translations inside this attribute as an object",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "boolean"
        },
        {
          "type": "object",
          "patternProperties": {
            "^.+": {
              "$ref": "#/$defs/multilingual"
            }
          }
        }
      ]
    },
    "componentType": {
      "description": "Type of the element",
      "type": "string",
      "enum": [
        "accordion",
        "alive",
        "autocomplete",
        "autocompleteSendTo",
        "certificate",
        "certificates",
        "checkDocker",
        "checkLicense",
        "checkbox",
        "chips",
        "color",
        "coordinates",
        "cron",
        "custom",
        "datePicker",
        "deviceManager",
        "divider",
        "file",
        "fileSelector",
        "func",
        "header",
        "icon",
        "iframe",
        "iframeSendTo",
        "image",
        "imageSendTo",
        "infoBox",
        "instance",
        "interface",
        "ip",
        "jsonEditor",
        "language",
        "number",
        "oauth2",
        "objectId",
        "panel",
        "password",
        "pattern",
        "port",
        "qrCode",
        "qrCodeSendTo",
        "room",
        "select",
        "selectSendTo",
        "sendTo",
        "setState",
        "slider",
        "state",
        "staticImage",
        "staticInfo",
        "staticLink",
        "staticText",
        "table",
        "text",
        "textSendTo",
        "timePicker",
        "user",
        "uuid",
        "yamlEditor"
      ]
    },
    "numberProps": {
      "properties": {
        "placeholder": {
          "description": "Placeholder (for text control)",
          "type": "string"
        },
        "min": {
          "description": "Minimal value",
          "type": "number"
        },
        "max": {
          "description": "Maximum value",
          "type": "number"
        },
        "step": {
          "description": "Step size for increase and decrease buttons",
          "type": "number"
        },
        "unit": {
          "description": "Unit (could be multi-language)",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/$defs/multilingual"
            }
          ]
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true,
        "doNotSave": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "staticLinkProps": {
      "properties": {
        "href": {
          "description": "Link",
          "type": "string"
        },
        "text": {
          "description": "Static link or button",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/$defs/multilingual"
            }
          ]
        },
        "color": {
          "description": "Color of the link",
          "type": "string"
        },
        "icon": {
          "description": "icon for button",
          "type": "string"
        },
        "variant": {
          "description": "If button is outlined, contained or text",
          "type": "string",
          "enum": [
            "contained",
            "outlined",
            "text"
          ]
        },
        "controlStyle": {
          "description": "Style of the button or control itself",
          "type": "object"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "noTranslation": true,
        "confirm": true,
        "button": true
      },
      "required": [
        "type",
        "href"
      ],
      "type": "object"
    },
    "textProps": {
      "properties": {
        "text": {
          "description": "Text input",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/$defs/multilingual"
            }
          ]
        },
        "trim": {
          "description": "If text must be trimmed or not (default = true)",
          "type": "boolean"
        },
        "readOnly": {
          "type": "boolean",
          "description": "Shows text as read only field"
        },
        "copyToClipboard": {
          "type": "boolean",
          "description": "Shows copy to clipboard button, but only if disabled or read-only"
        },
        "noClearButton": {
          "type": "boolean",
          "description": "Do not show a clear button"
        },
        "placeholder": {
          "description": "Placeholder (for text control)",
          "type": "string"
        },
        "minRows": {
          "description": "default is 1. Set this attribute to `2` or more if you want to have a textarea with more than one row",
          "type": "number"
        },
        "maxRows": {
          "description": "max rows of textarea. Used only if `minRows` > 1",
          "type": "number"
        },
        "time": {
          "description": "If true, the text will be shown as time. The value is readonly automatically",
          "type": "boolean"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true,
        "maxLength": true,
        "doNotSave": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "tableItemBaseProps": {
      "properties": {
        "attr": {
          "description": "The linked attribute name",
          "type": "string"
        },
        "width": {
          "type": [
            "number",
            "string"
          ]
        },
        "title": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/$defs/multilingual"
            }
          ]
        },
        "filter": {
          "type": "boolean"
        },
        "sort": {
          "type": "boolean"
        }
      },
      "additionalProperties": true,
      "type": "object"
    },
    "customProps": {
      "properties": {
        "name": {
          "description": "Component name that will be provided via props, like ComponentInstancesEditor",
          "type": "string"
        },
        "url": {
          "description": "Location of the component",
          "type": "string"
        },
        "i18n": {
          "$ref": "#/$defs/i18n"
        },
        "bundlerType": {
          "type": "string",
          "description": "If module written with TypeScript, set it to `module`. From Admin 7.5.x",
          "enum": [
            "module"
          ]
        },
        "custom": {
          "type": "object",
          "description": "Custom properties for the component as an object"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "certificatesProps": {
      "description": "Universal type that manages `certPublic`, `certPrivate`, `certChained` and `leCollection` attributes",
      "properties": {
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "passwordProps": {
      "properties": {
        "encrypted": {
          "description": "Is value encrypted or not (of course only for texts)",
          "type": "boolean"
        },
        "repeat": {
          "description": "Password must be compared with password",
          "type": "boolean"
        },
        "visible": {
          "description": "True if allow to view the password by toggling the view button",
          "type": "boolean"
        },
        "readOnly": {
          "description": "The read-only flag. Visible is automatically true if readOnly is true",
          "type": "boolean"
        },
        "doNotSave": true,
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true,
        "maxLength": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "checkboxProps": {
      "properties": {
        "doNotSave": true,
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "aliveProps": {
      "properties": {
        "instance": {
          "description": "Check if the instance is alive. If not defined, it will be used current instance. You can use `${data.number}` pattern in the text.",
          "type": "string"
        },
        "textAlive": {
          "description": "Default text is `Instance %s is alive`, where `%s` will be replaced by `ADAPTER.0`",
          "type": "string"
        },
        "textNotAlive": {
          "description": "Default text is `Instance %s is not alive`, where `%s` will be replaced by `ADAPTER.0`",
          "type": "string"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "qrCodeProps": {
      "required": [
        "type",
        "data"
      ],
      "properties": {
        "data": {
          "description": "The data to be encoded in the QR Code",
          "type": "string"
        },
        "size": {
          "description": "The size of the QR code",
          "type": "number"
        },
        "fgColor": {
          "description": "Foreground color",
          "type": "string"
        },
        "bgColor": {
          "description": "Background color",
          "type": "string"
        },
        "level": {
          "description": "QR code level",
          "enum": [
            "L",
            "M",
            "Q",
            "H"
          ]
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "additionalProperties": false,
      "type": "object"
    },
    "qrCodeSendToProps": {
      "required": [
        "type",
        "command"
      ],
      "properties": {
        "command": {
          "description": "Command to be sent to the adapter instance. The response must be a string to be encoded in the QR code.",
          "type": "string"
        },
        "alsoDependsOn": {
          "$ref": "#/$defs/alsoDependsOnSendProp"
        },
        "jsonData": {
          "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
          "type": "string"
        },
        "data": {
          "description": "Data to be sent as JSON.",
          "type": "object"
        },
        "sendFirstByClick": {
          "description": "If true or a string/multilingual object, the QR code will not be loaded on mount but only after a click. If a string or multilingual object is provided, it will be used as the button text.",
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string"
            },
            {
              "$ref": "#/$defs/multilingual"
            }
          ]
        },
        "size": {
          "description": "The size of the QR code",
          "type": "number"
        },
        "fgColor": {
          "description": "Foreground color",
          "type": "string"
        },
        "bgColor": {
          "description": "Background color",
          "type": "string"
        },
        "level": {
          "description": "QR code error correction level",
          "enum": [
            "L",
            "M",
            "Q",
            "H"
          ]
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "additionalProperties": false,
      "type": "object"
    },
    "deviceManagerProps": {
      "properties": {
        "smallCards": {
          "description": "Show small device cards in the device manager",
          "type": "boolean"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "cronProps": {
      "properties": {
        "complex": {
          "description": "Show CRON with \"minutes\", \"seconds\" and so on",
          "type": "boolean"
        },
        "simple": {
          "description": "Show simple CRON settings",
          "type": "boolean"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "oneOf": [
        {
          "required": [
            "complex"
          ]
        },
        {
          "required": [
            "simple"
          ]
        }
      ],
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "sendToProps": {
      "properties": {
        "command": {
          "description": "Command to be sent.",
          "type": "string"
        },
        "color": {
          "description": "Optional color",
          "type": "string",
          "enum": [
            "primary",
            "secondary"
          ]
        },
        "icon": {
          "description": "sendTo can have icon (base64)",
          "type": "string"
        },
        "jsonData": {
          "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
          "type": "string"
        },
        "data": {
          "description": "Data to be sent as JSON.",
          "type": "object"
        },
        "result": {
          "description": "{result1: {en: 'A'}, result2: {en: 'B'}}",
          "type": "object"
        },
        "error": {
          "description": "{error1: {en: 'E'}, error2: {en: 'E2'}}",
          "type": "object"
        },
        "variant": {
          "description": "If outlined or contained",
          "type": "string",
          "enum": [
            "contained",
            "outlined"
          ]
        },
        "placeholder": {
          "description": "Placeholder (for text control)",
          "type": "string"
        },
        "useNative": {
          "description": "if adapter returns result with `native` attribute it will be used for configuration. If `saveConfig` is true, the user will be requested to save the configuration",
          "type": "boolean"
        },
        "showProcess": {
          "description": "Show spinner while request is in progress",
          "type": "boolean"
        },
        "openUrl": {
          "description": "if true - open URL in new tab, if response contains attribute openUrl, like {\"openUrl\": \"<http://1.2.3.4:80/aaa>\", \"window\": \"_blank\", \"saveConfig\": true}. If saveConfig is true, the user will be requested to save the configuration.",
          "type": "boolean"
        },
        "onLoaded": {
          "description": "if true - execute the button logic once initially",
          "type": "boolean"
        },
        "window": {
          "description": "if `openUrl` is true, this is a name of the new window. Could be overwritten if response consist `window` attribute. It is not the title of the new window!",
          "type": "string",
          "default": [
            "_blank",
            "_self"
          ]
        },
        "controlStyle": {
          "description": "Style of the button or control itself",
          "type": "object"
        },
        "timeout": {
          "description": "timeout for request in ms. Default: none.",
          "type": "number"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "required": [
        "type",
        "command"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "stateProps": {
      "properties": {
        "oid": {
          "description": "Which object ID should be taken for the controlling. The ID is without \"adapter.X.\" prefix",
          "type": "string"
        },
        "system": {
          "description": "IF true, the state will be taken from system.adapter.XX.I. and not from XX.I",
          "type": "boolean"
        },
        "control": {
          "description": "How the value of the state should be shown",
          "type": "string",
          "enum": [
            "text",
            "html",
            "input",
            "number",
            "slider",
            "switch",
            "select",
            "button"
          ]
        },
        "controlled": {
          "description": "If false, the control will be read only",
          "type": "boolean"
        },
        "unit": {
          "description": "Unit (could be multi-language)",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/$defs/multilingual"
            }
          ]
        },
        "trueText": {
          "description": "This text will be shown if the value is true",
          "type": "string"
        },
        "trueTextStyle": {
          "description": "Style of the text if the value is true",
          "type": "object"
        },
        "falseText": {
          "description": "This text will be shown if the value is false",
          "type": "string"
        },
        "falseTextStyle": {
          "description": "Style of the text if the value is false",
          "type": "object"
        },
        "trueImage": {
          "description": "This image will be shown if the value is true. It could be base64 or URL",
          "type": "string"
        },
        "falseImage": {
          "description": "This image will be shown if the value is false. It could be base64 or URL",
          "type": "string"
        },
        "min": {
          "description": "Minimum value for number or slider",
          "type": "number"
        },
        "max": {
          "description": "Maximum value for number or slider",
          "type": "number"
        },
        "step": {
          "description": "Step for number or slider",
          "type": "number"
        },
        "controlDelay": {
          "description": "Delay in ms between the change and the command",
          "type": "number"
        },
        "variant": {
          "description": "Show spinner while request is in progress",
          "type": "string",
          "enum": [
            "contained",
            "outlined",
            "text"
          ]
        },
        "readOnly": {
          "description": "Defines if the control is read-only. Applied only to 'input', 'slider', 'select', 'button', 'switch', 'number'",
          "type": "boolean"
        },
        "foreign": {
          "description": "The 'oid' is absolute and no need to add 'adapter.X' or 'system.adapter.X.' to oid",
          "type": "boolean"
        },
        "narrow": {
          "description": "With this flag, the value will appear just after the label",
          "type": "boolean"
        },
        "blinkOnUpdate": {
          "description": "Value should blink when updated (true or color). Only texts",
          "type": "boolean"
        },
        "size": {
          "description": "Font size: small, normal, large or number",
          "size": {
            "description": "Font size",
            "oneOf": [
              {
                "default": "normal",
                "type": "string",
                "enum": [
                  "small",
                  "normal",
                  "large"
                ]
              },
              {
                "type": "number"
              }
            ]
          }
        },
        "addColon": {
          "description": "Add to label the colon at the end if not exist in label",
          "type": "boolean"
        },
        "labelIcon": {
          "description": "Base64 icon for label",
          "type": "string"
        },
        "buttonValue": {
          "description": "Optional value, that will be sent for button",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "number"
            },
            {
              "type": "boolean"
            }
          ]
        },
        "showEnterButton": {
          "description": "Show SET button. The value in this case will be sent only when the button is pressed. You can define the text of the button. Default text is \"Set\" (Only for \"input\", \"number\" or \"slider\")",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "type": "boolean"
            },
            {
              "$ref": "#/$defs/multilingual"
            }
          ]
        },
        "setOnEnterKey": {
          "description": "The value in this case will be sent only when the \"Enter\" button is pressed. It can be combined with `showEnterButton`",
          "type": "boolean"
        },
        "digits": {
          "description": "Number of decimal places to display for numeric values in text/html mode",
          "type": "number",
          "minimum": 0
        },
        "options": {
          "description": "Options for `select` in form `[\"value1\", \"value2\", ...]` or `[{\"value\": \"value\", \"label\": \"Value1\"}, \"value2\", ...]`. If not defiled, the `common.states` in the object must exist.",
          "type": "array",
          "items": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "required": [
                  "label",
                  "value"
                ],
                "properties": {
                  "label": {
                    "oneOf": [
                      {
                        "description": "Value label",
                        "type": "string"
                      },
                      {
                        "$ref": "#/$defs/multilingual"
                      }
                    ]
                  },
                  "value": {
                    "oneOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "hidden": {
                    "type": "boolean"
                  },
                  "color": {
                    "type": "string",
                    "description": "Color of the option"
                  }
                },
                "additionalProperties": false
              }
            ]
          }
        },
        "label": true,
        "type": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "tooltip": true,
        "expertMode": true,
        "noTranslation": true,
        "confirm": true
      },
      "required": [
        "type",
        "oid"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "instanceProps": {
      "properties": {
        "adapter": {
          "description": "Name of the adapter. With special name _dataSources you can get all adapters with flag common.getHistory",
          "type": "string"
        },
        "adapters": {
          "description": "Optional list of adapters as array of strings, that should be shown. If not defined, all adapters will be shown. Only active if adapter attribute is not defined.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "allowDeactivate": {
          "description": "If true. Additional option \"deactivate\" is shown",
          "type": "boolean"
        },
        "onlyEnabled": {
          "description": "If true. Only enabled instances will be shown",
          "type": "boolean"
        },
        "long": {
          "description": "Value will look like system.adapter.ADAPTER.0 and not ADAPTER.0",
          "type": "boolean"
        },
        "short": {
          "description": "Value will look like 0 and not ADAPTER.0",
          "type": "boolean"
        },
        "all": {
          "description": "Add to the options ALL option with value *",
          "type": "boolean"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "required": [
        "type",
        "adapter"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "objectIdProps": {
      "properties": {
        "types": {
          "description": "Filter for one of the possible types: 'channel', 'device', ... (is state by default)",
          "oneOf": [
            {
              "default": "state",
              "type": "string",
              "enum": [
                "state",
                "channel",
                "device",
                "enum",
                "host",
                "adapter",
                "instance",
                "meta",
                "config",
                "script",
                "user",
                "group",
                "chart",
                "folder"
              ]
            },
            {
              "type": "array",
              "maxItems": 1,
              "items": {
                "type": "string",
                "enum": [
                  "state",
                  "channel",
                  "device",
                  "enum",
                  "host",
                  "adapter",
                  "instance",
                  "meta",
                  "config",
                  "script",
                  "user",
                  "group",
                  "chart",
                  "folder"
                ]
              }
            }
          ]
        },
        "root": {
          "description": "Show only this root object and its children",
          "type": "boolean"
        },
        "customFilter": {
          "description": "Cannot be used together with `types` settings. Example: `{type: ['channel', 'device']}` - show only channels and devices",
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "#/$defs/customFilter"
            }
          ]
        },
        "filterFunc": {
          "description": "Cannot be used together with `types` settings. It is a function that will be called for every object and must return true or false. Example: `obj.common.type === 'number'`",
          "type": "string"
        },
        "fillOnSelect": {
          "description": "Fill other config fields when an object ID is selected. Format: 'pathInObject=>attr,pathInObject=>attr(X)'. Example: 'common.name=>name,common.color=>color(X)'. Append '(X)' to overwrite non-empty fields.",
          "type": "string"
        },
        "placeholder": {
          "description": "Placeholder (for text control)",
          "type": "string"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "oauth2Props": {
      "properties": {
        "saveTokenIn": {
          "description": "State name where the token will be saved. Default is 'oauth2Tokens'. The path is relative to the adapter instance, like 'adapterName.X.oauth2Tokens'",
          "type": "string"
        },
        "identifier": {
          "description": "OAuth2 service identifier. Only known services are supported",
          "type": "string"
        },
        "scope": {
          "description": "Optional scopes divided by space, e.g. `user-read-private user-read-email`",
          "type": "string"
        },
        "ownClientId": {
          "description": "Optional attribute name where the user's own OAuth Client ID will be stored. If set, an input field for Client ID is shown",
          "type": "string"
        },
        "ownClientSecret": {
          "description": "Optional attribute name where the user's own OAuth Client Secret will be stored. If set, an input field for Client Secret is shown",
          "type": "string"
        },
        "refreshLabel": {
          "description": "Button label for refreshing the token",
          "type": "string"
        },
        "label": true,
        "type": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "tooltip": true,
        "expertMode": true,
        "confirm": true
      },
      "required": [
        "type",
        "identifier"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "fileSelectorProps": {
      "properties": {
        "pattern": {
          "type": "string",
          "description": "File extension pattern. Allowed '**/*.ext' to show all files from sub-folders too, '*.ext' to show from root folder or 'folderName/*.ext' to show all files in sub-folder folderName. Default '**/*.*'"
        },
        "fileTypes": {
          "enum": [
            "audio",
            "image",
            "text"
          ],
          "description": "Type of files"
        },
        "objectID": {
          "type": "string",
          "description": "Object ID of type meta. You can use special placeholder '%INSTANCE%': like 'myAdapter.%INSTANCE%.files'"
        },
        "upload": {
          "type": "string",
          "description": "path, where the uploaded files will be stored. Like 'folderName'. If not defined, no upload field will be shown. To upload in the root, set this field to '/'"
        },
        "refresh": {
          "type": "boolean",
          "description": "Show refresh button near the select"
        },
        "maxSize": {
          "type": "string",
          "description": "max file size (default 2MB)"
        },
        "withFolder": {
          "type": "boolean",
          "description": "show folder name even if all files in same folder"
        },
        "delete": {
          "type": "boolean",
          "description": "Allow deletion of files"
        },
        "noNone": {
          "type": "boolean",
          "description": "Do not show 'none' option"
        },
        "noSize": {
          "type": "boolean",
          "description": "Do not show size of files"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "required": [],
      "additionalProperties": false,
      "type": "object"
    },
    "timePickerProps": {
      "properties": {
        "format": {
          "description": "Format passed to the date picker",
          "type": "string",
          "default": "HH:mm:ss"
        },
        "views": {
          "description": "Configure which views should be shown to the users",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "hours",
              "minutes",
              "seconds"
            ]
          },
          "default": [
            "hours",
            "minutes",
            "seconds"
          ]
        },
        "timeSteps": {
          "description": "Represent the available time steps for each view",
          "type": "object",
          "properties": {
            "hours": {
              "type": "number"
            },
            "minutes": {
              "type": "number"
            },
            "seconds": {
              "type": "number"
            }
          },
          "default": {
            "hours": 1,
            "minutes": 5,
            "seconds": 5
          },
          "additionalProperties": false
        },
        "returnFormat": {
          "description": "Use `fullDate` or `HH:mm:ss`. Defaults to full date for backward compatibility reasons.",
          "type": "string",
          "enum": [
            "fullDate",
            "HH:mm:ss"
          ]
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "style": true,
        "darkStyle": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "noTranslation": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "interfaceProps": {
      "properties": {
        "ignoreLoopback": {
          "description": "do not show loopback interface (127.0.0.1)",
          "type": "boolean"
        },
        "ignoreInternal": {
          "description": "do not show internal interfaces (normally it is 127.0.0.1 too)",
          "type": "boolean"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "default": true,
        "defaultFunc": true,
        "onChange": true,
        "noTranslation": true,
        "confirm": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "coordinatesProps": {
      "properties": {
        "divider": {
          "description": "divider between latitude and longitude. Default \",\" (Used if longitudeName and latitudeName are not defined)",
          "type": "string"
        },
        "autoInit": {
          "description": "init field with current coordinates if empty",
          "type": "boolean"
        },
        "longitudeName": {
          "description": "if defined, the longitude will be stored in this attribute, divider will be ignored",
          "type": "string"
        },
        "latitudeName": {
          "description": "if defined, the latitude will be stored in this attribute, divider will be ignored",
          "type": "string"
        },
        "useSystemName": {
          "description": "if defined, the checkbox with \"Use system settings\" will be shown and latitude, longitude will be read from system.config, a boolean will be saved to the given name",
          "type": "string"
        },
        "attr": true,
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "maxLength": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "helpLink": true,
        "help": true,
        "style": true,
        "darkStyle": true,
        "validator": true,
        "validatorNoSaveOnError": true,
        "validatorErrorText": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "noTranslation": true,
        "confirm": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "jsonEditorProps": {
      "properties": {
        "validateJson": {
          "description": "if false, the text will be not validated as JSON",
          "type": "boolean",
          "default": true
        },
        "allowEmpty": {
          "type": "boolean",
          "description": "if true, the JSON will be validated only if the value is not empty"
        },
        "json5": {
          "type": "boolean",
          "description": "if JSON5 format allowed"
        },
        "doNotApplyWithError": {
          "type": "boolean",
          "description": "Do not allow to save the value if error in JSON or JSON5"
        },
        "readOnly": {
          "type": "boolean",
          "description": "Open the editor in read-only mode - editor can be opened but content cannot be modified"
        },
        "default": {
          "type": "string",
          "description": "Default content for JSON Editor"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "style": true,
        "darkStyle": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "noTranslation": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "yamlEditorProps": {
      "properties": {
        "validateYaml": {
          "description": "if false, the text will be not validated as YAML",
          "type": "boolean",
          "default": true
        },
        "allowEmpty": {
          "type": "boolean",
          "description": "if true, the YAML will be validated only if the value is not empty"
        },
        "doNotApplyWithError": {
          "type": "boolean",
          "description": "Do not allow to save the value if error in YAML"
        },
        "readOnly": {
          "type": "boolean",
          "description": "Open the editor in read-only mode - editor can be opened but content cannot be modified"
        },
        "default": {
          "type": "string",
          "description": "Default content for YAML Editor"
        },
        "label": true,
        "type": true,
        "defaultSendTo": true,
        "allowSaveWithError": true,
        "xs": true,
        "sm": true,
        "md": true,
        "lg": true,
        "xl": true,
        "newLine": true,
        "hidden": true,
        "hideOnlyControl": true,
        "disabled": true,
        "style": true,
        "darkStyle": true,
        "noMultiEdit": true,
        "tooltip": true,
        "expertMode": true,
        "noTranslation": true
      },
      "required": [
        "type"
      ],
      "additionalProperties": false,
      "type": "object"
    },
    "doNotSaveProp": {
      "type": "boolean",
      "description": "Do not save this attribute as used only for internal calculations"
    },
    "iconPositionProp": {
      "description": "Only for panels that has `icon` attribute.",
      "default": "start",
      "enum": [
        "bottom",
        "end",
        "start",
        "top"
      ]
    },
    "statesFilterProp": {
      "description": "Filter states for panel or tabs. If true, only states of this adapter will be used. If string, it is a regex to filter states.",
      "oneOf": [
        {
          "type": "boolean",
          "const": true
        },
        {
          "type": "string",
          "description": "Regex to filter states (only for custom config), like \"^history\\\\.\\\\d\\\\..*$\" to filter history.X.*"
        }
      ]
    },
    "allowAddByFilterProp": {
      "type": "boolean",
      "description": "If add allowed even if filter is set",
      "default": false
    },
    "alsoDependsOnSendProp": {
      "description": "Depends on other attributes and will be re-calculated when other attributes changed",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "noInternalProp": {
      "description": "Do not show internal IP addresses",
      "type": "boolean"
    },
    "tableItems": {
      "description": "Items of the table",
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "type"
        ],
        "allOf": [
          {
            "if": {
              "properties": {
                "type": {
                  "const": "language"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "properties": {
                    "system": {
                      "description": "Allow the usage of the system language from system.config as default",
                      "type": "boolean"
                    },
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "attr": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type",
                    "system"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "autocompleteSendTo"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "command": {
                  "description": "Command to be sent.",
                  "type": "string"
                },
                "jsonData": {
                  "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
                  "type": "string"
                },
                "data": {
                  "description": "Data to be sent as JSON.",
                  "type": "object"
                },
                "freeSolo": {
                  "description": "Set freeSolo to true so the textbox can contain any arbitrary value.",
                  "type": "boolean"
                },
                "placeholder": {
                  "description": "Placeholder (for text control)",
                  "type": "string"
                },
                "alsoDependsOn": {
                  "$ref": "#/$defs/alsoDependsOnSendProp"
                },
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "noTranslation": true,
                "confirm": true,
                "maxLength": true
              },
              "required": [
                "type",
                "command"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "selectSendTo"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "command": {
                  "description": "Command to be sent.",
                  "type": "string"
                },
                "jsonData": {
                  "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
                  "type": "string"
                },
                "data": {
                  "description": "Data to be sent as JSON.",
                  "type": "object"
                },
                "manual": {
                  "description": "Allow manual editing. Without Dropdown",
                  "type": "boolean"
                },
                "doNotSave": {
                  "$ref": "#/$defs/doNotSaveProp"
                },
                "alsoDependsOn": {
                  "$ref": "#/$defs/alsoDependsOnSendProp"
                },
                "noTranslation": true,
                "multiple": true,
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "confirm": true
              },
              "required": [
                "type",
                "command"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "textSendTo"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "container": {
                  "description": "div, text",
                  "type": "string"
                },
                "copyToClipboard": {
                  "description": "If true, show button",
                  "type": "boolean"
                },
                "alsoDependsOn": {
                  "$ref": "#/$defs/alsoDependsOnSendProp"
                },
                "command": {
                  "description": "Command to be sent.",
                  "type": "string"
                },
                "jsonData": {
                  "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
                  "type": "string"
                },
                "data": {
                  "description": "Data to be sent as JSON.",
                  "type": "object"
                },
                "noTranslation": true,
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "confirm": true
              },
              "required": [
                "type",
                "command"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "imageSendTo"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "container": {
                  "description": "div, text",
                  "type": "string"
                },
                "copyToClipboard": {
                  "description": "If true, show button",
                  "type": "boolean"
                },
                "alsoDependsOn": {
                  "$ref": "#/$defs/alsoDependsOnSendProp"
                },
                "command": {
                  "description": "Command to be sent.",
                  "type": "string"
                },
                "jsonData": {
                  "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
                  "type": "string"
                },
                "data": {
                  "description": "Data to be sent as JSON.",
                  "type": "object"
                },
                "sendFirstByClick": {
                  "description": "If true or a string/multilingual object, the image will not be loaded on mount but only after a click. If a string or multilingual object is provided, it will be used as the button text.",
                  "oneOf": [
                    {
                      "type": "boolean"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "$ref": "#/$defs/multilingual"
                    }
                  ]
                },
                "noTranslation": true,
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "confirm": true
              },
              "required": [
                "type",
                "command"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "header"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "size": {
                      "description": "Size of the header: h1-h5",
                      "type": "number",
                      "minimum": 1,
                      "maximum": 5
                    },
                    "text": {
                      "description": "Header text",
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/multilingual"
                        }
                      ]
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type",
                    "size",
                    "text"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "color"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "divider"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "color": {
                      "description": "Optional color",
                      "type": "string",
                      "enum": [
                        "primary",
                        "secondary"
                      ]
                    },
                    "height": {
                      "description": "Optional height",
                      "type": "number"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "fileSelector"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "pattern": {
                  "type": "string",
                  "description": "File extension pattern. Allowed '**/*.ext' to show all files from sub-folders too, '*.ext' to show from root folder or 'folderName/*.ext' to show all files in sub-folder folderName. Default '**/*.*'"
                },
                "fileTypes": {
                  "enum": [
                    "audio",
                    "image",
                    "text"
                  ],
                  "description": "Type of files"
                },
                "objectID": {
                  "type": "string",
                  "description": "Object ID of type meta. You can use special placeholder '%INSTANCE%': like 'myAdapter.%INSTANCE%.files'"
                },
                "upload": {
                  "type": "string",
                  "description": "path, where the uploaded files will be stored. Like 'folderName'. If not defined, no upload field will be shown. To upload in the root, set this field to '/'"
                },
                "refresh": {
                  "type": "boolean",
                  "description": "Show refresh button near the select"
                },
                "maxSize": {
                  "type": "string",
                  "description": "max file size (default 2MB)"
                },
                "withFolder": {
                  "type": "boolean",
                  "description": "show folder name even if all files in same folder"
                },
                "delete": {
                  "type": "boolean",
                  "description": "Allow deletion of files"
                },
                "noNone": {
                  "type": "boolean",
                  "description": "Do not show 'none' option"
                },
                "noSize": {
                  "type": "boolean",
                  "description": "Do not show size of files"
                },
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "noTranslation": true,
                "confirm": true
              },
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "icon"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "crop": {
                      "description": "If true, allow user to crop the image (only for non svg)",
                      "type": "boolean"
                    },
                    "square": {
                      "description": "Width must be equal to height or crop must allow only square as shape",
                      "type": "boolean"
                    },
                    "maxWidth": {
                      "description": "Maximum width",
                      "type": "number"
                    },
                    "maxHeight": {
                      "description": "Maximum height",
                      "type": "number"
                    },
                    "maxSize": {
                      "description": "Maximum size",
                      "type": "number"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "panel"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "items": {
                      "$ref": "#/$defs/topLevelProperties/properties/items"
                    },
                    "icon": {
                      "description": "Panel can have icon (base64)",
                      "type": "string"
                    },
                    "iconPosition": {
                      "$ref": "#/$defs/iconPositionProp"
                    },
                    "statesFilter": {
                      "$ref": "#/$defs/statesFilterProp"
                    },
                    "#include": {
                      "description": "Include other JSON or JSON5 file. Here is the name of the file with extension. E.g. 'options.jsonConfig.json' for 'anyName.jsonConfig.json5'",
                      "type": "string",
                      "pattern": "^.+\\.jsonConfig(.json|.json5)$"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "innerStyle": true,
                    "collapsable": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "oneOf": [
                    {
                      "required": [
                        "items"
                      ]
                    },
                    {
                      "required": [
                        "#include"
                      ]
                    }
                  ],
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "image"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "accept": {
                      "description": "HTML accept attribute, like { 'image/**': [], 'application/pdf': ['.pdf'] }`, default `{ 'image/*': [] }. String is possible, but deprecated",
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "object"
                        }
                      ]
                    },
                    "crop": {
                      "description": "If true, allow user to crop the image (only for non svg)",
                      "type": "boolean"
                    },
                    "square": {
                      "description": "Width must be equal to height or crop must allow only square as shape",
                      "type": "boolean"
                    },
                    "maxWidth": {
                      "description": "'Maximum width",
                      "type": "number"
                    },
                    "maxHeight": {
                      "description": "'Maximum height",
                      "type": "number"
                    },
                    "maxSize": {
                      "description": "'Maximum size",
                      "type": "number"
                    },
                    "filename": {
                      "description": "Name of the file",
                      "type": "string"
                    },
                    "base64": {
                      "description": "If true, the image will be saved as data-url in attribute, elsewise as binary in file storage",
                      "type": "boolean"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "iframe"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "url": {
                      "description": "URL to display in the iframe",
                      "type": "string"
                    },
                    "allowFullscreen": {
                      "description": "Allow fullscreen mode (default: false)",
                      "type": "boolean"
                    },
                    "sandbox": {
                      "description": "Sandbox attributes for security restrictions (e.g., 'allow-same-origin allow-scripts')",
                      "type": "string"
                    },
                    "lazyLoad": {
                      "description": "Lazy loading: 'lazy' or 'eager' (default: 'lazy')",
                      "type": "string",
                      "enum": [
                        "lazy",
                        "eager"
                      ]
                    },
                    "frameBorder": {
                      "description": "Frame border width (default: 0)",
                      "type": "number"
                    },
                    "reloadOnShow": {
                      "description": "Reload iframe when it becomes visible in the viewport",
                      "type": "boolean"
                    },
                    "innerStyle": {
                      "description": "CSS styles for the iframe element",
                      "type": "object"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "iframeSendTo"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "command": {
                  "description": "Command to be sent.",
                  "type": "string"
                },
                "jsonData": {
                  "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
                  "type": "string"
                },
                "data": {
                  "description": "Data to be sent as JSON.",
                  "type": "object"
                },
                "height": {
                  "description": "Height of iframe in px",
                  "type": "number"
                },
                "alsoDependsOn": {
                  "$ref": "#/$defs/alsoDependsOnSendProp"
                },
                "noTranslation": true,
                "type": true,
                "sm": true,
                "md": true,
                "lg": true,
                "newLine": true,
                "xs": true,
                "xl": true,
                "label": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "help": true,
                "helpLink": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "tooltip": true,
                "default": true,
                "defaultFunc": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "onChange": true,
                "confirm": true
              },
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "sendTo"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "command": {
                      "description": "Command to be sent.",
                      "type": "string"
                    },
                    "color": {
                      "description": "Optional color",
                      "type": "string",
                      "enum": [
                        "primary",
                        "secondary"
                      ]
                    },
                    "icon": {
                      "description": "sendTo can have icon (base64)",
                      "type": "string"
                    },
                    "jsonData": {
                      "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
                      "type": "string"
                    },
                    "data": {
                      "description": "Data to be sent as JSON.",
                      "type": "object"
                    },
                    "result": {
                      "description": "{result1: {en: 'A'}, result2: {en: 'B'}}",
                      "type": "object"
                    },
                    "error": {
                      "description": "{error1: {en: 'E'}, error2: {en: 'E2'}}",
                      "type": "object"
                    },
                    "variant": {
                      "description": "If outlined or contained",
                      "type": "string",
                      "enum": [
                        "contained",
                        "outlined"
                      ]
                    },
                    "openUrl": {
                      "description": "if true - open URL in new tab, if response contains attribute openUrl, like {\"openUrl\": \"<http://1.2.3.4:80/aaa>\", \"window\": \"_blank\", \"saveConfig\": true}. If saveConfig is true, the user will be requested to save the configuration.",
                      "type": "boolean"
                    },
                    "onLoaded": {
                      "description": "if true - execute the button logic once initially",
                      "type": "boolean"
                    },
                    "placeholder": {
                      "description": "Placeholder (for text control)",
                      "type": "string"
                    },
                    "useNative": {
                      "description": "if adapter returns result with `native` attribute it will be used for configuration. If `saveConfig` is true, the user will be requested to save the configuration",
                      "type": "boolean"
                    },
                    "showProcess": {
                      "description": "Show spinner while request is in progress",
                      "type": "boolean"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "width": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "title": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type",
                    "command"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "password"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "encrypted": {
                  "description": "Is value encrypted or not (of course only for texts)",
                  "type": "boolean"
                },
                "repeat": {
                  "description": "Password must be compared with password",
                  "type": "boolean"
                },
                "visible": {
                  "description": "True if allow to view the password by toggling the view button",
                  "type": "boolean"
                },
                "attr": true,
                "width": true,
                "sort": true,
                "title": true,
                "filter": true,
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "noTranslation": true,
                "confirm": true
              },
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "file"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "filename": {
                      "description": "Name of the file",
                      "type": "string"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type",
                    "filename"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "slider"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "min": {
                      "description": "Minimal value",
                      "type": "number",
                      "default": 0
                    },
                    "max": {
                      "description": "Maximum value",
                      "type": "number",
                      "default": 100
                    },
                    "step": {
                      "description": "Step size",
                      "type": "number",
                      "default": 1
                    },
                    "unit": {
                      "description": "Unit (could be multi-language)",
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/multilingual"
                        }
                      ]
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "custom"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "$ref": "#/$defs/customProps"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "checkbox"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "noTranslation": true,
                "confirm": true
              },
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "enum": [
                    "number",
                    "port"
                  ]
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "placeholder": {
                  "description": "Placeholder (for text control)",
                  "type": "string"
                },
                "min": {
                  "description": "Minimal value",
                  "type": "number"
                },
                "max": {
                  "description": "Maximum value",
                  "type": "number"
                },
                "step": {
                  "description": "Step size for increase and decrease buttons",
                  "type": "number"
                },
                "unit": {
                  "description": "Unit (could be multi-language)",
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "$ref": "#/$defs/multilingual"
                    }
                  ]
                },
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "noTranslation": true,
                "confirm": true,
                "doNotSave": true
              },
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "alive"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "$ref": "#/$defs/aliveProps"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "autocomplete"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "placeholder": {
                      "description": "Placeholder (for text control)",
                      "type": "string"
                    },
                    "freeSolo": {
                      "description": "Set freeSolo to true so the textbox can contain any arbitrary value.",
                      "type": "boolean"
                    },
                    "options": {
                      "description": "Options which can be completed. [\"value1\", \"value2\", ...] or [{\"value\": \"value\", \"label\": \"Value1\"}, \"value2\", ...]",
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "object",
                            "required": [
                              "label",
                              "value"
                            ],
                            "properties": {
                              "label": {
                                "description": "Label of the option",
                                "oneOf": [
                                  {
                                    "description": "Value label",
                                    "type": "string"
                                  },
                                  {
                                    "$ref": "#/$defs/multilingual"
                                  }
                                ]
                              },
                              "value": {
                                "description": "Value of the option",
                                "oneOf": [
                                  {
                                    "type": "number"
                                  },
                                  {
                                    "type": "string"
                                  }
                                ]
                              },
                              "hidden": {
                                "type": "boolean"
                              },
                              "color": {
                                "description": "Color of the option",
                                "type": "string"
                              }
                            },
                            "additionalProperties": false
                          }
                        ]
                      }
                    },
                    "attr": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true
                  },
                  "required": [
                    "type",
                    "options"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "cron"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "complex": {
                  "description": "Show CRON with \"minutes\", \"seconds\" and so on",
                  "type": "boolean"
                },
                "simple": {
                  "description": "Show simple CRON settings",
                  "type": "boolean"
                },
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "noTranslation": true,
                "confirm": true
              },
              "oneOf": [
                {
                  "required": [
                    "complex"
                  ]
                },
                {
                  "required": [
                    "simple"
                  ]
                }
              ],
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "text"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "text": {
                  "description": "Text input",
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "$ref": "#/$defs/multilingual"
                    }
                  ]
                },
                "trim": {
                  "description": "If text must be trimmed or not (default = true)",
                  "type": "boolean"
                },
                "placeholder": {
                  "description": "Placeholder (for text control)",
                  "type": "string"
                },
                "minRows": {
                  "description": "default is 1. Set this attribute to `2` or more if you want to have a textarea with more than one row",
                  "type": "number"
                },
                "maxRows": {
                  "description": "max rows of textarea. Used only if `minRows` > 1",
                  "type": "number"
                },
                "readOnly": {
                  "type": "boolean",
                  "description": "Shows text as read only field"
                },
                "noClearButton": {
                  "type": "boolean",
                  "description": "Do not show a clear button"
                },
                "validateJson": {
                  "type": "boolean",
                  "description": "if true, the text will be validated as JSON"
                },
                "allowEmpty": {
                  "type": "boolean",
                  "description": "if true, the JSON will be validated only if the value is not empty"
                },
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "noTranslation": true,
                "confirm": true,
                "maxLength": true,
                "doNotSave": true
              },
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "select"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "options": {
                  "description": "Options which can be selected",
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "label",
                      "value"
                    ],
                    "properties": {
                      "label": {
                        "description": "Label"
                      },
                      "value": {
                        "description": "Value"
                      },
                      "hidden": {
                        "type": "string",
                        "description": "JS function that could use `native.attribute` for calculation"
                      },
                      "group": {
                        "description": "Is it a group or not",
                        "type": "boolean"
                      },
                      "color": {
                        "type": "string"
                      },
                      "description": {
                        "description": "Description for the value, shown below the label"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "multiple": {
                  "description": "If true, multiple values can be selected",
                  "type": "boolean"
                },
                "showAllValues": {
                  "description": "Show item even if no label was found for it (by multiple), default=`true`",
                  "type": "boolean"
                },
                "format": {
                  "description": "How to render the select: 'dropdown' (default) or 'radio' (radio buttons)",
                  "type": "string",
                  "enum": [
                    "dropdown",
                    "radio"
                  ]
                },
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "noTranslation": true,
                "confirm": true
              },
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "pattern"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "pattern": {
                      "description": "Read-only field with pattern like '<https://${data.ip}:${data.port}>' (will not be saved in config)",
                      "type": "string"
                    },
                    "copyToClipboard": {
                      "description": "If true, show copy button.",
                      "type": "boolean"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type",
                    "pattern"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "setState"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "color": {
                      "description": "Optional color",
                      "type": "string",
                      "enum": [
                        "primary",
                        "secondary"
                      ]
                    },
                    "icon": {
                      "description": "setState can have icon (base64)",
                      "type": "string"
                    },
                    "id": {
                      "description": "State ID, e.g. 'info.test'",
                      "type": "string"
                    },
                    "ack": {
                      "description": "ack-flag of the state",
                      "type": "boolean",
                      "default": false
                    },
                    "val": {
                      "description": "State value to set"
                    },
                    "okText": {
                      "description": "Alert that will be shown by pressing the button",
                      "type": "string"
                    },
                    "error": {
                      "description": "{error1: {en: 'E'}, error2: {en: 'E2'}}",
                      "type": "object"
                    },
                    "variant": {
                      "description": "If outlined or contained",
                      "type": "string",
                      "enum": [
                        "contained",
                        "outlined"
                      ]
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type",
                    "id",
                    "val"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "qrCode"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "data": {
                      "description": "The data to be encoded in the QR Code",
                      "type": "string"
                    },
                    "size": {
                      "description": "The size of the QR code",
                      "type": "number"
                    },
                    "fgColor": {
                      "description": "Foreground color",
                      "type": "string"
                    },
                    "bgColor": {
                      "description": "Background color",
                      "type": "string"
                    },
                    "level": {
                      "description": "QR code level",
                      "enum": [
                        "L",
                        "M",
                        "Q",
                        "H"
                      ]
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type",
                    "data"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "qrCodeSendTo"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "command": {
                      "description": "Command to be sent to the adapter instance. The response must be a string to be encoded in the QR code.",
                      "type": "string"
                    },
                    "alsoDependsOn": {
                      "$ref": "#/$defs/alsoDependsOnSendProp"
                    },
                    "jsonData": {
                      "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
                      "type": "string"
                    },
                    "data": {
                      "description": "Data to be sent as JSON.",
                      "type": "object"
                    },
                    "sendFirstByClick": {
                      "description": "If true or a string/multilingual object, the QR code will not be loaded on mount but only after a click.",
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/multilingual"
                        }
                      ]
                    },
                    "size": {
                      "description": "The size of the QR code",
                      "type": "number"
                    },
                    "fgColor": {
                      "description": "Foreground color",
                      "type": "string"
                    },
                    "bgColor": {
                      "description": "Background color",
                      "type": "string"
                    },
                    "level": {
                      "description": "QR code error correction level",
                      "enum": [
                        "L",
                        "M",
                        "Q",
                        "H"
                      ]
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type",
                    "command"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "func"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "short": {
                      "description": "no system.func.",
                      "type": "string"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "room"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "short": {
                      "description": "no system.room.",
                      "type": "string"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "user"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "short": {
                      "description": "no system.user.",
                      "type": "string"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "ip"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "listenOnAllPorts": {
                      "description": "Add 0.0.0.0 to option",
                      "type": "boolean"
                    },
                    "onlyIp4": {
                      "description": "Show only IP4 addresses",
                      "type": "boolean"
                    },
                    "onlyIp6": {
                      "description": "Show only IP6 addresses",
                      "type": "boolean"
                    },
                    "noInternal": {
                      "$ref": "#/$defs/noInternalProp"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "certificate"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "certType": {
                      "description": "Type of the certificate",
                      "type": "string",
                      "enum": [
                        "public",
                        "private",
                        "chained"
                      ]
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type",
                    "certType"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "certificates"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "$ref": "#/$defs/certificatesProps"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "staticLink"
                }
              }
            },
            "then": {
              "properties": {
                "href": true,
                "text": true,
                "color": true,
                "icon": true,
                "variant": true,
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "noTranslation": true,
                "confirm": true
              },
              "required": [
                "type"
              ],
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "$ref": "#/$defs/staticLinkProps"
                }
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "staticText"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "text": {
                  "description": "Static text like description",
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "$ref": "#/$defs/multilingual"
                    }
                  ]
                },
                "format": {
                  "description": "How the static text should be interpreted. Use `text` for plain text, `html` to render HTML, or `json` for displaying JSON (optionally with syntax highlighting).",
                  "type": "string",
                  "enum": [
                    "text",
                    "html",
                    "json"
                  ],
                  "default": "text"
                },
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "noTranslation": true,
                "confirm": true
              },
              "oneOf": [
                {
                  "required": [
                    "text"
                  ]
                },
                {
                  "required": [
                    "label"
                  ]
                }
              ],
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "staticInfo"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "label": true,
                "type": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "tooltip": true,
                "expertMode": true,
                "noTranslation": true,
                "data": {
                  "description": "Value to be shown",
                  "type": [
                    "object",
                    "string",
                    "number",
                    "boolean"
                  ]
                },
                "unit": {
                  "description": "Unit (could be multi-language)",
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "$ref": "#/$defs/multilingual"
                    }
                  ]
                },
                "narrow": {
                  "description": "With this flag, the value will appear just after the label",
                  "type": "boolean"
                },
                "addColon": {
                  "description": "Add to label the colon at the end if not exist in label",
                  "type": "boolean"
                },
                "blinkOnUpdate": {
                  "description": "Value should blink when updated (true or color)",
                  "type": [
                    "boolean",
                    "string"
                  ]
                },
                "blink": {
                  "description": "Value should blink continuously (true or color)",
                  "type": [
                    "boolean",
                    "string"
                  ]
                },
                "styleLabel": {
                  "description": "React CSS Styles for label",
                  "type": "object"
                },
                "styleValue": {
                  "description": "React CSS Styles for value",
                  "type": "object"
                },
                "styleUnit": {
                  "description": "React CSS Styles for unit",
                  "type": "object"
                },
                "copyToClipboard": {
                  "description": "Show copy to clipboard button for value",
                  "type": "boolean"
                },
                "labelIcon": {
                  "description": "Base64 icon for label",
                  "type": "string"
                },
                "highlight": {
                  "description": "Highlight line on mouse over",
                  "type": "boolean"
                },
                "booleanAsCheckbox": {
                  "description": "Show boolean values as checkbox",
                  "type": "boolean"
                },
                "html": {
                  "description": "Show string values as HTML",
                  "type": "boolean"
                },
                "size": {
                  "description": "Font size",
                  "oneOf": [
                    {
                      "default": "normal",
                      "type": "string",
                      "enum": [
                        "small",
                        "normal",
                        "large"
                      ]
                    },
                    {
                      "type": "number"
                    }
                  ]
                }
              },
              "required": [
                "type",
                "label",
                "data"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "instance"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "adapter": {
                  "description": "Name of the adapter. With special name _dataSources you can get all adapters with flag common.getHistory",
                  "type": "string"
                },
                "adapters": {
                  "description": "Optional list of adapters, that should be shown. If not defined, all adapters will be shown. Only active if adapter attribute is not defined.",
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "allowDeactivate": {
                  "description": "If true. Additional option \"deactivate\" is shown",
                  "type": "boolean"
                },
                "onlyEnabled": {
                  "description": "If true. Only enabled instances will be shown",
                  "type": "boolean"
                },
                "long": {
                  "description": "Value will look like system.adapter.ADAPTER.0 and not ADAPTER.0",
                  "type": "boolean"
                },
                "short": {
                  "description": "Value will look like 0 and not ADAPTER.0",
                  "type": "boolean"
                },
                "all": {
                  "description": "Add to the options ALL option with value *",
                  "type": "boolean"
                },
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "noTranslation": true,
                "confirm": true
              },
              "required": [
                "type",
                "adapter"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "staticImage"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "src": {
                      "description": "Name of picture (from admin directory)",
                      "type": "string"
                    },
                    "href": {
                      "description": "Link",
                      "type": "string"
                    },
                    "showInDialog": {
                      "description": "It will be shown small image, and by click on it the dialog will be opened with bigger image",
                      "type": "boolean"
                    },
                    "showInDialogButtonLabel": {
                      "description": "If showInDialog, the label for the button",
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/multilingual"
                        }
                      ]
                    },
                    "showInDialogSmallSize": {
                      "description": "If showInDialog, the size of small image (default 100px)",
                      "type": "number"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "noTranslation": true,
                    "confirm": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "chips"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "delimiter": {
                      "description": "Delimiter for options. If no delimiter, the setting will be stored as array",
                      "type": "string"
                    },
                    "attr": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "helpLink": true,
                    "help": true,
                    "style": true,
                    "darkStyle": true,
                    "validator": true,
                    "validatorNoSaveOnError": true,
                    "validatorErrorText": true,
                    "noMultiEdit": true,
                    "tooltip": true,
                    "expertMode": true,
                    "default": true,
                    "defaultFunc": true,
                    "onChange": true,
                    "noTranslation": true,
                    "confirm": true
                  },
                  "required": [
                    "type"
                  ],
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "objectId"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true,
                "types": {
                  "description": "Filter for one of the possible types: 'channel', 'device', ... (is state by default)",
                  "oneOf": [
                    {
                      "default": "state",
                      "type": "string",
                      "enum": [
                        "state",
                        "channel",
                        "device",
                        "enum",
                        "host",
                        "adapter",
                        "instance",
                        "meta",
                        "config",
                        "script",
                        "user",
                        "group",
                        "chart",
                        "folder"
                      ]
                    },
                    {
                      "type": "array",
                      "maxItems": 1,
                      "items": {
                        "type": "string",
                        "enum": [
                          "state",
                          "channel",
                          "device",
                          "enum",
                          "host",
                          "adapter",
                          "instance",
                          "meta",
                          "config",
                          "script",
                          "user",
                          "group",
                          "chart",
                          "folder"
                        ]
                      }
                    }
                  ]
                },
                "root": {
                  "description": "Show only this root object and its children",
                  "type": "boolean"
                },
                "customFilter": {
                  "description": "Cannot be used together with `types` settings. Example: `{type: ['channel', 'device']}` - show only channels and devices",
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "$ref": "#/$defs/customFilter"
                    }
                  ]
                },
                "filterFunc": {
                  "description": "Cannot be used together with `types` settings. It is a function that will be called for every object and must return true or false. Example: `obj.common.type === 'number'`",
                  "type": "string"
                },
                "placeholder": {
                  "description": "Placeholder (for text control)",
                  "type": "string"
                },
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "default": true,
                "defaultFunc": true,
                "onChange": true,
                "noTranslation": true,
                "confirm": true
              },
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "checkLicense"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "uuid": {
                      "description": "If UUID must be checked too",
                      "type": "boolean"
                    },
                    "version": {
                      "description": "Check version",
                      "type": "boolean"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "style": true,
                    "darkStyle": true,
                    "noMultiEdit": true,
                    "noTranslation": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "checkDocker"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "hideVersion": {
                      "description": "If the information about docker version or error should be hidden (e.g. if used more than one such element on the page the error or version will be shown once",
                      "type": "boolean"
                    },
                    "attr": true,
                    "label": true,
                    "type": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "style": true,
                    "darkStyle": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "uuid"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                },
                {
                  "properties": {
                    "attr": true,
                    "label": true,
                    "type": true,
                    "defaultSendTo": true,
                    "allowSaveWithError": true,
                    "xs": true,
                    "sm": true,
                    "md": true,
                    "lg": true,
                    "xl": true,
                    "newLine": true,
                    "hidden": true,
                    "hideOnlyControl": true,
                    "disabled": true,
                    "style": true,
                    "darkStyle": true,
                    "noMultiEdit": true,
                    "noTranslation": true,
                    "width": true,
                    "title": true,
                    "filter": true,
                    "sort": true
                  },
                  "additionalProperties": false,
                  "type": "object"
                }
              ]
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "datePicker"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "attr": true,
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "noTranslation": true,
                "confirm": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true
              },
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "timePicker"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "format": {
                  "description": "Format passed to the date picker",
                  "type": "string",
                  "default": "HH:mm:ss"
                },
                "views": {
                  "description": "Configure which views should be shown to the users",
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "hours",
                      "minutes",
                      "seconds"
                    ]
                  },
                  "default": [
                    "hours",
                    "minutes",
                    "seconds"
                  ]
                },
                "timeSteps": {
                  "description": "Represent the available time steps for each view",
                  "type": "object",
                  "properties": {
                    "hours": {
                      "type": "number"
                    },
                    "minutes": {
                      "type": "number"
                    },
                    "seconds": {
                      "type": "number"
                    }
                  },
                  "default": {
                    "hours": 1,
                    "minutes": 5,
                    "seconds": 5
                  },
                  "additionalProperties": false
                },
                "returnFormat": {
                  "description": "Use `fullDate` or `HH:mm:ss`. Defaults to full date for backward compatibility reasons.",
                  "type": "string",
                  "enum": [
                    "fullDate",
                    "HH:mm:ss"
                  ]
                },
                "attr": true,
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "noTranslation": true,
                "confirm": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true
              },
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          },
          {
            "if": {
              "properties": {
                "type": {
                  "const": "coordinates"
                }
              }
            },
            "then": {
              "allOf": [
                {
                  "$ref": "#/$defs/tableItemBaseProps"
                }
              ],
              "properties": {
                "divider": {
                  "description": "divider between latitude and longitude. Default \",\" (Used if longitudeName and latitudeName are not defined)",
                  "type": "string"
                },
                "autoInit": {
                  "description": "init field with current coordinates if empty",
                  "type": "boolean"
                },
                "longitudeName": {
                  "description": "if defined, the longitude will be stored in this attribute, divider will be ignored",
                  "type": "string"
                },
                "latitudeName": {
                  "description": "if defined, the latitude will be stored in this attribute, divider will be ignored",
                  "type": "string"
                },
                "useSystemName": {
                  "description": "if defined, the checkbox with \"Use system settings\" will be shown and latitude, longitude will be read from system.config, a boolean will be saved to the given name",
                  "type": "string"
                },
                "attr": true,
                "label": true,
                "type": true,
                "defaultSendTo": true,
                "allowSaveWithError": true,
                "xs": true,
                "sm": true,
                "md": true,
                "lg": true,
                "xl": true,
                "newLine": true,
                "maxLength": true,
                "hidden": true,
                "hideOnlyControl": true,
                "disabled": true,
                "helpLink": true,
                "help": true,
                "style": true,
                "darkStyle": true,
                "validator": true,
                "validatorNoSaveOnError": true,
                "validatorErrorText": true,
                "noMultiEdit": true,
                "tooltip": true,
                "expertMode": true,
                "noTranslation": true,
                "confirm": true,
                "width": true,
                "title": true,
                "filter": true,
                "sort": true
              },
              "required": [
                "type"
              ],
              "additionalProperties": false,
              "type": "object"
            }
          }
        ],
        "properties": {
          "label": {
            "oneOf": [
              {
                "description": "Label of tab",
                "type": "string"
              },
              {
                "$ref": "#/$defs/multilingual"
              }
            ]
          },
          "type": {
            "$ref": "#/$defs/componentType"
          },
          "defaultSendTo": {
            "description": "Command to request initial value from running instance",
            "type": "string"
          },
          "xs": {
            "description": "width in 1/12 of screen on very small screens",
            "type": "number"
          },
          "sm": {
            "description": "Width in 1/12 of screen on small screen",
            "type": "number"
          },
          "md": {
            "description": "width in 1/12 of screen on middle screens",
            "type": "number"
          },
          "lg": {
            "description": "width in 1/12 of screen on large screens",
            "type": "number"
          },
          "xl": {
            "description": "width in 1/12 of screen on extra large screens",
            "type": "number"
          },
          "newLine": {
            "description": "Should be shown from new line",
            "type": "boolean"
          },
          "hidden": {
            "description": "JS function that could use 'native.attribute' for calculation",
            "type": "string"
          },
          "hideOnlyControl": {
            "description": "If hidden the place will be shown, but no control",
            "type": "boolean"
          },
          "disabled": {
            "description": "JS function that could use 'native.attribute' for calculation",
            "type": "string"
          },
          "helpLink": {
            "description": "href to help",
            "type": "string"
          },
          "help": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/$defs/multilingual"
              }
            ]
          },
          "style": {
            "description": "CSS style in react notation: 'radiusBorder' and not 'radius-border'",
            "type": "object"
          },
          "darkStyle": {
            "description": "CSS style for dark mode in react notation: 'radiusBorder' and not 'radius-border'",
            "type": "object"
          },
          "validator": {
            "description": "JS function: true no error, false - error",
            "type": "string"
          },
          "validatorNoSaveOnError": {
            "description": "True if save must be disabled by errors",
            "type": "boolean"
          },
          "validatorErrorText": {
            "type": "string",
            "description": "Text to show if validator fails"
          },
          "showSecondAddAt": {
            "description": "The number of lines from which the second add button at the bottom of the table will be shown. Default 5",
            "type": "number"
          },
          "showFirstAddOnTop": {
            "type": "boolean",
            "description": "Show first plus button on top of the first column and not on the left."
          },
          "tooltip": {
            "description": "Optional tooltip",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/$defs/multilingual"
              }
            ]
          },
          "default": {
            "description": "Default value"
          },
          "onChange": {
            "type": "object",
            "properties": {
              "calculateFunc": {
                "description": "JS function: that calculates value",
                "type": "string"
              },
              "ignoreOwnChanges": {
                "description": "Do not trigger onChange event if changed value of this attribute",
                "type": "boolean"
              },
              "alsoDependsOn": {
                "$ref": "#/$defs/alsoDependsOnSendProp"
              }
            },
            "additionalProperties": false
          },
          "doNotSave": {
            "$ref": "#/$defs/doNotSaveProp"
          },
          "defaultFunc": {
            "description": "JS function to calculate default value",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object",
                "properties": {
                  "func": {
                    "description": "JS function: that calculates value",
                    "type": "string"
                  },
                  "alsoDependsOn": {
                    "$ref": "#/$defs/alsoDependsOnSendProp"
                  }
                },
                "additionalProperties": false
              }
            ]
          },
          "noTranslation": {
            "description": "Do not translate selects or other options (not for help, label or placeholder)",
            "type": "boolean"
          },
          "confirm": {
            "description": "Confirm dialog",
            "type": "object",
            "properties": {
              "condition": {
                "description": "JS function: true show confirm dialog",
                "type": "string"
              },
              "text": {
                "description": "Text of confirmation dialog",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/$defs/multilingual"
                  }
                ]
              },
              "title": {
                "description": "Title of confirmation dialog",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/$defs/multilingual"
                  }
                ]
              },
              "ok": {
                "description": "Text for 'OK' button",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/$defs/multilingual"
                  }
                ]
              },
              "cancel": {
                "description": "Text for 'cancel' button",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/$defs/multilingual"
                  }
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "info",
                  "warning",
                  "error",
                  "none"
                ]
              },
              "alsoDependsOn": {
                "description": "Trigger confirm dialog if one of the components changed.",
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "additionalProperties": false
          },
          "noMultiEdit": {
            "description": "(only custom) if this flag set to true, this field will not be shown if user selected more than one object for edit",
            "type": "boolean"
          },
          "maxLength": {
            "description": "max length of text in field",
            "type": "number"
          },
          "button": {
            "description": "show link as button",
            "type": "boolean"
          }
        }
      }
    },
    "topLevelProperties": {
      "properties": {
        "type": {
          "type": "string",
          "description": "Control type",
          "enum": [
            "tabs",
            "panel"
          ]
        },
        "$schema": {
          "description": "Specify a JSON schema",
          "type": "string"
        },
        "i18n": {
          "$ref": "#/$defs/i18n"
        },
        "items": {
          "description": "Consists of objects representing e.g. a single tab",
          "type": "object",
          "patternProperties": {
            "^.+": {
              "description": "Object representing e.g. a tab",
              "type": "object",
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "language"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "system": {
                        "description": "Allow the usage of the system language from system.config as default",
                        "type": "boolean"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type",
                      "system"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "autocompleteSendTo"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "command": {
                        "description": "Command to be sent.",
                        "type": "string"
                      },
                      "jsonData": {
                        "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
                        "type": "string"
                      },
                      "data": {
                        "description": "Data to be sent as JSON.",
                        "type": "object"
                      },
                      "freeSolo": {
                        "description": "Set freeSolo to true so the textbox can contain any arbitrary value.",
                        "type": "boolean"
                      },
                      "placeholder": {
                        "description": "Placeholder (for text control)",
                        "type": "string"
                      },
                      "alsoDependsOn": {
                        "$ref": "#/$defs/alsoDependsOnSendProp"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true,
                      "maxLength": true
                    },
                    "required": [
                      "type",
                      "command"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "selectSendTo"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "command": {
                        "description": "Command to be sent.",
                        "type": "string"
                      },
                      "jsonData": {
                        "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
                        "type": "string"
                      },
                      "data": {
                        "description": "Data to be sent as JSON.",
                        "type": "object"
                      },
                      "manual": {
                        "description": "Allow manual editing. Without Dropdown",
                        "type": "boolean"
                      },
                      "doNotSave": {
                        "$ref": "#/$defs/doNotSaveProp"
                      },
                      "alsoDependsOn": {
                        "$ref": "#/$defs/alsoDependsOnSendProp"
                      },
                      "noTranslation": true,
                      "multiple": true,
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "confirm": true
                    },
                    "required": [
                      "type",
                      "command"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "textSendTo"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "container": {
                        "description": "div, text",
                        "type": "string"
                      },
                      "copyToClipboard": {
                        "description": "If true, show button",
                        "type": "boolean"
                      },
                      "alsoDependsOn": {
                        "$ref": "#/$defs/alsoDependsOnSendProp"
                      },
                      "command": {
                        "description": "Command to be sent.",
                        "type": "string"
                      },
                      "jsonData": {
                        "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
                        "type": "string"
                      },
                      "data": {
                        "description": "Data to be sent as JSON.",
                        "type": "object"
                      },
                      "noTranslation": true,
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "confirm": true
                    },
                    "required": [
                      "type",
                      "command"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "imageSendTo"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "alsoDependsOn": {
                        "$ref": "#/$defs/alsoDependsOnSendProp"
                      },
                      "command": {
                        "description": "Command to be sent.",
                        "type": "string"
                      },
                      "jsonData": {
                        "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
                        "type": "string"
                      },
                      "data": {
                        "description": "Data to be sent as JSON.",
                        "type": "object"
                      },
                      "sendFirstByClick": {
                        "description": "If true or a string/multilingual object, the image will not be loaded on mount but only after a click. If a string or multilingual object is provided, it will be used as the button text.",
                        "oneOf": [
                          {
                            "type": "boolean"
                          },
                          {
                            "type": "string"
                          },
                          {
                            "$ref": "#/$defs/multilingual"
                          }
                        ]
                      },
                      "label": true,
                      "type": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "confirm": true
                    },
                    "required": [
                      "type",
                      "command"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "iframe"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "url": {
                        "description": "URL to display in the iframe",
                        "type": "string"
                      },
                      "allowFullscreen": {
                        "description": "Allow fullscreen mode (default: false)",
                        "type": "boolean"
                      },
                      "sandbox": {
                        "description": "Sandbox attributes for security restrictions (e.g., 'allow-same-origin allow-scripts')",
                        "type": "string"
                      },
                      "lazyLoad": {
                        "description": "Lazy loading: 'lazy' or 'eager' (default: 'lazy')",
                        "type": "string",
                        "enum": [
                          "lazy",
                          "eager"
                        ]
                      },
                      "frameBorder": {
                        "description": "Frame border width (default: 0)",
                        "type": "number"
                      },
                      "reloadOnShow": {
                        "description": "Reload iframe when it becomes visible in the viewport",
                        "type": "boolean"
                      },
                      "innerStyle": {
                        "description": "CSS styles for the iframe element",
                        "type": "object"
                      },
                      "label": true,
                      "type": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "iframeSendTo"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "alsoDependsOn": {
                        "$ref": "#/$defs/alsoDependsOnSendProp"
                      },
                      "command": {
                        "description": "Command to be sent.",
                        "type": "string"
                      },
                      "jsonData": {
                        "description": "Data to be sent as parsable string, can contain special placeholder. E. g. '{\"subject1\": \"${data.subject}\", \"options1\": {\"host\": \"${data.host}\"}}'",
                        "type": "string"
                      },
                      "data": {
                        "description": "Data to be sent as JSON.",
                        "type": "object"
                      },
                      "height": {
                        "description": "Height of iframe in px",
                        "type": "number"
                      },
                      "label": true,
                      "type": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "confirm": true
                    },
                    "required": [
                      "type",
                      "command"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "header"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "size": {
                        "description": "Size of the header: h1-h5",
                        "type": "number",
                        "minimum": 1,
                        "maximum": 5
                      },
                      "text": {
                        "description": "Header text",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "$ref": "#/$defs/multilingual"
                          }
                        ]
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type",
                      "size",
                      "text"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "color"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "divider"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "color": {
                        "description": "Optional color",
                        "type": "string",
                        "enum": [
                          "primary",
                          "secondary"
                        ]
                      },
                      "height": {
                        "description": "Optional height",
                        "type": "number"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "icon"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "crop": {
                        "description": "If true, allow user to crop the image (only for non svg)",
                        "type": "boolean"
                      },
                      "square": {
                        "description": "Width must be equal to height or crop must allow only square as shape",
                        "type": "boolean"
                      },
                      "maxWidth": {
                        "description": "Maximum width",
                        "type": "number"
                      },
                      "maxHeight": {
                        "description": "Maximum height",
                        "type": "number"
                      },
                      "maxSize": {
                        "description": "Maximum size",
                        "type": "number"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "panel"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "items": {
                        "$ref": "#/$defs/topLevelProperties/properties/items"
                      },
                      "#include": {
                        "description": "Include other JSON or JSON5 file. Here is the name of the file with extension. E.g. 'options.jsonConfig.json' for 'anyName.jsonConfig.json5'",
                        "type": "string",
                        "pattern": "^.+\\.jsonConfig(.json|.json5)$"
                      },
                      "icon": {
                        "description": "Panel can have icon (base64)",
                        "type": "string"
                      },
                      "iconPosition": {
                        "$ref": "#/$defs/iconPositionProp"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "innerStyle": true,
                      "collapsable": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "oneOf": [
                      {
                        "required": [
                          "items"
                        ]
                      },
                      {
                        "required": [
                          "#include"
                        ]
                      }
                    ],
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "image"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "accept": {
                        "description": "HTML accept attribute, like { 'image/**': [], 'application/pdf': ['.pdf'] }`, default `{ 'image/*': [] }. String is possible, but deprecated",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "object"
                          }
                        ]
                      },
                      "crop": {
                        "description": "If true, allow user to crop the image (only for non svg)",
                        "type": "boolean"
                      },
                      "square": {
                        "description": "Width must be equal to height or crop must allow only square as shape",
                        "type": "boolean"
                      },
                      "maxWidth": {
                        "description": "'Maximum width",
                        "type": "number"
                      },
                      "maxHeight": {
                        "description": "'Maximum height",
                        "type": "number"
                      },
                      "maxSize": {
                        "description": "'Maximum size",
                        "type": "number"
                      },
                      "filename": {
                        "description": "Name of the file",
                        "type": "string"
                      },
                      "base64": {
                        "description": "If true, the image will be saved as data-url in attribute, elsewise as binary in file storage",
                        "type": "boolean"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "sendTo"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/sendToProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "state"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/stateProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "password"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/passwordProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "file"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "filename": {
                        "description": "Name of the file",
                        "type": "string"
                      },
                      "label": true,
                      "type": true,
                      "title": true,
                      "filter": true,
                      "sort": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type",
                      "filename"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "slider"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "min": {
                        "description": "Minimal value",
                        "type": "number",
                        "default": 0
                      },
                      "max": {
                        "description": "Maximum value",
                        "type": "number",
                        "default": 100
                      },
                      "step": {
                        "description": "Step size",
                        "type": "number",
                        "default": 1
                      },
                      "unit": {
                        "description": "Unit (could be multi-language)",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "$ref": "#/$defs/multilingual"
                          }
                        ]
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "custom"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/customProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "checkbox"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/checkboxProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "fileSelector"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/fileSelectorProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "enum": [
                          "number",
                          "port"
                        ]
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/numberProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "alive"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/aliveProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "autocomplete"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "placeholder": {
                        "description": "Placeholder (for text control)",
                        "type": "string"
                      },
                      "freeSolo": {
                        "description": "Set freeSolo to true so the textbox can contain any arbitrary value.",
                        "type": "boolean"
                      },
                      "options": {
                        "description": "Options which can be completed. [\"value1\", \"value2\", ...] or [{\"value\": \"value\", \"label\": \"Value1\"}, \"value2\", ...]",
                        "type": "array",
                        "items": {
                          "oneOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "object",
                              "required": [
                                "label",
                                "value"
                              ],
                              "properties": {
                                "label": {
                                  "oneOf": [
                                    {
                                      "description": "Value label",
                                      "type": "string"
                                    },
                                    {
                                      "$ref": "#/$defs/multilingual"
                                    }
                                  ]
                                },
                                "value": {
                                  "oneOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "type": "string"
                                    }
                                  ]
                                },
                                "hidden": {
                                  "type": "boolean"
                                },
                                "color": {
                                  "type": "string"
                                }
                              },
                              "additionalProperties": false
                            }
                          ]
                        }
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type",
                      "options"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "qrCode"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/qrCodeProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "qrCodeSendTo"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/qrCodeSendToProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "cron"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/cronProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "deviceManager"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/deviceManagerProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "text"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/textProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "select"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "options": {
                        "description": "Options which can be selected",
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "label",
                            "value"
                          ],
                          "properties": {
                            "label": {
                              "description": "Label"
                            },
                            "value": {
                              "description": "Value"
                            },
                            "hidden": {
                              "type": "string",
                              "description": "JS function that could use `native.attribute` for calculation"
                            },
                            "group": {
                              "description": "Is this a group",
                              "type": "boolean"
                            },
                            "color": {
                              "type": "string"
                            },
                            "description": {
                              "description": "Description for the value, shown below the label"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "multiple": {
                        "description": "If true, multiple values can be selected",
                        "type": "boolean"
                      },
                      "showAllValues": {
                        "description": "Show item even if no label was found for it (by multiple), default=`true`",
                        "type": "boolean"
                      },
                      "format": {
                        "description": "How to render the select: 'dropdown' (default) or 'radio' (radio buttons)",
                        "type": "string",
                        "enum": [
                          "dropdown",
                          "radio"
                        ]
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "table"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "noDelete": {
                        "description": "If delete or add disabled, If noDelete is false, add, delete and move up/down should work",
                        "type": "boolean"
                      },
                      "uniqueColumns": {
                        "description": "Specify the 'attr' name of columns which need to be unique",
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "compact": {
                        "description": "Show table in compact mode",
                        "type": "boolean"
                      },
                      "export": {
                        "description": "If export button should be shown. Export as csv file.",
                        "type": "boolean"
                      },
                      "import": {
                        "description": "If import button should be shown. Import from csv file.",
                        "type": "boolean"
                      },
                      "clone": {
                        "description": "If clone button should be shown. If true, the clone button will be shown. If attribute name, this name will be unique.",
                        "type": "boolean"
                      },
                      "encryptedAttributes": {
                        "description": "These items will be encrypted before saving with simple (not SHA) encryption method",
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "useCardFor": {
                        "description": "Breakpoint that will be rendered as cards",
                        "type": "array",
                        "items": {
                          "type": "string",
                          "enum": [
                            "xs",
                            "sm",
                            "md",
                            "lg",
                            "xl"
                          ]
                        }
                      },
                      "titleAttribute": {
                        "description": "Define the name of the attribute of the item which should be shown as a title of the item in cards mode.",
                        "type": "string"
                      },
                      "allowAddByFilter": {
                        "$ref": "#/$defs/allowAddByFilterProp"
                      },
                      "items": {
                        "$ref": "#/$defs/tableItems"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true,
                      "showSecondAddAt": true
                    },
                    "required": [
                      "type",
                      "items"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "pattern"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "pattern": {
                        "description": "Read-only field with pattern like '<https://${data.ip}:${data.port}>' (will not be saved in config)",
                        "type": "string"
                      },
                      "copyToClipboard": {
                        "description": "If true, show copy button.",
                        "type": "boolean"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type",
                      "pattern"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "setState"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "color": {
                        "description": "Optional color",
                        "type": "string",
                        "enum": [
                          "primary",
                          "secondary"
                        ]
                      },
                      "icon": {
                        "description": "setState can have icon (base64)",
                        "type": "string"
                      },
                      "id": {
                        "description": "State ID, e.g. 'info.test'",
                        "type": "string"
                      },
                      "ack": {
                        "description": "ack-flag of the state",
                        "type": "boolean",
                        "default": false
                      },
                      "val": {
                        "description": "State value to set"
                      },
                      "okText": {
                        "description": "Alert that will be shown by pressing the button",
                        "type": "string"
                      },
                      "error": {
                        "description": "{error1: {en: 'E'}, error2: {en: 'E2'}}",
                        "type": "object"
                      },
                      "variant": {
                        "description": "If outlined or contained",
                        "type": "string",
                        "enum": [
                          "contained",
                          "outlined"
                        ]
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type",
                      "id",
                      "val"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "func"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "short": {
                        "description": "no system.func.",
                        "type": "string"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "room"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "short": {
                        "description": "no system.room.",
                        "type": "string"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "user"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "short": {
                        "description": "no system.user.",
                        "type": "string"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "ip"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "listenOnAllPorts": {
                        "description": "Add 0.0.0.0 to option",
                        "type": "boolean"
                      },
                      "onlyIp4": {
                        "description": "Show only IP4 addresses",
                        "type": "boolean"
                      },
                      "onlyIp6": {
                        "description": "Show only IP6 addresses",
                        "type": "boolean"
                      },
                      "noInternal": {
                        "$ref": "#/$defs/noInternalProp"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "certificate"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "certType": {
                        "description": "Type of the certificate",
                        "type": "string",
                        "enum": [
                          "public",
                          "private",
                          "chained"
                        ]
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type",
                      "certType"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "certificates"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/certificatesProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "staticLink"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/staticLinkProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "staticText"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "text": {
                        "description": "Static text like description",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "$ref": "#/$defs/multilingual"
                          }
                        ]
                      },
                      "format": {
                        "description": "How the static text should be interpreted. Use `text` for plain text, `html` to render HTML, or `json` for displaying JSON (optionally with syntax highlighting).",
                        "type": "string",
                        "enum": [
                          "text",
                          "html",
                          "json"
                        ],
                        "default": "text"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "oneOf": [
                      {
                        "required": [
                          "text"
                        ]
                      },
                      {
                        "required": [
                          "label"
                        ]
                      }
                    ],
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "infoBox"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "text": {
                        "description": "Text to be shown",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "$ref": "#/$defs/multilingual"
                          }
                        ]
                      },
                      "title": {
                        "description": "Title of the info box",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "$ref": "#/$defs/multilingual"
                          }
                        ]
                      },
                      "boxType": {
                        "description": "Type of the box",
                        "type": "string",
                        "enum": [
                          "info",
                          "warning",
                          "error",
                          "ok"
                        ]
                      },
                      "closable": {
                        "description": "If the box is closeable",
                        "type": "boolean"
                      },
                      "closed": {
                        "description": "Use together with `closeable: true`. If the box is closed or not. In this case, it will be controlled from outside",
                        "type": "boolean"
                      },
                      "iconPosition": {
                        "description": "Position of the icon",
                        "type": "string",
                        "enum": [
                          "top",
                          "middle"
                        ]
                      },
                      "type": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "noTranslation": true,
                      "style": true,
                      "expertMode": true
                    },
                    "required": [
                      "type",
                      "text"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "staticInfo"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "label": true,
                      "type": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "tooltip": true,
                      "expertMode": true,
                      "noTranslation": true,
                      "data": {
                        "description": "Value to be shown",
                        "type": [
                          "object",
                          "string",
                          "number",
                          "boolean"
                        ]
                      },
                      "unit": {
                        "description": "Unit (could be multi-language)",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "$ref": "#/$defs/multilingual"
                          }
                        ]
                      },
                      "narrow": {
                        "description": "With this flag, the value will appear just after the label",
                        "type": "boolean"
                      },
                      "addColon": {
                        "description": "Add to label the colon at the end if not exist in label",
                        "type": "boolean"
                      },
                      "blinkOnUpdate": {
                        "description": "Value should blink when updated (true or color)",
                        "type": [
                          "boolean",
                          "string"
                        ]
                      },
                      "blink": {
                        "description": "Value should blink continuously (true or color)",
                        "type": [
                          "boolean",
                          "string"
                        ]
                      },
                      "styleLabel": {
                        "description": "React CSS Styles for label",
                        "type": "object"
                      },
                      "styleValue": {
                        "description": "React CSS Styles for value",
                        "type": "object"
                      },
                      "styleUnit": {
                        "description": "React CSS Styles for unit",
                        "type": "object"
                      },
                      "copyToClipboard": {
                        "description": "Show copy to clipboard button for value",
                        "type": "boolean"
                      },
                      "labelIcon": {
                        "description": "Base64 icon for label",
                        "type": "string"
                      },
                      "highlight": {
                        "description": "Highlight line on mouse over",
                        "type": "boolean"
                      },
                      "booleanAsCheckbox": {
                        "description": "Show boolean values as checkbox",
                        "type": "boolean"
                      },
                      "html": {
                        "description": "Show string values as HTML",
                        "type": "boolean"
                      },
                      "size": {
                        "description": "Font size",
                        "oneOf": [
                          {
                            "default": "normal",
                            "type": "string",
                            "enum": [
                              "small",
                              "normal",
                              "large"
                            ]
                          },
                          {
                            "type": "number"
                          }
                        ]
                      }
                    },
                    "required": [
                      "type",
                      "label",
                      "data"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "instance"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/instanceProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "staticImage"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "src": {
                        "description": "Name of picture (from admin directory)",
                        "type": "string"
                      },
                      "href": {
                        "description": "Link",
                        "type": "string"
                      },
                      "showInDialog": {
                        "description": "It will be shown small image, and by click on it the dialog will be opened with bigger image",
                        "type": "boolean"
                      },
                      "showInDialogButtonLabel": {
                        "description": "If showInDialog, the label for the button",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "$ref": "#/$defs/multilingual"
                          }
                        ]
                      },
                      "showInDialogSmallSize": {
                        "description": "If showInDialog, the size of small image (default 100px)",
                        "type": "number"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "chips"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "delimiter": {
                        "description": "Delimiter for options. If no delimiter, the setting will be stored as array",
                        "type": "string"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true
                    },
                    "required": [
                      "type"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "objectId"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/objectIdProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "oauth2"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/oauth2Props"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "checkLicense"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "uuid": {
                        "description": "If UUID must be checked too",
                        "type": "boolean"
                      },
                      "version": {
                        "description": "Check version",
                        "type": "boolean"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "style": true,
                      "darkStyle": true,
                      "noMultiEdit": true,
                      "noTranslation": true
                    },
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "checkDocker"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "hideVersion": {
                        "description": "If the information about docker version or error should be hidden (e.g. if used more than one such element on the page the error or version will be shown once",
                        "type": "boolean"
                      },
                      "label": true,
                      "type": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "style": true,
                      "darkStyle": true,
                      "helpLink": true,
                      "help": true,
                      "noTranslation": true
                    },
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "datePicker"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "style": true,
                      "darkStyle": true,
                      "noMultiEdit": true,
                      "noTranslation": true
                    },
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "timePicker"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/timePickerProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "uuid"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "style": true,
                      "darkStyle": true,
                      "noMultiEdit": true,
                      "noTranslation": true
                    },
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "coordinates"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/coordinatesProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "jsonEditor"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/jsonEditorProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "yamlEditor"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/yamlEditorProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "interface"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/interfaceProps"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "accordion"
                      }
                    }
                  },
                  "then": {
                    "properties": {
                      "titleAttr": {
                        "description": "Title shown on the accordion",
                        "type": "string"
                      },
                      "noDelete": {
                        "description": "If delete or add disabled, If noDelete is false, add, delete and move up/down should work",
                        "type": "boolean"
                      },
                      "clone": {
                        "description": "If clone button should be shown. If true, the clone button will be shown. If attribute name, this name will be unique.",
                        "type": "boolean"
                      },
                      "items": {
                        "$ref": "#/$defs/tableItems"
                      },
                      "label": true,
                      "type": true,
                      "defaultSendTo": true,
                      "allowSaveWithError": true,
                      "xs": true,
                      "sm": true,
                      "md": true,
                      "lg": true,
                      "xl": true,
                      "newLine": true,
                      "hidden": true,
                      "hideOnlyControl": true,
                      "disabled": true,
                      "helpLink": true,
                      "help": true,
                      "style": true,
                      "darkStyle": true,
                      "validator": true,
                      "validatorNoSaveOnError": true,
                      "validatorErrorText": true,
                      "noMultiEdit": true,
                      "tooltip": true,
                      "expertMode": true,
                      "default": true,
                      "defaultFunc": true,
                      "onChange": true,
                      "noTranslation": true,
                      "confirm": true,
                      "showSecondAddAt": true
                    },
                    "required": [
                      "type",
                      "items"
                    ],
                    "additionalProperties": false,
                    "type": "object"
                  }
                },
                {
                  "if": {
                    "properties": {
                      "type": {
                        "const": "state"
                      }
                    }
                  },
                  "then": {
                    "$ref": "#/$defs/stateProps"
                  }
                }
              ],
              "required": [
                "type"
              ],
              "properties": {
                "label": {
                  "oneOf": [
                    {
                      "description": "Label of tab",
                      "type": "string"
                    },
                    {
                      "$ref": "#/$defs/multilingual"
                    }
                  ]
                },
                "type": {
                  "$ref": "#/$defs/componentType"
                },
                "defaultSendTo": {
                  "description": "Command to request initial value from running instance",
                  "type": "string"
                },
                "allowSaveWithError": {
                  "description": "Allow saving of configuration even if the instance is offline. Used with defaultSendTo",
                  "type": "boolean"
                },
                "xs": {
                  "description": "width in 1/12 of screen on very small screens",
                  "type": "number"
                },
                "sm": {
                  "description": "Width in 1/12 of screen on small screen",
                  "type": "number"
                },
                "md": {
                  "description": "width in 1/12 of screen on middle screens",
                  "type": "number"
                },
                "lg": {
                  "description": "width in 1/12 of screen on large screens",
                  "type": "number"
                },
                "xl": {
                  "description": "width in 1/12 of screen on extra large screens",
                  "type": "number"
                },
                "newLine": {
                  "description": "Should be shown from new line",
                  "type": "boolean"
                },
                "hidden": {
                  "description": "JS function that could use 'native.attribute' for calculation",
                  "type": "string"
                },
                "hideOnlyControl": {
                  "description": "If hidden the place will be shown, but no control",
                  "type": "boolean"
                },
                "disabled": {
                  "description": "JS function that could use 'native.attribute' for calculation",
                  "type": "string"
                },
                "helpLink": {
                  "description": "href to help",
                  "type": "string"
                },
                "help": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "$ref": "#/$defs/multilingual"
                    }
                  ]
                },
                "style": {
                  "description": "CSS style in react notation: 'radiusBorder' and not 'radius-border'",
                  "type": "object"
                },
                "darkStyle": {
                  "description": "CSS style for dark mode in react notation: 'radiusBorder' and not 'radius-border'",
                  "type": "object"
                },
                "innerStyle": {
                  "description": "CSS style in react notation: 'radiusBorder' and not 'radius-border'",
                  "type": "object"
                },
                "validator": {
                  "description": "JS function: true no error, false - error",
                  "type": "string"
                },
                "validatorNoSaveOnError": {
                  "description": "True if save must be disabled by errors",
                  "type": "boolean"
                },
                "validatorErrorText": {
                  "type": "string",
                  "description": "Text to show if validator fails"
                },
                "showSecondAddAt": {
                  "description": "Number of lines from which the second add button at the bottom of the table will be shown. Default 5",
                  "type": "number"
                },
                "tooltip": {
                  "description": "Optional tooltip",
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "$ref": "#/$defs/multilingual"
                    }
                  ]
                },
                "default": {
                  "description": "Default value"
                },
                "onChange": {
                  "type": "object",
                  "properties": {
                    "calculateFunc": {
                      "description": "JS function: that calculates value",
                      "type": "string"
                    },
                    "ignoreOwnChanges": {
                      "description": "Do not trigger onChange event if changed value of this attribute",
                      "type": "boolean"
                    },
                    "alsoDependsOn": {
                      "$ref": "#/$defs/alsoDependsOnSendProp"
                    }
                  },
                  "additionalProperties": false
                },
                "doNotSave": {
                  "$ref": "#/$defs/doNotSaveProp"
                },
                "defaultFunc": {
                  "description": "JS function to calculate default value",
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "func": {
                          "description": "JS function: that calculates value",
                          "type": "string"
                        },
                        "alsoDependsOn": {
                          "$ref": "#/$defs/alsoDependsOnSendProp"
                        }
                      },
                      "additionalProperties": false
                    }
                  ]
                },
                "noTranslation": {
                  "description": "Do not translate selects or other options (not for help, label or placeholder)",
                  "type": "boolean"
                },
                "confirm": {
                  "description": "Confirm dialog",
                  "type": "object",
                  "properties": {
                    "condition": {
                      "description": "JS function: true show confirm dialog",
                      "type": "string"
                    },
                    "text": {
                      "description": "Text of confirmation dialog",
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/multilingual"
                        }
                      ]
                    },
                    "title": {
                      "description": "Title of confirmation dialog",
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/multilingual"
                        }
                      ]
                    },
                    "ok": {
                      "description": "Text for 'OK' button",
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/multilingual"
                        }
                      ]
                    },
                    "cancel": {
                      "description": "Text for 'cancel' button",
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "$ref": "#/$defs/multilingual"
                        }
                      ]
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "info",
                        "warning",
                        "error",
                        "none"
                      ]
                    },
                    "alsoDependsOn": {
                      "description": "Trigger confirm dialog if on of the components changed.",
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "noMultiEdit": {
                  "description": "(only custom) if this flag set to true, this field will not be shown if user selected more than one object for edit",
                  "type": "boolean"
                },
                "expertMode": {
                  "description": "If this flag set to true, this field will be shown only if the expert mode is true",
                  "type": "boolean"
                },
                "maxLength": {
                  "description": "max length of text in field",
                  "type": "number"
                },
                "button": {
                  "description": "show link as button",
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    }
  },
  "if": {
    "properties": {
      "type": {
        "const": "tabs"
      }
    }
  },
  "then": {
    "type": "object",
    "required": [
      "type"
    ],
    "allOf": [
      {
        "$ref": "#/$defs/topLevelProperties"
      },
      {
        "properties": {
          "iconPosition": {
            "$ref": "#/$defs/iconPositionProp"
          },
          "tabsStyle": {
            "description": "CSS styles in ReactJS notation: 'radiusBorder' and not 'radius-border'",
            "type": "object"
          }
        }
      }
    ],
    "properties": {
      "type": true,
      "$schema": true,
      "i18n": true,
      "items": true,
      "iconPosition": true,
      "tabsStyle": true
    },
    "additionalProperties": false
  }
}
