List and list-item
List — компонент универсального списка, который представляет собой контейнер и строки данных, упорядоченные в один вертикальный столбец. Компонент отсортировывает внутри себя дочерние элементы list-item с поддержкой разных размеров, и позволяет фильтровать их, а также управлять выделением с клавиатуры.
§Структура List

➊ Область фильтра
➋ Элемент списка
➌ Полоса прокрутки (скроллбар)
➍ Элемент списка под курсором
§Структура list-item

➊ Иконка сортировки
➋ Иконка элемента
➌ Текстовый блок
➍ Кнопка дополнительного действия (отображается по ховеру)
§Размер

Элемент списка (List-item)
Все элементы списка поддерживают отрисовку в 4 размерах: S, M, L и XL. Размеры и отступы соответствуют элементам библиотеки, с которыми взаимодействует компонент, — например, select, input, button, которые поддерживают аналогичные переменные размерности.

Список (List)
По умолчанию ширина компонента List динамическая и рассчитывается по ширине самого длинного элемента в списке. Опционально ширина может быть задана с фиксированным значением или наследовать ширину объекта, который вызвал отображение списка (select, input).
§Состояния

§Виды контента

§Возможности List-item

Поддержка нескольких иконок
Все элементы list-item поддерживают отображение одной или нескольких иконок по левому и правому краю компонента.

Изменение порядка сортировки
Для элементов списка можно активировать сортировку. По умолчанию иконка сортировки всегда отображается в начале списка.
§Возможности List

Настраиваемая высота общего контейнера списка
Высота элементов списка или функция, возвращающая значение высоты, может быть задана динамически или указана точным значением в px. Если элементы списка не умещаются по высоте, появляется скрол-бар. Высота может быть задана вручную или изменена динамически.

Единичный и множественный выбор
Компонент поддерживает как одиночный, так и множественный выбор элементов.

Фильтрация и поиск
В компоненте опционально может быть включено поле ввода для быстрой фильтрации элементов внутри списка. Плейсхолдер фильтра по умолчанию может быть изменен в зависимости от задачи компонента.

Триггеры вызова
По умолчанию компонент List вызывается по взаимодействию с другими элементами на странице, такими как Select, Label, Button, а также используется в качестве саджеста у компонента Input.

Виртуализация
При активном флаге виртуализации браузер рендерит только небольшое подмножество строк в определенный момент времени и значительно сокращает время, необходимое для повторного рендера компонентов. При использовании этого метода, обычно называемого «бесконечной загрузкой», новые элементы добавляются в список по мере прокрутки до определенного порогового элемента (триггера).