{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "required": [
        "list"
    ],
    "properties": {
        "list": {
            "type": "object",
            "description": "Display a selectable list of widgets and activities received through a resource.",
            "required": [
                "resource"
            ],
            "properties": {
                "title": {
                    "default": {
                        "htmlLabel": "Widgets"
                    },
                    "type": "object",
                    "properties": {
                        "htmlLabel": {
                            "type": "string",
                            "description": "Title for the selectable list."
                        }
                    }
                },
                "resource": {
                    "type": "string",
                    "format": "topic",
                    "axRole": "inlet",
                    "description": "The topic of the resource with the list."
                }
            }
        },
        "select": {
            "type": "object",
            "description": "Select a widget from the list and publish resources with data of the selected widget.",
            "required": [
                "parameter"
            ],
            "properties": {
                "parameter": {
                    "type": "string",
                    "format": "topic",
                    "description": "The place parameter for the flow definition."
                },
                "parameterList": {
                    "type": "array",
                    "description": "A list with place parameters which are overwritten with an empty string.",
                    "default": [],
                    "items": {
                        "type": "string",
                        "format": "topic",
                        "description": "A place parameter to reset."
                    }
                },
                "information": {
                    "type": "object",
                    "properties": {
                        "resource": {
                            "type": "string",
                            "format": "topic",
                            "axRole": "outlet",
                            "description": "The topic of the resource with the widget.json content."
                        }
                    }
                },
                "package": {
                    "type": "object",
                    "properties": {
                        "resource": {
                            "type": "string",
                            "format": "topic",
                            "axRole": "outlet",
                            "description": "The topic of the resource with the package.json content."
                        }
                    }
                },
                "documentation": {
                    "type": "object",
                    "properties": {
                        "resource": {
                            "type": "string",
                            "format": "topic",
                            "axRole": "outlet",
                            "description": "The topic of the resource with the documentation markdown url."
                        }
                    }
                },
                "testRunner": {
                    "type": "object",
                    "properties": {
                        "resource": {
                            "type": "string",
                            "format": "topic",
                            "axRole": "outlet",
                            "description": "The topic of the resource with the url to the test runner."
                        }
                    }
                }
            }
        }
    }
}