1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-07-30 02:21:17 +03:00

Compound color pass (#11079)

* Integrate compound design tokens

The icons should not be included in this repo, and should live in the compound design token repo, but for simplicity sake at this phase of the integration they will be added here

* Pareto color pass on the light theme

* bugfixes in the light color pass

* Compound color pass dark theme

* Compound color pass high contrast

* Fix typo

* fix tooltip

* Fix PR feedback

* fix composer button mixin

* Normalise some of the auth page colors

* Update based on figma feedback

* lintfix

* regenerate theme index

* Fix cypress tests

Removed the CSS assertions in the room header as it overlaps with the Percy snapshot

* fix more e2e tests

* update colors based on feedback

* fix color pass

* Fix theme overrides

* Restore -transparent

* fix color mapping

* Final colour pass update

* Do not consume compound colors directly

* rethemedex

* Update pass

* Final tweaks

* a11y pass

* scope opacity to checkbox and not label

* Add missing customisations var for theming

* lintfix

* remove unwanted test
This commit is contained in:
Germain
2023-07-12 18:46:49 +01:00
committed by GitHub
parent db52cdd02d
commit 38d24f164a
54 changed files with 393 additions and 295 deletions

View File

@ -250,7 +250,7 @@ legend {
background-color: transparent;
color: $input-darker-fg-color;
border-radius: 4px;
border: 1px solid rgba($primary-content, 0.1);
border: 1px solid $secondary-hairline-color;
/* these things should probably not be defined globally */
margin: 9px;
}
@ -263,7 +263,7 @@ legend {
:not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="text"]::placeholder,
:not(.mx_textinput):not(.mx_Field):not(.mx_no_textinput) > input[type="search"]::placeholder,
.mx_textinput input::placeholder {
color: rgba($input-darker-fg-color, 0.75);
color: $input-placeholder;
}
}
@ -584,9 +584,9 @@ legend {
/* flip colours for the secondary ones */
font-weight: var(--cpd-font-weight-semibold);
border: 1px solid $accent;
border: 1px solid currentColor;
color: $accent;
background-color: $button-secondary-bg-color;
background-color: transparent;
font-family: inherit;
}
@ -808,18 +808,19 @@ legend {
mask-size: contain;
height: 18px;
min-width: 18px;
background-color: $secondary-content !important;
background-color: $icon-button-color !important;
}
@define-mixin composerButtonHighLight {
background: rgba($accent, 0.25);
/* TODO: Refactor as this will break for apps that override the accent color */
background: var(--cpd-color-green-300);
/* make the icon the accent color too */
&::before {
background-color: $accent !important;
}
}
@define-mixin composerButton $border-radius, $hover-color {
@define-mixin composerButton $border-radius, $hover-color, $hover-bg {
--size: 26px;
position: relative;
cursor: pointer;
@ -840,6 +841,7 @@ legend {
mask-repeat: no-repeat;
mask-size: contain;
mask-position: center;
z-index: 2;
}
&::after {
@ -855,7 +857,7 @@ legend {
&:hover {
&::after {
background: rgba($hover-color, 0.1);
background: $hover-bg;
}
&::before {

View File

@ -16,5 +16,5 @@ limitations under the License.
.mx_KebabContextMenu_icon {
width: 24px;
color: $secondary-content;
color: $icon-button-color;
}

View File

@ -20,7 +20,7 @@ limitations under the License.
background: transparent;
border-radius: 4px;
color: $secondary-content;
color: $icon-button-color;
--icon-transform: rotate(-90deg);

View File

@ -53,7 +53,7 @@ limitations under the License.
&.Inactive {
--icon-color: $secondary-content;
--background-color: $system;
--background-color: $panels;
}
}

View File

@ -23,7 +23,7 @@ limitations under the License.
}
.mx_DeviceTypeIcon_deviceIconWrapper {
--background-color: $system;
--background-color: $panels;
--icon-color: $secondary-content;
height: 40px;

View File

@ -26,7 +26,7 @@ limitations under the License.
padding: 0 $spacing-16;
margin-bottom: $spacing-32;
background-color: $system;
background-color: $panels;
border-radius: 8px;
color: $secondary-content;
}

View File

@ -29,7 +29,7 @@ limitations under the License.
}
.mx_Icon_bg-accent-light {
background-color: rgba($accent, 0.1);
background-color: $accent-300;
}
.mx_Icon_alert {

View File

@ -100,7 +100,8 @@ limitations under the License.
.mx_MessageTimestamp {
text-align: right;
font: var(--cpd-font-body-md-regular);
color: $secondary-content;
font: var(--cpd-font-body-sm-regular);
}
}
}

View File

@ -14,13 +14,6 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
.mx_MatrixChat--with-avatar {
.mx_LeftPanel,
.mx_LeftPanel .mx_LeftPanel_roomListContainer {
background-color: transparent;
}
}
.mx_LeftPanel_outerWrapper {
display: flex;
flex-direction: column;

View File

@ -258,8 +258,8 @@ limitations under the License.
height: var(--RoomHeader-indicator-dot-size);
border-radius: 50%;
transform: scale(1);
background: rgba(var(--RoomHeader-indicator-pulseColor), 1);
box-shadow: 0 0 0 0 rgba(var(--RoomHeader-indicator-pulseColor), 1);
background: var(--RoomHeader-indicator-pulseColor);
box-shadow: 0 0 0 0 var(--RoomHeader-indicator-pulseColor);
animation: mx_Indicator_pulse 2s infinite;
animation-iteration-count: 1;

View File

@ -368,7 +368,7 @@ limitations under the License.
.mx_UserMenu {
padding: 0 2px 8px;
border-bottom: 1px solid $quinary-content;
border-bottom: 1px solid $separator;
margin: 12px 14px 4px 18px;
max-width: 226px;
}

View File

@ -172,7 +172,7 @@ limitations under the License.
mask-position: center;
mask-size: contain;
mask-repeat: no-repeat;
background: $primary-content;
background: $icon-button-color;
}
}

View File

@ -16,7 +16,7 @@ limitations under the License.
.mx_BetaCard {
padding: $spacing-24;
background-color: $system;
background-color: $panels;
border-radius: 8px;
box-sizing: border-box;
color: $secondary-content;

View File

@ -137,7 +137,7 @@ limitations under the License.
mask-position: center;
mask-size: contain;
mask-repeat: no-repeat;
background-color: $secondary-content;
background-color: $icon-button-color;
}
}

View File

@ -29,7 +29,7 @@ limitations under the License.
mask-position: center;
mask-size: contain;
mask-repeat: no-repeat;
background: $primary-content;
background: $icon-button-color;
}
}

View File

@ -18,7 +18,7 @@ limitations under the License.
.mx_PollCreateDialog_busy {
position: absolute;
inset: 0;
background-color: rgba($background, 0.6);
background-color: $overlay-background;
z-index: 1;
}

View File

@ -105,7 +105,6 @@ limitations under the License.
&.mx_AccessibleButton_kind_primary_outline {
color: $accent;
background-color: $button-secondary-bg-color;
}
&.mx_AccessibleButton_kind_secondary {

View File

@ -110,6 +110,7 @@ limitations under the License.
/* Make all state events one order smaller than the other events */
.mx_EventTile {
font: var(--cpd-font-body-sm-regular);
color: $secondary-content;
}
}
@ -121,6 +122,7 @@ limitations under the License.
.mx_TextualEvent.mx_GenericEventListSummary_summary {
font: var(--cpd-font-body-sm-regular);
display: inline-flex;
color: $secondary-content;
}
.mx_GenericEventListSummary_avatars {

View File

@ -45,7 +45,7 @@ limitations under the License.
}
.mx_SSOButton:hover {
background-color: $panel-hover;
background-color: $panel-actions;
}
.mx_SSOButton_default {

View File

@ -42,8 +42,7 @@ limitations under the License.
height: $size;
width: $size;
size: 0.5rem;
border: 1px solid rgba($muted-fg-color, 0.5);
border: 1px solid $strong-input-border-color;
box-sizing: border-box;
border-radius: $border-radius;
@ -68,7 +67,6 @@ limitations under the License.
}
&:disabled + label {
opacity: 0.5;
cursor: not-allowed;
}
@ -89,6 +87,10 @@ limitations under the License.
background: $accent;
border-color: $accent;
}
&:checked:disabled + label > .mx_Checkbox_background {
opacity: 0.5;
}
}
.mx_Checkbox.mx_Checkbox_kind_outline input[type="checkbox"] {

View File

@ -20,7 +20,7 @@ limitations under the License.
*/
.mx_StyledRadioButton {
$radio-circle-color: $quaternary-content;
$radio-circle-color: $strong-input-border-color;
$active-radio-circle-color: $accent;
position: relative;

View File

@ -24,7 +24,8 @@ limitations under the License.
border-radius: 1.5rem;
padding: 2px;
background-color: $togglesw-off-color;
background-color: $background;
border: 1px solid $strong-input-border-color;
opacity: 0.5;
&[aria-disabled="true"] {
@ -38,10 +39,11 @@ limitations under the License.
}
.mx_ToggleSwitch.mx_ToggleSwitch_on {
background-color: $accent;
background-color: $inverted-bg-color;
> .mx_ToggleSwitch_ball {
left: calc(100% - $font-20px);
background-color: $background;
}
}

View File

@ -27,10 +27,9 @@ limitations under the License.
}
.mx_DisambiguatedProfile_mxid {
font: var(--cpd-font-body-sm-semibold);
margin-inline-start: 5px;
opacity: 0.5; /* Match mx_TextualEvent */
color: $primary-content;
color: $secondary-content;
font-size: var(--cpd-font-size-body-sm);
}
}

View File

@ -18,18 +18,18 @@ limitations under the License.
display: inline-flex;
line-height: $font-20px;
padding: 1px 6px;
border: 1px solid $message-action-bar-border-color;
border: 1px solid $quinary-content;
border-radius: 10px;
background-color: $header-panel-bg-color;
background-color: $secondary-hairline-color;
user-select: none;
&:hover {
border-color: $reaction-row-button-hover-border-color;
border-color: $quinary-content;
}
&.mx_ReactionsRowButton_selected {
background-color: $reaction-row-button-selected-bg-color;
border-color: $accent;
background-color: $accent-300;
border-color: $accent-800;
}
&.mx_AccessibleButton_disabled {

View File

@ -14,7 +14,7 @@ limitations under the License.
.mx_RedactedBody {
white-space: pre-wrap;
color: $muted-fg-color;
color: $secondary-content;
vertical-align: middle;
padding-left: 20px;
@ -23,7 +23,7 @@ limitations under the License.
&::before {
height: 14px;
width: 14px;
background-color: $muted-fg-color;
background-color: $icon-button-color;
mask-image: url("$(res)/img/feather-customised/trash.custom.svg");
mask-repeat: no-repeat;
mask-position: center;

View File

@ -15,7 +15,6 @@ limitations under the License.
*/
.mx_TextualEvent {
opacity: 0.5;
overflow-y: hidden;
line-height: normal;

View File

@ -59,7 +59,7 @@ limitations under the License.
left: 0;
mask-repeat: no-repeat;
mask-position: center;
background-color: $header-panel-text-primary-color;
background-color: $icon-button-color;
}
}
@ -103,7 +103,7 @@ limitations under the License.
flex: 1;
.mx_BaseCard_header_title_heading {
color: $secondary-content;
color: $icon-button-color;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;

View File

@ -130,7 +130,7 @@ limitations under the License.
}
.mx_MessageTimestamp {
color: var(--MessageTimestamp-color); /* TODO: check whether needed or not */
color: $secondary-content;
}
.mx_BaseCard_footer {

View File

@ -69,7 +69,7 @@ limitations under the License.
}
.mx_UserInfo_separator {
border-bottom: 1px solid rgba($primary-content, 0.1);
border-bottom: 1px solid $separator;
}
.mx_UserInfo_memberDetailsContainer {

View File

@ -33,7 +33,7 @@ limitations under the License.
padding: 3px 6px;
&:focus {
border-color: rgba($accent, 0.5); /* Only ever used here */
border-color: $accent-500;
}
}

View File

@ -15,7 +15,7 @@ limitations under the License.
*/
.mx_EmojiButton {
@mixin composerButton 50%, $accent;
@mixin composerButton 50%, $accent, $accent-300;
}
.mx_EmojiButton_highlight {
@ -28,6 +28,6 @@ limitations under the License.
.mx_MessageComposer_wysiwyg {
.mx_EmojiButton {
@mixin composerButton 5px, $tertiary-content;
@mixin composerButton 5px, $tertiary-content, $panels;
}
}

View File

@ -120,7 +120,7 @@ limitations under the License.
.mx_EntityTile_power {
padding-inline-start: 6px;
font-size: $font-10px;
color: $tertiary-content;
color: $secondary-content;
max-width: 6em;
overflow: hidden;
text-overflow: ellipsis;

View File

@ -138,7 +138,7 @@ $left-gutter: 64px;
&.mx_EventTile_highlight,
&.mx_EventTile_highlight .markdown-body,
&.mx_EventTile_highlight .mx_EventTile_edited {
color: $alert;
color: $secondary-content;
}
&.mx_EventTile_bubbleContainer {
@ -686,7 +686,7 @@ $left-gutter: 64px;
.mx_EventTile_pendingModeration {
user-select: none;
font-size: $font-12px;
color: $roomtopic-color;
color: $secondary-content;
display: inline-block;
margin-left: 9px;
}
@ -1136,13 +1136,13 @@ $left-gutter: 64px;
}
&:hover {
background-color: $system;
background-color: $panels;
}
/* ThreadsList has always group layout */
&[data-layout="group"]:hover {
.mx_EventTile_line {
background-color: $system; /* override $event-selected-color */
background-color: inherit;
box-shadow: none; /* don't show the verification left stroke in the thread list */
}
}

View File

@ -189,7 +189,7 @@ limitations under the License.
}
.mx_MessageComposer_button {
@mixin composerButton 50%, $accent;
@mixin composerButton 50%, $accent, $accent-300;
&:last-child {
margin-right: auto;
@ -197,11 +197,12 @@ limitations under the License.
&.mx_MessageComposer_closeButtonMenu {
&::after {
background: rgba($accent, 0.1);
background: $accent-300;
}
&::before {
background-color: $accent;
z-index: 2;
}
}
@ -231,15 +232,16 @@ limitations under the License.
}
.mx_MessageComposer_button {
@mixin composerButton 5px, $tertiary-content;
@mixin composerButton 5px, $tertiary-content, $panels;
&.mx_MessageComposer_closeButtonMenu {
&::after {
background: rgba($accent, 0.1);
background: $accent-300;
}
&::before {
background-color: $accent;
z-index: 2;
}
}

View File

@ -56,7 +56,7 @@ limitations under the License.
min-width: 0;
margin: 0 20px 0 16px;
padding-top: 6px;
border-bottom: 1px solid $system;
border-bottom: 1px solid $separator;
.mx_InviteOnlyIcon_large {
margin: 0;
@ -112,7 +112,7 @@ limitations under the License.
}
&[aria-expanded="true"] {
background-color: $quinary-content;
background-color: $separator;
.mx_RoomHeader_chevron {
transform: rotate(180deg);
@ -138,7 +138,7 @@ limitations under the License.
$lines: 2;
flex: 1;
color: $roomtopic-color;
color: $secondary-content;
font: var(--cpd-font-body-sm-regular);
line-height: 1rem;
max-height: calc(1rem * $lines);
@ -189,7 +189,7 @@ limitations under the License.
}
&:hover {
background: rgba($accent, 0.1);
background: $accent-300;
&::before {
background-color: $accent;
@ -207,7 +207,7 @@ limitations under the License.
border-radius: 50%;
transform: scale(1.6);
transform-origin: center center;
background: rgba($background, 1);
background: $background;
}
.mx_RoomHeader_button_unreadIndicator {
@ -217,18 +217,18 @@ limitations under the License.
margin: 4px;
&.mx_Indicator_red {
background: rgba($alert, 1);
box-shadow: rgba($alert, 1);
background: $alert;
box-shadow: $alert;
}
&.mx_Indicator_gray {
background: rgba($room-icon-unread-color, 1);
box-shadow: rgba($room-icon-unread-color, 1);
background: $room-icon-unread-color;
box-shadow: $room-icon-unread-color;
}
&.mx_Indicator_bold {
background: rgba($primary-content, 1);
box-shadow: rgba($primary-content, 1);
background: $primary-content;
box-shadow: $primary-content;
}
}

View File

@ -48,7 +48,7 @@ limitations under the License.
/* to work correctly. */
padding-bottom: 8px;
height: 24px;
color: $tertiary-content;
color: $secondary-content;
.mx_RoomSublist_stickableContainer {
width: 100%;

View File

@ -37,7 +37,7 @@ limitations under the License.
width: fit-content;
height: 40px;
position: relative;
background-color: $system;
background-color: $panels;
padding-inline: $spacing-12 $spacing-16;
display: flex;
align-items: center;
@ -46,7 +46,7 @@ limitations under the License.
box-sizing: border-box;
clear: both;
overflow: hidden;
border: 1px solid $system; /* always render a border so the hover effect doesn't require a re-layout */
border: 1px solid $panels; /* always render a border so the hover effect doesn't require a re-layout */
.mx_ThreadSummary_chevron {
position: absolute;
@ -55,7 +55,7 @@ limitations under the License.
bottom: 0;
width: 60px;
box-sizing: border-box;
/* XXX: We use `$system-transparent` instead of `transparent` to work around a Safari <15.4 bug */
/* XXX: We use an HEXA `transparent` to work around a Safari <15.4 bug */
background: linear-gradient(270deg, $system 50%, $system-transparent 100%);
opacity: 0;

View File

@ -32,7 +32,7 @@ limitations under the License.
padding: 3px 6px;
&:focus {
border-color: rgba($accent, 0.5); /* Only ever used here */
border-color: $accent-400;
}
}

View File

@ -34,7 +34,7 @@ limitations under the License.
.mx_FormattingButtons_Button_hover {
&:hover {
background: rgba($secondary-content, 0.1);
background: $panels;
.mx_FormattingButtons_Icon {
color: $secondary-content;
@ -43,7 +43,7 @@ limitations under the License.
}
.mx_FormattingButtons_active {
background: rgba($accent, 0.1);
background: $accent-300;
.mx_FormattingButtons_Icon {
color: $accent;

View File

@ -40,7 +40,7 @@ limitations under the License.
display: flex;
align-items: center;
padding: 15px $spacing-20 35px;
background: rgba($quinary-content, 0.2);
background: $panels;
border-radius: 10px;
font-size: $font-10px;

View File

@ -19,7 +19,7 @@ limitations under the License.
kbd {
padding: 5px;
border-radius: 4px;
background-color: $header-panel-bg-color;
background-color: $background;
min-width: 20px;
text-align: center;
display: inline-block;

View File

@ -28,6 +28,7 @@ limitations under the License.
flex-shrink: 1;
display: flex;
flex-direction: column;
overflow: hidden;
flex-basis: 33%;
min-width: 0;
@ -71,7 +72,7 @@ limitations under the License.
}
.mx_StyledRadioButton_checked {
background-color: rgba($accent, 0.08);
background-color: $accent-200;
}
.mx_EventTile {

View File

@ -26,7 +26,7 @@ limitations under the License.
border-radius: 10px;
width: 180px;
background: $quinary-content;
background: $accent-200;
opacity: 0.4;
flex-shrink: 1;

View File

@ -104,7 +104,7 @@ limitations under the License.
left: 0;
right: 0;
background-color: rgba($call-background, 0.9);
background-color: $info-plinth-fg-color;
display: flex;
justify-content: center;