react-toolbox/components/tabs/theme.css

153 lines
2.8 KiB
CSS

@import '../colors.css';
@import '../variables.css';
@import './config.css';
.tabs {
display: flex;
flex-direction: column;
@apply --reset;
}
.navigation {
box-shadow: inset 0 -1px var(--tab-navigation-border-color);
display: flex;
flex-direction: row;
overflow-x: hidden;
position: relative;
}
.navigationContainer {
display: flex;
& .navigation {
flex: 1;
}
}
.arrow {
color: var(--tab-text-color);
padding: 0 var(--tab-label-h-padding);
}
.arrowContainer {
align-items: center;
box-shadow: inset 0 -1px var(--tab-navigation-border-color);
cursor: pointer;
display: flex;
}
.label {
color: var(--tab-text-inactive-color);
font-size: var(--tab-text-height);
font-weight: var(--font-weight-semi-bold);
line-height: 1;
padding: var(--tab-label-v-padding) var(--tab-label-h-padding);
position: relative;
text-transform: uppercase;
transition-duration: var(--animation-duration);
transition-property: background-color, box-shadow, color;
transition-timing-function: var(--animation-curve-default);
&:focus {
background-color: var(--tab-focus-color);
outline: none;
}
& > .rippleWrapper {
overflow: hidden;
}
&.active {
color: var(--tab-text-color);
}
&.disabled {
opacity: var(--tab-label-disabled-opacity);
}
&:not(.disabled) {
cursor: pointer;
}
&.hidden {
display: none;
}
&.withIcon {
padding-bottom: calc(var(--tab-label-v-padding) - var(--tab-icon-margin-bottom) / 2);
padding-top: calc(var(--tab-label-v-padding) - var(--tab-icon-margin-bottom) / 2);
text-align: center;
}
&.withText {
& .icon {
margin-bottom: var(--tab-icon-margin-bottom);
}
}
}
.icon {
display: block;
height: var(--tab-icon-height);
line-height: var(--tab-icon-height);
margin: 0 auto;
}
.pointer {
background-color: var(--tab-pointer-color);
height: var(--tab-pointer-height);
margin-top: calc(-1 * var(--tab-pointer-height));
position: absolute;
transition-duration: var(--animation-duration);
transition-property: left, width;
transition-timing-function: var(--animation-curve-default);
width: 0;
}
.tab {
display: flex;
flex-direction: column;
overflow: hidden;
padding: var(--tab-label-v-padding) var(--tab-label-h-padding);
position: relative;
&:not(.active) {
display: none;
}
&.active {
display: flex;
}
}
.fixed {
& .label {
flex: 1;
text-align: center;
}
}
.inverse {
& .navigation,
& .arrowContainer {
background-color: var(--tab-inverse-bar-color);
}
& .label {
color: var(--tab-inverse-text-inactive-color);
&.active {
color: var(--tab-inverse-text-color);
}
}
& .arrow {
color: var(--tab-inverse-text-color);
}
& .pointer {
background-color: var(--tab-inverse-pointer-color);
}
}