"""Модуль selection_bar_locators содержит локаторы компонента панели выбора значения.

Класс SelectionBarLocators предоставляет XPath/CSS локаторы для взаимодействия
с компонентом панели выбора значения.
"""

class SelectionBarLocators:
    """Локаторы для компонента панели выбора значения.

    Содержит XPath/CSS локаторы для:
    - Кнопок открытия и очистки
    - Выбранных значений
    - Элементов выпадающего списка
    - Combobox полей
    """

    OPEN_PARAMETERS_LIST_BUTTON = "div.v-input__icon--append"
    CLEAR_SELECTION_BUTTON = "div.v-input__icon--clear"
    PARAMETERS_SELECTED = "div.v-select__selections"

    # Локаторы для элементов выпадающего списка
    LISTBOX = "//div[@role='listbox']"
    LIST_ITEMS = "//div[@role='listbox']//div[@role='listitem']"

    # Локатор для родительского контейнера поля ввода
    INPUT_PARENT_CONTAINER = "xpath=./ancestor::div[contains(@class, 'v-input')]"

    # CSS селекторы для ошибок валидации
    ERROR_CSS_SELECTORS = ".error--text, .v-input--error"

    # Локаторы для заголовков и поиска по тексту
    TITLE_LOCATOR = "//label"
    COMBOBOX_BY_LABEL_XPATH = "//div[@role='combobox' and .//label[text()='{}']]"

    # Класс для проверки активности меню
    MENU_ACTIVE_CLASS = "v-select--is-menu-active"
