"""Модуль combobox_locators содержит локаторы элементов combobox.

Класс ComboboxLocators предоставляет XPath и CSS локаторы для взаимодействия
с combobox элементами в тестах.
"""

class ComboboxLocators:
    """Локаторы элементов combobox.

    Содержит XPath и CSS локаторы для:
        - Основного combobox класса объекта учета
        - Общих элементов combobox (label, input, иконки)
        - Выпадающих списков
        - Кнопок закрытия
    """

    # Общие элементы combobox
    COMBOBOX_LABEL: str = "label"
    COMBOBOX_INPUT: str = "input[name='entity']"
    COMBOBOX_ICON: str = ".v-input__icon--append"
    COMBOBOX_ICON_ARROW: str = ".v-input__icon--append .mdi-menu-down"
    COMBOBOX_CLOSE_BUTTON: str = "i.mdi-close"

    # Выпадающие списки
    LISTBOX_SELECTOR: str = "//div[contains(@class, 'v-menu__content')]//div[@role='list']"
    LIST_ITEMS_SELECTOR: str = "//div[contains(@class, 'v-menu__content')]//div[@role='listitem']"
    OPTIONS_SELECTOR: str = "//div[contains(@class, 'v-menu__content')]//div[@role='listitem']//span"

    # Получение выбранного значения
    SELECTED_VALUE_SPAN: str = "span"