
Shadow DOM host styling has lower specificity than parent page. Bug: Issue 11176 Change-Id: I7edb96a17e989f176ab2c78f5e91e244ab1d55bc
87 lines
2.7 KiB
HTML
87 lines
2.7 KiB
HTML
<!--
|
|
@license
|
|
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">
|
|
<link rel="import" href="../../../styles/shared-styles.html">
|
|
|
|
<script src="../../../scripts/rootElement.js"></script>
|
|
|
|
<dom-module id="gr-alert">
|
|
<template>
|
|
<style include="shared-styles">
|
|
/**
|
|
* ALERT: DO NOT ADD TRANSITION PROPERTIES WITHOUT PROPERLY UNDERSTANDING
|
|
* HOW THEY ARE USED IN THE CODE.
|
|
*/
|
|
:host([toast]) {
|
|
background-color: var(--tooltip-background-color);
|
|
bottom: 1.25rem;
|
|
border-radius: 3px;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
|
|
color: var(--view-background-color);
|
|
left: 1.25rem;
|
|
position: fixed;
|
|
transform: translateY(5rem);
|
|
transition: transform var(--gr-alert-transition-duration, 80ms) ease-out;
|
|
z-index: 1000;
|
|
}
|
|
:host([shown]) {
|
|
transform: translateY(0);
|
|
}
|
|
/**
|
|
* NOTE: To avoid style being overwritten by outside of the shadow DOM
|
|
* (as outside styles always win), .content-wrapper is introduced as a
|
|
* wrapper around main content to have better encapsulation, styles that
|
|
* may be affected by outside should be defined on it.
|
|
* In this case, `padding:0px` is defined in main.css for all elements
|
|
* with the universal selector: *.
|
|
*/
|
|
.content-wrapper {
|
|
padding: 1em 1.5em;
|
|
}
|
|
.text {
|
|
color: var(--tooltip-text-color);
|
|
display: inline-block;
|
|
max-height: 10rem;
|
|
max-width: 80vw;
|
|
vertical-align: bottom;
|
|
word-break: break-all;
|
|
}
|
|
.action {
|
|
color: var(--link-color);
|
|
font-weight: var(--font-weight-bold);
|
|
margin-left: 1em;
|
|
text-decoration: none;
|
|
--gr-button: {
|
|
padding: 0;
|
|
}
|
|
}
|
|
</style>
|
|
<div class="content-wrapper">
|
|
<span class="text">[[text]]</span>
|
|
<gr-button
|
|
link
|
|
class="action"
|
|
hidden$="[[_hideActionButton]]"
|
|
on-tap="_handleActionTap">[[actionText]]</gr-button>
|
|
</div>
|
|
</template>
|
|
<script src="gr-alert.js"></script>
|
|
</dom-module>
|
|
|