<!--
Copyright (C) 2015 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<link rel="import" href="../../../behaviors/gr-url-encoding-behavior.html">
<link rel="import" href="../../../behaviors/keyboard-shortcut-behavior/keyboard-shortcut-behavior.html">
<link rel="import" href="../../../bower_components/polymer/polymer.html">
<link rel="import" href="../../shared/gr-autocomplete/gr-autocomplete.html">
<link rel="import" href="../../shared/gr-button/gr-button.html">
<link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html">


<dom-module id="gr-search-bar">
  <template>
    <style>
      :host {
        display: inline-block;
      }
      form {
        display: flex;
      }
      gr-autocomplete {
        background-color: white;
        border: 1px solid #d1d2d3;
        border-radius: 2px 0 0 2px;
        flex: 1;
        font: inherit;
        outline: none;
        padding: 0 .25em 0 .25em;
      }
      gr-button {
        background-color: #f1f2f3;
        border-radius: 0 2px 2px 0;
        border-left-width: 0;
      }
    </style>
    <form>
      <gr-autocomplete
          id="searchInput"
          text="{{_inputVal}}"
          query="[[query]]"
          on-commit="_handleInputCommit"
          allowNonSuggestedValues
          multi
          borderless
          tab-complete-without-commit></gr-autocomplete>
      <gr-button id="searchButton">Search</gr-button>
      <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
    </form>
  </template>
  <script src="gr-search-bar.js"></script>
</dom-module>
