{
    "description": {
        "author": "Salesforce",
        "text": [
            "Standardized card container for agentic setup components with header, actions, optional error state and loader.",
            "Selector: setup-agentic-card"
        ]
    },
    "shadow": {
        "elements": [
            {
                "name": "errorCard",
                "selector": {
                    "css": "lightning-card.agentic-card-error"
                },
                "type": "utam-lightning/pageObjects/card",
                "description": "Card shown when there is an error with a title",
                "nullable": true,
                "public": true,
                "elements": [
                    {
                        "name": "errorNotification",
                        "selector": {
                            "css": "setup-agentic-error-notification"
                        },
                        "type": "utam-setup/pageObjects/agenticSetupError",
                        "description": "Error notification content inside the error card",
                        "public": true
                    }
                ]
            },
            {
                "name": "standaloneErrorNotification",
                "selector": {
                    "css": "setup-agentic-card > setup-agentic-error-notification"
                },
                "type": "utam-setup/pageObjects/agenticSetupError",
                "description": "Error notification when there is no error title (no card wrapper)",
                "nullable": true,
                "public": true
            },
            {
                "name": "mainCard",
                "selector": {
                    "css": "lightning-card"
                },
                "type": "utam-lightning/pageObjects/card",
                "description": "Main content card with header, slot content and optional footer",
                "nullable": true,
                "public": true,
                "elements": [
                    {
                        "name": "header",
                        "selector": {
                            "css": ".agentic-card-header"
                        },
                        "description": "Header section with title, link and actions",
                        "nullable": true,
                        "elements": [
                            {
                                "name": "headerMain",
                                "selector": {
                                    "css": ".header-main"
                                },
                                "description": "Main header container with title and actions",
                                "elements": [
                                    {
                                        "name": "headerTitleContainer",
                                        "selector": {
                                            "css": ".header-title"
                                        },
                                        "description": "Container for header title and link",
                                        "nullable": true,
                                        "elements": [
                                            {
                                                "name": "headerTitle",
                                                "selector": {
                                                    "css": "h2.slds-truncate"
                                                },
                                                "description": "Header title text",
                                                "nullable": true
                                            }
                                        ]
                                    },
                                    {
                                        "name": "actionsContainer",
                                        "selector": {
                                            "css": ".actions-container"
                                        },
                                        "description": "Container for badge, buttons and toggle",
                                        "elements": [
                                            {
                                                "name": "badge",
                                                "selector": {
                                                    "css": "lightning-badge"
                                                },
                                                "type": "utam-lightning/pageObjects/badge",
                                                "description": "Single status badge in header (only one shown at a time: draft, saved, or error)",
                                                "nullable": true,
                                                "public": true
                                            },
                                            {
                                                "name": "badgeByClass",
                                                "selector": {
                                                    "css": "lightning-badge.%s",
                                                    "args": [
                                                        {
                                                            "name": "badgeClass",
                                                            "type": "string"
                                                        }
                                                    ]
                                                },
                                                "type": "utam-lightning/pageObjects/badge",
                                                "description": "Badge by CSS class (e.g. 'slds-theme_info' draft, 'slds-theme_success' saved, 'slds-theme_error' error)",
                                                "nullable": true,
                                                "public": true
                                            },
                                            {
                                                "name": "buttonMenu",
                                                "selector": {
                                                    "css": "lightning-button-menu"
                                                },
                                                "type": "utam-lightning/pageObjects/buttonMenu",
                                                "description": "Button menu for actions",
                                                "nullable": true,
                                                "public": true
                                            },
                                            {
                                                "name": "expandableRenditionToggle",
                                                "selector": {
                                                    "css": "setup-expandable-rendition-toggle"
                                                },
                                                "type": "utam-setup/pageObjects/expandableRenditionToggle",
                                                "description": "Toggle for expandable rendition",
                                                "nullable": true,
                                                "public": true
                                            },
                                            {
                                                "name": "actionButton",
                                                "selector": {
                                                    "css": "lightning-button[data-key='%s']",
                                                    "args": [
                                                        {
                                                            "name": "buttonKey",
                                                            "type": "string"
                                                        }
                                                    ]
                                                },
                                                "type": "utam-lightning/pageObjects/button",
                                                "description": "Action button by data-key (e.g. Edit button with key 'edit')",
                                                "nullable": true,
                                                "public": true
                                            },
                                            {
                                                "name": "actionButtonIcon",
                                                "selector": {
                                                    "css": "lightning-button-icon[data-key='%s']",
                                                    "args": [
                                                        {
                                                            "name": "buttonKey",
                                                            "type": "string"
                                                        }
                                                    ]
                                                },
                                                "type": "utam-lightning/pageObjects/buttonIcon",
                                                "description": "Action button icon by data-key",
                                                "nullable": true,
                                                "public": true
                                            },
                                            {
                                                "name": "actionButtons",
                                                "selector": {
                                                    "css": "lightning-button",
                                                    "returnAll": true
                                                },
                                                "type": "utam-lightning/pageObjects/button",
                                                "description": "All action buttons in the header (when not using button menu)",
                                                "nullable": true,
                                                "public": true
                                            }
                                        ]
                                    }
                                ]
                            },
                            {
                                "name": "headerStatus",
                                "selector": {
                                    "css": ".header-status"
                                },
                                "description": "Status text in header",
                                "nullable": true,
                                "elements": [
                                    {
                                        "name": "statusText",
                                        "selector": {
                                            "css": "span[role='status']"
                                        },
                                        "description": "Status text content",
                                        "nullable": true
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "name": "slotContent",
                        "selector": {
                            "css": ".slot-content"
                        },
                        "type": "container",
                        "description": "Generic default slot wrapper. Use getSlotContent() to read or scope; consumers define typed slot content (e.g. setup-record-form) in their own page object under the card.",
                        "nullable": true,
                        "public": true
                    },
                    {
                        "name": "defaultSlotContent",
                        "selector": {
                            "css": ".slot-content > *"
                        },
                        "type": "container",
                        "description": "First node in the default slot (generic container for any slotted content)",
                        "nullable": true,
                        "public": true
                    },
                    {
                        "name": "footerContainer",
                        "selector": {
                            "css": "[slot='footer']"
                        },
                        "description": "Footer slot container",
                        "nullable": true,
                        "elements": [
                            {
                                "name": "expandableRenditionFooter",
                                "selector": {
                                    "css": "setup-expandable-rendition-footer"
                                },
                                "type": "utam-setup/pageObjects/expandableRenditionFooter",
                                "description": "Expandable rendition footer",
                                "public": true
                            }
                        ]
                    }
                ]
            },
            {
                "name": "loader",
                "selector": {
                    "css": "setup-agentic-setup-loader"
                },
                "type": "utam-setup/pageObjects/agenticSetupLoader",
                "description": "Loader shown while content is loading",
                "nullable": true,
                "public": true
            }
        ]
    },
    "methods": [
        {
            "name": "isErrorCardVisible",
            "description": {
                "text": [
                    "Check if the error card is present and visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "errorCard",
                    "apply": "isVisible"
                }
            ]
        },
        {
            "name": "isMainCardVisible",
            "description": {
                "text": [
                    "Check if the main content card is present and visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "mainCard",
                    "apply": "isVisible"
                }
            ]
        },
        {
            "name": "getHeaderTitle",
            "description": {
                "text": [
                    "Get text from header title"
                ],
                "return": "string"
            },
            "compose": [
                {
                    "element": "headerTitle",
                    "apply": "getText"
                }
            ]
        },
        {
            "name": "getStatusText",
            "description": {
                "text": [
                    "Get text from header status"
                ],
                "return": "string"
            },
            "compose": [
                {
                    "element": "statusText",
                    "apply": "getText"
                }
            ]
        },
        {
            "name": "isLoaderVisible",
            "description": {
                "text": [
                    "Check if loader is present and visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "loader",
                    "apply": "isLoaderContainerVisible",
                    "returnType": "boolean"
                }
            ]
        },
        {
            "name": "isHeaderVisible",
            "description": {
                "text": [
                    "Check if header section is present and visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "header",
                    "apply": "isVisible"
                }
            ]
        },
        {
            "name": "isFooterVisible",
            "description": {
                "text": [
                    "Check if footer container is present and visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "footerContainer",
                    "apply": "isVisible"
                }
            ]
        }
    ]
}