<!--
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="../gr-button/gr-button.html">
<dom-module id="gr-linked-chip">
  <template>
    <style>
      :host {
        display: block;
        overflow: hidden;
      }
      .container {
        align-items: center;
        background: #eee;
        border-radius: .75em;
        display: inline-flex;
        padding: 0 .5em;
      }
      gr-button.remove,
      gr-button.remove:hover,
      gr-button.remove:focus {
        border-color: transparent;
        color: #333;
      }
      gr-button.remove {
        background: #eee;
        color: #666;
        font-size: 1.7em;
        font-weight: normal;
        height: .6em;
        line-height: .6em;
        margin-left: .15em;
        padding: 0;
        text-decoration: none;
      }
      .transparentBackground,
      gr-button.transparentBackground {
        background-color: transparent;
      }
    </style>
    <div class$="container [[_getBackgroundClass(transparentBackground)]]">
      <a href$="[[href]]">[[text]]</a>
      <gr-button
          id="remove"
          hidden$="[[!removable]]"
          hidden
          class$="remove [[_getBackgroundClass(transparentBackground)]]"
          on-tap="_handleRemoveTap">×</gr-button>
    </div>
  </template>
  <script src="gr-linked-chip.js"></script>
</dom-module>
