{
    "description": {
        "author": "Salesforce",
        "text": [
            "Component that displays a floating button which can be dragged and clicked to open a side panel.",
            "Selector: setup-agentic-setup-floating-button"
        ]
    },
    "shadow": {
        "elements": [
            {
                "name": "floatingButtonContainer",
                "selector": {
                    "css": ".floating-button-container"
                },
                "description": "Represents the container for the floating button",
                "elements": [
                    {
                        "name": "floatingButton",
                        "selector": {
                            "css": "button.agentic-button"
                        },
                        "type": [
                            "actionable",
                            "clickable",
                            "draggable"
                        ],
                        "description": "Represents the floating button that can be clicked and dragged",
                        "nullable": true,
                        "elements": [
                            {
                                "name": "dragIcon",
                                "selector": {
                                    "css": "lightning-icon.drag-icon"
                                },
                                "type": "utam-lightning/pageObjects/icon",
                                "description": "Represents the drag icon within the floating button",
                                "public": true
                            },
                            {
                                "name": "buttonLabel",
                                "selector": {
                                    "css": "span"
                                },
                                "description": "Represents the label text within the floating button"
                            },
                            {
                                "name": "agenticIcon",
                                "selector": {
                                    "css": "lightning-icon.agentic-icon"
                                },
                                "type": "utam-lightning/pageObjects/icon",
                                "description": "Represents the agentic icon within the floating button",
                                "public": true
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "methods": [
        {
            "name": "isFloatingButtonContainerVisible",
            "description": {
                "text": [
                    "Check that floating button container is present and visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "floatingButtonContainer",
                    "apply": "isVisible"
                }
            ]
        },
        {
            "name": "clickFloatingButton",
            "description": {
                "text": [
                    "Click the floating button"
                ]
            },
            "compose": [
                {
                    "element": "floatingButton",
                    "apply": "click"
                }
            ]
        },
        {
            "name": "isFloatingButtonVisible",
            "description": {
                "text": [
                    "Check that floating button is present and visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "floatingButton",
                    "apply": "isVisible"
                }
            ]
        },
        {
            "name": "getButtonLabelText",
            "description": {
                "text": [
                    "Get text from the button label"
                ],
                "return": "string"
            },
            "compose": [
                {
                    "element": "buttonLabel",
                    "apply": "getText"
                }
            ]
        },
        {
            "name": "verifyFloatingButtonPresence",
            "description": {
                "text": [
                    "Returns true if element \"floatingButton\" present on the page"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "floatingButton",
                    "matcher": {
                        "type": "notNull"
                    }
                }
            ]
        }
    ]
}