src/header/header.css (168 lines of code) (raw):
@import '../global/variables.css';
@value link, active from '../link/link.css';
:root,
:host {
--ring-header-link-color: var(--ring-link-color);
}
:global(.ring-ui-theme-dark) {
--ring-header-link-color: var(--ring-text-color);
}
.header {
--ring-header-compensate: 3px;
--ring-header-compensated: calc(calc(var(--ring-unit) * 8) - var(--ring-header-compensate));
display: flex;
overflow: hidden;
align-items: center;
box-sizing: border-box;
height: calc(var(--ring-unit) * 8);
color: var(--ring-text-color);
background-color: var(--ring-navigation-background-color);
line-height: var(--ring-header-compensated);
& > * {
display: inline-block;
box-sizing: border-box;
height: calc(var(--ring-unit) * 8);
padding: 0 calc(var(--ring-unit) * 1.5) var(--ring-header-compensate);
}
/* override link */
& .link {
color: var(--ring-header-link-color);
}
& .active {
color: var(--ring-active-text-color);
}
}
.headerSpaced {
& > *:first-child {
padding-left: calc(var(--ring-unit) * 4);
}
& > *:last-child {
padding-right: calc(var(--ring-unit) * 4);
}
}
.headerVertical {
display: inline-flex;
align-items: center;
flex-direction: column;
height: 100%;
color: var(--ring-text-color);
background-color: var(--ring-navigation-background-color);
/* override link */
& .link {
color: var(--ring-header-link-color);
}
& .active {
color: var(--ring-active-text-color);
}
}
html:global(.ring-ui-theme-dark) .headerVertical {
box-shadow: inset -1px 0 var(--ring-line-color);
}
.logo {
display: inline-flex;
align-items: center;
height: calc(var(--ring-unit) * 8);
color: var(--ring-navigation-background-color);
line-height: normal;
& svg {
vertical-align: bottom;
}
}
.headerVertical .logo {
height: auto;
padding: calc(var(--ring-unit) * 2) calc(var(--ring-unit) * 1.5);
}
.links {
display: flex;
align-items: center;
flex-direction: column;
min-height: calc(var(--ring-unit) * 5);
}
.tray {
align-items: flex-end;
margin-left: auto;
padding: 0 0 var(--ring-header-compensate);
}
/* override .header > * */
.tray.tray {
display: flex;
}
.headerVertical .tray {
align-items: center;
flex-direction: column;
margin-top: auto;
margin-left: 0;
padding: 0;
}
.trayItemContent {
height: var(--ring-header-compensated);
}
.icon {
display: inline-block;
flex-shrink: 0;
width: calc(var(--ring-unit) * 5);
text-align: center;
vertical-align: top;
}
/* override button */
.icon.icon {
height: var(--ring-header-compensated);
padding-top: calc(var(--ring-unit) / 2);
line-height: var(--ring-header-compensated);
}
.headerVertical .icon {
width: auto;
height: calc(var(--ring-unit) * 5);
padding: 0 calc(var(--ring-unit) * 2.75);
line-height: normal;
}
.main svg {
color: var(--ring-main-color);
}
.rotatable svg {
transition: transform 0.3s ease-out;
transform: rotate(0deg);
transform-origin: 50% 50%;
}
.rotated svg {
transform: rotate(90deg);
}
.profileEmpty {
align-items: center;
width: auto;
height: var(--ring-header-compensated);
padding-left: var(--ring-unit);
vertical-align: bottom;
}
/* override dropdown */
.profileEmpty.profileEmpty {
display: inline-flex;
}
.profile {
composes: profileEmpty;
height: var(--ring-header-compensated);
cursor: pointer;
}
.headerVertical .profile {
height: auto;
padding: calc(var(--ring-unit) * 2);
}
.anchorClassName {
composes: resetButton from '../global/global.css';
display: flex;
align-items: center;
gap: calc(1.5 * var(--ring-unit));
}
.avatarWrapper {
line-height: 0;
}
.hasUpdates {
position: relative;
&::after {
position: absolute;
top: calc(15% - 5px);
right: calc(15% - 5px);
display: block;
width: var(--ring-unit);
height: var(--ring-unit);
content: '';
border: 1px solid var(--ring-white-text-color);
border-radius: 50%;
background-color: var(--ring-link-hover-color);
}
}