{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "required": [
        "medium"
    ],
    "properties": {
        "medium": {
            "type": "object",
            "description": "Identifies which media content to display.",
            "required": [
                "resource"
            ],
            "properties": {
                "resource": {
                    "type": "string",
                    "format": "topic",
                    "axRole": "inlet",
                    "description": "A resource topic under which a document resource can be obtained."
                },
                "showTitle": {
                    "type": "boolean",
                    "description": "If available, show a title above the media content.",
                    "default": false
                },
                "showCaption": {
                    "type": "boolean",
                    "description": "If available, show a caption below the media content.",
                    "default": false
                },
                "onActions": {
                    "type": "array",
                    "description": "List of actions, any of which triggers loading media content. If omitted, content is loaded immediately.",
                    "items": {
                        "type": "string",
                        "format": "topic",
                        "axRole": "inlet",
                        "description": "An action that triggers loading media content."
                    }
                }
            },
            "additionalProperties": false
        },
        "layout": {
            "type": "object",
            "description": "Tells how the display size is calculated.",
            "properties": {
                "sizeToContent": {
                    "type": "boolean",
                    "description": "If true, the media content determines the rendering size (container otherwise).",
                    "default": false
                }
            },
            "additionalProperties": false
        },
        "fallback": {
            "type": "object",
            "description": "Allow to open content in a new browser-window on specific platforms.",
            "properties": {
                "i18nHtmlText": {
                    "type": [
                        "string",
                        "object"
                    ],
                    "description": "Text to display on the fallback-link.",
                    "default": {
                        "en": "Please click here to display the document!",
                        "de": "Bitte klicken, um das Dokument anzuzeigen!"
                    }
                }
            }
        },
        "integration": {
            "type": "object",
            "description": "Allow to integrate with embedded websites (applicable to website mime-types only).",
            "properties": {
                "name": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "description": "The window.name that is visible to any embedded website.",
                    "default": null
                }
            },
            "additionalProperties": false
        },
        "i18n": {
            "description": "Which locale to use for displaying this widget.",
            "type": "object",
            "properties": {
                "locale": {
                    "type": "string",
                    "format": "topic",
                    "axRole": "inlet",
                    "description": "The topic under which to expect the locale for this widget.",
                    "default": "default"
                }
            }
        }
    }
}