<!--
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-anonymous-name-behavior/gr-anonymous-name-behavior.html">
<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">
<link rel="import" href="../../../styles/shared-styles.html">

<dom-module id="gr-search-bar">
  <template>
    <style include="shared-styles">
      :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
          threshold="[[_threshold]]"
          tab-complete></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>
