@vtmn/css-navbar
Version:
Decathlon Design System - Vitamin specific CSS styles for navbar component
166 lines (144 loc) • 3.92 kB
CSS
@import '@vtmn/css-design-tokens/src/base-colors';
@import '@vtmn/css-design-tokens/src/themes/default';
@import '@vtmn/css-design-tokens/src/typography';
@import '@vtmn/css-design-tokens/src/radius';
@import '@vtmn/css-design-tokens/src/shadows';
@import '@vtmn/css-design-tokens/src/transitions';
@import '@vtmn/css-design-tokens/src/opacities';
.vtmn-navbar {
box-sizing: border-box;
inline-size: 100%;
block-size: rem(82px);
background: var(--vtmn-semantic-color_background-primary);
padding-block: rem(12px);
padding-inline: rem(16px);
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.vtmn-navbar span[class^='vtmx-'] {
font-size: var(--vtmn-typo_title-5-font-size);
}
.vtmn-navbar_left-navigation {
block-size: rem(48px);
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
color: var(--vtmn-semantic-color_content-primary);
fill: var(--vtmn-semantic-color_content-primary);
}
.vtmn-navbar_left-navigation > * {
block-size: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin-inline-end: rem(8px);
}
.vtmn-navbar_logo {
block-size: 100%;
height: rem(48px);
margin-inline-end: rem(8px);
display: flex;
align-items: center;
outline: 0;
}
.vtmn-navbar_logo:focus-visible {
box-shadow: var(--vtmn-shadow_focus-visible);
transition: var(--vtmn-transition_focus-visible);
}
.vtmn-navbar_logo > * {
block-size: 100%;
}
.vtmn-navbar_middle-area {
inline-size: 100%;
margin-inline-end: rem(8px);
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start;
}
.vtmn-navbar_middle-area .vtmn-text-input_container {
inline-size: 100%;
}
.vtmn-navbar_middle-area .vtmn-text-input_container input {
min-block-size: 100%;
inline-size: 100%;
margin: 0;
}
.vtmn-navbar_middle-area .vtmn-text-input_container span[class^='vtmx-'],
.vtmn-navbar_middle-area .vtmn-text-input_container svg {
position: absolute;
inset-block-start: 0;
inset-block-end: initial;
transform: translate(0, 50%);
color: var(--vtmn-semantic-color_content-primary);
}
.vtmn-navbar_right-navigation {
block-size: rem(74px);
display: flex;
flex-flow: row wrap;
justify-content: flex-end;
min-inline-size: fit-content;
align-items: center;
margin-inline-start: rem(4px);
color: var(--vtmn-semantic-color_content-primary);
fill: var(--vtmn-semantic-color_content-primary);
}
.vtmn-navbar_right-navigation > * {
block-size: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
min-inline-size: fit-content;
}
.vtmn-navbar_link {
position: relative;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100%;
min-width: rem(48px);
max-width: rem(104px);
padding: rem(12px);
font-size: var(--vtmn-typo_text-3-font-size);
line-height: var(--vtmn-typo_text-3-line-height);
outline: 0;
border-radius: var(--vtmn-radius_100);
text-decoration: none;
text-align: center;
font-family: var(--vtmn-typo_font-family);
color: var(--vtmn-semantic-color_content-primary);
}
.vtmn-navbar_link:hover {
background-color: var(--vtmn-semantic-color_hover-primary);
}
.vtmn-navbar_link:active {
background-color: var(--vtmn-semantic-color_active-primary);
}
.vtmn-navbar_link:focus-visible {
box-shadow: var(--vtmn-shadow_focus-visible);
transition: var(--vtmn-transition_focus-visible);
}
.vtmn-navbar_link span:not([class^='vtmn-badge']) {
margin-top: rem(4px);
width: rem(104px);
}
.vtmn-navbar_link span[class^='vtmx-'] {
font-size: rem(24px);
width: inherit;
margin-top: 0;
}
.vtmn-navbar_link .vtmn-badge {
position: absolute;
bottom: rem(16px);
left: 50%;
}
.vtmn-navbar_link > div:first-of-type {
position: relative;
}