@atlassian/aui
Version:
Atlassian User Interface library
164 lines (141 loc) • 5.07 kB
text/less
@import (reference) './imports/global';
@import (reference) './imports/aui-theme/core/layers';
aui-header,
.aui-header,
.aui-header-inner,
.aui-header-before,
.aui-header-primary,
.aui-header-secondary {
align-items: center;
display: flex;
justify-content: flex-start;
}
.aui-header-secondary {
justify-content: flex-end;
}
// Structural styles
.aui-header {
--aui-badge-text-color: var(--aui-appheader-text-color);
--aui-badge-bg-color: var(--aui-appheader-item-focus-bg-color);
--aui-link-color: var(--aui-appheader-text-color);
--aui-link-hover-color: var(--aui-appheader-item-focus-text-color);
--aui-link-active-color: var(--aui-appheader-item-focus-text-color);
--aui-appheader-height: auto;
--aui-appheader-item-height: 40px;
--aui-appheader-item-border-radius: 0px;
@section-gap: 20px;
box-sizing: border-box;
padding: 0 @aui-grid;
position: relative;
z-index: @aui-z-header;
img, svg {
max-height: calc(var(--aui-appheader-logo-height, var(--aui-appheader-item-height, 100%)) - 10px);
display: inline-block;
vertical-align: text-bottom;
}
.aui-header-before {
flex-grow: 0;
margin-right: @section-gap;
}
// Container for the product's name
.aui-header-logo, .aui-header-logo a {
display: flex;
align-items: center;
justify-items: flex-start;
}
.aui-header-logo {
margin: 0 @section-gap 0 0;
padding: 0;
height: var(--aui-appheader-logo-height, var(--aui-appheader-item-height));
line-height: 1;
text-wrap: none;
vertical-align: text-bottom;
white-space: nowrap;
// Variant where logo is a CSS background-image
.aui-header-logo-device {
background-repeat: no-repeat;
background-position: 0 50%;
background-size: contain;
box-sizing: content-box;
display: inline-block;
text-indent: -9999px;
text-align: left;
+ .aui-header-logo-text {
margin-left: .5em;
}
}
&.aui-header-logo-textonly .aui-header-logo-device {
text-indent: 0;
}
}
// Navigational items
.aui-header-primary,
.aui-header-secondary {
> .aui-nav {
align-items: center;
display: flex;
justify-content: space-around;
}
> .aui-nav > li {
> a,
> button {
white-space: nowrap;
display: inline-block;
}
}
}
// Aesthetic styles.
& {
background: var(--aui-appheader-bg-color);
color: var(--aui-appheader-text-color);
height: var(--aui-appheader-height, initial);
// Override the icon styles so that every icon in the header is a uniform size.
.aui-icon {
--aui-icon-size: 24px;
}
// Target the links in the app header.
// We need to use the direct child combinator to avoid applying styles to
// dropdowns or other layers nested in the header.
// We also avoid styling buttons, which might be placed inside nav lists for some reason.
.aui-header-primary > .aui-nav > li > a:not(.aui-button),
.aui-header-secondary > .aui-nav > li > a:not(.aui-button),
.aui-header-logo > a {
& {
display: flex;
align-items: center;
border-radius: var(--aui-appheader-item-border-radius);
box-sizing: border-box;
height: var(--aui-appheader-item-height, auto);
padding: var(--aui-appheader-item-padding-y, 5px) var(--aui-appheader-item-padding-x, 10px);
background-color: var(--aui-appheader-item-bg-color, transparent);
color: var(--aui-appheader-text-color, var(--aui-body-text));
text-decoration: none;
}
&:hover,
&:focus {
background-color: var(--aui-appheader-item-focus-bg-color);
color: var(--aui-appheader-item-focus-text-color, inherit);
}
#aui.focus(#aui.with-focus-ring(@inset: true));
&:active,
&.active {
background-color: var(--aui-appheader-item-active-bg-color);
color: var(--aui-appheader-item-active-text-color);
}
}
// Special-case padding to separate non-nav items from nav items.
.aui-header-primary > .aui-nav > li > .aui-button,
.aui-header-primary > .aui-nav > li > .aui-buttons {
margin-left: @section-gap / 2;
}
.aui-header-secondary > .aui-nav > li > .aui-quicksearch {
margin-right: @section-gap / 2;
}
.aui-header-logo {
font-size: @aui-font-size-xxlarge;
}
.aui-header-logo .aui-header-logo-text {
font-size: @aui-font-size-medium;
}
}
}