mirror of
https://github.com/vector-im/element-web.git
synced 2024-11-23 08:38:57 +08:00
6ca4f670bf
* Change icon for general/account tab ...and add support for compound design token icons to TabbedView, changing all the other icons over while we're at it. * Update snapshots * Fix responsive mode * Missed one * truthy-check the whole block * Use asset imports * Update snapshots
200 lines
4.5 KiB
Plaintext
200 lines
4.5 KiB
Plaintext
/*
|
|
Copyright 2017 Travis Ralston
|
|
Copyright 2019 New Vector Ltd
|
|
Copyright 2021 The Matrix.org Foundation C.I.C.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
.mx_TabbedView {
|
|
margin: 0;
|
|
padding: 0 0 0 var(--cpd-space-8x);
|
|
display: flex;
|
|
flex-direction: column;
|
|
inset: 0;
|
|
margin-top: 8px;
|
|
}
|
|
|
|
.mx_TabbedView_tabsOnLeft {
|
|
flex-direction: column;
|
|
position: absolute;
|
|
|
|
.mx_TabbedView_tabLabels {
|
|
width: 220px;
|
|
max-width: 220px;
|
|
position: fixed;
|
|
margin: 0; /* Remove the default value */
|
|
padding: 0; /* Remove the default value */
|
|
}
|
|
|
|
.mx_TabbedView_tabPanel {
|
|
margin-left: 280px; /* 220px sidebar + 60px padding */
|
|
flex-direction: column;
|
|
}
|
|
|
|
.mx_TabbedView_tabLabel:hover,
|
|
.mx_TabbedView_tabLabel_active {
|
|
color: $tab-label-active-fg-color;
|
|
|
|
.mx_TabbedView_maskedIcon::before {
|
|
background-color: var(--cpd-color-icon-primary);
|
|
}
|
|
}
|
|
|
|
.mx_TabbedView_tabLabel_active {
|
|
background-color: var(--cpd-color-bg-subtle-secondary);
|
|
}
|
|
|
|
.mx_TabbedView_maskedIcon {
|
|
width: 20px;
|
|
height: 20px;
|
|
margin-right: var(--cpd-space-3x);
|
|
}
|
|
|
|
.mx_TabbedView_maskedIcon::before {
|
|
mask-size: 20px;
|
|
width: 20px;
|
|
height: 20px;
|
|
transition: background-color 0.1s;
|
|
}
|
|
}
|
|
|
|
.mx_TabbedView_tabsOnTop {
|
|
flex-direction: column;
|
|
|
|
.mx_TabbedView_tabLabels {
|
|
display: flex;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.mx_TabbedView_tabLabel {
|
|
padding-left: 0px;
|
|
padding-right: 52px;
|
|
|
|
.mx_TabbedView_tabLabel_text {
|
|
font-size: 15px;
|
|
color: $tertiary-content;
|
|
}
|
|
}
|
|
|
|
.mx_TabbedView_tabPanel {
|
|
flex-direction: row;
|
|
}
|
|
|
|
.mx_TabbedView_tabLabel_active {
|
|
color: $accent;
|
|
.mx_TabbedView_tabLabel_text {
|
|
color: $accent;
|
|
}
|
|
}
|
|
|
|
.mx_TabbedView_tabLabel_active .mx_TabbedView_maskedIcon::before {
|
|
background-color: $accent;
|
|
}
|
|
|
|
.mx_TabbedView_maskedIcon {
|
|
width: 22px;
|
|
height: 22px;
|
|
margin-left: 0px;
|
|
margin-right: 8px;
|
|
}
|
|
|
|
.mx_TabbedView_maskedIcon::before {
|
|
mask-size: 22px;
|
|
width: inherit;
|
|
height: inherit;
|
|
}
|
|
}
|
|
|
|
.mx_TabbedView_tabLabels {
|
|
color: $tab-label-fg-color;
|
|
}
|
|
|
|
.mx_TabbedView_tabLabel {
|
|
display: flex;
|
|
align-items: center;
|
|
vertical-align: text-top;
|
|
cursor: pointer;
|
|
padding-block: var(--cpd-space-2x);
|
|
padding-inline: var(--cpd-space-3x) var(--cpd-space-4x);
|
|
box-sizing: border-box;
|
|
min-block-size: 40px;
|
|
min-inline-size: 40px;
|
|
border-radius: 24px;
|
|
font: var(--cpd-font-body-md-medium);
|
|
position: relative;
|
|
transition:
|
|
color 0.1s,
|
|
background-color 0.1s;
|
|
|
|
svg {
|
|
width: 20px;
|
|
height: 20px;
|
|
margin-right: var(--cpd-space-3x);
|
|
}
|
|
}
|
|
|
|
.mx_TabbedView_maskedIcon {
|
|
display: inline-block;
|
|
}
|
|
|
|
.mx_TabbedView_maskedIcon::before {
|
|
display: inline-block;
|
|
background-color: var(--cpd-color-icon-secondary);
|
|
mask-repeat: no-repeat;
|
|
mask-position: center;
|
|
content: "";
|
|
}
|
|
|
|
.mx_TabbedView_tabLabel_text {
|
|
vertical-align: middle;
|
|
}
|
|
|
|
.mx_TabbedView_tabPanel {
|
|
flex-grow: 1;
|
|
display: flex;
|
|
min-height: 0; /* firefox */
|
|
}
|
|
|
|
.mx_TabbedView_tabPanelContent {
|
|
flex-grow: 1;
|
|
overflow: auto;
|
|
min-height: 0; /* firefox */
|
|
}
|
|
|
|
/* Hide the labels on tabs, showing only the icons, on narrow viewports. */
|
|
@media (max-width: 1024px) {
|
|
.mx_TabbedView_tabsOnLeft.mx_TabbedView_responsive {
|
|
.mx_TabbedView_tabLabel_text {
|
|
display: none;
|
|
}
|
|
.mx_TabbedView_tabPanel {
|
|
margin-left: 72px; /* 40px sidebar + 32px padding */
|
|
}
|
|
.mx_TabbedView_maskedIcon {
|
|
margin-right: auto;
|
|
margin-left: auto;
|
|
}
|
|
.mx_TabbedView_tabLabels {
|
|
width: auto;
|
|
}
|
|
.mx_TabbedView_tabLabel {
|
|
padding-inline: 0 0;
|
|
justify-content: center;
|
|
svg {
|
|
margin-right: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|