<!--
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="../../shared/gr-account-chip/gr-account-chip.html">
<link rel="import" href="../gr-account-entry/gr-account-entry.html">

<dom-module id="gr-account-list">
  <template>
    <style>
      gr-account-chip {
        display: inline-block;
        margin: 0 .2em .2em 0;
      }
      gr-account-entry {
        display: flex;
        flex: 1;
        min-width: 10em;
      }
      .group {
        --account-label-suffix: ' (group)';
      }
      .pending-add {
        font-style: italic;
      }
    </style>
    <template id="chips" is="dom-repeat" items="[[accounts]]" as="account">
      <gr-account-chip
          account="[[account]]"
          class$="[[_computeChipClass(account)]]"
          data-account-id$="[[account._account_id]]"
          removable="[[_computeRemovable(account)]]">
      </gr-account-chip>
    </template>
    <gr-account-entry
        borderless
        hidden$="[[readonly]]"
        id="entry"
        change="[[change]]"
        filter="[[filter]]"
        placeholder="[[placeholder]]"
        on-add="_handleAdd">
    </gr-account-entry>
  </template>
  <script src="gr-account-list.js"></script>
</dom-module>
