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

<dom-module id="gr-account-list">
  <template>
    <style include="shared-styles">
      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)]]"
          on-keydown="_handleChipKeydown"
          tabindex$="[[index]]">
      </gr-account-chip>
    </template>
    <gr-account-entry
        borderless
        hidden$="[[_computeEntryHidden(maxCount, accounts.*, readonly)]]"
        id="entry"
        change="[[change]]"
        filter="[[filter]]"
        placeholder="[[placeholder]]"
        on-add="_handleAdd"
        on-input-keydown="_handleInputKeydown"
        allow-any-user="[[allowAnyUser]]">
    </gr-account-entry>
  </template>
  <script src="gr-account-list.js"></script>
</dom-module>
