{
    "description": {
        "author": "Salesforce",
        "text": [
            "Represents the force:splitViewListSelectableRecord Aura component.",
            "Provides split view card functionality with selection checkbox and data fields."
        ]
    },
    "elements": [
        {
            "name": "cardDataFields",
            "type": "actionable",
            "selector": {
                "css": "span.test-splitViewCardData"
            },
            "public": true
        },
        {
            "name": "checkboxLabel",
            "type": "clickable",
            "selector": {
                "css": "label.slds-checkbox"
            },
            "public": true
        },
        {
            "name": "checkboxSpan",
            "type": "clickable",
            "selector": {
                "css": "span.slds-checkbox--faux"
            },
            "public": true
        },
        {
            "name": "checkboxInput",
            "type": "editable",
            "selector": {
                "css": "input[type='checkbox']"
            },
            "public": true
        },
        {
            "name": "recordLink",
            "type": "clickable",
            "selector": {
                "css": "a[data-recordId]"
            },
            "public": true
        },
        {
            "name": "splitViewCheckbox",
            "type": "actionable",
            "selector": {
                "css": ".forceSplitViewCheckbox"
            },
            "public": true
        },
        {
            "name": "listItem",
            "type": "actionable",
            "selector": {
                "css": ".slds-split-view__list-item"
            },
            "public": true
        },
        {
            "name": "firstField",
            "type": "actionable",
            "selector": {
                "css": "span.test-splitViewCardData:nth-child(1)"
            },
            "public": true
        },
        {
            "name": "secondField",
            "type": "actionable",
            "selector": {
                "css": "span.test-splitViewCardData:nth-child(2)"
            },
            "public": true
        },
        {
            "name": "thirdField",
            "type": "actionable",
            "selector": {
                "css": "span.test-splitViewCardData:nth-child(3)"
            },
            "public": true
        },
        {
            "name": "fourthField",
            "type": "actionable",
            "selector": {
                "css": "span.test-splitViewCardData:nth-child(4)"
            },
            "public": true
        }
    ],
    "methods": [
        {
            "name": "click",
            "description": {
                "text": [
                    "Clicks on the record link to navigate to the record"
                ]
            },
            "compose": [
                {
                    "element": "recordLink",
                    "apply": "click"
                }
            ]
        },
        {
            "name": "getFirst",
            "description": {
                "text": [
                    "Gets the text of the first data field"
                ],
                "return": "the first field text"
            },
            "compose": [
                {
                    "element": "firstField",
                    "apply": "getText",
                    "returnType": "string"
                }
            ]
        },
        {
            "name": "getSecond",
            "description": {
                "text": [
                    "Gets the text of the second data field"
                ],
                "return": "the second field text"
            },
            "compose": [
                {
                    "element": "secondField",
                    "apply": "getText",
                    "returnType": "string"
                }
            ]
        },
        {
            "name": "getThird",
            "description": {
                "text": [
                    "Gets the text of the third data field"
                ],
                "return": "the third field text"
            },
            "compose": [
                {
                    "element": "thirdField",
                    "apply": "getText",
                    "returnType": "string"
                }
            ]
        },
        {
            "name": "getFourth",
            "description": {
                "text": [
                    "Gets the text of the fourth data field"
                ],
                "return": "the fourth field text"
            },
            "compose": [
                {
                    "element": "fourthField",
                    "apply": "getText",
                    "returnType": "string"
                }
            ]
        },
        {
            "name": "isCheckboxSelected",
            "description": {
                "text": [
                    "Checks if the record selection checkbox is selected"
                ],
                "return": "true if checkbox is selected"
            },
            "compose": [
                {
                    "element": "checkboxInput",
                    "apply": "getAttribute",
                    "args": [
                        {
                            "value": "checked"
                        }
                    ]
                }
            ]
        },
        {
            "name": "toggleCheckbox",
            "description": {
                "text": [
                    "Toggles the selection checkbox state"
                ]
            },
            "compose": [
                {
                    "element": "checkboxSpan",
                    "apply": "click"
                }
            ]
        },
        {
            "name": "getRecordId",
            "description": {
                "text": [
                    "Gets the record ID from the link data attribute"
                ],
                "return": "the record ID"
            },
            "compose": [
                {
                    "element": "recordLink",
                    "apply": "getAttribute",
                    "args": [
                        {
                            "value": "data-recordId"
                        }
                    ]
                }
            ]
        },
        {
            "name": "getAllFieldTexts",
            "description": {
                "text": [
                    "Gets text from all data fields"
                ],
                "return": "first field text"
            },
            "compose": [
                {
                    "element": "cardDataFields",
                    "apply": "getText",
                    "returnType": "string"
                }
            ]
        },
        {
            "name": "isSelected",
            "description": {
                "text": [
                    "Checks if this record is currently selected in the split view"
                ],
                "return": "true if record is selected"
            },
            "compose": [
                {
                    "element": "recordLink",
                    "apply": "getAttribute",
                    "args": [
                        {
                            "value": "class"
                        }
                    ]
                }
            ]
        },
        {
            "name": "isCheckboxVisible",
            "description": {
                "text": [
                    "Checks if the selection checkbox is visible"
                ],
                "return": "true if checkbox is visible"
            },
            "compose": [
                {
                    "element": "splitViewCheckbox",
                    "apply": "isVisible",
                    "returnType": "boolean"
                }
            ]
        }
    ]
}