element-web-Github/res/css/structures/_SpaceHierarchy.pcss
Michael Telatynski db30bc51a1
Deduplicate icons using Compound Design Tokens (#28419)
* Deduplicate icons using Compound Design Tokens

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshots & snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-11 17:27:22 +00:00

315 lines
9.1 KiB
Plaintext

/*
Copyright 2024 New Vector Ltd.
Copyright 2021 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
.mx_SpaceRoomView_landing {
.mx_AccessibleButton_kind_link {
font-size: inherit;
}
.mx_SearchBox {
margin: 24px 0 16px;
}
.mx_SpaceHierarchy_noResults {
text-align: center;
> div {
font-size: $font-15px;
line-height: $font-24px;
color: $secondary-content;
}
}
.mx_SpaceHierarchy_listHeader {
display: flex;
flex-flow: wrap;
justify-content: space-between;
align-items: center;
gap: 12px;
font-size: $font-15px;
line-height: $font-24px;
color: $primary-content;
margin-bottom: 12px;
.mx_SpaceHierarchy_listHeader_header {
grid-column-start: 1;
font-weight: var(--cpd-font-weight-semibold);
margin: 0;
}
.mx_SpaceHierarchy_listHeader_buttons {
grid-column-start: 2;
display: flex;
flex-flow: wrap;
gap: 12px;
min-height: 32px;
.mx_AccessibleButton {
padding: 4px 12px;
font-weight: normal;
}
}
.mx_AccessibleButton_kind_danger_outline,
.mx_AccessibleButton_kind_primary_outline {
padding: 3px 12px; /* to account for the 1px border */
}
}
.mx_SpaceHierarchy_error {
position: relative;
font-weight: var(--cpd-font-weight-semibold);
color: $alert;
font-size: $font-15px;
line-height: $font-18px;
margin: 20px auto 12px;
padding-left: 24px;
width: max-content;
&::before {
content: "";
position: absolute;
height: 16px;
width: 16px;
left: 0;
background-image: url("@vector-im/compound-design-tokens/icons/error.svg");
background-size: cover;
background-repeat: no-repeat;
}
}
.mx_SpaceHierarchy_roomCount {
> h3 {
display: inline;
font-weight: var(--cpd-font-weight-semibold);
font-size: $font-18px;
line-height: $font-22px;
color: $primary-content;
}
> span {
margin-left: 8px;
font-size: $font-15px;
line-height: $font-24px;
color: $secondary-content;
}
}
.mx_SpaceHierarchy_subspace_toggle {
position: absolute;
left: -1px;
top: 10px;
height: 16px;
width: 16px;
border-radius: 4px;
background-color: $background;
&::before {
content: "";
position: absolute;
top: 0;
left: 0;
height: 16px;
width: 16px;
mask-repeat: no-repeat;
mask-position: center;
background-color: $tertiary-content;
mask-size: 16px;
transform: rotate(270deg);
mask-image: url("@vector-im/compound-design-tokens/icons/chevron-down.svg");
}
&.mx_SpaceHierarchy_subspace_toggle_shown::before {
transform: rotate(0deg);
}
}
.mx_SpaceHierarchy_subspace_children {
position: relative;
padding-left: 12px;
}
.mx_SpaceHierarchy_list {
list-style: none;
padding: 0;
margin: 0;
li.mx_SpaceHierarchy_roomTileWrapper {
list-style: none;
.mx_SpaceHierarchy_roomTile {
position: relative;
padding: 8px 16px;
border-radius: 8px;
box-sizing: border-box;
display: flex;
flex-wrap: wrap;
gap: 6px 12px;
.mx_SpaceHierarchy_roomTile_item {
font-weight: var(--cpd-font-weight-semibold);
font-size: $font-15px;
line-height: $font-18px;
display: grid;
grid-template-columns: 20px auto;
gap: 6px 8px;
align-items: center;
flex: 1; /* wrap action buttons */
.mx_SpaceHierarchy_roomTile_avatar {
grid-row: 1;
grid-column: 1;
}
.mx_SpaceHierarchy_roomTile_name {
grid-row: 1;
grid-column: 2;
.mx_InfoTooltip,
.mx_SpaceHierarchy_roomTile_joined {
margin-left: 12px;
color: $tertiary-content;
font-size: $font-12px;
line-height: $font-15px;
.mx_InfoTooltip_icon {
margin-right: 4px;
position: relative;
vertical-align: text-top;
&::before {
position: absolute;
top: 0;
left: 0;
}
}
}
.mx_InfoTooltip {
display: inline-block;
}
.mx_SpaceHierarchy_roomTile_joined {
display: inline;
position: relative;
padding-left: 16px;
&::before {
content: "";
width: 20px;
height: 20px;
top: -2px;
left: -4px;
position: absolute;
mask-position: center;
mask-size: contain;
mask-repeat: no-repeat;
background-color: $accent;
mask-image: url("@vector-im/compound-design-tokens/icons/check.svg");
}
}
}
.mx_SpaceHierarchy_roomTile_info {
grid-row: 2;
grid-column: 2;
font: var(--cpd-font-body-md-regular);
font-weight: initial;
line-height: $font-18px;
color: $secondary-content;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
}
}
.mx_SpaceHierarchy_actions {
display: flex;
align-items: center;
column-gap: 12px;
margin-left: auto;
.mx_AccessibleButton {
line-height: $font-24px;
padding: 4px 16px;
display: inline-block;
visibility: hidden;
}
.mx_AccessibleButton_kind_danger_outline,
.mx_AccessibleButton_kind_primary_outline {
padding: 3px 16px; /* to account for the 1px border */
}
.mx_Checkbox {
display: inline-flex;
label {
width: 16px;
height: 16px;
}
}
}
&:hover,
&:focus-within {
background-color: $spacePanel-bg-color;
.mx_AccessibleButton {
visibility: visible;
}
}
&.mx_SpaceHierarchy_joining {
.mx_AccessibleButton {
visibility: visible;
padding: 4px 18px;
}
}
}
}
}
.mx_SpaceHierarchy_roomTile,
.mx_SpaceHierarchy_subspace_children {
&::before {
content: "";
position: absolute;
background-color: $spacePanel-bg-color;
width: 1px;
height: 100%;
left: 6px;
top: 0;
}
}
.mx_SpaceHierarchy_actions {
.mx_SpaceHierarchy_actionsText {
font-weight: normal;
font-size: $font-12px;
line-height: $font-15px;
color: $secondary-content;
}
}
> hr {
border: none;
height: 1px;
background-color: rgba(141, 151, 165, 0.2);
margin: 20px 0;
}
.mx_SpaceHierarchy_createRoom {
display: block;
margin: 16px auto 0;
width: max-content;
}
}