789 lines
23 KiB
SCSS
789 lines
23 KiB
SCSS
|
@use "../utilities/css-variables" as cv;
|
||
|
@use "../utilities/initial-variables" as iv;
|
||
|
@use "../utilities/derived-variables" as dv;
|
||
|
@use "../utilities/extends";
|
||
|
@use "../utilities/mixins" as mx;
|
||
|
|
||
|
$navbar-h: cv.getVar("scheme-h");
|
||
|
$navbar-s: cv.getVar("scheme-s");
|
||
|
$navbar-l: cv.getVar("scheme-main-l");
|
||
|
$navbar-background-color: cv.getVar("scheme-main") !default;
|
||
|
$navbar-box-shadow-size: 0 0.125em 0 0 !default;
|
||
|
$navbar-box-shadow-color: cv.getVar("background") !default;
|
||
|
$navbar-height: 3.25rem !default;
|
||
|
$navbar-padding-vertical: 1rem !default;
|
||
|
$navbar-padding-horizontal: 2rem !default;
|
||
|
$navbar-z: 30 !default;
|
||
|
$navbar-fixed-z: 30 !default;
|
||
|
|
||
|
$navbar-item-background-a: 0;
|
||
|
$navbar-item-background-l: cv.getVar("scheme-main-l");
|
||
|
$navbar-item-background-l-delta: 0%;
|
||
|
$navbar-item-hover-background-l-delta: cv.getVar("hover-background-l-delta");
|
||
|
$navbar-item-active-background-l-delta: cv.getVar("active-background-l-delta");
|
||
|
$navbar-item-color-l: cv.getVar("text-l");
|
||
|
$navbar-item-selected-h: cv.getVar("link-h");
|
||
|
$navbar-item-selected-s: cv.getVar("link-s");
|
||
|
$navbar-item-selected-l: cv.getVar("link-l");
|
||
|
$navbar-item-selected-background-l: cv.getVar("link-l");
|
||
|
$navbar-item-selected-color-l: cv.getVar("link-invert-l");
|
||
|
$navbar-item-img-max-height: 1.75rem !default;
|
||
|
|
||
|
$navbar-dropdown-item-h: cv.getVar("scheme-h");
|
||
|
$navbar-dropdown-item-s: cv.getVar("scheme-s");
|
||
|
$navbar-dropdown-item-l: cv.getVar("scheme-main-l");
|
||
|
$navbar-dropdown-item-background-l: cv.getVar("scheme-main-l");
|
||
|
$navbar-dropdown-item-color-l: cv.getVar("text-l");
|
||
|
|
||
|
$navbar-burger-color: cv.getVar("navbar-item-color") !default;
|
||
|
|
||
|
$navbar-tab-hover-background-color: transparent !default;
|
||
|
$navbar-tab-hover-border-bottom-color: cv.getVar("link") !default;
|
||
|
$navbar-tab-active-color: cv.getVar("link") !default;
|
||
|
$navbar-tab-active-background-color: transparent !default;
|
||
|
$navbar-tab-active-border-bottom-color: cv.getVar("link") !default;
|
||
|
$navbar-tab-active-border-bottom-style: solid !default;
|
||
|
$navbar-tab-active-border-bottom-width: 0.1875em !default;
|
||
|
|
||
|
$navbar-dropdown-background-color: cv.getVar("scheme-main") !default;
|
||
|
$navbar-dropdown-border-l: cv.getVar("border-l") !default;
|
||
|
$navbar-dropdown-border-color: hsl(
|
||
|
cv.getVar("navbar-h"),
|
||
|
cv.getVar("navbar-s"),
|
||
|
cv.getVar("navbar-dropdown-border-l")
|
||
|
) !default;
|
||
|
$navbar-dropdown-border-style: solid !default;
|
||
|
$navbar-dropdown-border-width: 0.125em !default;
|
||
|
$navbar-dropdown-offset: -0.25em !default;
|
||
|
$navbar-dropdown-arrow: cv.getVar("link") !default;
|
||
|
$navbar-dropdown-radius: cv.getVar("radius-large") !default;
|
||
|
$navbar-dropdown-z: 20 !default;
|
||
|
|
||
|
$navbar-dropdown-boxed-radius: cv.getVar("radius-large") !default;
|
||
|
$navbar-dropdown-boxed-shadow:
|
||
|
0 0.5em 0.5em
|
||
|
hsla(
|
||
|
#{cv.getVar("scheme-h")},
|
||
|
#{cv.getVar("scheme-s")},
|
||
|
#{cv.getVar("scheme-invert-l")},
|
||
|
0.1
|
||
|
),
|
||
|
0 0 0 1px
|
||
|
hsla(
|
||
|
#{cv.getVar("scheme-h")},
|
||
|
#{cv.getVar("scheme-s")},
|
||
|
#{cv.getVar("scheme-invert-l")},
|
||
|
0.1
|
||
|
) !default;
|
||
|
|
||
|
$navbar-divider-background-l: cv.getVar("background-l") !default;
|
||
|
$navbar-divider-height: 0.125em !default;
|
||
|
|
||
|
$navbar-bottom-box-shadow-size: 0 -0.125em 0 0 !default;
|
||
|
|
||
|
$navbar-breakpoint: iv.$desktop !default;
|
||
|
|
||
|
$navbar-colors: dv.$colors !default;
|
||
|
|
||
|
@mixin navbar-fixed {
|
||
|
left: 0;
|
||
|
position: fixed;
|
||
|
right: 0;
|
||
|
z-index: cv.getVar("navbar-fixed-z");
|
||
|
}
|
||
|
|
||
|
:root {
|
||
|
@include cv.register-vars(
|
||
|
(
|
||
|
"navbar-height": #{$navbar-height},
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar {
|
||
|
@include cv.register-vars(
|
||
|
(
|
||
|
"navbar-h": #{$navbar-h},
|
||
|
"navbar-s": #{$navbar-s},
|
||
|
"navbar-l": #{$navbar-l},
|
||
|
"navbar-background-color": #{$navbar-background-color},
|
||
|
"navbar-box-shadow-size": #{$navbar-box-shadow-size},
|
||
|
"navbar-box-shadow-color": #{$navbar-box-shadow-color},
|
||
|
"navbar-padding-vertical": #{$navbar-padding-vertical},
|
||
|
"navbar-padding-horizontal": #{$navbar-padding-horizontal},
|
||
|
"navbar-z": #{$navbar-z},
|
||
|
"navbar-fixed-z": #{$navbar-fixed-z},
|
||
|
"navbar-item-background-a": #{$navbar-item-background-a},
|
||
|
"navbar-item-background-l": #{$navbar-item-background-l},
|
||
|
"navbar-item-background-l-delta": #{$navbar-item-background-l-delta},
|
||
|
"navbar-item-hover-background-l-delta": #{$navbar-item-hover-background-l-delta},
|
||
|
"navbar-item-active-background-l-delta": #{$navbar-item-active-background-l-delta},
|
||
|
"navbar-item-color-l": #{$navbar-item-color-l},
|
||
|
"navbar-item-selected-h": #{$navbar-item-selected-h},
|
||
|
"navbar-item-selected-s": #{$navbar-item-selected-s},
|
||
|
"navbar-item-selected-l": #{$navbar-item-selected-l},
|
||
|
"navbar-item-selected-background-l": #{$navbar-item-selected-background-l},
|
||
|
"navbar-item-selected-color-l": #{$navbar-item-selected-color-l},
|
||
|
"navbar-item-img-max-height": #{$navbar-item-img-max-height},
|
||
|
"navbar-burger-color": #{$navbar-burger-color},
|
||
|
"navbar-tab-hover-background-color": #{$navbar-tab-hover-background-color},
|
||
|
"navbar-tab-hover-border-bottom-color": #{$navbar-tab-hover-border-bottom-color},
|
||
|
"navbar-tab-active-color": #{$navbar-tab-active-color},
|
||
|
"navbar-tab-active-background-color": #{$navbar-tab-active-background-color},
|
||
|
"navbar-tab-active-border-bottom-color": #{$navbar-tab-active-border-bottom-color},
|
||
|
"navbar-tab-active-border-bottom-style": #{$navbar-tab-active-border-bottom-style},
|
||
|
"navbar-tab-active-border-bottom-width": #{$navbar-tab-active-border-bottom-width},
|
||
|
"navbar-dropdown-background-color": #{$navbar-dropdown-background-color},
|
||
|
"navbar-dropdown-border-l": #{$navbar-dropdown-border-l},
|
||
|
"navbar-dropdown-border-color": #{$navbar-dropdown-border-color},
|
||
|
"navbar-dropdown-border-style": #{$navbar-dropdown-border-style},
|
||
|
"navbar-dropdown-border-width": #{$navbar-dropdown-border-width},
|
||
|
"navbar-dropdown-offset": #{$navbar-dropdown-offset},
|
||
|
"navbar-dropdown-arrow": #{$navbar-dropdown-arrow},
|
||
|
"navbar-dropdown-radius": #{$navbar-dropdown-radius},
|
||
|
"navbar-dropdown-z": #{$navbar-dropdown-z},
|
||
|
"navbar-dropdown-boxed-radius": #{$navbar-dropdown-boxed-radius},
|
||
|
"navbar-dropdown-boxed-shadow": #{$navbar-dropdown-boxed-shadow},
|
||
|
"navbar-dropdown-item-h": #{$navbar-dropdown-item-h},
|
||
|
"navbar-dropdown-item-s": #{$navbar-dropdown-item-s},
|
||
|
"navbar-dropdown-item-l": #{$navbar-dropdown-item-l},
|
||
|
"navbar-dropdown-item-background-l": #{$navbar-dropdown-item-background-l},
|
||
|
"navbar-dropdown-item-color-l": #{$navbar-dropdown-item-color-l},
|
||
|
"navbar-divider-background-l": #{$navbar-divider-background-l},
|
||
|
"navbar-divider-height": #{$navbar-divider-height},
|
||
|
"navbar-bottom-box-shadow-size": #{$navbar-bottom-box-shadow-size},
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar {
|
||
|
background-color: cv.getVar("navbar-background-color");
|
||
|
min-height: cv.getVar("navbar-height");
|
||
|
position: relative;
|
||
|
z-index: cv.getVar("navbar-z");
|
||
|
|
||
|
@each $name, $pair in $navbar-colors {
|
||
|
&.#{iv.$class-prefix}is-#{$name} {
|
||
|
@include cv.register-vars(
|
||
|
(
|
||
|
"navbar-h": #{cv.getVar($name, "", "-h")},
|
||
|
"navbar-s": #{cv.getVar($name, "", "-s")},
|
||
|
"navbar-l": #{cv.getVar($name, "", "-l")},
|
||
|
"burger-h": #{cv.getVar($name, "", "-h")},
|
||
|
"burger-s": #{cv.getVar($name, "", "-s")},
|
||
|
"burger-l": #{cv.getVar($name, "", "-invert-l")},
|
||
|
"navbar-background-color": #{cv.getVar($name)},
|
||
|
"navbar-item-background-l": #{cv.getVar($name, "", "-l")},
|
||
|
"navbar-item-color-l": #{cv.getVar($name, "", "-invert-l")},
|
||
|
"navbar-item-selected-h": #{cv.getVar($name, "", "-h")},
|
||
|
"navbar-item-selected-s": #{cv.getVar($name, "", "-s")},
|
||
|
"navbar-item-selected-l": #{cv.getVar($name, "", "-l")},
|
||
|
"navbar-item-selected-background-l": #{cv.getVar($name, "", "-l")},
|
||
|
"navbar-item-selected-color-l": #{cv.getVar($name, "", "-invert-l")},
|
||
|
"navbar-dropdown-arrow": #{cv.getVar($name, "", "-invert-l")},
|
||
|
"navbar-dropdown-background-color":
|
||
|
hsl(
|
||
|
#{cv.getVar($name, "", "-h")},
|
||
|
#{cv.getVar($name, "", "-s")},
|
||
|
#{cv.getVar("navbar-dropdown-item-background-l")}
|
||
|
),
|
||
|
"navbar-dropdown-item-h": #{cv.getVar($name, "", "-h")},
|
||
|
"navbar-dropdown-item-s": #{cv.getVar($name, "", "-s")},
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
& > .#{iv.$class-prefix}container {
|
||
|
align-items: stretch;
|
||
|
display: flex;
|
||
|
min-height: cv.getVar("navbar-height");
|
||
|
width: 100%;
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}has-shadow {
|
||
|
box-shadow: cv.getVar("navbar-box-shadow-size")
|
||
|
cv.getVar("navbar-box-shadow-color");
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-fixed-bottom,
|
||
|
&.#{iv.$class-prefix}is-fixed-top {
|
||
|
@include navbar-fixed;
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-fixed-bottom {
|
||
|
bottom: 0;
|
||
|
|
||
|
&.#{iv.$class-prefix}has-shadow {
|
||
|
box-shadow: cv.getVar("navbar-bottom-box-shadow-size")
|
||
|
cv.getVar("navbar-box-shadow-color");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-fixed-top {
|
||
|
top: 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
html,
|
||
|
body {
|
||
|
&.#{iv.$class-prefix}has-navbar-fixed-top {
|
||
|
padding-top: cv.getVar("navbar-height");
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}has-navbar-fixed-bottom {
|
||
|
padding-bottom: cv.getVar("navbar-height");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-brand,
|
||
|
.#{iv.$class-prefix}navbar-tabs {
|
||
|
align-items: stretch;
|
||
|
display: flex;
|
||
|
flex-shrink: 0;
|
||
|
min-height: cv.getVar("navbar-height");
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-tabs {
|
||
|
@include mx.overflow-touch;
|
||
|
max-width: 100vw;
|
||
|
overflow-x: auto;
|
||
|
overflow-y: hidden;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-burger {
|
||
|
@extend %reset;
|
||
|
@include mx.burger(2.5rem);
|
||
|
align-self: center;
|
||
|
margin-inline-start: auto;
|
||
|
margin-inline-end: 0.375rem;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-menu {
|
||
|
display: none;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-item,
|
||
|
.#{iv.$class-prefix}navbar-link {
|
||
|
color: hsl(
|
||
|
#{cv.getVar("navbar-h")},
|
||
|
#{cv.getVar("navbar-s")},
|
||
|
#{cv.getVar("navbar-item-color-l")}
|
||
|
);
|
||
|
display: block;
|
||
|
line-height: 1.5;
|
||
|
padding: 0.5rem 0.75rem;
|
||
|
position: relative;
|
||
|
|
||
|
.#{iv.$class-prefix}icon {
|
||
|
&:only-child {
|
||
|
margin-left: -0.25rem;
|
||
|
margin-right: -0.25rem;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
a.#{iv.$class-prefix}navbar-item,
|
||
|
.#{iv.$class-prefix}navbar-link {
|
||
|
background-color: hsla(
|
||
|
#{cv.getVar("navbar-h")},
|
||
|
#{cv.getVar("navbar-s")},
|
||
|
calc(
|
||
|
#{cv.getVar("navbar-item-background-l")} + #{cv.getVar(
|
||
|
"navbar-item-background-l-delta"
|
||
|
)}
|
||
|
),
|
||
|
#{cv.getVar("navbar-item-background-a")}
|
||
|
);
|
||
|
cursor: pointer;
|
||
|
|
||
|
&:focus,
|
||
|
&:focus-within,
|
||
|
&:hover {
|
||
|
@include cv.register-vars(
|
||
|
(
|
||
|
"navbar-item-background-l-delta": #{cv.getVar(
|
||
|
"navbar-item-hover-background-l-delta"
|
||
|
)},
|
||
|
"navbar-item-background-a": 1,
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
&:active {
|
||
|
@include cv.register-vars(
|
||
|
(
|
||
|
"navbar-item-background-l-delta": #{cv.getVar(
|
||
|
"navbar-item-active-background-l-delta"
|
||
|
)},
|
||
|
"navbar-item-background-a": 1,
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-active,
|
||
|
&.#{iv.$class-prefix}is-selected {
|
||
|
@include cv.register-vars(
|
||
|
(
|
||
|
"navbar-h": #{cv.getVar("navbar-item-selected-h")},
|
||
|
"navbar-s": #{cv.getVar("navbar-item-selected-s")},
|
||
|
"navbar-l": #{cv.getVar("navbar-item-selected-l")},
|
||
|
"navbar-item-background-l": #{cv.getVar(
|
||
|
"navbar-item-selected-background-l"
|
||
|
)},
|
||
|
"navbar-item-background-a": 1,
|
||
|
"navbar-item-color-l": #{cv.getVar("navbar-item-selected-color-l")},
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-item {
|
||
|
flex-grow: 0;
|
||
|
flex-shrink: 0;
|
||
|
|
||
|
img,
|
||
|
svg {
|
||
|
max-height: cv.getVar("navbar-item-img-max-height");
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}has-dropdown {
|
||
|
padding: 0;
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-expanded {
|
||
|
flex-grow: 1;
|
||
|
flex-shrink: 1;
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-tab {
|
||
|
border-bottom: 1px solid transparent;
|
||
|
min-height: cv.getVar("navbar-height");
|
||
|
padding-bottom: calc(0.5rem - 1px);
|
||
|
|
||
|
&:focus,
|
||
|
&:hover {
|
||
|
background-color: cv.getVar("navbar-tab-hover-background-color");
|
||
|
border-bottom-color: cv.getVar("navbar-tab-hover-border-bottom-color");
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-active {
|
||
|
background-color: cv.getVar("navbar-tab-active-background-color");
|
||
|
border-bottom-color: cv.getVar("navbar-tab-active-border-bottom-color");
|
||
|
border-bottom-style: cv.getVar("navbar-tab-active-border-bottom-style");
|
||
|
border-bottom-width: cv.getVar("navbar-tab-active-border-bottom-width");
|
||
|
color: cv.getVar("navbar-tab-active-color");
|
||
|
padding-bottom: calc(
|
||
|
0.5rem - #{cv.getVar("navbar-tab-active-border-bottom-width")}
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-content {
|
||
|
flex-grow: 1;
|
||
|
flex-shrink: 1;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-link:not(.#{iv.$class-prefix}is-arrowless) {
|
||
|
padding-inline-end: 2.5em;
|
||
|
|
||
|
&::after {
|
||
|
@extend %arrow;
|
||
|
border-color: cv.getVar("navbar-dropdown-arrow");
|
||
|
margin-top: -0.375em;
|
||
|
inset-inline-end: 1.125em;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-dropdown {
|
||
|
font-size: 0.875rem;
|
||
|
padding-bottom: 0.75rem;
|
||
|
padding-top: 0.5rem;
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-item {
|
||
|
padding-left: 1.5rem;
|
||
|
padding-right: 1.5rem;
|
||
|
|
||
|
&:not(.is-active, .is-selected) {
|
||
|
background-color: hsl(
|
||
|
#{cv.getVar("navbar-dropdown-item-h")},
|
||
|
#{cv.getVar("navbar-dropdown-item-s")},
|
||
|
calc(
|
||
|
#{cv.getVar("navbar-dropdown-item-background-l")} + #{cv.getVar(
|
||
|
"navbar-item-background-l-delta"
|
||
|
)}
|
||
|
)
|
||
|
);
|
||
|
color: hsl(
|
||
|
#{cv.getVar("navbar-dropdown-item-h")},
|
||
|
#{cv.getVar("navbar-dropdown-item-s")},
|
||
|
#{cv.getVar("navbar-dropdown-item-color-l")}
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-divider {
|
||
|
background-color: hsl(
|
||
|
#{cv.getVar("navbar-h")},
|
||
|
#{cv.getVar("navbar-s")},
|
||
|
#{cv.getVar("navbar-divider-background-l")}
|
||
|
);
|
||
|
border: none;
|
||
|
display: none;
|
||
|
height: cv.getVar("navbar-divider-height");
|
||
|
margin: 0.5rem 0;
|
||
|
}
|
||
|
|
||
|
@include mx.until($navbar-breakpoint) {
|
||
|
.#{iv.$class-prefix}navbar > .#{iv.$class-prefix}container {
|
||
|
display: block;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-brand,
|
||
|
.#{iv.$class-prefix}navbar-tabs {
|
||
|
.#{iv.$class-prefix}navbar-item {
|
||
|
align-items: center;
|
||
|
display: flex;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-link {
|
||
|
&::after {
|
||
|
display: none;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-menu {
|
||
|
background-color: cv.getVar("navbar-background-color");
|
||
|
box-shadow: 0 0.5em 1em
|
||
|
hsla(
|
||
|
#{cv.getVar("scheme-h")},
|
||
|
#{cv.getVar("scheme-s")},
|
||
|
#{cv.getVar("scheme-invert-l")},
|
||
|
0.1
|
||
|
);
|
||
|
padding: 0.5rem 0;
|
||
|
|
||
|
&.#{iv.$class-prefix}is-active {
|
||
|
display: block;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Fixed navbar
|
||
|
.#{iv.$class-prefix}navbar {
|
||
|
&.#{iv.$class-prefix}is-fixed-bottom-touch,
|
||
|
&.#{iv.$class-prefix}is-fixed-top-touch {
|
||
|
@include navbar-fixed;
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-fixed-bottom-touch {
|
||
|
bottom: 0;
|
||
|
|
||
|
&.#{iv.$class-prefix}has-shadow {
|
||
|
box-shadow: 0 -0.125em 0.1875em hsla(#{cv.getVar("scheme-h")}, #{cv.getVar(
|
||
|
"scheme-s"
|
||
|
)}, #{cv.getVar("scheme-invert-l")}, 0.1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-fixed-top-touch {
|
||
|
top: 0;
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-fixed-top,
|
||
|
&.#{iv.$class-prefix}is-fixed-top-touch {
|
||
|
.#{iv.$class-prefix}navbar-menu {
|
||
|
@include mx.overflow-touch;
|
||
|
max-height: calc(100vh - #{cv.getVar("navbar-height")});
|
||
|
overflow: auto;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
html,
|
||
|
body {
|
||
|
&.#{iv.$class-prefix}has-navbar-fixed-top-touch {
|
||
|
padding-top: cv.getVar("navbar-height");
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}has-navbar-fixed-bottom-touch {
|
||
|
padding-bottom: cv.getVar("navbar-height");
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@include mx.from($navbar-breakpoint) {
|
||
|
.#{iv.$class-prefix}navbar,
|
||
|
.#{iv.$class-prefix}navbar-menu,
|
||
|
.#{iv.$class-prefix}navbar-start,
|
||
|
.#{iv.$class-prefix}navbar-end {
|
||
|
align-items: stretch;
|
||
|
display: flex;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar {
|
||
|
min-height: cv.getVar("navbar-height");
|
||
|
|
||
|
&.#{iv.$class-prefix}is-spaced {
|
||
|
padding: cv.getVar("navbar-padding-vertical")
|
||
|
cv.getVar("navbar-padding-horizontal");
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-start,
|
||
|
.#{iv.$class-prefix}navbar-end {
|
||
|
align-items: center;
|
||
|
}
|
||
|
|
||
|
a.#{iv.$class-prefix}navbar-item,
|
||
|
.#{iv.$class-prefix}navbar-link {
|
||
|
border-radius: cv.getVar("radius");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-transparent {
|
||
|
@include cv.register-vars(
|
||
|
(
|
||
|
"navbar-item-background-a": 0,
|
||
|
)
|
||
|
);
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-dropdown {
|
||
|
a.#{iv.$class-prefix}navbar-item {
|
||
|
background-color: hsl(
|
||
|
#{cv.getVar("navbar-h")},
|
||
|
#{cv.getVar("navbar-s")},
|
||
|
calc(
|
||
|
#{cv.getVar("navbar-item-background-l")} + #{cv.getVar(
|
||
|
"navbar-item-background-l-delta"
|
||
|
)}
|
||
|
)
|
||
|
);
|
||
|
|
||
|
&.#{iv.$class-prefix}is-active,
|
||
|
&.#{iv.$class-prefix}is-selected {
|
||
|
@include cv.register-vars(
|
||
|
(
|
||
|
"navbar-h": #{cv.getVar("navbar-item-selected-h")},
|
||
|
"navbar-s": #{cv.getVar("navbar-item-selected-s")},
|
||
|
"navbar-l": #{cv.getVar("navbar-item-selected-l")},
|
||
|
"navbar-item-background-l": #{cv.getVar(
|
||
|
"navbar-item-selected-background-l"
|
||
|
)},
|
||
|
"navbar-item-color-l": #{cv.getVar(
|
||
|
"navbar-item-selected-color-l"
|
||
|
)},
|
||
|
)
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-burger {
|
||
|
display: none;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-item,
|
||
|
.#{iv.$class-prefix}navbar-link {
|
||
|
align-items: center;
|
||
|
display: flex;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-item {
|
||
|
&.#{iv.$class-prefix}has-dropdown {
|
||
|
align-items: stretch;
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}has-dropdown-up {
|
||
|
.#{iv.$class-prefix}navbar-link::after {
|
||
|
transform: rotate(135deg) translate(0.25em, -0.25em);
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-dropdown {
|
||
|
border-bottom-color: cv.getVar("navbar-dropdown-border-color");
|
||
|
border-bottom-style: cv.getVar("navbar-dropdown-border-style");
|
||
|
border-bottom-width: cv.getVar("navbar-dropdown-border-width");
|
||
|
border-radius: cv.getVar("navbar-dropdown-radius")
|
||
|
cv.getVar("navbar-dropdown-radius") 0 0;
|
||
|
border-top: none;
|
||
|
bottom: 100%;
|
||
|
box-shadow: 0 -0.5em 0.5em hsla(#{cv.getVar("scheme-h")}, #{cv.getVar(
|
||
|
"scheme-s"
|
||
|
)}, #{cv.getVar("scheme-invert-l")}, 0.1);
|
||
|
top: auto;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-active,
|
||
|
&.#{iv.$class-prefix}is-hoverable:focus,
|
||
|
&.#{iv.$class-prefix}is-hoverable:focus-within,
|
||
|
&.#{iv.$class-prefix}is-hoverable:hover {
|
||
|
.#{iv.$class-prefix}navbar-dropdown {
|
||
|
display: block;
|
||
|
|
||
|
.#{iv.$class-prefix}navbar.#{iv.$class-prefix}is-spaced &,
|
||
|
&.#{iv.$class-prefix}is-boxed {
|
||
|
opacity: 1;
|
||
|
pointer-events: auto;
|
||
|
transform: translateY(0);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-menu {
|
||
|
flex-grow: 1;
|
||
|
flex-shrink: 0;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-start {
|
||
|
justify-content: flex-start;
|
||
|
margin-inline-end: auto;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-end {
|
||
|
justify-content: flex-end;
|
||
|
margin-inline-start: auto;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-dropdown {
|
||
|
background-color: cv.getVar("navbar-dropdown-background-color");
|
||
|
border-bottom-left-radius: cv.getVar("navbar-dropdown-radius");
|
||
|
border-bottom-right-radius: cv.getVar("navbar-dropdown-radius");
|
||
|
border-top-color: cv.getVar("navbar-dropdown-border-color");
|
||
|
border-top-style: cv.getVar("navbar-dropdown-border-style");
|
||
|
border-top-width: cv.getVar("navbar-dropdown-border-width");
|
||
|
box-shadow: 0 0.5em 0.5em
|
||
|
hsla(
|
||
|
#{cv.getVar("scheme-h")},
|
||
|
#{cv.getVar("scheme-s")},
|
||
|
#{cv.getVar("scheme-invert-l")},
|
||
|
0.1
|
||
|
);
|
||
|
display: none;
|
||
|
font-size: 0.875rem;
|
||
|
inset-inline-start: 0;
|
||
|
min-width: 100%;
|
||
|
position: absolute;
|
||
|
top: 100%;
|
||
|
z-index: cv.getVar("navbar-dropdown-z");
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-item {
|
||
|
padding: 0.375rem 1rem;
|
||
|
white-space: nowrap;
|
||
|
}
|
||
|
|
||
|
a.#{iv.$class-prefix}navbar-item {
|
||
|
padding-inline-end: 3rem;
|
||
|
|
||
|
&:not(.is-active, .is-selected) {
|
||
|
background-color: hsl(
|
||
|
#{cv.getVar("navbar-dropdown-item-h")},
|
||
|
#{cv.getVar("navbar-dropdown-item-s")},
|
||
|
calc(
|
||
|
#{cv.getVar("navbar-dropdown-item-background-l")} + #{cv.getVar(
|
||
|
"navbar-item-background-l-delta"
|
||
|
)}
|
||
|
)
|
||
|
);
|
||
|
color: hsl(
|
||
|
#{cv.getVar("navbar-dropdown-item-h")},
|
||
|
#{cv.getVar("navbar-dropdown-item-s")},
|
||
|
#{cv.getVar("navbar-dropdown-item-color-l")}
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar.#{iv.$class-prefix}is-spaced &,
|
||
|
&.#{iv.$class-prefix}is-boxed {
|
||
|
border-radius: cv.getVar("navbar-dropdown-boxed-radius");
|
||
|
border-top: none;
|
||
|
box-shadow: cv.getVar("navbar-dropdown-boxed-shadow");
|
||
|
display: block;
|
||
|
opacity: 0;
|
||
|
pointer-events: none;
|
||
|
top: calc(100% + (#{cv.getVar("navbar-dropdown-offset")}));
|
||
|
transform: translateY(-5px);
|
||
|
transition-duration: cv.getVar("duration");
|
||
|
transition-property: opacity, transform;
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-right {
|
||
|
left: auto;
|
||
|
right: 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-divider {
|
||
|
display: block;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar > .#{iv.$class-prefix}container,
|
||
|
.#{iv.$class-prefix}container > .#{iv.$class-prefix}navbar {
|
||
|
.#{iv.$class-prefix}navbar-brand {
|
||
|
margin-inline-start: -0.75rem;
|
||
|
}
|
||
|
|
||
|
.#{iv.$class-prefix}navbar-menu {
|
||
|
margin-inline-end: -0.75rem;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Fixed navbar
|
||
|
.#{iv.$class-prefix}navbar {
|
||
|
&.#{iv.$class-prefix}is-fixed-bottom-desktop,
|
||
|
&.#{iv.$class-prefix}is-fixed-top-desktop {
|
||
|
@include navbar-fixed;
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-fixed-bottom-desktop {
|
||
|
bottom: 0;
|
||
|
|
||
|
&.#{iv.$class-prefix}has-shadow {
|
||
|
box-shadow: 0 -0.125em 0.1875em hsla(#{cv.getVar("scheme-h")}, #{cv.getVar(
|
||
|
"scheme-s"
|
||
|
)}, #{cv.getVar("scheme-invert-l")}, 0.1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}is-fixed-top-desktop {
|
||
|
top: 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
html,
|
||
|
body {
|
||
|
&.#{iv.$class-prefix}has-navbar-fixed-top-desktop {
|
||
|
padding-top: cv.getVar("navbar-height");
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}has-navbar-fixed-bottom-desktop {
|
||
|
padding-bottom: cv.getVar("navbar-height");
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}has-spaced-navbar-fixed-top {
|
||
|
padding-top: calc(
|
||
|
#{cv.getVar("navbar-height")} + #{cv.getVar("navbar-padding-vertical")} *
|
||
|
2
|
||
|
);
|
||
|
}
|
||
|
|
||
|
&.#{iv.$class-prefix}has-spaced-navbar-fixed-bottom {
|
||
|
padding-bottom: calc(
|
||
|
#{cv.getVar("navbar-height")} + #{cv.getVar("navbar-padding-vertical")} *
|
||
|
2
|
||
|
);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Combination
|
||
|
|
||
|
.#{iv.$class-prefix}hero {
|
||
|
&.#{iv.$class-prefix}is-fullheight-with-navbar {
|
||
|
min-height: calc(100vh - #{cv.getVar("navbar-height")});
|
||
|
}
|
||
|
}
|