live preview
<div class="searchbar-wrap">
  <svg class="searchbar-icon" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="#9ca3af" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>
  <input class="searchbar-input" type="text" placeholder="Search lessons">
  <button class="searchbar-clear" type="button" aria-label="Clear search">
    <svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="#6b7280" stroke-width="2.5"><line x1="6" y1="6" x2="18" y2="18"></line><line x1="6" y1="18" x2="18" y2="6"></line></svg>
  </button>
</div>
.searchbar-wrap {
  box-sizing: border-box;
  width: 280px;
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: #f9fafb;
  border: 1.5px solid #e5e7eb;
  border-radius: 999px;
  padding: 10px 14px;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  font-family: system-ui, -apple-system, sans-serif;
}
.searchbar-wrap:focus-within {
  border-color: #3b82f6;
  background-color: #ffffff;
}
.searchbar-icon {
  flex-shrink: 0;
}
.searchbar-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 14px;
  color: #111827;
}
.searchbar-clear {
  display: none;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: none;
  background-color: #e5e7eb;
  cursor: pointer;
  flex-shrink: 0;
}
.searchbar-clear-visible {
  display: flex;
}
var searchbarInput = document.querySelector('.searchbar-input');
var searchbarClear = document.querySelector('.searchbar-clear');
searchbarInput.addEventListener('input', function () {
  if (searchbarInput.value.length > 0) {
    searchbarClear.classList.add('searchbar-clear-visible');
  } else {
    searchbarClear.classList.remove('searchbar-clear-visible');
  }
});
searchbarClear.addEventListener('click', function () {
  searchbarInput.value = '';
  searchbarClear.classList.remove('searchbar-clear-visible');
  searchbarInput.focus();
});