{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "https://paellaplayer.upv.es/schema/v1/button-plugin.schema.json",
    "title": "paella-core button plugin settings",
    "description": "Common configuration options for paella-core button plugins.",
    "type": "object",
    "properties": {
        "enabled": {
            "description": "Defines whether the plugin is active or not.",
            "type": "boolean",
            "default": false
        },
        "order": {
            "description": "Within each plugin type, the loading order is defined by the 'order' attribute. The lower the order attribute is, the sooner the plugin will be loaded.",
            "type": "number",
            "default": 0
        },
        "id": {
            "description": "Returns the value of the 'id' attribute that the '<button>' element of the plugin will have.",
            "type": "string"
        },
        "name": {
            "description": "Returns the value of the 'name' attribute that the '<button>' element of the plugin will have.",
            "type": "string"
        },
        "ariaLabel": {
            "description": "Defines the text used in the 'aria-label' attribute of the button.",
            "type": "string"
        },
        "tabIndex": {
            "description": "Defines the tab index to be used for scrolling through the buttons using the tab key",
            "type": "number"
        },
        "description": {
            "description": "Descriptive text of the button, which can be displayed at different times depending on the paella-core configuration.",
            "type": "string"
        },
        "minContainerSize": {
            "description": "paella-core >= 1.14. is used to set a minimum required size of the playback bar to show the button plugin",
            "type": "number",
            "default": 0
        },
        "side": {
            "description": "Affects the side on the horizontal axis that the button is placed. It only affects iun case the 'parentContainer' is the playback or the video container.",
            "type": "string",
            "enum": [
                "left",
                "right"
            ]
        },
        "closePopUps": {
            "description": "Indicates whether to close any pop-up that is currently open when the button is clicked.",
            "type": "boolean",
            "default": true
        },
        "parentContainer": {
            "description": "Allows to select the parent container that contains the button. You can use the 'playbackBar' or the 'videoContainer' containers, or any other container defined by a ButtonGroupPluin in the 'groupName' property",
            "type": "string",
            "default": "playbackBar"
        }
    }
}
