Major refactor of button styles
Declares several CSS variables for styling buttons throughout the app
and uses them.
Removes the concept of a 'tertiary' button -- primary and secondary have
the exact same styling, so all tertiary buttons are changed to secondary
buttons and the existing secondary button (only replyBtn) is changed to
a primary button.
Also removes some of the many ways to modify a button color and
background -- there is no need for mixins to specifically style various
attributes of the paper-button when the ability to apply any styles
directly to it (via @apply --gr-button) is already supported.
Change-Id: I19a4114764df80b06175032b228a6ec63b414089
diff --git a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html
index a68448d..100c112 100644
--- a/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html
+++ b/polygerrit-ui/app/elements/change/gr-change-view/gr-change-view.html
@@ -244,11 +244,11 @@
background-color: var(--table-header-background-color);
border-top: 1px solid var(--border-color);
height: 3rem;
- --paper-tabs-selection-bar-color: var(--color-link);
+ --paper-tabs-selection-bar-color: var(--link-color);
}
paper-tab {
max-width: 15rem;
- --paper-tab-ink: var(--color-link);
+ --paper-tab-ink: var(--link-color);
}
gr-thread-list,
gr-messages-list {
@@ -425,7 +425,7 @@
id="replyBtn"
class="reply"
hidden$="[[!_loggedIn]]"
- secondary
+ primary
disabled="[[_replyDisabled]]"
on-tap="_handleReplyTap">[[_replyButtonLabel]]</gr-button>
</div>
diff --git a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.html b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.html
index e9b0993..da7a16a 100644
--- a/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.html
+++ b/polygerrit-ui/app/elements/change/gr-file-list/gr-file-list.html
@@ -178,7 +178,7 @@
display: none;
}
label.show-hide {
- color: var(--color-link);
+ color: var(--link-color);
cursor: pointer;
display: block;
font-size: var(--font-size-small);
@@ -203,7 +203,7 @@
width: 15em;
}
.reviewed label {
- color: var(--color-link);
+ color: var(--link-color);
opacity: 0;
justify-content: flex-end;
width: 100%;
diff --git a/polygerrit-ui/app/elements/change/gr-label-score-row/gr-label-score-row.html b/polygerrit-ui/app/elements/change/gr-label-score-row/gr-label-score-row.html
index e17195e..aae21c0 100644
--- a/polygerrit-ui/app/elements/change/gr-label-score-row/gr-label-score-row.html
+++ b/polygerrit-ui/app/elements/change/gr-label-score-row/gr-label-score-row.html
@@ -58,25 +58,25 @@
gr-button {
min-width: 40px;
--gr-button: {
+ background-color: var(--button-background-color, #f5f5f5);
+ color: var(--primary-text-color);
padding: .2em .85em;
@apply(--vote-chip-styles);
}
- --gr-button-background: var(--button-background-color, #f5f5f5);
- --gr-button-color: var(--primary-text-color);
}
- iron-selector > gr-button.iron-selected.max {
+ gr-button.iron-selected.max {
--button-background-color: var(--vote-color-max);
}
- iron-selector > gr-button.iron-selected.positive {
+ gr-button.iron-selected.positive {
--button-background-color: var(--vote-color-positive);
}
- iron-selector > gr-button.iron-selected.min {
+ gr-button.iron-selected.min {
--button-background-color: var(--vote-color-min);
}
- iron-selector > gr-button.iron-selected.negative {
+ gr-button.iron-selected.negative {
--button-background-color: var(--vote-color-negative);
}
- iron-selector > gr-button.iron-selected.neutral {
+ gr-button.iron-selected.neutral {
--button-background-color: var(--vote-color-neutral);
}
.placeholder {
diff --git a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.html b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.html
index 7636b98..1e37725 100644
--- a/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.html
+++ b/polygerrit-ui/app/elements/change/gr-reply-dialog/gr-reply-dialog.html
@@ -267,7 +267,7 @@
<template is="dom-if" if="[[canBeStarted]]">
<gr-button
link
- tertiary
+ secondary
disabled="[[_isState(knownLatestState, 'not-latest')]]"
class="action save"
has-tooltip
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-comment-thread/gr-diff-comment-thread.html b/polygerrit-ui/app/elements/diff/gr-diff-comment-thread/gr-diff-comment-thread.html
index 6f597d7..de12ea4 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-comment-thread/gr-diff-comment-thread.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-comment-thread/gr-diff-comment-thread.html
@@ -28,7 +28,6 @@
<style include="shared-styles">
gr-button {
margin-left: .5em;
- --gr-button-color: #212121;
}
#actions {
margin-left: auto;
@@ -94,21 +93,25 @@
<gr-button
id="replyBtn"
link
+ secondary
class="action reply"
on-tap="_handleCommentReply">Reply</gr-button>
<gr-button
id="quoteBtn"
link
+ secondary
class="action quote"
on-tap="_handleCommentQuote">Quote</gr-button>
<gr-button
id="ackBtn"
link
+ secondary
class="action ack"
on-tap="_handleCommentAck">Ack</gr-button>
<gr-button
id="doneBtn"
link
+ secondary
class="action done"
on-tap="_handleCommentDone">Done</gr-button>
</div>
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.html b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.html
index 1c8d9fd..75a67bf 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-comment/gr-diff-comment.html
@@ -97,7 +97,6 @@
}
.action {
margin-left: 1em;
- --gr-button-color: #212121;
}
.robotActions {
display: flex;
@@ -249,6 +248,7 @@
<gr-button
id="deleteBtn"
link
+ secondary
class$="action delete [[_computeDeleteButtonClass(_isAdmin, draft)]]"
on-tap="_handleCommentDelete">
(Delete)
@@ -314,21 +314,35 @@
</label>
</div>
<div class="rightActions">
- <gr-button link class="action cancel hideOnPublished"
+ <gr-button
+ link
+ secondary
+ class="action cancel hideOnPublished"
on-tap="_handleCancel">Cancel</gr-button>
- <gr-button link class="action discard hideOnPublished"
+ <gr-button
+ link
+ secondary
+ class="action discard hideOnPublished"
on-tap="_handleDiscard">Discard</gr-button>
- <gr-button link class="action edit hideOnPublished"
+ <gr-button
+ link
+ secondary
+ class="action edit hideOnPublished"
on-tap="_handleEdit">Edit</gr-button>
- <gr-button link class="action save hideOnPublished"
- on-tap="_handleSave"
- disabled$="[[_computeSaveDisabled(_messageText, comment, resolved)]]">Save
- </gr-button>
+ <gr-button
+ link
+ secondary
+ disabled$="[[_computeSaveDisabled(_messageText, comment, resolved)]]"
+ class="action save hideOnPublished"
+ on-tap="_handleSave">Save</gr-button>
</div>
</div>
<div class="robotActions" hidden$="[[!_showRobotActions]]">
<template is="dom-if" if="[[isRobotComment]]">
- <gr-button link class="action fix"
+ <gr-button
+ link
+ secondary
+ class="action fix"
on-tap="_handleFix"
disabled="[[robotButtonDisabled]]">
Please Fix
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector.html b/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector.html
index be257d4..8251e53 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-mode-selector/gr-diff-mode-selector.html
@@ -28,7 +28,7 @@
display: flex;
}
gr-button.selected iron-icon {
- color: var(--color-link);
+ color: var(--link-color);
}
iron-icon {
height: 1.3rem;
diff --git a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.html b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.html
index 741869d..3972751 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff/gr-diff.html
@@ -164,7 +164,6 @@
.contextControl gr-button {
display: inline-block;
text-decoration: none;
- --gr-button-color: var(--deemphasized-text-color);
--gr-button: {
padding: .2em;
}
diff --git a/polygerrit-ui/app/elements/edit/gr-edit-file-controls/gr-edit-file-controls.html b/polygerrit-ui/app/elements/edit/gr-edit-file-controls/gr-edit-file-controls.html
index fd6aeb0..c57a147 100644
--- a/polygerrit-ui/app/elements/edit/gr-edit-file-controls/gr-edit-file-controls.html
+++ b/polygerrit-ui/app/elements/edit/gr-edit-file-controls/gr-edit-file-controls.html
@@ -44,7 +44,7 @@
--gr-dropdown-item: {
background-color: transparent;
border: none;
- color: var(--color-link);
+ color: var(--link-color);
font-size: inherit;
text-transform: uppercase;
}
diff --git a/polygerrit-ui/app/elements/shared/gr-button/gr-button.html b/polygerrit-ui/app/elements/shared/gr-button/gr-button.html
index e2fb0b3..8fff850 100644
--- a/polygerrit-ui/app/elements/shared/gr-button/gr-button.html
+++ b/polygerrit-ui/app/elements/shared/gr-button/gr-button.html
@@ -27,8 +27,8 @@
<style include="shared-styles">
/* general styles for all buttons */
:host {
- --background-color: var(--gr-button-background, var(--view-background-color));
- --button-color: var(--gr-button-color, var(--color-link));
+ --background-color: var(--button-background-color, var(--default-button-background-color));
+ --text-color: var(--default-button-text-color);
display: inline-block;
font-family: var(--font-family-bold);
font-size: var(--font-size-small);
@@ -46,7 +46,7 @@
-webkit-font-smoothing: initial;
align-items: center;
background-color: var(--background-color);
- color: var(--button-color);
+ color: var(--text-color);
display: flex;
font-family: inherit;
justify-content: center;
@@ -62,18 +62,26 @@
), var(--background-color);
}
- /* Styles for raised buttons specifically */
- :host([primary][raised]),
- :host([secondary][raised]) {
- --background-color: var(--color-link);
- --button-color: var(--view-background-color);
+ :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);
+ }
+ :host([secondary]) {
+ --background-color: var(--secondary-button-text-color);
+ --text-color: var(--secondary-button-background-color);
+ }
+ :host([link][secondary]) {
+ --text-color: var(--secondary-button-text-color);
}
- /* Keep below color definition for primary/secondary so that this takes
- precedence when disabled. */
+ /* Keep below color definition for primary so that this takes precedence
+ when disabled. */
:host([disabled]) {
--background-color: var(--table-subheader-background-color);
- --button-color: var(--deemphasized-text-color);
+ --text-color: var(--deemphasized-text-color);
cursor: default;
}
@@ -86,9 +94,6 @@
:host([disabled][link]) {
--background-color: transparent;
}
- :host([link][tertiary]) {
- --button-color: var(--color-link-tertiary);
- }
/* Styles for the optional down arrow */
:host:not([down-arrow]) .downArrow {display: none; }
diff --git a/polygerrit-ui/app/elements/shared/gr-button/gr-button.js b/polygerrit-ui/app/elements/shared/gr-button/gr-button.js
index 6ac16cc7..ca6705e 100644
--- a/polygerrit-ui/app/elements/shared/gr-button/gr-button.js
+++ b/polygerrit-ui/app/elements/shared/gr-button/gr-button.js
@@ -31,21 +31,11 @@
value: false,
reflectToAttribute: true,
},
- raised: {
- type: Boolean,
- reflectToAttribute: true,
- computed: '_isRaised(link)',
- },
loading: {
type: Boolean,
value: false,
reflectToAttribute: true,
},
- tertiary: {
- type: Boolean,
- value: false,
- reflectToAttribute: true,
- },
disabled: {
type: Boolean,
observer: '_disabledChanged',
@@ -81,10 +71,6 @@
tabindex: '0',
},
- _isRaised(isLink) {
- return !isLink;
- },
-
_handleAction(e) {
if (this.disabled) {
e.preventDefault();
diff --git a/polygerrit-ui/app/elements/shared/gr-change-star/gr-change-star.html b/polygerrit-ui/app/elements/shared/gr-change-star/gr-change-star.html
index 5e56db1..70b2635 100644
--- a/polygerrit-ui/app/elements/shared/gr-change-star/gr-change-star.html
+++ b/polygerrit-ui/app/elements/shared/gr-change-star/gr-change-star.html
@@ -28,7 +28,7 @@
cursor: pointer;
}
iron-icon.active {
- fill: var(--color-link);
+ fill: var(--link-color);
}
</style>
<button aria-label="Change star" on-tap="toggleStar">
diff --git a/polygerrit-ui/app/elements/shared/gr-editable-label/gr-editable-label.html b/polygerrit-ui/app/elements/shared/gr-editable-label/gr-editable-label.html
index e4d9a6b..96066de 100644
--- a/polygerrit-ui/app/elements/shared/gr-editable-label/gr-editable-label.html
+++ b/polygerrit-ui/app/elements/shared/gr-editable-label/gr-editable-label.html
@@ -48,7 +48,7 @@
@apply --label-style;
}
label.editable {
- color: var(--color-link);
+ color: var(--link-color);
cursor: pointer;
}
#dropdown {
diff --git a/polygerrit-ui/app/elements/shared/gr-tooltip/gr-tooltip.html b/polygerrit-ui/app/elements/shared/gr-tooltip/gr-tooltip.html
index ac9226c..12a8f1c 100644
--- a/polygerrit-ui/app/elements/shared/gr-tooltip/gr-tooltip.html
+++ b/polygerrit-ui/app/elements/shared/gr-tooltip/gr-tooltip.html
@@ -27,7 +27,7 @@
background-color: var(--tooltip-background-color, #333);
box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
- color: var(--view-background-color);
+ color: #fff;
font-size: var(--font-size-small);
position: absolute;
z-index: 1000;
diff --git a/polygerrit-ui/app/styles/app-theme.html b/polygerrit-ui/app/styles/app-theme.html
index 95d6b00..9642019 100644
--- a/polygerrit-ui/app/styles/app-theme.html
+++ b/polygerrit-ui/app/styles/app-theme.html
@@ -49,11 +49,13 @@
--font-size-small: .92rem;
--font-size-large: 1.076rem;
- /* Follow are a part of the design refresh */
- --color-link: #2a66d9;
- --color-link-tertiary: #000;
- /* 12% darker */
- --color-button-hover: #0B47BA;
+ --link-color: #2a66d9;
+ --primary-button-background-color: var(--link-color);
+ --primary-button-text-color: #fff;
+ --secondary-button-background-color: #fff;
+ --secondary-button-text-color: #212121;
+ --default-button-background-color: #fff;
+ --default-button-text-color: var(--link-color);
/* Used for both the old patchset header and for indicating that a particular
change message was selected. */
diff --git a/polygerrit-ui/app/styles/shared-styles.html b/polygerrit-ui/app/styles/shared-styles.html
index e9f7bcb..f97408d 100644
--- a/polygerrit-ui/app/styles/shared-styles.html
+++ b/polygerrit-ui/app/styles/shared-styles.html
@@ -41,7 +41,7 @@
padding: 0;
}
a {
- color: var(--color-link);
+ color: var(--link-color);
}
input,
textarea,
@@ -98,8 +98,8 @@
border-color: transparent;
}
paper-toggle-button {
- --paper-toggle-button-checked-bar-color: var(--color-link);
- --paper-toggle-button-checked-button-color: var(--color-link);
+ --paper-toggle-button-checked-bar-color: var(--link-color);
+ --paper-toggle-button-checked-button-color: var(--link-color);
}
strong {
font-family: var(--font-family-bold);