{
    "description": {
        "author": "Salesforce",
        "text": [
            "Page Object: lightningTypePropertyContainer",
            "Selector: typesystem_ui-lightning-type-property-container",
            "Container for Lightning Type property rows with add row functionality"
        ]
    },
    "root": true,
    "selector": {
        "css": "typesystem_ui-lightning-type-property-container"
    },
    "shadow": {
        "elements": [
            {
                "public": true,
                "name": "headerMessage",
                "type": [
                    "actionable"
                ],
                "selector": {
                    "css": "span.slds-text-color_weak"
                }
            },
            {
                "public": true,
                "name": "firstPropertyRow",
                "type": "utam-typesystem_ui/pageObjects/lightningTypePropertyRow",
                "nullable": true,
                "selector": {
                    "css": "typesystem_ui-lightning-type-property-row:first-of-type"
                }
            },
            {
                "public": true,
                "name": "lastPropertyRow",
                "type": "utam-typesystem_ui/pageObjects/lightningTypePropertyRow",
                "nullable": true,
                "selector": {
                    "css": "typesystem_ui-lightning-type-property-row:last-of-type"
                }
            },
            {
                "public": true,
                "name": "addRowButton",
                "type": "utam-lightning/pageObjects/button",
                "nullable": true,
                "selector": {
                    "css": "lightning-button[icon-name='utility:add']"
                }
            }
        ]
    },
    "methods": [
        {
            "name": "waitForContainerVisible",
            "description": "Waits for the container to be visible",
            "compose": [
                {
                    "element": "headerMessage",
                    "apply": "waitForVisible"
                }
            ]
        },
        {
            "name": "waitForAddRowButtonVisible",
            "description": "Waits for the Add Row button to be visible",
            "compose": [
                {
                    "element": "addRowButton",
                    "apply": "waitForVisible"
                }
            ]
        },
        {
            "name": "clickAddRow",
            "description": "Clicks the Add Row button",
            "compose": [
                {
                    "element": "addRowButton",
                    "apply": "click"
                }
            ]
        },
        {
            "name": "isAddRowButtonVisible",
            "description": {
                "text": [
                    "Checks if Add Row button is visible"
                ],
                "return": "boolean"
            },
            "compose": [
                {
                    "element": "addRowButton",
                    "matcher": {
                        "type": "notNull"
                    }
                }
            ]
        }
    ]
}