{
    "title": "InputData",
    "description": "A transient toast / notification widget. The backend publishes rows into a data-backend table; bind the message and severity columns of that table to this widget, and each newly published row pops up a short-lived toast inside the widget tile. Use it to surface live success / error / info / warning events on a dashboard. The message text and severity are data-driven (they reflect the latest published row), while the display time, position within the tile, stacking limit and styling are static configuration.",
    "type": "object",
    "properties": {
        "message": {
            "title": "Message",
            "description": "The notification text shown in the toast. Bind this to the message column of your data-backend table. Each newly published value triggers one toast. Empty values are ignored and line breaks are preserved.",
            "order": 1,
            "type": "string"
        },
        "type": {
            "title": "Severity",
            "description": "The severity of the toast, controlling its accent color and icon. Bind this to a column producing one of: success, error, info, warning. Defaults to 'info' when missing or unrecognized.",
            "order": 2,
            "type": "string",
            "enum": ["success", "error", "info", "warning"],
            "default": "info"
        },
        "displayTime": {
            "title": "Display Time (ms)",
            "description": "How long each toast stays visible before auto-dismissing, in milliseconds. Set to 0 to keep toasts until they are manually closed (the close button is forced on in that case). Defaults to 4000.",
            "order": 3,
            "dataDrivenDisabled": true,
            "type": "number",
            "default": 4000
        },
        "position": {
            "title": "Position",
            "description": "Where the toast stack is anchored inside the widget tile. Defaults to 'top-right'.",
            "order": 4,
            "dataDrivenDisabled": true,
            "type": "string",
            "enum": [
                "top-right",
                "top-left",
                "top-center",
                "bottom-right",
                "bottom-left",
                "bottom-center"
            ],
            "default": "top-right"
        },
        "maxVisible": {
            "title": "Max Visible",
            "description": "Maximum number of toasts shown at once. When exceeded, the oldest toast is dismissed to make room. Defaults to 3.",
            "order": 5,
            "dataDrivenDisabled": true,
            "type": "number",
            "default": 3
        },
        "showIcon": {
            "title": "Show Icon",
            "description": "Show the severity icon (check / cross / info / warning) on the left of each toast. Defaults to true.",
            "order": 6,
            "dataDrivenDisabled": true,
            "type": "boolean",
            "default": true
        },
        "showCloseButton": {
            "title": "Show Close Button",
            "description": "Show a close (x) button on each toast so it can be dismissed manually. Always shown when Display Time is 0. Defaults to true.",
            "order": 7,
            "dataDrivenDisabled": true,
            "type": "boolean",
            "default": true
        },
        "successColor": {
            "title": "Success Color",
            "description": "Optional override for the accent color of success toasts (e.g. '#2e7d32'). If empty, a built-in green is used.",
            "order": 8,
            "dataDrivenDisabled": true,
            "type": "color"
        },
        "errorColor": {
            "title": "Error Color",
            "description": "Optional override for the accent color of error toasts (e.g. '#c62828'). If empty, a built-in red is used.",
            "order": 9,
            "dataDrivenDisabled": true,
            "type": "color"
        },
        "infoColor": {
            "title": "Info Color",
            "description": "Optional override for the accent color of info toasts (e.g. '#1565c0'). If empty, a built-in blue is used.",
            "order": 10,
            "dataDrivenDisabled": true,
            "type": "color"
        },
        "warningColor": {
            "title": "Warning Color",
            "description": "Optional override for the accent color of warning toasts (e.g. '#ed6c02'). If empty, a built-in amber is used.",
            "order": 11,
            "dataDrivenDisabled": true,
            "type": "color"
        }
    }
}
