Разработать компонент Autocomplete (селект) для поиска книг в открытой библиотеке
Делать запроос на бэк, используя следующее api
https://openlibrary.org/dev/docs/api/search (первый запрос из предоставляемого списка)
Основные компоненты:
- Поле ввода
* возможность ввода запроса для поиска
* минимальная длина вводимого значения 1 символ (пробелы по бокам учитываться не должны)
* отсылать запрос на бэк спустя секунду после того как пользователь перестает печатать
- Лоадер
* отображать во время выполнения запроса на поиск
- Сообщение об отсутствии результатов поиска
* отображать, если запрос на поиск не дал результатов
* скрывать при клике вне селекта и при вводе значения в поле поиска пользователем
- Выпадающий список
* выводит результаты поиска
* закрывать при клике вне селекта
* закрывать при выборе опции из выпадающего списка
* задать минимальную высоту списка на свое усмотрение
* список должен проскролливаться, если его высота больше, чем определяемая минимальная высота
* добавить навигацию по выпадающему списку с помощью клавиш вверх и вниз (как в стандартном селекте браузера)
* добавить стили для находящейся в фокусе опции
* выбор опции из списка должен осуществляться по клику на нее, а так же при нажатии на клавишу enter (выбирается находящаяся в фокусе опция)
* при выборе опции устанавливать значение селекта (компонент должен предоставлять возможность получения текущего значения для дальнейшей оработки)
* записывать в поле поиска текст выбранной опции