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

202 lines
4 KiB
SCSS
Raw Normal View History

@import '../../_variables.scss';
.tab-switcher {
display: flex;
2020-05-03 14:36:12 +00:00
2020-05-25 13:10:14 +00:00
.tab-icon {
font-size: 2em;
display: block;
}
2020-05-03 14:36:12 +00:00
&.top-tabs {
flex-direction: column;
> .tabs {
width: 100%;
overflow-y: hidden;
overflow-x: auto;
padding-top: 5px;
flex-direction: row;
&::after, &::before {
content: '';
flex: 1 1 auto;
border-bottom: 1px solid;
border-bottom-color: $fallback--border;
border-bottom-color: var(--border, $fallback--border);
}
.tab-wrapper {
height: 28px;
&:not(.active)::after {
left: 0;
right: 0;
bottom: 0;
border-bottom: 1px solid;
border-bottom-color: $fallback--border;
border-bottom-color: var(--border, $fallback--border);
}
}
.tab {
width: 100%;
min-width: 1px;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
padding-bottom: 99px;
margin-bottom: 6px - 99px;
}
}
.contents.scrollable-tabs {
flex-basis: 0;
}
}
&.side-tabs {
flex-direction: row;
@media all and (max-width: 800px) {
overflow-x: auto;
}
2020-05-03 14:36:12 +00:00
> .contents {
flex: 0 1 80%;
@media all and (max-width: 800px) {
min-width: 96vw;
}
2020-05-03 14:36:12 +00:00
}
> .tabs {
flex: 1 0 auto;
overflow-y: auto;
overflow-x: hidden;
flex-direction: column;
2020-05-23 23:29:09 +00:00
&::after, &::before {
flex: 1 0 .5em;
2020-05-23 23:29:09 +00:00
content: '';
2020-05-03 14:36:12 +00:00
border-right: 1px solid;
border-right-color: $fallback--border;
border-right-color: var(--border, $fallback--border);
}
2020-05-25 14:22:57 +00:00
&::before {
flex-grow: 0;
}
2020-05-03 14:36:12 +00:00
.tab-wrapper {
min-width: 10em;
2020-05-23 23:29:09 +00:00
display: flex;
flex-direction: column;
2020-05-03 14:36:12 +00:00
&:not(.active)::after {
top: 0;
right: 0;
bottom: 0;
border-right: 1px solid;
border-right-color: $fallback--border;
border-right-color: var(--border, $fallback--border);
}
2020-05-23 23:29:09 +00:00
&::before {
flex: 0 0 6px;
content: '';
border-right: 1px solid;
border-right-color: $fallback--border;
border-right-color: var(--border, $fallback--border);
}
&:last-child .tab {
margin-bottom: 0;
}
2020-05-03 14:36:12 +00:00
}
2020-05-23 23:29:09 +00:00
2020-05-03 14:36:12 +00:00
.tab {
2020-05-23 23:29:09 +00:00
flex: 1;
2020-05-03 14:36:12 +00:00
box-sizing: content-box;
min-width: 10em;
min-width: 1px;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
padding-right: calc(1em + 200px);
margin-right: 6px - 200px;
2020-05-03 14:36:12 +00:00
margin-left: 6px;
}
.tab-wrapper {
min-width: 10em;
&:not(.active)::after {
top: 0;
right: 0;
bottom: 0;
border-right: 1px solid;
border-right-color: $fallback--border;
border-right-color: var(--border, $fallback--border);
}
}
}
}
.contents {
flex: 1 0 auto;
min-height: 0px;
.hidden {
display: none;
}
&.scrollable-tabs {
overflow-y: auto;
}
}
2020-05-03 14:36:12 +00:00
.tab {
position: relative;
white-space: nowrap;
padding: 6px 1em;
2020-05-25 14:11:30 +00:00
&, &:active .tab-icon {
color: $fallback--text;
color: var(--tabText, $fallback--text);
}
2020-05-03 14:36:12 +00:00
background-color: $fallback--fg;
background-color: var(--tab, $fallback--fg);
&:not(.active) {
z-index: 4;
&:hover {
z-index: 6;
}
}
&.active {
background: transparent;
z-index: 5;
color: $fallback--text;
color: var(--tabActiveText, $fallback--text);
}
img {
max-height: 26px;
vertical-align: top;
margin-top: -5px;
}
}
.tabs {
display: flex;
position: relative;
box-sizing: border-box;
&::after, &::before {
display: block;
flex: 1 1 auto;
}
2020-05-03 14:36:12 +00:00
}
2020-05-03 14:36:12 +00:00
.tab-wrapper {
position: relative;
display: flex;
flex: 0 0 auto;
2018-12-15 23:35:42 +00:00
2020-05-03 14:36:12 +00:00
&:not(.active) {
&::after {
content: '';
position: absolute;
z-index: 7;
}
}
}
}