{
  "$ref": "#/definitions/Component",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "definitions": {
    "Component": {
      "additionalProperties": false,
      "properties": {
        "buttons": {
          "items": {
            "$ref": "#/definitions/TToastButton"
          },
          "type": "array"
        },
        "content": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "img": {
          "type": "string"
        },
        "level": {
          "enum": [
            "info",
            "success",
            "warning",
            "danger",
            "primary",
            "secondary",
            "light",
            "dark"
          ],
          "type": "string"
        },
        "position": {
          "enum": [
            "top-left",
            "top-center",
            "top-right",
            "bottom-left",
            "bottom-center",
            "bottom-right"
          ],
          "type": "string"
        },
        "progress": {
          "type": "string"
        },
        "show": {
          "enum": [
            "yes",
            "no"
          ],
          "type": "string"
        },
        "small": {
          "type": "string"
        },
        "style": {
          "type": "string"
        },
        "timeout": {
          "type": [
            "string",
            "number"
          ]
        },
        "title": {
          "type": "string"
        }
      },
      "required": [
        "show",
        "title",
        "img",
        "content"
      ],
      "type": "object"
    },
    "TToastButton": {
      "additionalProperties": false,
      "properties": {
        "action": {
          "type": "string"
        },
        "color": {
          "type": "string"
        },
        "icon": {
          "type": "string"
        },
        "text": {
          "type": "string"
        },
        "themeColor": {
          "enum": [
            "info",
            "success",
            "warning",
            "danger",
            "primary",
            "secondary",
            "light",
            "dark"
          ],
          "type": "string"
        },
        "type": {
          "enum": [
            "confirm",
            "cancel"
          ],
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  }
}
