{
    "description": {
        "author": "Salesforce",
        "text": [
            "Component that displays a home screen with various sections including a logo, header, tabs, chat input, carousel, and recent items.",
            "Selector: setup-agentic-setup-home"
        ]
    },
    "selector": {
        "css": "setup-agentic-setup-home"
    },
    "root": true,
    "beforeLoad": [
        {
            "apply": "waitFor",
            "args": [
                {
                    "type": "function",
                    "predicate": [
                        {
                            "element": "root",
                            "apply": "isPresent"
                        }
                    ]
                }
            ]
        }
    ],
    "shadow": {
        "elements": [
            {
                "name": "chatMessageContext",
                "selector": {
                    "css": "setup-agentic-chat-message-context"
                },
                "type": "utam-setup/pageObjects/agenticChatMessageContext",
                "description": "Represents the root context for the chat message functionality.",
                "public": true,
                "elements": [
                    {
                        "name": "flexBox",
                        "selector": {
                            "css": ".flex-box"
                        },
                        "description": "Represents the main container for the home screen layout.",
                        "elements": [
                            {
                                "name": "spinnerOverlay",
                                "selector": {
                                    "css": ".spinner-overlay"
                                },
                                "description": "Represents the overlay containing the loading spinner",
                                "nullable": true,
                                "wait": true,
                                "elements": [
                                    {
                                        "name": "loadingSpinner",
                                        "selector": {
                                            "css": "lightning-spinner"
                                        },
                                        "type": "utam-lightning/pageObjects/spinner",
                                        "description": "Represents the loading spinner",
                                        "public": true,
                                        "wait": true
                                    }
                                ]
                            },
                            {
                                "name": "setupLogo",
                                "selector": {
                                    "css": "setup-agentic-setup-logo.logo"
                                },
                                "type": "utam-setup/pageObjects/agenticSetupLogo",
                                "description": "Represents the setup logo component",
                                "public": true
                            },
                            {
                                "name": "chatHeader",
                                "selector": {
                                    "css": "setup-agentic-setup-chat-header.topic"
                                },
                                "type": "utam-setup/pageObjects/agenticSetupChatHeader",
                                "description": "Represents the chat header when beta features are enabled.",
                                "nullable": true,
                                "public": true
                            },
                            {
                                "name": "pageHeader",
                                "selector": {
                                    "css": "setup-agentic-setup-page-header.topic"
                                },
                                "type": "utam-setup/pageObjects/agenticSetupPageHeader",
                                "description": "Represents the page header component",
                                "public": true
                            },
                            {
                                "name": "tabsContainer",
                                "selector": {
                                    "css": ".tabs-container"
                                },
                                "description": "Represents the container for tabs or panels.",
                                "elements": [
                                    {
                                        "name": "drillInContainer",
                                        "selector": {
                                            "css": "setup-agentic-setup-drill-in-container.slds-grow"
                                        },
                                        "type": "utam-setup/pageObjects/agenticSetupDrillInContainer",
                                        "description": "Represents the container for drill-in functionality when beta features are enabled.",
                                        "nullable": true,
                                        "wait": true,
                                        "public": true
                                    },
                                    {
                                        "name": "componentPanel",
                                        "selector": {
                                            "css": "setup-agentic-setup-component-panel.slds-grow"
                                        },
                                        "type": "utam-setup/pageObjects/agenticSetupComponentPanel",
                                        "description": "Represents the component panel",
                                        "nullable": true,
                                        "wait": true,
                                        "public": true
                                    }
                                ]
                            },
                            {
                                "name": "chatContainer",
                                "selector": {
                                    "css": ".chat-container"
                                },
                                "description": "Represents the container for chat input or shell",
                                "nullable": true,
                                "elements": [
                                    {
                                        "name": "pillsContainer",
                                        "selector": {
                                            "css": ".pills"
                                        },
                                        "description": "Represents the container for pills in the chat area.",
                                        "nullable": true,
                                        "elements": [
                                            {
                                                "name": "utterancePills",
                                                "selector": {
                                                    "css": "setup-agentic-setup-pills"
                                                },
                                                "type": "utam-setup/pageObjects/agenticSetupPills",
                                                "description": "Represents the utterance pills for selecting predefined messages.",
                                                "public": true
                                            }
                                        ]
                                    },
                                    {
                                        "description": "Represents the runtime_copilot-agentic-shell component for chat.",
                                        "name": "agenticShell",
                                        "selector": {
                                            "css": "runtime_copilot-agentic-shell"
                                        },
                                        "shadow": {
                                            "elements": [
                                                {
                                                    "name": "agenticSetupBroker",
                                                    "selector": {
                                                        "css": "setup-agentic-setup-broker"
                                                    },
                                                    "type": "utam-setup/pageObjects/agenticSetupBroker",
                                                    "description": "Represents the message input component for chat.",
                                                    "nullable": true,
                                                    "public": true,
                                                    "wait": true
                                                }
                                            ]
                                        }
                                    },
                                    {
                                        "name": "errorComponent",
                                        "selector": {
                                            "css": "setup-agentic-setup-error"
                                        },
                                        "type": "utam-setup/pageObjects/agenticSetupError",
                                        "description": "Represents the error component displayed when the chat tab ID is invalid.",
                                        "nullable": true,
                                        "public": true
                                    }
                                ]
                            },
                            {
                                "name": "systemHealthCards",
                                "public": true,
                                "selector": {
                                    "css": "agentic_system_health-setup-cards-container"
                                }
                            },
                            {
                                "name": "lightningCard",
                                "type": "utam-lightning/pageObjects/card",
                                "selector": {
                                    "css": "lightning-card"
                                },
                                "public": true,
                                "nullable": true
                            },
                            {
                                "name": "recentItemsSection",
                                "selector": {
                                    "css": ".onesetupRecentItems.enhancedSetupHome"
                                },
                                "description": "Represents the Recent Items section on Enhanced Setup Home",
                                "public": true,
                                "nullable": true
                            }
                        ]
                    }
                ]
            }
        ]
    },
    "methods": [
        {
            "name": "isFlexBoxVisible",
            "description": {
                "text": [
                    "Check that the flexBox container is present and visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "flexBox",
                    "apply": "isVisible"
                }
            ]
        },
        {
            "name": "isSpinnerOverlayVisible",
            "description": {
                "text": [
                    "Check if spinner overlay is present and visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "spinnerOverlay",
                    "apply": "isVisible"
                }
            ]
        },
        {
            "name": "isTabsContainerVisible",
            "description": {
                "text": [
                    "Check that the tabs container is present and visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "tabsContainer",
                    "apply": "isVisible"
                }
            ]
        },
        {
            "name": "isChatContainerVisible",
            "description": {
                "text": [
                    "Check if chat container is present and visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "chatContainer",
                    "apply": "isVisible"
                }
            ]
        },
        {
            "name": "verifySpinnerOverlayPresence",
            "description": {
                "text": [
                    "Returns true if element \"spinnerOverlay\" present on the page"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "spinnerOverlay",
                    "matcher": {
                        "type": "notNull"
                    }
                }
            ]
        },
        {
            "name": "verifyChatContainerPresence",
            "description": {
                "text": [
                    "Returns true if element \"chatContainer\" present on the page"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "chatContainer",
                    "matcher": {
                        "type": "notNull"
                    }
                }
            ]
        },
        {
            "name": "isRecentItemsVisible",
            "description": {
                "text": [
                    "Check if the Recent Items section is visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "recentItemsSection",
                    "apply": "isVisible"
                }
            ]
        },
        {
            "name": "isSplitViewTogglePresent",
            "description": {
                "text": [
                    "Check if the Setup split view toggle exists in the page layout"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "document",
                    "returnType": "boolean",
                    "apply": "containsElement",
                    "args": [
                        {
                            "type": "locator",
                            "value": {
                                "css": ".navexSplitViewWrapper .splitview-toggle"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "isCreateMenuPresent",
            "description": {
                "text": [
                    "Check if the Setup home create menu exists in the page layout"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "document",
                    "returnType": "boolean",
                    "apply": "containsElement",
                    "args": [
                        {
                            "type": "locator",
                            "value": {
                                "css": ".onesetupCreateMenu"
                            }
                        }
                    ]
                }
            ]
        },
        {
            "name": "isFloatingButtonPresent",
            "description": {
                "text": [
                    "Check if the Agentic floating button exists in the page layout"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "document",
                    "returnType": "boolean",
                    "apply": "containsElement",
                    "args": [
                        {
                            "type": "locator",
                            "value": {
                                "css": "setup-agentic-setup-floating-button"
                            }
                        }
                    ]
                }
            ]
        }
    ]
}