# Исходный код components_derived.interactive_dropdown_list

    """Модуль interactive_dropdown_list_component содержит класс для работы с интерактивными выпадающими списками,
    позволяющими сделать выбор нескольких элементов.

    Класс InteractiveDropdownList наследует базовый функционал BaseComponent и добавляет
    методы для взаимодействия с интерактивными выпадающими списками на странице.
    """

    from playwright.sync_api import Page, Locator, expect
    from tools.logger import get_logger
    from components.base_component import BaseComponent

    logger = get_logger("INTERACTIVE_DROPDOWN_LIST")

    class InteractiveDropdownList(BaseComponent):
        """Класс для работы с выпадающими списками.

        Наследует функциональность BaseElement и добавляет специфичные
        методы для выбора и проверки элементов списка.
        """

        def __init__(self, page: Page) -> None:
            """Инициализирует компонент интерактивного выпадающего списка.

            Args:
               page: Экземпляр страницы Playwright.
            """

            super().__init__(page)

        # Действия:

        def get_checkbox_locator(self, text: str) -> Locator:
            """Возвращает локатор чек-бокса для элемента списка с указанным текстом.

            Args:
                text (str): Текст элемента для выбора.
            """

            checkbox_locator = self.get_locator('div.v-list__tile__title').get_by_text(text). \
                               locator("../..").locator("//input[@role='checkbox']")
            expect(checkbox_locator).to_be_visible(), \
                f"Checkbox for dropdown list item with text {text} is missing"
            return checkbox_locator

        def deselect_item_with_text(self, text: str) -> None:
            """Выбирает элемент списка по указанному тексту.

            Args:
                text (str): Текст элемента для выбора.
            """

            self.get_checkbox_locator(text).uncheck(force=True)

        def select_item_with_text(self, text: str) -> None:
            """Выбирает элемент списка по указанному тексту.

            Args:
                text (str): Текст элемента для выбора.
            """
            self.get_checkbox_locator(text).check(force=True)

        def get_selected_items(self, locator: str|Locator) -> list[str]:
            """Возвращает список отмеченных элементов."""

            selected_items = []

            list_locator = self.get_locator(locator)

            items = list_locator.get_by_role("listitem").all()

            for item in items:
                if item.get_by_role("checkbox").is_checked():
                    item_text = item.text_content().strip()
                    if item_text:
                        selected_items.append(item_text)

            return selected_items

        # Проверки: