<form class="expanding-search-form">
  <div class="search-dropdown">
    <button class="button dropdown-toggle" type="button">
      <span class="toggle-active">Everything</span>
      <span class="ion-arrow-down-b"></span>
    </button>
    <ul class="dropdown-menu">
      <li class="menu-active"><a href="#">Everything</a></li>
      <li><a href="#">People</a></li>
      <li><a href="#">Products</a></li>
      <li><a href="#">Blog</a></li>
    </ul>
  </div>
  <input class="search-input" id="global-search" type="search" placeholder="Search">
  <label class="search-label" for="global-search">
        <span class="sr-only">Global Search</span>
    </label>
  <button class="button search-button" type="button">
        <span class="icon ion-search">
            <span class="sr-only">Search</span>
        </span>
    </button>
</form>
$brand-color: #2299ff;
$input-height: 34px;
$border-radius: 3px;
$border-color: #999;
$transition: 250ms all ease-in-out;

*,
*:before,
*:after {
  box-sizing: border-box;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}

body,
html {
  width: 100%;
  height: 100%;
}

.expanding-search-form {
  position: relative;
  top: 40%;
  left: 35%;
  display: inline-block;
  height: $input-height;
  width: auto;

  .search-label {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border: 1px solid $border-color;
    z-index: 2;
    cursor: pointer;
    border-radius: $border-radius;
    transition: $transition;
  }
  
  .search-input {
    position: relative;
    top: 0;
    display: inline-block;
    height: $input-height;
    width: 150px;
    float: left;
    border: 0;
    font-size: 16px;
    z-index: 2;
    box-shadow: none;
    border-radius: 0;
    transition: $transition;

    &:focus {
      width: 300px;
      outline: none;

      + .search-label {
        border-color: $brand-color;
      }
    }
  }
  
  .button {
    position: relative;
    top: 0;
    display: inline-block;
    float: left;
    padding: 0 10px;
    color: #fff;
    border: 1px solid transparent;
    background-color: $brand-color;
    text-align: center;
    transition: $transition;
    
    &:hover {
      background-color: darken($brand-color, 10%);
    }
  }

  .search-dropdown {
    position: relative;
    top: 0;
    display: inline-block;
    float: left;
    padding: 3px;

    &.open .dropdown-menu {
      display: block;
    }
  }

  .dropdown-toggle {
    height: $input-height - 6px;
    font-size: 12px;
    line-height: $input-height - 6px;
    border-radius: $border-radius - 1px;
    z-index: 3;
  }

  .dropdown-menu {
    position: absolute;
    top: calc(100% - 1px);
    display: none;
    margin: 0;
    padding: 5px;
    list-style: none;
    background-color: #fff;
    border: 1px solid $border-color;
    border-bottom-right-radius: $border-radius;
    border-bottom-left-radius: $border-radius;
    z-index: 3;
    transition: $transition;

    > li > a {
      display: block;
      padding: 4px 12px;
      color: $brand-color;
      font-size: 14px;
      line-height: 20px;
      text-decoration: none;
      border-radius: $border-radius - 1;
      transition: $transition;

      &:hover {
        color: #fff;
        background-color: $brand-color;
      }
    }

    > .menu-active {
      display: none;
    }
  }
  
  .search-button {
    height: $input-height;
    z-index: 3;
    border-top-right-radius: $border-radius;
    border-bottom-right-radius: $border-radius;

    .icon {
      font-size: 20px;
    }
  }
}
View Compiled
$('.dropdown-toggle').click(function(e) {
  e.preventDefault();
  e.stopPropagation();
  $(this).closest('.search-dropdown').toggleClass('open');
});

$('.dropdown-menu > li > a').click(function(e) {
  e.preventDefault();
  var clicked = $(this);
  clicked.closest('.dropdown-menu').find('.menu-active').removeClass('menu-active');
  clicked.parent('li').addClass('menu-active');
  clicked.closest('.search-dropdown').find('.toggle-active').html(clicked.html());
});

$(document).click(function() {
  $('.search-dropdown.open').removeClass('open');
});

External CSS

  1. https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css

External JavaScript

  1. //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js