Шаблон этого интерфейса:
<template>
<div class="search-btn-wrapper">
<div class="input-search-box">
<input
id="inpit-search"
placeholder="Поиск ЖК/застройщика"
v-model="inputText"
@input="inputHandler"
>
<div v-if="!isOpenSearch" @click="searchOpen" class="img-open-wrapper">
<img class="img-loop" src="/images/map-search/search-black.svg">
</div>
<img v-else @click="searchClose" class="img-drop" src="/images/map-search/close-black.svg">
</div>
<div v-if="isOpenSearch && nameSearch.length && !choosenName" class="search-result-wrapper">
<div :key="index" v-for="(residential, index) in getFilterRc.slice(0,4)"
class="result-point"
@click="handlerDevOrRc(residential.id)"
>
<div class="result-img-wrapper">
<img class="img-result" src="/images/map-search/developer-search.svg">
</div>
<div class="result-title">{{residential.title}}</div>
</div>
</div>
</div>
</template>
Без сторонних библиотек, только js и vue