Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
fad10be
Switch to Compound icons to replace old icons
t3chguy Jan 6, 2026
8c9b842
Apply same treatment to missed icons
t3chguy Jan 6, 2026
41c2e63
Iterate
t3chguy Jan 6, 2026
0f19045
Update snapshots
t3chguy Jan 6, 2026
93ca26c
Merge branch 'develop' of ssh://github.com/element-hq/element-web int…
t3chguy Jan 6, 2026
03d719a
Remove duplicated icon
t3chguy Jan 6, 2026
f56f68f
Update icon
t3chguy Jan 7, 2026
bb32403
Update snapshots
t3chguy Jan 7, 2026
76da495
Merge branch 'develop' into t3chguy/compound-icons-20260106
t3chguy Jan 7, 2026
3c958a8
Merge branch 'develop' into t3chguy/compound-icons-20260106
t3chguy Jan 7, 2026
e91114e
Switch from css masks to rendering svg in ImageView
t3chguy Jan 8, 2026
93bf48b
Switch from css masks to rendering svg in ExtensionsCard
t3chguy Jan 8, 2026
bdc96d7
Switch from css masks to rendering svg in LegacyRoomListHeader
t3chguy Jan 8, 2026
338f67b
Switch from css masks to rendering svg in ImageSizePanel
t3chguy Jan 8, 2026
a14deeb
Merge branch 'develop' of ssh://github.com/element-hq/element-web int…
t3chguy Jan 8, 2026
c894f11
Switch from css masks to rendering svg in LegacyRoomList
t3chguy Jan 8, 2026
f61ff08
Remove icon from CreateSecretStorageDialog title
t3chguy Jan 8, 2026
2a6c43d
Switch from css masks to rendering svg in LiveContentSummary
t3chguy Jan 8, 2026
49a3691
Switch from css masks to rendering svg in RoomCallBanner
t3chguy Jan 8, 2026
c15af3c
Switch from css masks to rendering svg in NonUrgentEchoFailureToast
t3chguy Jan 8, 2026
c700b7e
Switch from css masks to rendering svg in LegacyCallViewHeader
t3chguy Jan 8, 2026
f012b36
Switch from css masks to rendering svg in CallEvent
t3chguy Jan 8, 2026
1bde4a1
Merge branch 'develop' into t3chguy/compound-icons-20260106
t3chguy Jan 8, 2026
e20326a
Merge branch 't3chguy/compound-icons-20260106' into t3chguy/svg-icons…
t3chguy Jan 8, 2026
b25fc18
Delint
t3chguy Jan 8, 2026
67fa379
Merge remote-tracking branch 'origin/t3chguy/svg-icons-20260108' into…
t3chguy Jan 8, 2026
c31d2e1
Iterate
t3chguy Jan 8, 2026
bab2662
Merge branch 'develop' of ssh://github.com/element-hq/element-web int…
t3chguy Jan 13, 2026
69d0c8e
Update screenshots
t3chguy Jan 13, 2026
01095c7
Merge branch 'develop' into t3chguy/svg-icons-20260108
t3chguy Jan 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 0 additions & 12 deletions res/css/views/dialogs/security/_CreateSecretStorageDialog.pcss
Original file line number Diff line number Diff line change
Expand Up @@ -48,18 +48,6 @@ Please see LICENSE files in the repository root for full details.
margin-bottom: 1em;
}

.mx_CreateSecretStorageDialog_titleWithIcon::before {
content: "";
display: inline-block;
width: 24px;
height: 24px;
margin-right: 8px;
position: relative;
top: 5px;
background-color: $primary-content;
mask-image: url("@vector-im/compound-design-tokens/icons/key-solid.svg");
}

.mx_CreateSecretStorageDialog_centeredTitle,
.mx_CreateSecretStorageDialog_centeredBody {
text-align: center;
Expand Down
55 changes: 13 additions & 42 deletions res/css/views/elements/_ImageView.pcss
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,7 @@ Please see LICENSE files in the repository root for full details.
*/

$button-size: 32px;
$icon-size: 24px;
$button-gap: 24px;
$button-gap: var(--cpd-space-3x);

:root {
--image-view-panel-height: 68px;
Expand Down Expand Up @@ -82,67 +81,39 @@ $button-gap: 24px;
}

.mx_ImageView_toolbar {
--icon-size: 24px;

padding-right: 16px;
pointer-events: initial;
display: flex;
align-items: center;
flex-grow: 1;
flex-basis: 0;
justify-content: flex-end;
gap: calc($button-gap - ($button-size - $icon-size));
gap: $button-gap;
}

.mx_ImageView_button {
padding: calc(($button-size - $icon-size) / 2);
padding: calc(($button-size - var(--icon-size)) / 2);
width: var(--icon-size);
height: var(--icon-size);
display: block;

&::before {
content: "";
height: $icon-size;
width: $icon-size;
mask-repeat: no-repeat;
mask-size: contain;
mask-position: center;
svg {
height: inherit;
width: inherit;
display: block;
background-color: $icon-button-color;
color: $icon-button-color;
}
}

.mx_ImageView_button_rotateCW::before {
mask-image: url("@vector-im/compound-design-tokens/icons/rotate-right.svg");
}

.mx_ImageView_button_rotateCCW::before {
mask-image: url("@vector-im/compound-design-tokens/icons/rotate-left.svg");
}

.mx_ImageView_button_zoomOut::before {
mask-image: url("@vector-im/compound-design-tokens/icons/zoom-out.svg");
}

.mx_ImageView_button_zoomIn::before {
mask-image: url("@vector-im/compound-design-tokens/icons/zoom-in.svg");
}

.mx_ImageView_button_download::before {
mask-image: url("@vector-im/compound-design-tokens/icons/download.svg");
}

.mx_ImageView_button_more::before {
mask-image: url("@vector-im/compound-design-tokens/icons/overflow-horizontal.svg");
mask-size: 28px;
.mx_ImageView_button_more {
--icon-size: 28px;
}

.mx_ImageView_button_close {
padding: calc($button-size - $button-size);
border-radius: 100%;
background: #21262c; /* same on all themes */
&::before {
width: $button-size;
height: $button-size;
mask-image: url("@vector-im/compound-design-tokens/icons/close.svg");
mask-size: 24px;
}
}

@media (prefers-reduced-motion) {
Expand Down
7 changes: 2 additions & 5 deletions res/css/views/messages/_CallEvent.pcss
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,10 @@ Please see LICENSE files in the repository root for full details.
line-height: 24px; /* in px to match the avatar */
}

.mx_CallEvent_inactive .mx_CallEvent_title::before {
.mx_CallEvent_inactive .mx_CallEvent_title svg {
display: inline-block;
vertical-align: middle;
content: "";
background-color: $secondary-content;
mask-image: url("@vector-im/compound-design-tokens/icons/video-call-solid.svg");
mask-size: 16px;
color: $secondary-content;
width: 16px;
height: 16px;
margin-right: $spacing-8;
Expand Down
26 changes: 6 additions & 20 deletions res/css/views/rooms/_LegacyRoomListHeader.pcss
Original file line number Diff line number Diff line change
Expand Up @@ -31,26 +31,17 @@ Please see LICENSE files in the repository root for full details.
background-color: $quinary-content;
}

&::before {
content: "";
svg {
width: 20px;
height: 20px;
top: 3px;
right: 0;
position: absolute;
mask-position: center;
mask-size: contain;
mask-repeat: no-repeat;
background-color: $tertiary-content;
mask-image: url("@vector-im/compound-design-tokens/icons/chevron-down.svg");
color: $tertiary-content;
}

&[aria-expanded="true"] {
background-color: $quinary-content;

&::before {
transform: rotate(180deg);
}
}
}

Expand All @@ -66,23 +57,18 @@ Please see LICENSE files in the repository root for full details.
box-sizing: border-box;
flex-shrink: 0;

&::before {
content: "";
svg {
width: 16px;
height: 16px;
position: absolute;
mask-position: center;
mask-size: contain;
mask-repeat: no-repeat;
background-color: $secondary-content;
mask-image: url("@vector-im/compound-design-tokens/icons/plus.svg");
color: $secondary-content;
}

&:hover {
background-color: $tertiary-content;

&::before {
background-color: $background;
svg {
color: $background;
}
}
}
Expand Down
27 changes: 7 additions & 20 deletions res/css/views/rooms/_LiveContentSummary.pcss
Original file line number Diff line number Diff line change
Expand Up @@ -10,41 +10,28 @@ Please see LICENSE files in the repository root for full details.
color: $secondary-content;

.mx_LiveContentSummary_text {
&::before {
svg {
display: inline-block;
vertical-align: text-bottom;
content: "";
background-color: $secondary-content;
mask-size: 16px;
color: $secondary-content;
width: 16px;
height: 16px;
margin-right: 4px;
}

&.mx_LiveContentSummary_text_video::before {
mask-image: url("@vector-im/compound-design-tokens/icons/video-call-solid.svg");
}

&.mx_LiveContentSummary_text_voice::before {
mask-image: url("@vector-im/compound-design-tokens/icons/voice-call-solid.svg");
}

&.mx_LiveContentSummary_text_active {
color: $accent;

&::before {
background-color: $accent;
svg {
color: $accent;
}
}
}

.mx_LiveContentSummary_participants::before {
.mx_LiveContentSummary_participants svg {
display: inline-block;
vertical-align: text-bottom;
content: "";
background-color: $secondary-content;
mask-image: url("@vector-im/compound-design-tokens/icons/group.svg");
mask-size: 16px;
vertical-align: middle;
color: $secondary-content;
width: 16px;
height: 16px;
margin-right: 2px;
Expand Down
10 changes: 3 additions & 7 deletions res/css/views/rooms/_RoomCallBanner.pcss
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,12 @@ Please see LICENSE files in the repository root for full details.
font-weight: var(--cpd-font-weight-semibold);
padding-right: $spacing-8;

&::before {
svg {
display: inline-block;
vertical-align: middle;
content: "";
background-color: $secondary-content;
mask-size: 16px;
mask-position: center;
color: $secondary-content;
width: 16px;
height: 1.2em; /* to match line height */
height: 16px;
margin-right: 8px;
mask-image: url("@vector-im/compound-design-tokens/icons/video-call-solid.svg");
}
}
39 changes: 9 additions & 30 deletions res/css/views/rooms/_RoomSublist.pcss
Original file line number Diff line number Diff line change
Expand Up @@ -100,23 +100,19 @@ Please see LICENSE files in the repository root for full details.
height: 24px;
border-radius: 8px;

&::before {
content: "";
svg {
width: 16px;
height: 16px;
position: absolute;
top: 4px;
left: 4px;
mask-position: center;
mask-size: contain;
mask-repeat: no-repeat;
background: var(--cpd-color-icon-secondary);
color: var(--cpd-color-icon-secondary);
}
}

.mx_RoomSublist_auxButton:hover,
.mx_RoomSublist_menuButton:hover {
background: $panel-actions;
.mx_RoomSublist_auxButton:hover svg,
.mx_RoomSublist_menuButton:hover svg {
color: $panel-actions;
}

/* Hide the menu button by default */
Expand All @@ -126,14 +122,6 @@ Please see LICENSE files in the repository root for full details.
margin: 0;
}

.mx_RoomSublist_auxButton::before {
mask-image: url("@vector-im/compound-design-tokens/icons/plus.svg");
}

.mx_RoomSublist_menuButton::before {
mask-image: url("@vector-im/compound-design-tokens/icons/overflow-horizontal.svg");
}

.mx_RoomSublist_headerText {
flex: 1;
max-width: calc(100% - 16px); /* 16px is the badge width */
Expand All @@ -151,20 +139,11 @@ Please see LICENSE files in the repository root for full details.
height: 14px;
margin-right: 6px;

&::before {
content: "";
svg {
width: 18px;
height: 18px;
position: absolute;
mask-position: center;
mask-size: contain;
mask-repeat: no-repeat;
background-color: var(--cpd-color-icon-secondary);
mask-image: url("@vector-im/compound-design-tokens/icons/chevron-down.svg");
}

&.mx_RoomSublist_collapseBtn_collapsed::before {
transform: rotate(-90deg);
color: var(--cpd-color-icon-secondary);
}
}
}
Expand Down Expand Up @@ -320,7 +299,7 @@ Please see LICENSE files in the repository root for full details.
background-color: $panel-actions;
margin-top: 8px;

&::before {
svg {
top: 8px;
left: 8px;
}
Expand Down Expand Up @@ -359,7 +338,7 @@ Please see LICENSE files in the repository root for full details.
/* to occlude the sublist title */
background-color: $roomlist-bg-color;

&::before {
svg {
top: 0;
left: 0;
}
Expand Down
14 changes: 2 additions & 12 deletions res/css/views/settings/_ImageSizePanel.pcss
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,10 @@ Please see LICENSE files in the repository root for full details.
}

.mx_ImageSizePanel_size {
background-color: $quinary-content;
mask-repeat: no-repeat;
mask-size: 221px;
mask-position: center;
display: block;
color: $quinary-content;
width: 221px;
height: 148px;
margin-bottom: 14px; /* move radio button away from bottom edge a bit */

&.mx_ImageSizePanel_sizeDefault {
mask: url("$(res)/img/element-icons/settings/img-size-normal.svg");
}

&.mx_ImageSizePanel_sizeLarge {
mask: url("$(res)/img/element-icons/settings/img-size-large.svg");
}
}
}
5 changes: 0 additions & 5 deletions res/css/views/toasts/_IncomingCallToast.pcss
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,6 @@ Please see LICENSE files in the repository root for full details.
font-weight: var(--cpd-font-weight-semibold);
}

.mx_LiveContentSummary_participants::before {
width: 15px;
height: 15px;
}

.mx_IncomingCallToast_buttons {
display: flex;
gap: var(--cpd-space-2x);
Expand Down
8 changes: 2 additions & 6 deletions res/css/views/toasts/_NonUrgentEchoFailureToast.pcss
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,11 @@ Please see LICENSE files in the repository root for full details.
*/

.mx_NonUrgentEchoFailureToast {
.mx_NonUrgentEchoFailureToast_icon {
svg {
display: inline-block;
width: $font-18px;
height: $font-18px;
mask-position: center;
mask-size: contain;
mask-repeat: no-repeat;
background-color: #fff; /* we know that non-urgent toasts are always styled the same */
mask-image: url("@vector-im/compound-design-tokens/icons/offline.svg");
color: #fff; /* we know that non-urgent toasts are always styled the same */
margin-right: 8px;
}

Expand Down
Loading
Loading