<!--
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="../../../bower_components/polymer/polymer.html">
<link rel="import" href="../../../bower_components/iron-input/iron-input.html">
<dom-module id="gr-editable-label">
  <template>
    <style>
      :host {
        align-items: center;
        display: inline-flex;
      }
      input,
      label,
      .container {
        width: 100%;
      }
      input {
        font: inherit;
      }
      label {
        color: #777;
        display: inline-block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      label.editable {
        cursor: pointer;
      }
      label.editable.placeholder {
        color: #00f;
        text-decoration: underline;
      }
    </style>
      <input
          is="iron-input"
          id="input"
          hidden$="[[!editing]]"
          on-keydown="_handleInputKeydown"
          bind-value="{{_inputText}}">
      <label
          hidden$="[[editing]]"
          class$="[[_computeLabelClass(readOnly, value, placeholder)]]"
          title$="[[_computeLabel(value, placeholder)]]"
          on-tap="_open">[[_computeLabel(value, placeholder)]]</label>
  </template>
  <script src="gr-editable-label.js"></script>
</dom-module>
