Как сделать всплывающую панель как на андроиде?

Делаем блок контейнер с минимальной высотой во весь вьюпорт.
Делаем в нём 2 "слота". Первый - верхний, где рисочка, за которую пользователь будет тянуть. Второй - сам контент.
Позиционируем его фиксированно так, как больше нравится - вообще не видно, видно только рисочку, видно часть контента.
На рисочку добавляем обработчик нажатия и тача. В момент, пока опущенна кнопка мыши или палец не оторван от экрана отслеживаем на документе позицию курсора\пальца.
Ну и собственно по факту смещения указателя меняем позицию нашего контейнера.
Чтобы у этого "окошка" были состояния стоит добавлять проверку. Например, если текущее состояние "закрыто\открыто" и передвинули вверх\вниз более чем на N пикселей, то менять состояние на противоположное.
Не забываем снимать обработчики с документа когда кнопка мыши отжимается или палец убирается от экрана.
В целом - профит.


Таким образом, состояния отвечают за то, как отобразить элемент. Спрятанным или раскрытым. При смене состояния меняется отображение.
Таким образом, не обязательно будет всё время открывать окошко пальцем. Сменили переменную состояния - оно открылось\закрылось.
Состояния можно хранить в css классах элемента.
Вы хотите, чтобы при нажатии оно всплывало или чтобы, зажимая лкм, можно было ее двигать?