<!--
@license
Copyright (C) 2016 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="/bower_components/polymer/polymer.html">
<link rel="import" href="../../../behaviors/fire-behavior/fire-behavior.html">
<link rel="import" href="../../../styles/shared-styles.html">
<link rel="import" href="../../shared/gr-autocomplete/gr-autocomplete.html">
<link rel="import" href="../../shared/gr-rest-api-interface/gr-rest-api-interface.html">

<dom-module id="gr-account-entry">
  <template>
    <style include="shared-styles">
      gr-autocomplete {
        display: inline-block;
        flex: 1;
        overflow: hidden;
      }
    </style>
    <gr-autocomplete
        id="input"
        borderless="[[borderless]]"
        placeholder="[[placeholder]]"
        threshold="[[suggestFrom]]"
        query="[[query]]"
        allow-non-suggested-values="[[allowAnyInput]]"
        on-commit="_handleInputCommit"
        clear-on-commit
        warn-uncommitted
        text="{{_inputText}}">
    </gr-autocomplete>
    <gr-rest-api-interface id="restAPI"></gr-rest-api-interface>
  </template>
  <script src="gr-account-entry.js"></script>
</dom-module>
