/// @type Number
$global-menu-padding: 0.7rem 1rem !default;
+/// Global value used for all menu styles. Nested margin for submenu.
+$global-menu-nested-margin: 1rem !default;
+
/// Sets the text direction of the CSS. Can be either `ltr` or `rtl`.
/// @type Keyword
$global-text-direction: ltr !default;
/// @type Number
$accordionmenu-padding: $global-menu-padding !default;
+/// Sets accordion menu nested margin
+/// @type Number
+$accordionmenu-nested-margin: $global-menu-nested-margin !default;
+
/// Sets accordion menu submenu padding.
/// @type Number
$accordionmenu-submenu-padding: $accordionmenu-padding !default;
a {
padding: $accordionmenu-padding;
}
+
+ .nested.is-accordion-submenu {
+ @include menu-nested($accordionmenu-nested-margin);
+ }
}
.is-accordion-submenu-parent > a {
/// @type Number
$drilldown-padding: $global-menu-padding !default;
+/// Sets dropdown menu nested margin
+/// @type Number
+$drilldown-nested-margin: 0px !default;
+
/// Background color for drilldown top level items.
/// @type Color
$drilldown-background: $white !default;
}
// The top level <ul>
- .drilldown a {
- padding: $drilldown-padding;
- background: $drilldown-background;
- }
+ .drilldown {
+ a {
+ padding: $drilldown-padding;
+ background: $drilldown-background;
+ }
- // Applied to nested <ul>s
- .is-drilldown-submenu {
- position: absolute;
- top: 0;
- #{$global-left}: 100%;
- z-index: -1;
+ // Applied to submenu <ul>s
+ .is-drilldown-submenu {
+ position: absolute;
+ top: 0;
+ #{$global-left}: 100%;
+ z-index: -1;
+
+ width: 100%;
+ background: $drilldown-submenu-background;
+ transition: $drilldown-transition;
+
+ &.is-active {
+ z-index: 1;
+ display: block;
+ transform: translateX(if($global-text-direction == ltr, -100%, 100%));
+ }
- width: 100%;
- background: $drilldown-submenu-background;
- transition: $drilldown-transition;
+ &.is-closing {
+ transform: translateX(if($global-text-direction == ltr, 100%, -100%));
+ }
- &.is-active {
- z-index: 1;
- display: block;
- transform: translateX(if($global-text-direction == ltr, -100%, 100%));
+ // Submenu item padding
+ a {
+ padding: $drilldown-submenu-padding;
+ }
}
- &.is-closing {
- transform: translateX(if($global-text-direction == ltr, 100%, -100%));
+ .nested.is-drilldown-submenu {
+ @include menu-nested($drilldown-nested-margin);
}
- // Submenu item padding
- a {
- padding: $drilldown-submenu-padding;
+ .drilldown-submenu-cover-previous {
+ min-height: 100%;
}
- }
-
- .drilldown-submenu-cover-previous {
- min-height: 100%;
- }
-
- @if $drilldown-arrows {
- .is-drilldown-submenu-parent > a {
- position: relative;
- &::after {
- @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-right);
- position: absolute;
- top: 50%;
- margin-top: -1 * $drilldown-arrow-size;
- #{$global-right}: 1rem;
+ @if $drilldown-arrows {
+ .is-drilldown-submenu-parent > a {
+ position: relative;
+
+ &::after {
+ @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-right);
+ position: absolute;
+ top: 50%;
+ margin-top: -1 * $drilldown-arrow-size;
+ #{$global-right}: 1rem;
+ }
}
- }
- .js-drilldown-back > a::before {
- @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-left);
- border-#{$global-left}-width: 0;
- display: inline-block;
- vertical-align: middle;
- margin-#{$global-right}: 0.75rem; // Creates space between the arrow and the text
+ .js-drilldown-back > a::before {
+ @include css-triangle($drilldown-arrow-size, $drilldown-arrow-color, $global-left);
+ border-#{$global-left}-width: 0;
+ display: inline-block;
+ vertical-align: middle;
+ margin-#{$global-right}: 0.75rem; // Creates space between the arrow and the text
- border-#{$global-left}-width: 0;
+ border-#{$global-left}-width: 0;
+ }
}
}
}
/// @type Number
$dropdownmenu-padding: $global-menu-padding !default;
+/// Sets dropdown menu nested margin
+/// @type Number
+$dropdownmenu-nested-margin: 0px !default;
+
/// Padding for sub-menu items.
/// @type Number
$dropdownmenu-submenu-padding: $dropdownmenu-padding !default;
display: none;
}
+ .nested.is-dropdown-submenu {
+ @include menu-nested($dropdownmenu-nested-margin);
+ }
+
&.vertical {
@include dropdown-menu-direction(vertical);
}
/// Left-hand margin of a nested menu.
/// @type Number
-$menu-nested-margin: 1rem !default;
+$menu-nested-margin: $global-menu-nested-margin !default;
/// Padding for items in a pill menu.
/// @type Number
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu vertical">
+ <ul class="menu nested vertical">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu vertical">
+ <ul class="menu nested vertical">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu vertical">
+ <ul class="menu nested vertical">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu vertical">
+ <ul class="menu nested vertical">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">Two</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu vertical vertical">
+ <ul class="menu nested vertical">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu vertical">
+ <ul class="menu nested vertical">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu">
+ <ul class="menu nested vertical">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu">
+ <ul class="menu nested vertical">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu">
+ <ul class="menu nested vertical">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu vertical">
+ <ul class="menu vertical nested">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu vertical">
+ <ul class="menu vertical nested">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu vertical">
+ <ul class="menu vertical nested">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu vertical">
+ <ul class="menu vertical nested">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">Two</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu vertical vertical">
+ <ul class="menu vertical nested">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu vertical">
+ <ul class="menu vertical nested">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu">
+ <ul class="menu vertical nested">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu">
+ <ul class="menu vertical nested">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>
<li><a href="#">One</a></li>
<li>
<a href="#">Two</a>
- <ul class="menu">
+ <ul class="menu vertical nested">
<li><a href="#">Two A</a></li>
<li><a href="#">Two B</a></li>
<li><a href="#">Two C</a></li>