{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$id": "https://schemas.acrobits.net/core/styles/button.json",
    "title": "Styling for a button",
    "$defs": {
    },
    "type": "object",
    "properties": {
        "labels": {
            "type": "object",
            "properties": {
                "normal": {
                    "$ref": "https://schemas.acrobits.net/core/requests/translation.json"
                },
                "active": {
                    "$ref": "https://schemas.acrobits.net/core/requests/translation.json"
                }
            },
            "required": [
                "normal"
            ],
            "additionalProperties": false
        },
        "icons": {
            "type": "object",
            "properties" :{
                "normal": {
                    "$ref": "https://schemas.acrobits.net/core/requests/asset.json"
                },
                "hover": {
                    "$ref": "https://schemas.acrobits.net/core/requests/asset.json"
                },
                "pressed": {
                    "$ref": "https://schemas.acrobits.net/core/requests/asset.json"
                },
                "active": {
                    "$ref": "https://schemas.acrobits.net/core/requests/asset.json"
                },
                "disabled": {
                    "$ref": "https://schemas.acrobits.net/core/requests/asset.json"
                }
            },
            "required": [
                "normal"
            ],
            "additionalProperties": false
        },
        "tooltip": {
            "$ref": "https://schemas.acrobits.net/core/requests/translation.json"
        },
        "badge": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "channel": { 
                        "type": "string"
                    },
                    "subChannel": {
                        "type": "string"
                    }
                },
                "required": [
                    "channel"
                ],
                "additionalProperties": false
            }
        }
    },
    "required": [
        "labels",
        "tooltip"
    ],
    "additionalProperties": false
}