{
  "$ref": "#/definitions/Component",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "Component": {
      "additionalProperties": false,
      "properties": {
        "companylogouri": {
          "type": "string"
        },
        "companytitle": {
          "type": "string"
        },
        "enablefooter": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "const": "yes",
              "type": "string"
            },
            {
              "const": "no",
              "type": "string"
            },
            {
              "const": "false",
              "type": "string"
            },
            {
              "type": "null"
            },
            {
              "const": "",
              "type": "string"
            }
          ],
          "description": "Passed through to hb-sidebar-desktop (`yes` shows footer chrome and slot)."
        },
        "enablethemeswitch": {
          "enum": [
            "yes",
            "no",
            null,
            ""
          ],
          "type": [
            "string",
            "null"
          ]
        },
        "groups": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              }
            },
            "required": [
              "key",
              "label"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "i18nlang": {
          "type": [
            "string",
            "null"
          ]
        },
        "i18nlanguages": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/definitions/I18nLanguageOption"
              },
              "type": "array"
            },
            {
              "type": "string"
            },
            {
              "type": "null"
            },
            {
              "const": "",
              "type": "string"
            }
          ]
        },
        "id": {
          "type": "string"
        },
        "navlinks": {
          "items": {
            "$ref": "#/definitions/INavLink"
          },
          "type": "array"
        },
        "navpage": {
          "type": "string"
        },
        "opened": {
          "type": "boolean"
        },
        "style": {
          "type": "string"
        },
        "themepreference": {
          "anyOf": [
            {
              "$ref": "#/definitions/ThemePreference"
            },
            {
              "type": "null"
            },
            {
              "const": "",
              "type": "string"
            }
          ]
        },
        "type": {
          "enum": [
            "open",
            "autohide",
            "small"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "I18nLanguageOption": {
      "additionalProperties": false,
      "description": "Entry for the sidebar language menu (from `hb-layout` → layouts → sidebar).",
      "properties": {
        "code": {
          "type": "string"
        },
        "label": {
          "type": "string"
        }
      },
      "required": [
        "code",
        "label"
      ],
      "type": "object"
    },
    "INavLink": {
      "additionalProperties": false,
      "properties": {
        "active": {
          "type": "boolean"
        },
        "badge": {
          "additionalProperties": false,
          "properties": {
            "class": {
              "type": "string"
            },
            "classcolor": {
              "type": "string"
            },
            "text": {
              "type": "string"
            }
          },
          "required": [
            "text"
          ],
          "type": "object"
        },
        "group": {
          "type": "string"
        },
        "icon": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "label": {
          "type": "string"
        },
        "open": {
          "type": "boolean"
        },
        "subLinks": {
          "items": {
            "$ref": "#/definitions/INavLink"
          },
          "type": "array"
        }
      },
      "required": [
        "key",
        "label"
      ],
      "type": "object"
    },
    "ThemePreference": {
      "enum": [
        "light",
        "dark",
        "auto"
      ],
      "type": "string"
    }
  }
}
