{
    "copyright": "Licensed Materials - Property of IBM. IBM Cognos Products: BI Cloud (C) Copyright IBM Corp. 2018. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.",
    "$id": "schemaDefs.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Definitions",
    "definitions": {
        "id": {
            "type": "string"
        },
        "modelId": {
            "type": "string"
        },
        "queryId": {
            "type": "string"
        },
        "name": {
            "type": ["string", "null"]
        },
        "theme": {
            "oneOf": [{
                "enum": ["carbonGrey10", "carbonGrey100"]
            }, {
                "type": "string"
            }]
        },
        "type": {
            "type": "string",
            "enum": ["templateDropZone", "scalingAbsolute", "container", "uploadedFile", "theme"]
        },
        "style": {
            "height": { "type": "string" },
            "width": { "type": "string" },
            "left": { "type": "string" },
            "top": { "type": "string" },
            "transform": { "type": "string" },
            "-webkit-transform": { "type": "string" }
        },
        "assetId": {
            "type": "string",
            "pattern": "^i[0-9,A-F]"
        },
        "strArray": {
            "type": "array",
            "items": {
                "type": "string"
            }
        },
        "uniqueId": {
            "type": "string",
            "pattern": "[0-9,a-f,-]*"

        },
        "layoutItem": {
            "type": "object",
            "properties": {
                "id": { "$ref": "#/definitions/id" },
                "style": { "$ref": "#/definitions/style" },
                "type": { "$ref": "#/definitions/layoutType" },
                "relatedLayouts": { "type": "string" },
                "items": { "$ref": "#/definitions/layoutItems" },
                "css": { "type": "string" },
                "title": { "type": "string" },
                "templateName": { "type": "string" }
            },
            "required": [ "id", "type" ]
        },
        "layoutItems": {
            "type": "array",
            "minItems": 0,
            "items": { "$ref": "#/definitions/layoutItem" }
        },
        "layoutType": {
            "type": "string",
            "enum": ["tab", "absolute", "widget", "group"]
        }
    }
}
