Аналогичный десктопному виджет, но работает без оверлеев и скроллбаров, а на основе обычного <select>`а. При вводе мы так же идем за данными, забираем саггесты, возвращаемся на фронт, но выводим их как <option>`ы в селект.
Сам селект прозрачен и ложиться поверх текста "Показать результаты" в выпадайке. Соответвено тап по выпадайке это, на самом деле, тап по селекту. На мобилках в этом случае выбрасывается удобный барабан.
Снова аналогичный десктопному контрол и так же завязан на <select>. Но тут еще проще - выпадайки нет. Прозрачный селект бросается прямо поверх инпута.
Не забываем добавлять readonly в сам инпут, чтобы там курсор не мигал.
Добавляем стрелку .input__peak
Паравозик и его .input_split так-то глобалные, но тут для теста с новыми виджетами.
Может быть такая ситуация, что пользователь вызвал select, соответствено мы проставили input_drop, но потом он скрыл его кликнув куда-то во вне или нажал ESC и селект пропал. Так вот эту ситуацию не понятно как отслеживать. Нужно событие скрытия выпадахи селекта, чтобы снять .input_drop. А то сейчас он остается, а выпавшего селекта нет. Стрелка перевернута.
"В показать результаты" бегунок загрузки бы, на время пока идут данные. И заблокировать эту штуку надо на время пока идут данные, а то там покажется пустой селект.
Похоже что на PS Vita и на NDS не работает событие on input