diff --git a/scss/_nav.scss b/scss/_nav.scss
index 968450fede3a..efd2748a645f 100644
--- a/scss/_nav.scss
+++ b/scss/_nav.scss
@@ -113,7 +113,6 @@ $nav-underline-tokens: defaults(
background: none;
border: var(--nav-link-border-width) solid transparent;
@include border-radius(var(--border-radius));
- // @include font-size(var(--nav-link-font-size));
@include transition(var(--nav-link-transition));
&:hover,
diff --git a/scss/_navbar.scss b/scss/_navbar.scss
index 98ed65fe7170..10842fd460f2 100644
--- a/scss/_navbar.scss
+++ b/scss/_navbar.scss
@@ -8,11 +8,14 @@
// mdo-do: fix nav-link-height and navbar-brand-height, which we previously calculated with font-size, line-height, and block padding
+// stylelint-disable custom-property-no-missing-var-function
// scss-docs-start navbar-breakpoints
$navbar-breakpoints: $breakpoints !default;
// scss-docs-end navbar-breakpoints
$navbar-tokens: () !default;
+$navbar-dark-tokens: () !default;
+$navbar-nav-tokens: () !default;
// scss-docs-start navbar-tokens
// stylelint-disable-next-line scss/dollar-variable-default
@@ -43,8 +46,6 @@ $navbar-tokens: defaults(
);
// scss-docs-end navbar-tokens
-$navbar-dark-tokens: () !default;
-
// scss-docs-start navbar-dark-tokens
// stylelint-disable-next-line scss/dollar-variable-default
$navbar-dark-tokens: defaults(
@@ -61,6 +62,28 @@ $navbar-dark-tokens: defaults(
);
// scss-docs-end navbar-dark-tokens
+// scss-docs-start navbar-nav-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$navbar-nav-tokens: defaults(
+ (
+ --nav-gap: .25rem,
+ --nav-link-gap: .5rem,
+ --nav-link-padding-x: .5rem,
+ --nav-link-padding-y: .375rem,
+ --nav-link-color: var(--navbar-color),
+ --nav-link-border-width: var(--border-width),
+ //--nav-link-border-color: var(--border-color),
+ --nav-link-hover-color: var(--navbar-hover-color),
+ --nav-link-hover-bg: transparent,
+ --nav-link-active-color: var(--navbar-active-color),
+ --nav-link-active-bg: transparent,
+ --nav-link-disabled-color: var(--navbar-disabled-color),
+ ),
+ $navbar-nav-tokens
+);
+// scss-docs-end navbar-nav-tokens
+// stylelint-enable custom-property-no-missing-var-function
+
@layer components {
// Base navbar
.navbar {
@@ -119,21 +142,7 @@ $navbar-dark-tokens: defaults(
//
// Relies on `.nav` base class.
.navbar-nav {
- // scss-docs-start navbar-nav-css-vars
- // Set all nav-link variables for self-contained styling
- --nav-gap: .25rem;
- --nav-link-gap: .5rem;
- --nav-link-padding-x: .5rem;
- --nav-link-padding-y: .375rem;
- --nav-link-color: var(--navbar-color);
- --nav-link-border-width: var(--border-width);
- //--nav-link-border-color: var(--border-color);
- --nav-link-hover-color: var(--navbar-hover-color);
- --nav-link-hover-bg: transparent;
- --nav-link-active-color: var(--navbar-active-color);
- --nav-link-active-bg: transparent;
- --nav-link-disabled-color: var(--navbar-disabled-color);
- // scss-docs-end navbar-nav-css-vars
+ @include tokens($navbar-nav-tokens);
display: flex;
flex-direction: column;
diff --git a/site/src/content/docs/components/navbar.mdx b/site/src/content/docs/components/navbar.mdx
index 6218f324c7f0..7ba554933c9d 100644
--- a/site/src/content/docs/components/navbar.mdx
+++ b/site/src/content/docs/components/navbar.mdx
@@ -713,6 +713,8 @@ When you do this, we recommend including additional JavaScript to move the focus
+
+
### Sass map
We reassign the global `$breakpoints` map to `$navbar-breakpoints` in `scss/_navbar.scss` and use this for our loop to generate the responsive navbar expand/collapse classes. This allows you to customize the breakpoints for navbars independently of the global breakpoints.