{
    "description": {
        "author": "Salesforce",
        "text": [
            "Represents the lst-quick-filter-panel LWC component.",
            "Provides quick filtering functionality with various filter types and controls."
        ]
    },
    "elements": [
        {
            "name": "closeButton",
            "type": "clickable",
            "selector": {
                "css": "button.slds-panel__close"
            },
            "public": true
        },
        {
            "name": "helpText",
            "type": "actionable",
            "selector": {
                "css": "lightning-helptext"
            },
            "public": true
        },
        {
            "name": "applyButton",
            "type": "clickable",
            "selector": {
                "css": "lightning-button.test-applyButton"
            },
            "public": true
        },
        {
            "name": "cancelButton",
            "type": "clickable",
            "selector": {
                "css": "lightning-button.test-cancelButton"
            },
            "public": true
        },
        {
            "name": "clearAllButton",
            "type": "clickable",
            "selector": {
                "css": "lightning-button.test-clearAllButton"
            },
            "public": true
        },
        {
            "name": "panelFooter",
            "type": "actionable",
            "selector": {
                "css": ".panel-footer"
            },
            "public": true
        },
        {
            "name": "filterBody",
            "type": "container",
            "selector": {
                "css": ".filterBody"
            },
            "public": true
        },
        {
            "name": "lockedFilters",
            "type": "actionable",
            "selector": {
                "css": ".lockedFilter",
                "returnAll": true
            },
            "public": true
        },
        {
            "name": "stringInputs",
            "type": "editable",
            "selector": {
                "css": "lightning-input[data-id]"
            },
            "public": true
        },
        {
            "name": "singlePicklists",
            "type": "container",
            "selector": {
                "css": "lst-quick-filter-single-picklist"
            },
            "public": true
        },
        {
            "name": "multiPicklists",
            "type": "container",
            "selector": {
                "css": "lst-quick-filter-multi-picklist"
            },
            "public": true
        },
        {
            "name": "rangeFilters",
            "type": "utam-lists/pageObjects/quickFilterRange",
            "selector": {
                "css": "lst-quick-filter-range",
                "returnAll": true
            },
            "public": true
        },
        {
            "name": "clearButtons",
            "type": "clickable",
            "selector": {
                "css": "button.clearButton"
            },
            "public": true
        },
        {
            "name": "spinner",
            "type": "actionable",
            "selector": {
                "css": "lightning-spinner"
            },
            "public": true
        },
        {
            "name": "panelTitle",
            "type": "container",
            "selector": {
                "css": ".slds-panel__header-title"
            },
            "public": true
        }
    ],
    "methods": [
        {
            "name": "close",
            "description": {
                "text": [
                    "Closes the quick filter panel by clicking the close button"
                ]
            },
            "compose": [
                {
                    "element": "closeButton",
                    "apply": "click"
                }
            ]
        },
        {
            "name": "apply",
            "description": {
                "text": [
                    "Applies the current filter settings by clicking the apply button"
                ]
            },
            "compose": [
                {
                    "element": "applyButton",
                    "apply": "click"
                }
            ]
        },
        {
            "name": "cancel",
            "description": {
                "text": [
                    "Cancels filter changes and reverts to previous state"
                ]
            },
            "compose": [
                {
                    "element": "cancelButton",
                    "apply": "click"
                }
            ]
        },
        {
            "name": "clearAll",
            "description": {
                "text": [
                    "Clears all filter values by clicking the clear all button"
                ]
            },
            "compose": [
                {
                    "element": "clearAllButton",
                    "apply": "click"
                }
            ]
        },
        {
            "name": "hasEditedState",
            "description": {
                "text": [
                    "Checks if the panel has been edited (footer buttons are visible)"
                ],
                "return": "true if panel has edited state, false otherwise"
            },
            "compose": [
                {
                    "element": "panelFooter",
                    "apply": "isVisible",
                    "returnType": "boolean"
                }
            ]
        },
        {
            "name": "hasCleanState",
            "description": {
                "text": [
                    "Checks if the panel is in clean state (no edits made)"
                ],
                "return": "true if panel is in clean state, false otherwise"
            },
            "compose": [
                {
                    "element": "panelFooter",
                    "apply": "isVisible",
                    "returnType": "boolean"
                }
            ]
        },
        {
            "name": "isLoading",
            "description": {
                "text": [
                    "Checks if the panel is currently loading"
                ],
                "return": "true if loading spinner is visible"
            },
            "compose": [
                {
                    "element": "spinner",
                    "apply": "isVisible",
                    "returnType": "boolean"
                }
            ]
        },
        {
            "name": "isHelpTextVisible",
            "description": {
                "text": [
                    "Checks if help text is currently visible"
                ],
                "return": "true if help text is visible"
            },
            "compose": [
                {
                    "element": "helpText",
                    "apply": "isVisible",
                    "returnType": "boolean"
                }
            ]
        },
        {
            "name": "getLockedFiltersCount",
            "description": {
                "text": [
                    "Gets the count of locked filters displayed"
                ],
                "return": "number of locked filters"
            },
            "compose": [
                {
                    "element": "lockedFilters",
                    "apply": "size"
                }
            ]
        },
        {
            "name": "isApplyButtonEnabled",
            "description": {
                "text": [
                    "Checks if the apply button is enabled"
                ],
                "return": "true if apply button is enabled"
            },
            "compose": [
                {
                    "element": "applyButton",
                    "apply": "isEnabled"
                }
            ]
        }
    ]
}