diff --git a/res/css/_common.pcss b/res/css/_common.pcss
index 908da2bdda6..be42edc4267 100644
--- a/res/css/_common.pcss
+++ b/res/css/_common.pcss
@@ -896,53 +896,23 @@ legend {
@define-mixin composerButtonHighLight {
background: var(--cpd-color-bg-subtle-primary);
- &::before {
- background-color: var(--cpd-color-icon-primary) !important;
- }
+ color: var(--cpd-color-icon-primary) !important;
}
@define-mixin composerButton $border-radius, $hover-color, $hover-bg {
- --size: 26px;
position: relative;
cursor: pointer;
- height: var(--size);
- line-height: var(--size);
- width: auto;
- padding-left: var(--size);
border-radius: $border-radius;
- &::before {
- content: "";
- position: absolute;
- top: 3px;
- left: 3px;
- height: 20px;
- width: 20px;
- background-color: $icon-button-color;
- mask-repeat: no-repeat;
- mask-size: contain;
- mask-position: center;
- z-index: 2;
- }
-
- &::after {
- content: "";
- position: absolute;
- left: 0;
- top: 0;
- z-index: 0;
- width: var(--size);
- height: var(--size);
- border-radius: $border-radius;
+ svg {
+ color: $icon-button-color;
}
&:hover {
- &::after {
- background: $hover-bg;
- }
+ background-color: $hover-bg;
- &::before {
- background-color: $hover-color;
+ svg {
+ color: $hover-color;
}
}
}
diff --git a/res/css/views/audio_messages/_PlayPauseButton.pcss b/res/css/views/audio_messages/_PlayPauseButton.pcss
index e932c282e33..96d419281be 100644
--- a/res/css/views/audio_messages/_PlayPauseButton.pcss
+++ b/res/css/views/audio_messages/_PlayPauseButton.pcss
@@ -14,28 +14,16 @@ Please see LICENSE files in the repository root for full details.
min-height: 32px; /* for when the button is used in a flexbox */
border-radius: 32px;
background-color: $system;
+ padding: var(--cpd-space-1-5x);
+ box-sizing: border-box;
- &::before {
- content: "";
- position: absolute; /* sizing varies by icon */
- background-color: $secondary-content;
- mask-repeat: no-repeat;
- mask-size: contain;
- top: 6px; /* center */
- left: 6px; /* center */
+ svg {
+ color: $secondary-content;
width: 20px;
height: 20px;
}
- &.mx_PlayPauseButton_disabled::before {
+ &[disabled] svg {
opacity: 0.5;
}
-
- &.mx_PlayPauseButton_play::before {
- mask-image: url("@vector-im/compound-design-tokens/icons/play-solid.svg");
- }
-
- &.mx_PlayPauseButton_pause::before {
- mask-image: url("@vector-im/compound-design-tokens/icons/pause-solid.svg");
- }
}
diff --git a/res/css/views/context_menus/_IconizedContextMenu.pcss b/res/css/views/context_menus/_IconizedContextMenu.pcss
index 853d97c9354..7292e260ab4 100644
--- a/res/css/views/context_menus/_IconizedContextMenu.pcss
+++ b/res/css/views/context_menus/_IconizedContextMenu.pcss
@@ -69,11 +69,16 @@ Please see LICENSE files in the repository root for full details.
}
img,
+ svg,
.mx_IconizedContextMenu_icon {
/* icons */
width: 16px;
min-width: 16px;
max-width: 16px;
+
+ & + .mx_IconizedContextMenu_label {
+ padding-left: 14px;
+ }
}
span.mx_IconizedContextMenu_label {
@@ -87,10 +92,6 @@ Please see LICENSE files in the repository root for full details.
white-space: nowrap;
}
- .mx_IconizedContextMenu_icon + .mx_IconizedContextMenu_label {
- padding-left: 14px;
- }
-
.mx_BetaCard_betaPill {
margin-left: 16px;
}
@@ -99,8 +100,6 @@ Please see LICENSE files in the repository root for full details.
.mx_IconizedContextMenu_icon {
position: relative;
- width: 16px;
- height: 16px;
&::before {
content: "";
@@ -119,6 +118,10 @@ Please see LICENSE files in the repository root for full details.
color: $alert !important;
}
+ svg {
+ color: var(--cpd-color-icon-critical-primary);
+ }
+
.mx_IconizedContextMenu_icon::before {
background-color: var(--cpd-color-icon-critical-primary);
}
@@ -127,6 +130,10 @@ Please see LICENSE files in the repository root for full details.
.mx_IconizedContextMenu_option_red {
color: $alert !important;
+ svg {
+ color: $alert;
+ }
+
.mx_IconizedContextMenu_icon::before {
background-color: $alert;
}
@@ -138,6 +145,10 @@ Please see LICENSE files in the repository root for full details.
color: $accent !important;
}
+ svg {
+ color: $accent;
+ }
+
.mx_IconizedContextMenu_icon::before {
background-color: $accent;
}
diff --git a/res/css/views/rooms/_EmojiButton.pcss b/res/css/views/rooms/_EmojiButton.pcss
index 16281046464..5911bf723fe 100644
--- a/res/css/views/rooms/_EmojiButton.pcss
+++ b/res/css/views/rooms/_EmojiButton.pcss
@@ -14,10 +14,6 @@ Please see LICENSE files in the repository root for full details.
@mixin composerButtonHighLight;
}
-.mx_EmojiButton_icon::before {
- mask-image: url("$(res)/img/element-icons/room/composer/emoji.svg");
-}
-
.mx_MessageComposer_wysiwyg {
.mx_EmojiButton {
@mixin composerButton 5px, $tertiary-content, $panels;
diff --git a/res/css/views/rooms/_MessageComposer.pcss b/res/css/views/rooms/_MessageComposer.pcss
index 8b92b682ec1..6dc99205b5e 100644
--- a/res/css/views/rooms/_MessageComposer.pcss
+++ b/res/css/views/rooms/_MessageComposer.pcss
@@ -183,6 +183,9 @@ Please see LICENSE files in the repository root for full details.
.mx_MessageComposer_button {
@mixin composerButton 50%, var(--cpd-color-icon-primary), var(--cpd-color-bg-subtle-primary);
+ padding: 3px;
+ height: 20px;
+ width: 20px;
&:last-child {
margin-right: auto;
@@ -202,6 +205,12 @@ Please see LICENSE files in the repository root for full details.
&.mx_MessageComposer_hangup:not(.mx_AccessibleButton_disabled)::before {
background-color: $alert;
}
+
+ svg {
+ --size: 20px;
+ width: var(--size);
+ height: var(--size);
+ }
}
.mx_MessageComposer_wysiwyg {
.mx_MessageComposer_wrapper {
@@ -244,61 +253,31 @@ Please see LICENSE files in the repository root for full details.
}
}
-.mx_MessageComposer_upload::before {
- mask-image: url("$(res)/img/element-icons/room/composer/attach.svg");
-}
-
-.mx_MessageComposer_poll::before {
- mask-image: url("$(res)/img/element-icons/room/composer/poll.svg");
-}
-
-.mx_MessageComposer_voiceMessage::before {
- mask-image: url("@vector-im/compound-design-tokens/icons/mic-on-solid.svg");
-}
-
-.mx_MessageComposer_plain_text::before {
- mask-image: url("$(res)/img/element-icons/room/composer/plain_text.svg");
-}
-
-.mx_MessageComposer_rich_text::before {
- mask-image: url("@vector-im/compound-design-tokens/icons/text-formatting.svg");
-}
+.mx_MessageComposer_buttonMenu {
+ width: 24px;
+ height: 24px;
+ padding: 1px;
-.mx_MessageComposer_location::before {
- mask-image: url("@vector-im/compound-design-tokens/icons/location-pin-solid.svg");
-}
-
-.mx_MessageComposer_stickers::before {
- mask-image: url("$(res)/img/element-icons/room/composer/sticker.svg");
-}
-
-.mx_MessageComposer_buttonMenu::before {
- mask-image: url("@vector-im/compound-design-tokens/icons/overflow-horizontal.svg");
- mask-size: 24px;
+ svg {
+ width: 24px;
+ height: 24px;
+ }
}
.mx_MessageComposer_sendMessage {
cursor: pointer;
position: relative;
- width: 32px;
- height: 32px;
+ padding: var(--cpd-space-2x);
border-radius: 100%;
background-color: var(--cpd-color-icon-accent-tertiary);
+ height: 16px;
+ width: 16px;
- &::before {
- position: absolute;
- height: 16px;
- width: 16px;
- top: 8px;
- left: 9px;
-
- mask-image: url("@vector-im/compound-design-tokens/icons/send-solid.svg");
- mask-repeat: no-repeat;
- mask-size: contain;
- mask-position: center;
-
- background-color: var(--cpd-color-icon-on-solid-primary);
- content: "";
+ svg {
+ height: inherit;
+ width: inherit;
+
+ color: var(--cpd-color-icon-on-solid-primary);
}
}
diff --git a/res/css/views/rooms/_VoiceRecordComposerTile.pcss b/res/css/views/rooms/_VoiceRecordComposerTile.pcss
index 8dabc06fe58..1715a8efe5d 100644
--- a/res/css/views/rooms/_VoiceRecordComposerTile.pcss
+++ b/res/css/views/rooms/_VoiceRecordComposerTile.pcss
@@ -32,10 +32,12 @@ Please see LICENSE files in the repository root for full details.
height: 24px;
vertical-align: middle;
margin-right: 2px; /* distance from left edge of waveform container (container has some margin too) */
- background-color: $voice-record-icon-color;
- mask-repeat: no-repeat;
- mask-size: contain;
- mask-image: url("@vector-im/compound-design-tokens/icons/delete.svg");
+
+ svg {
+ width: inherit;
+ height: inherit;
+ color: $voice-record-icon-color;
+ }
}
.mx_VoiceRecordComposerTile_uploadingState {
@@ -115,3 +117,9 @@ Please see LICENSE files in the repository root for full details.
opacity: 1;
}
}
+
+@media (forced-colors: active) {
+ .mx_VoiceMessagePrimaryContainer {
+ outline: 1px solid transparent;
+ }
+}
diff --git a/res/img/element-icons/room/composer/attach.svg b/res/img/element-icons/room/composer/attach.svg
index 0cac44d29f0..e2081100b7c 100644
--- a/res/img/element-icons/room/composer/attach.svg
+++ b/res/img/element-icons/room/composer/attach.svg
@@ -1,3 +1,3 @@
diff --git a/res/img/element-icons/room/composer/emoji.svg b/res/img/element-icons/room/composer/emoji.svg
index b02cb693645..231dffbd93e 100644
--- a/res/img/element-icons/room/composer/emoji.svg
+++ b/res/img/element-icons/room/composer/emoji.svg
@@ -1,7 +1,7 @@
-