<!--
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-alert">
  <template>
    <style>
      /**
       * ALERT: DO NOT ADD TRANSITION PROPERTIES WITHOUT PROPERLY UNDERSTANDING
       * HOW THEY ARE USED IN THE CODE.
       */
      :host([toast]) {
        background-color: #333;
        bottom: 1.25rem;
        border-radius: 3px;
        box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
        color: #fff;
        left: 1.25rem;
        padding: 1em 1.5em;
        position: fixed;
        transform: translateY(5rem);
        transition: transform var(--gr-alert-transition-duration, 80ms) ease-out;
        z-index: 1000;
      }
      :host([shown]) {
        transform: translateY(0);
      }
      .text {
        display: inline-block;
        max-width: calc(100vw - 2.5rem);
        overflow: hidden;
        text-overflow: ellipsis;
        vertical-align: bottom;
        white-space: nowrap;
      }
      .action {
        color: #a1c2fa;
        font-weight: bold;
        margin-left: 1em;
        text-decoration: none;
      }
    </style>
    <span class="text">[[text]]</span>
    <gr-button
        link
        class="action"
        hidden$="[[_hideActionButton]]"
        on-tap="_handleActionTap">[[actionText]]</gr-button>
  </template>
  <script src="gr-alert.js"></script>
</dom-module>

