pleroma-fe/src/components/tab_switcher/tab_switcher.scss

252 lines
4.5 KiB
SCSS
Raw Normal View History

2023-01-09 13:02:16 -05:00
/* stylelint-disable no-descending-specificity */
.tab-switcher {
display: flex;
2020-05-03 17:36:12 +03:00
2020-05-25 16:10:14 +03:00
.tab-icon {
2020-11-01 16:40:23 +02:00
margin: 0.2em auto;
2020-05-25 16:10:14 +03:00
display: block;
}
2020-05-03 17:36:12 +03:00
&.top-tabs {
flex-direction: column;
2020-05-03 17:36:12 +03:00
> .tabs {
width: 100%;
overflow-y: hidden;
overflow-x: auto;
padding-top: 5px;
flex-direction: row;
2022-08-17 00:48:10 +03:00
flex: 0 0 auto;
2023-01-09 13:02:16 -05:00
&::after,
&::before {
content: "";
2020-05-03 17:36:12 +03:00
flex: 1 1 auto;
border-bottom: 1px solid;
2024-02-22 00:02:24 +02:00
border-bottom-color: var(--border);
2020-05-03 17:36:12 +03:00
}
2022-04-20 23:22:51 +03:00
2020-05-03 17:36:12 +03:00
.tab-wrapper {
2022-04-20 23:22:51 +03:00
height: 2em;
2020-05-03 17:36:12 +03:00
&:not(.active)::after {
left: 0;
right: 0;
bottom: 0;
border-bottom: 1px solid;
2024-02-22 00:02:24 +02:00
border-bottom-color: var(--border);
2020-05-03 17:36:12 +03:00
}
}
2023-01-09 13:02:16 -05:00
2020-05-03 17:36:12 +03:00
.tab {
width: 100%;
min-width: 1px;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
padding-bottom: 99px;
margin-bottom: 6px - 99px;
}
}
2023-01-09 13:02:16 -05:00
2020-05-03 17:36:12 +03:00
.contents.scrollable-tabs {
flex-basis: 0;
}
}
&.side-tabs {
flex-direction: row;
@media all and (max-width: 800px) {
overflow-x: auto;
}
2020-05-03 17:36:12 +03:00
> .contents {
flex: 1 1 auto;
2020-05-03 17:36:12 +03:00
}
2020-05-03 17:36:12 +03:00
> .tabs {
flex: 0 0 auto;
2020-05-03 17:36:12 +03:00
overflow-y: auto;
overflow-x: hidden;
flex-direction: column;
2023-01-09 13:02:16 -05:00
&::after,
&::before {
flex-shrink: 0;
2023-01-09 13:02:16 -05:00
flex-basis: 0.5em;
content: "";
2020-05-03 17:36:12 +03:00
border-right: 1px solid;
2024-03-04 19:45:42 +02:00
border-right-color: var(--border);
2020-05-03 17:36:12 +03:00
}
&::after {
flex-grow: 1;
}
2020-05-25 17:22:57 +03:00
&::before {
flex-grow: 0;
}
2020-05-03 17:36:12 +03:00
.tab-wrapper {
min-width: 10em;
2020-05-24 02:29:09 +03:00
display: flex;
flex-direction: column;
@media all and (max-width: 800px) {
min-width: 4em;
}
2020-05-03 17:36:12 +03:00
&:not(.active)::after {
top: 0;
right: 0;
bottom: 0;
border-right: 1px solid;
2024-03-04 19:45:42 +02:00
border-right-color: var(--border);
2020-05-03 17:36:12 +03:00
}
2020-05-24 02:29:09 +03:00
&::before {
flex: 0 0 6px;
2023-01-09 13:02:16 -05:00
content: "";
2020-05-24 02:29:09 +03:00
border-right: 1px solid;
2024-03-04 19:45:42 +02:00
border-right-color: var(--border);
2020-05-24 02:29:09 +03:00
}
&:last-child .tab {
margin-bottom: 0;
}
2020-05-03 17:36:12 +03:00
}
2020-05-24 02:29:09 +03:00
2020-05-03 17:36:12 +03:00
.tab {
2020-05-24 02:29:09 +03:00
flex: 1;
2020-05-03 17:36:12 +03:00
box-sizing: content-box;
max-width: 9em;
2020-05-03 17:36:12 +03:00
min-width: 1px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
padding-left: 1em;
padding-right: calc(1em + 200px);
2020-05-28 21:26:33 +03:00
margin-right: -200px;
margin-left: 1em;
2020-05-28 21:26:33 +03:00
&:not(.active) {
margin-top: 0;
margin-left: 1.5em;
}
@media all and (max-width: 800px) {
2023-01-09 13:02:16 -05:00
padding-left: 0.25em;
padding-right: calc(0.25em + 200px);
margin-right: calc(0.25em - 200px);
margin-left: 0.25em;
&:not(.active) {
margin-top: 0;
margin-left: 0.5em;
}
.text {
2023-01-09 13:02:16 -05:00
display: none;
}
2020-05-03 17:36:12 +03:00
}
}
}
}
.contents {
flex: 1 0 auto;
2023-01-09 13:02:16 -05:00
min-height: 0;
.hidden {
display: none;
}
2023-01-09 13:02:16 -05:00
2020-05-29 13:39:30 +03:00
.full-height:not(.hidden) {
2020-05-28 21:26:33 +03:00
height: 100%;
display: flex;
flex-direction: column;
2023-01-09 13:02:16 -05:00
2020-05-28 21:26:33 +03:00
> *:not(.mobile-label) {
flex: 1;
}
}
&.scrollable-tabs {
overflow-y: auto;
}
}
2020-05-03 17:36:12 +03:00
.tab {
2024-02-22 00:02:24 +02:00
user-select: none;
color: var(--text);
border: none;
cursor: pointer;
box-shadow: var(--shadow);
font-size: 1em;
2024-02-22 18:04:28 +02:00
font-family: var(--font);
2024-02-22 00:02:24 +02:00
border-radius: var(--roundness);
2024-04-03 21:10:27 +03:00
background-color: var(--background);
2020-05-03 17:36:12 +03:00
position: relative;
white-space: nowrap;
padding: 6px 1em;
&:not(.active) {
z-index: 4;
margin-top: 0.25em;
2020-05-03 17:36:12 +03:00
&:hover {
z-index: 6;
}
}
&.active {
background: transparent;
z-index: 5;
}
img {
max-height: 26px;
vertical-align: top;
margin-top: -5px;
}
}
.tabs {
display: flex;
position: relative;
box-sizing: border-box;
2023-01-09 13:02:16 -05:00
&::after,
&::before {
display: block;
flex: 1 1 auto;
}
2020-05-03 17:36:12 +03:00
}
2020-05-03 17:36:12 +03:00
.tab-wrapper {
position: relative;
display: flex;
flex: 0 0 auto;
2018-12-16 02:35:42 +03:00
2020-05-03 17:36:12 +03:00
&:not(.active) {
&::after {
2023-01-09 13:02:16 -05:00
content: "";
2020-05-03 17:36:12 +03:00
position: absolute;
z-index: 7;
}
}
}
.mobile-label {
2023-01-09 13:02:16 -05:00
padding-left: 0.3em;
padding-bottom: 0.25em;
margin-top: 0.5em;
margin-left: 0.2em;
margin-bottom: 0.25em;
2024-03-04 19:45:42 +02:00
border-bottom: 1px solid var(--border);
@media all and (min-width: 800px) {
display: none;
}
}
}
2023-01-09 13:02:16 -05:00
/* stylelint-enable no-descending-specificity */