* Rename all files with the following commands:
find . -name *_html.js -exec sh -c \
'dirn=`dirname {}`;bn=`basename {} .js`; git mv {} $dirn/$bn.ts' \;
* Replace in all *_html.ts files
import {html} from '@polymer/polymer/lib/utils/html-tag.js';
with
import {html} from '@polymer/polymer/lib/utils/html-tag';
* Update manually import path in
gr-hovercard-account_html.ts
* Convert manually gr-hovercard-shared-style.js to .ts
Change-Id: I83102311c70740586514b6f32d03328e2a59c3ec
177 lines
5.7 KiB
TypeScript
177 lines
5.7 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright (C) 2020 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.
|
|
*/
|
|
import {html} from '@polymer/polymer/lib/utils/html-tag';
|
|
|
|
export const htmlTemplate = html`
|
|
<style include="shared-styles">
|
|
/* general styles for all buttons */
|
|
:host {
|
|
--background-color: var(
|
|
--button-background-color,
|
|
var(--default-button-background-color)
|
|
);
|
|
--text-color: var(--default-button-text-color);
|
|
display: inline-block;
|
|
position: relative;
|
|
}
|
|
:host([hidden]) {
|
|
display: none;
|
|
}
|
|
:host([no-uppercase]) paper-button {
|
|
text-transform: none;
|
|
}
|
|
paper-button {
|
|
/* The next lines contains a copy of paper-button style.
|
|
Without a copy, the @apply works incorrectly with Polymer 2.
|
|
@apply is deprecated and is not recommended to use. It is expected
|
|
that @apply will be replaced with the ::part CSS pseudo-element.
|
|
After replacement copied lines can be removed.
|
|
*/
|
|
@apply --layout-inline;
|
|
@apply --layout-center-center;
|
|
position: relative;
|
|
box-sizing: border-box;
|
|
min-width: 5.14em;
|
|
margin: 0 0.29em;
|
|
background: transparent;
|
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
|
-webkit-tap-highlight-color: transparent;
|
|
font: inherit;
|
|
text-transform: uppercase;
|
|
outline-width: 0;
|
|
border-radius: var(--border-radius);
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
-webkit-user-select: none;
|
|
user-select: none;
|
|
cursor: pointer;
|
|
z-index: 0;
|
|
padding: var(--spacing-m);
|
|
|
|
@apply --paper-font-common-base;
|
|
@apply --paper-button;
|
|
/* End of copy*/
|
|
|
|
/* paper-button sets this to anti-aliased, which appears different than
|
|
bold font elsewhere on macOS. */
|
|
-webkit-font-smoothing: initial;
|
|
align-items: center;
|
|
background-color: var(--background-color);
|
|
color: var(--text-color);
|
|
display: flex;
|
|
font-family: inherit;
|
|
justify-content: center;
|
|
margin: var(--margin, 0);
|
|
min-width: var(--border, 0);
|
|
padding: var(--padding, 4px 8px);
|
|
@apply --gr-button;
|
|
}
|
|
/* https://github.com/PolymerElements/paper-button/blob/2.x/paper-button.html */
|
|
/* BEGIN: Copy from paper-button */
|
|
paper-button[elevation='1'] {
|
|
@apply --paper-material-elevation-1;
|
|
}
|
|
paper-button[elevation='2'] {
|
|
@apply --paper-material-elevation-2;
|
|
}
|
|
paper-button[elevation='3'] {
|
|
@apply --paper-material-elevation-3;
|
|
}
|
|
paper-button[elevation='4'] {
|
|
@apply --paper-material-elevation-4;
|
|
}
|
|
paper-button[elevation='5'] {
|
|
@apply --paper-material-elevation-5;
|
|
}
|
|
/* END: Copy from paper-button */
|
|
paper-button:hover {
|
|
background: linear-gradient(rgba(0, 0, 0, 0.12), rgba(0, 0, 0, 0.12)),
|
|
var(--background-color);
|
|
}
|
|
|
|
/* Some mobile browsers treat focused element as hovered element.
|
|
As a result, element remains hovered after click (has grey background in default theme).
|
|
Use @media (hover:none) to remove background if
|
|
user's primary input mechanism can't hover over elements.
|
|
See: https://developer.mozilla.org/en-US/docs/Web/CSS/@media/hover
|
|
|
|
Note 1: not all browsers support this media query
|
|
(see https://caniuse.com/#feat=css-media-interaction).
|
|
If browser doesn't support it, then the whole content of @media .. is ignored.
|
|
This is why the default behavior is placed outside of @media.
|
|
*/
|
|
@media (hover: none) {
|
|
paper-button:hover {
|
|
background: transparent;
|
|
}
|
|
}
|
|
|
|
:host([primary]) {
|
|
--background-color: var(--primary-button-background-color);
|
|
--text-color: var(--primary-button-text-color);
|
|
}
|
|
:host([link][primary]) {
|
|
--text-color: var(--primary-button-background-color);
|
|
}
|
|
|
|
/* Keep below color definition for primary so that this takes precedence
|
|
when disabled. */
|
|
:host([disabled]),
|
|
:host([loading]) {
|
|
--background-color: var(--disabled-button-background-color);
|
|
--text-color: var(--deemphasized-text-color);
|
|
cursor: default;
|
|
}
|
|
|
|
/* Styles for link buttons specifically */
|
|
:host([link]) {
|
|
--background-color: transparent;
|
|
--margin: 0;
|
|
--padding: var(--spacing-s);
|
|
}
|
|
:host([disabled][link]),
|
|
:host([loading][link]) {
|
|
--background-color: transparent;
|
|
--text-color: var(--deemphasized-text-color);
|
|
cursor: default;
|
|
}
|
|
|
|
/* Styles for the optional down arrow */
|
|
:host(:not([down-arrow])) .downArrow {
|
|
display: none;
|
|
}
|
|
:host([down-arrow]) .downArrow {
|
|
border-top: 0.36em solid #ccc;
|
|
border-left: 0.36em solid transparent;
|
|
border-right: 0.36em solid transparent;
|
|
margin-bottom: var(--spacing-xxs);
|
|
margin-left: var(--spacing-m);
|
|
transition: border-top-color 200ms;
|
|
}
|
|
:host([down-arrow]) paper-button:hover .downArrow {
|
|
border-top-color: var(--deemphasized-text-color);
|
|
}
|
|
</style>
|
|
<paper-button raised="[[!link]]" disabled="[[_disabled]]" tabindex="-1">
|
|
<template is="dom-if" if="[[loading]]">
|
|
<span class="loadingSpin"></span>
|
|
</template>
|
|
<slot></slot>
|
|
<i class="downArrow"></i>
|
|
</paper-button>
|
|
`;
|