Skip to content

Commit c5c9f26

Browse files
authored
Use token map for .navbar-nav CSS variables (#42161)
1 parent 6f0bdf6 commit c5c9f26

3 files changed

Lines changed: 28 additions & 18 deletions

File tree

scss/_nav.scss

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,6 @@ $nav-underline-tokens: defaults(
113113
background: none;
114114
border: var(--nav-link-border-width) solid transparent;
115115
@include border-radius(var(--border-radius));
116-
// @include font-size(var(--nav-link-font-size));
117116
@include transition(var(--nav-link-transition));
118117

119118
&:hover,

scss/_navbar.scss

Lines changed: 26 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@
88

99
// mdo-do: fix nav-link-height and navbar-brand-height, which we previously calculated with font-size, line-height, and block padding
1010

11+
// stylelint-disable custom-property-no-missing-var-function
1112
// scss-docs-start navbar-breakpoints
1213
$navbar-breakpoints: $breakpoints !default;
1314
// scss-docs-end navbar-breakpoints
1415

1516
$navbar-tokens: () !default;
17+
$navbar-dark-tokens: () !default;
18+
$navbar-nav-tokens: () !default;
1619

1720
// scss-docs-start navbar-tokens
1821
// stylelint-disable-next-line scss/dollar-variable-default
@@ -43,8 +46,6 @@ $navbar-tokens: defaults(
4346
);
4447
// scss-docs-end navbar-tokens
4548

46-
$navbar-dark-tokens: () !default;
47-
4849
// scss-docs-start navbar-dark-tokens
4950
// stylelint-disable-next-line scss/dollar-variable-default
5051
$navbar-dark-tokens: defaults(
@@ -61,6 +62,28 @@ $navbar-dark-tokens: defaults(
6162
);
6263
// scss-docs-end navbar-dark-tokens
6364

65+
// scss-docs-start navbar-nav-tokens
66+
// stylelint-disable-next-line scss/dollar-variable-default
67+
$navbar-nav-tokens: defaults(
68+
(
69+
--nav-gap: .25rem,
70+
--nav-link-gap: .5rem,
71+
--nav-link-padding-x: .5rem,
72+
--nav-link-padding-y: .375rem,
73+
--nav-link-color: var(--navbar-color),
74+
--nav-link-border-width: var(--border-width),
75+
//--nav-link-border-color: var(--border-color),
76+
--nav-link-hover-color: var(--navbar-hover-color),
77+
--nav-link-hover-bg: transparent,
78+
--nav-link-active-color: var(--navbar-active-color),
79+
--nav-link-active-bg: transparent,
80+
--nav-link-disabled-color: var(--navbar-disabled-color),
81+
),
82+
$navbar-nav-tokens
83+
);
84+
// scss-docs-end navbar-nav-tokens
85+
// stylelint-enable custom-property-no-missing-var-function
86+
6487
@layer components {
6588
// Base navbar
6689
.navbar {
@@ -119,21 +142,7 @@ $navbar-dark-tokens: defaults(
119142
//
120143
// Relies on `.nav` base class.
121144
.navbar-nav {
122-
// scss-docs-start navbar-nav-css-vars
123-
// Set all nav-link variables for self-contained styling
124-
--nav-gap: .25rem;
125-
--nav-link-gap: .5rem;
126-
--nav-link-padding-x: .5rem;
127-
--nav-link-padding-y: .375rem;
128-
--nav-link-color: var(--navbar-color);
129-
--nav-link-border-width: var(--border-width);
130-
//--nav-link-border-color: var(--border-color);
131-
--nav-link-hover-color: var(--navbar-hover-color);
132-
--nav-link-hover-bg: transparent;
133-
--nav-link-active-color: var(--navbar-active-color);
134-
--nav-link-active-bg: transparent;
135-
--nav-link-disabled-color: var(--navbar-disabled-color);
136-
// scss-docs-end navbar-nav-css-vars
145+
@include tokens($navbar-nav-tokens);
137146

138147
display: flex;
139148
flex-direction: column;

site/src/content/docs/components/navbar.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,8 @@ When you do this, we recommend including additional JavaScript to move the focus
713713

714714
<ScssDocs name="navbar-dark-tokens" file="scss/_navbar.scss" />
715715

716+
<ScssDocs name="navbar-nav-tokens" file="scss/_navbar.scss" />
717+
716718
### Sass map
717719

718720
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.

0 commit comments

Comments
 (0)