@qld-gov-au/qgds-bootstrap5 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/.storybook/preview.js +4 -1
  2. package/dist/assets/components/bs5/accordion/accordion.hbs +3 -6
  3. package/dist/assets/components/bs5/directionLinks/directionLinks.hbs +2 -1
  4. package/dist/assets/components/bs5/head/head.hbs +1 -1
  5. package/dist/assets/components/bs5/header/header.hbs +6 -9
  6. package/dist/assets/components/bs5/navbar/navbar.hbs +21 -14
  7. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithForm.hbs +1 -1
  8. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +140 -108
  9. package/dist/assets/components/bs5/pageLayout/templates/homePage.hbs +1 -1
  10. package/dist/assets/components/bs5/quickexit/quickexit.hbs +1 -1
  11. package/dist/assets/components/bs5/sidenav/sidenav.hbs +56 -37
  12. package/dist/assets/css/qld.bootstrap.css +1 -6
  13. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  14. package/dist/assets/js/handlebars.init.min.js +232 -179
  15. package/dist/assets/js/handlebars.init.min.js.map +2 -2
  16. package/dist/assets/js/qld.bootstrap.min.js +5 -5
  17. package/dist/assets/js/qld.bootstrap.min.js.map +4 -4
  18. package/dist/assets/node/handlebars.init.min.js +55 -23
  19. package/dist/assets/node/handlebars.init.min.js.map +2 -2
  20. package/dist/components/bs5/accordion/accordion.hbs +3 -6
  21. package/dist/components/bs5/directionLinks/directionLinks.hbs +2 -1
  22. package/dist/components/bs5/head/head.hbs +1 -1
  23. package/dist/components/bs5/header/header.hbs +6 -9
  24. package/dist/components/bs5/navbar/navbar.hbs +21 -14
  25. package/dist/components/bs5/pageLayout/templates/contentPageWithForm.hbs +1 -1
  26. package/dist/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +140 -108
  27. package/dist/components/bs5/pageLayout/templates/homePage.hbs +1 -1
  28. package/dist/components/bs5/quickexit/quickexit.hbs +1 -1
  29. package/dist/components/bs5/sidenav/sidenav.hbs +56 -37
  30. package/dist/package.json +2 -4
  31. package/dist/sample-data/accordion/accordion.data.json +24 -23
  32. package/dist/sample-data/navbar/navbar.data.json +91 -25
  33. package/dist/sample-data/pagination/pagination.data.json +19 -19
  34. package/dist/sample-data/sidenav/sidenav.data.json +81 -80
  35. package/package.json +2 -4
  36. package/src/components/bs5/accordion/Accordion.mdx +34 -12
  37. package/src/components/bs5/accordion/__snapshots__/accordion.test.js.snap +3 -6
  38. package/src/components/bs5/accordion/accordion.data.json +24 -23
  39. package/src/components/bs5/accordion/accordion.hbs +3 -6
  40. package/src/components/bs5/accordion/accordion.scss +19 -9
  41. package/src/components/bs5/accordion/accordion.stories.js +8 -0
  42. package/src/components/bs5/accordion/accordion.test.js +5 -0
  43. package/src/components/bs5/accordion/mdx/_designResources.mdx +6 -0
  44. package/src/components/bs5/accordion/mdx/_usageInstructions.mdx +10 -0
  45. package/src/components/bs5/backToTop/backToTop.mdx +4 -5
  46. package/src/components/bs5/banner/Banner.mdx +1 -3
  47. package/src/components/bs5/blockquote/Blockquote.mdx +4 -5
  48. package/src/components/bs5/blockquote/blockquote.scss +47 -7
  49. package/src/components/bs5/breadcrumbs/Breadcrumbs.mdx +1 -3
  50. package/src/components/bs5/button/Button.mdx +4 -5
  51. package/src/components/bs5/button/button.scss +13 -1
  52. package/src/components/bs5/callToAction/callToAction.mdx +1 -3
  53. package/src/components/bs5/callout/Callout.mdx +4 -5
  54. package/src/components/bs5/card/Card.mdx +1 -3
  55. package/src/components/bs5/card/card.scss +1 -25
  56. package/src/components/bs5/directionLinks/DirectionLinks.mdx +4 -5
  57. package/src/components/bs5/directionLinks/directionLinks.hbs +2 -1
  58. package/src/components/bs5/directionLinks/directionLinks.scss +27 -80
  59. package/src/components/bs5/directionLinks/directionLinks.stories.js +7 -14
  60. package/src/components/bs5/footer/Footer.mdx +1 -3
  61. package/src/components/bs5/footer/footer.scss +4 -11
  62. package/src/components/bs5/formcheck/stories/checkbox/Checkbox.mdx +7 -6
  63. package/src/components/bs5/formcheck/stories/radio/Radio.mdx +7 -6
  64. package/src/components/bs5/globalAlert/GlobalAlert.mdx +1 -3
  65. package/src/components/bs5/globalAlert/globalAlert.scss +6 -0
  66. package/src/components/bs5/header/Header.mdx +1 -3
  67. package/src/components/bs5/header/header.hbs +6 -9
  68. package/src/components/bs5/header/header.scss +6 -2
  69. package/src/components/bs5/icons/Icons.mdx +167 -7
  70. package/src/components/bs5/icons/_icons.sizes.scss +9 -0
  71. package/src/components/bs5/icons/icons.scss +23 -71
  72. package/src/components/bs5/icons/icons.stories.js +34 -57
  73. package/src/components/bs5/icons/mdx/_IconsSizes.mdx +112 -0
  74. package/src/components/bs5/icons/stories/storyFlexContainer.html +18 -0
  75. package/src/components/bs5/icons/stories/storyInlineWithText.html +18 -0
  76. package/src/components/bs5/icons/stories/storySizes.html +89 -0
  77. package/src/components/bs5/image/Image.mdx +1 -4
  78. package/src/components/bs5/inpageAlert/InpageAlert.mdx +1 -3
  79. package/src/components/bs5/inpagenav/Inpagenav.mdx +4 -5
  80. package/src/components/bs5/inpagenav/inpagenav.scss +7 -3
  81. package/src/components/bs5/link/link.mdx +1 -3
  82. package/src/components/bs5/link/link.scss +2 -15
  83. package/src/components/bs5/linkColumns/linkColumns.mdx +1 -3
  84. package/src/components/bs5/logo/Logo.mdx +1 -3
  85. package/src/components/bs5/navbar/navbar.data.json +91 -25
  86. package/src/components/bs5/navbar/navbar.functions.js +4 -0
  87. package/src/components/bs5/navbar/navbar.hbs +21 -14
  88. package/src/components/bs5/navbar/navbar.scss +219 -166
  89. package/src/components/bs5/navbar/navbar.stories.js +31 -2
  90. package/src/components/bs5/pageLayout/ThemeShowcase.stories.js +249 -0
  91. package/src/components/bs5/pageLayout/pageLayout.stories.js +3 -1
  92. package/src/components/bs5/pageLayout/templates/contentPageWithForm.hbs +1 -1
  93. package/src/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +140 -108
  94. package/src/components/bs5/pageLayout/templates/homePage.hbs +1 -1
  95. package/src/components/bs5/pagination/Pagination.mdx +4 -5
  96. package/src/components/bs5/pagination/pagination.data.json +19 -19
  97. package/src/components/bs5/pagination/pagination.scss +37 -63
  98. package/src/components/bs5/promotionalPanel/PromotionalPanel.mdx +1 -3
  99. package/src/components/bs5/promotionalPanel/promotionalPanel.scss +23 -22
  100. package/src/components/bs5/quickexit/quickexit.functions.js +24 -37
  101. package/src/components/bs5/quickexit/quickexit.hbs +1 -1
  102. package/src/components/bs5/quickexit/quickexit.scss +27 -10
  103. package/src/components/bs5/searchInput/SearchInput.mdx +5 -5
  104. package/src/components/bs5/sidenav/Sidenav.mdx +4 -5
  105. package/src/components/bs5/sidenav/sidenav.data.json +81 -80
  106. package/src/components/bs5/sidenav/sidenav.hbs +56 -37
  107. package/src/components/bs5/sidenav/sidenav.scss +236 -151
  108. package/src/components/bs5/skiplinks/SkipLinks.mdx +1 -3
  109. package/src/components/bs5/skiplinks/skipLinks.functions.js +0 -9
  110. package/src/components/bs5/skiplinks/skipLinks.test.js +0 -1
  111. package/src/components/bs5/table/Table.mdx +4 -5
  112. package/src/components/bs5/tabs/Tabs.mdx +4 -5
  113. package/src/components/bs5/tabs/tabs.scss +22 -1
  114. package/src/components/bs5/tag/Tag.mdx +4 -5
  115. package/src/components/bs5/typography/Typography.mdx +4 -5
  116. package/src/components/bs5/video/Video.mdx +4 -5
  117. package/src/components/common/layout/container.scss +5 -0
  118. package/src/components/common/layout/content.scss +16 -8
  119. package/src/css/functions/_index.scss +1 -0
  120. package/src/css/functions/in-list.scss +5 -0
  121. package/src/css/main.scss +4 -10
  122. package/src/css/mixins/_index.scss +3 -0
  123. package/src/css/mixins/make-icon.scss +87 -0
  124. package/src/css/qld-theme.scss +74 -31
  125. package/src/css/qld-type.scss +26 -140
  126. package/src/css/qld-utilities.scss +29 -14
  127. package/src/css/qld-variables.scss +4 -4
  128. package/src/css/utilities/_index.scss +1 -0
  129. package/src/css/utilities/sr-only.scss +5 -0
  130. package/src/css/variables/_index.scss +1 -0
  131. package/src/css/variables/type.scss +58 -0
  132. package/src/js/qld.bootstrap.js +1 -9
  133. package/src/stories/documentation/_storybookDocsTabs.jsx +63 -0
  134. package/src/stories/documentation/storybook-documentation.scss +51 -0
  135. package/src/components/bs5/icons/story-icon-sizing.html +0 -131
  136. package/src/components/bs5/icons/story-icon-usage.html +0 -89
  137. package/src/components/bs5/pagination/health-icon-sprite.svg +0 -156
@@ -1,21 +1,16 @@
1
- $_navbar-max-width: 26.25rem;
2
-
3
1
  @mixin repeatedVerticalStyles {
4
2
  .nav-header {
5
3
  min-height: var(--qld-header-preheader-height, 4rem);
6
4
  display: flex;
7
5
  align-items: center;
8
6
  color: var(--header-color);
9
-
10
7
  a {
11
8
  color: var(--header-color);
12
9
  }
13
-
14
10
  .navbar-brand {
15
11
  font-size: 0.875rem;
16
12
  padding: 1rem;
17
13
  }
18
-
19
14
  button.navbar-btn {
20
15
  margin-inline-start: auto;
21
16
  border: 0;
@@ -25,13 +20,12 @@ $_navbar-max-width: 26.25rem;
25
20
  padding-inline: 1.5rem;
26
21
  }
27
22
  }
28
-
29
23
  > .container {
30
24
  position: relative;
31
25
  flex-direction: column;
32
26
  align-items: start;
33
27
  padding-inline: 0;
34
- max-width: $_navbar-max-width;
28
+ max-width: var(--navbar-max-width);
35
29
  flex-direction: row;
36
30
  margin-inline: 0;
37
31
  background-color: var(--vert-background-color);
@@ -39,11 +33,9 @@ $_navbar-max-width: 26.25rem;
39
33
  max-height: 100%;
40
34
  overflow-y: auto;
41
35
  flex-flow: column;
42
-
43
36
  & > div {
44
37
  width: 100%;
45
38
  }
46
-
47
39
  .navbar-nav {
48
40
  flex-direction: column;
49
41
  width: 100%;
@@ -55,33 +47,28 @@ $_navbar-max-width: 26.25rem;
55
47
  flex-wrap: wrap;
56
48
  align-items: center;
57
49
  background-color: var(--background-color);
58
-
59
50
  &:hover {
60
51
  background-color: var(--background-color-hover);
61
52
  }
62
-
63
53
  & > a {
64
54
  width: calc(100% - 3rem);
65
- border-start-end-radius: 1rem;
55
+ border-start-end-radius: 1rem;
66
56
  }
67
-
68
57
  &:has(.show) {
69
58
  background-color: var(--background-color-hover);
70
-
71
59
  button.nav-link {
72
60
  background-color: var(--dropdown-show-btn-bg);
73
-
74
61
  &::after {
75
62
  transform: rotate(180deg);
76
63
  transition: transform var(--animation-time) ease-in;
77
64
  }
78
65
  }
79
66
  .nav-link {
67
+
80
68
  background-color: var(--dropdown-show-bg);
81
69
  border-inline-start-color: var(--dropdown-show-bg);
82
70
  }
83
71
  }
84
-
85
72
  button.nav-link {
86
73
  border: none;
87
74
  width: 2rem;
@@ -96,13 +83,11 @@ $_navbar-max-width: 26.25rem;
96
83
  box-shadow:
97
84
  0px 1px 2px rgba(0, 0, 0, 0.2),
98
85
  0px 1px 3px rgba(0, 0, 0, 0.1);
99
-
100
86
  &:hover {
101
87
  box-shadow:
102
88
  0px 4px 8px 3px rgba(0, 0, 0, 0.1),
103
89
  0px 1px 3px rgba(0, 0, 0, 0.2);
104
90
  }
105
-
106
91
  &::after {
107
92
  content: "";
108
93
  mask-image: var(--qgds-icon-chevron-down);
@@ -120,16 +105,16 @@ $_navbar-max-width: 26.25rem;
120
105
  outline: 2px solid var(--qld-focus-color);
121
106
  }
122
107
  }
123
-
124
108
  .nav-link {
125
109
  border-block-end: 0;
126
110
  }
127
111
  }
128
-
129
112
  &:has(.dropdown-menu.show) {
130
113
  border-block-end-width: 0;
114
+ .qld-icon {
115
+ background-color: var(--action-icon-color_active);
116
+ }
131
117
  }
132
-
133
118
  .dropdown-menu.show {
134
119
  position: relative;
135
120
  border: none;
@@ -140,39 +125,56 @@ $_navbar-max-width: 26.25rem;
140
125
  display: block;
141
126
  padding: 0;
142
127
  box-shadow: none;
143
-
144
128
  &::before {
145
129
  display: none;
146
130
  }
147
-
148
131
  li {
149
132
  text-align: start;
150
133
  padding-block-end: 0;
151
134
  margin-block-end: 0;
152
-
153
- a {
135
+ > a {
154
136
  background-color: var(--dropdown-show-bg);
155
137
  padding-inline: 0.75rem;
156
138
  margin-block-end: 0;
157
139
  border-block-end: 0;
140
+ font-weight: 400;
158
141
  border-inline-start-color: var(--dropdown-show-bg);
159
142
  gap: 0;
160
-
161
143
  &::after {
162
144
  content: "";
163
145
  content: none;
164
146
  }
165
-
166
147
  &:hover {
167
148
  transition: none;
168
149
  }
169
150
  }
170
-
171
151
  p {
172
152
  position: absolute;
173
153
  left: -9999px;
174
154
  }
175
-
155
+ h2,h3,h4,h5,h6 {
156
+ color: var(--text-color);
157
+ }
158
+ div {
159
+ padding: 1rem;
160
+ p {
161
+ position: relative;
162
+ left: auto;
163
+ }
164
+ a {
165
+ display: block;
166
+ border-block-end: 0;
167
+ border: 0;
168
+ color: var(--link-color);
169
+ text-decoration-color: inherit;
170
+ padding: 0;
171
+ // transition:none;
172
+ &:after {
173
+ content: "";
174
+ content: none;
175
+ }
176
+ }
177
+ }
176
178
  &:has(.view-all),
177
179
  &:has(.parent-link) {
178
180
  display: none;
@@ -181,50 +183,53 @@ $_navbar-max-width: 26.25rem;
181
183
  }
182
184
  }
183
185
  }
184
-
185
186
  li {
186
187
  border-block-end: 1px solid var(--border-color);
187
188
  }
188
-
189
189
  a.nav-link,
190
190
  a.dropdown-item {
191
191
  color: var(--link-color);
192
- padding: 0.75rem;
192
+ padding: 0.5rem;
193
193
  display: flex;
194
194
  border-inline-start: 0.25rem solid var(--link-border-color);
195
195
  align-items: center;
196
196
  transition: padding-inline-end var(--animation-time) ease-in-out;
197
-
198
197
  &:hover {
199
198
  border-inline-start: 0.25rem solid var(--link-border-color-hover);
200
199
  text-decoration: underline;
201
200
  text-underline-offset: 0.3rem;
202
- text-decoration-thickness: 0.125rem;
201
+ text-decoration-thickness: 0.125rem;
202
+ }
203
+ }
204
+ a.dropdown-item {
205
+ background-color: transparent;
206
+ &:hover {
207
+ background-color: transparent;
203
208
  }
204
209
  }
205
-
206
210
  a.nav-link {
211
+ width: 100%;
207
212
  border-block-end: 0;
208
213
  margin-block-end: 0;
209
-
210
214
  &:hover,
211
215
  &.active {
212
216
  border-block-end: 0;
213
-
214
217
  &:hover {
215
218
  margin-block-end: 0;
216
219
  border-block-end: 0;
217
220
  }
218
221
  }
219
-
222
+ &:hover {
223
+ .qld-icon {
224
+ background-color: var(--link-border-color-hover);
225
+ }
226
+ }
220
227
  &.dropdown-toggle {
221
228
  &::after {
222
229
  display: none;
223
230
  visibility: hidden;
224
231
  }
225
-
226
232
  background: transparent;
227
-
228
233
  &:hover {
229
234
  background-color: transparent;
230
235
  }
@@ -235,53 +240,39 @@ $_navbar-max-width: 26.25rem;
235
240
  }
236
241
  }
237
242
  }
238
-
239
243
  @keyframes slideFromRight {
240
244
  0% {
241
245
  transform: translateX(100%);
242
246
  }
243
-
244
247
  100% {
245
248
  transform: translateX(0);
246
249
  }
247
250
  }
248
-
249
251
  @keyframes slideToRight {
250
252
  0% {
251
253
  transform: translateX(0);
252
254
  }
253
-
254
255
  100% {
255
256
  transform: translateX(100%);
256
257
  }
257
258
  }
258
-
259
- #burgerBtn {
260
- min-width: auto;
261
- flex-direction: column;
262
- gap: 0;
263
- }
264
-
265
259
  .navbar {
266
260
  --vert-background-color: var(--#{$prefix}dark-background);
267
261
  --background-color: var(--#{$prefix}default-background-shade);
268
- --background-color-hover: var(--#{$prefix}light-border);
262
+ --background-color-hover: var(--#{$prefix}light-grey-alt);
269
263
  --dropdown-show-bg: var(--#{$prefix}default-background);
270
264
  --link-border-color: var(--#{$prefix}light-accent);
271
265
  --link-border-color-hover: var(--#{$prefix}light-action-primary-hover);
272
- --link-color: var(--#{$prefix}light-action-primary-hover);
266
+ --link-color: var(--#{$prefix}light-link);
273
267
  --text-color: var(--#{$prefix}light-text-text);
274
- --border-color: var(--#{$prefix}light-border);
268
+ --border-color: var(--#{$prefix}default-border);
275
269
  --header-color: var(--#{$prefix}default-background);
276
270
  --action-icon-color: var(--#{$prefix}alt-button-hover);
271
+ --action-icon-color_active: var(--text-color);
277
272
  --mobile-only-display: none;
273
+ --visibility-display: hidden;
278
274
  --dropdown-show-btn-bg: var(--#{$prefix}default-background);
279
275
  --dropdown-show-btn-icon-color: var(--#{$prefix}alt-button-hover);
280
-
281
- --nav-header-color: var(--#{$prefix}dark-text-text);
282
- --nav-header-border-color: var(--#{$prefix}dark-border);
283
- --nav-header-icon-color: var(--#{$prefix}brand-accent);
284
-
285
276
  /* general */
286
277
  --button-bg-color: var(--#{$prefix}default-background);
287
278
  --animation-time: 0.2s;
@@ -292,143 +283,203 @@ $_navbar-max-width: 26.25rem;
292
283
  --dropdown-bg-color: var(--#{$prefix}default-background);
293
284
  /* House keeping */
294
285
  --icon-dir: 1;
295
-
286
+ --navbar-max-width: 26.25rem;
296
287
  :dir(rtl) {
297
288
  --icon-dir: -1;
298
289
  }
299
-
300
290
  /* override */
301
291
  &.collapsing {
302
292
  transition: none !important;
303
293
  }
304
-
305
294
  &.collapse:not(.show) {
306
295
  display: block;
307
296
  }
308
-
309
297
  .qld-icon-md {
310
298
  height: 2rem;
311
299
  }
312
-
313
300
  /* colours */
314
- &.dark {
301
+ &.dark, &.dark-alt {
315
302
  --vert-background-color: var(--#{$prefix}default-background);
316
303
  --background-color: var(--#{$prefix}dark-background-shade);
317
304
  --background-color-hover: var(--#{$prefix}dark-alt-background);
318
305
  --dropdown-show-bg: var(--#{$prefix}dark-background-shade);
319
306
  --link-border-color: var(--#{$prefix}dark-accent);
320
307
  --link-border-color-hover: var(--#{$prefix}dark-action-primary-hover);
321
- --link-color: var(--#{$prefix}dark-text-text);
308
+ --link-color: var(--#{$prefix}dark-link);
322
309
  --text-color: var(--#{$prefix}dark-text-text);
323
310
  --border-color: var(--#{$prefix}dark-border);
324
311
  --header-color: var(--#{$prefix}light-text-heading);
325
312
  --dropdown-bg-color: var(--#{$prefix}dark-background);
326
313
  --action-icon-color: var(--#{$prefix}brand-accent);
327
-
328
- --nav-header-color: var(--#{$prefix}light-text-text);
329
- --nav-header-border-color: var(--#{$prefix}light-border);
330
- --nav-header-icon-color: var(--#{$prefix}alt-button-hover);
314
+ --action-icon-color_active: var(--text-color);
331
315
  }
332
-
333
316
  /* Mobile < 992 */
334
317
  @include media-breakpoint-down(lg) {
335
318
  --mobile-only-display: block;
336
- .alt {
319
+ --visibility-display: visible;
320
+ --nav-header-border-color: var(--#{$prefix}dark-border);
321
+ .qld-header:has(.qld-header-pre-header.dark) ~ & {
322
+ --vert-background-color: var(--#{$prefix}dark-background);
323
+ --background-color: var(--#{$prefix}default-background-shade);
324
+ --background-color-hover: var(--#{$prefix}light-grey-alt);
325
+ --dropdown-show-bg: var(--#{$prefix}default-background);
326
+ --link-border-color: var(--#{$prefix}light-accent);
327
+ --link-border-color-hover: var(--#{$prefix}light-action-primary-hover);
328
+ --link-color: var(--#{$prefix}light-link);
329
+ --text-color: var(--#{$prefix}light-text-text);
330
+ --border-color: var(--#{$prefix}default-border);
331
+ --header-color: var(--#{$prefix}light-text-heading);
332
+ --action-icon-color: var(--#{$prefix}alt-button-hover);
333
+ --dropdown-show-btn-bg: var(--#{$prefix}default-background);
334
+ --dropdown-show-btn-icon-color: var(--#{$prefix}alt-button-hover);
335
+ --nav-header-color: var(--#{$prefix}dark-text-text);
336
+ --nav-header-border-color: var(--#{$prefix}dark-border);
337
+ --nav-header-icon-color: var(--#{$prefix}brand-accent);
338
+ --navbar-collapse-bg: var(--#{$prefix}dark-background-shade);
339
+ --action-icon-color_active: var(--text-color);
340
+ .alt {
341
+ --vert-background-color: var(--#{$prefix}default-background);
342
+ --background-color: var(--#{$prefix}sapphire-blue);
343
+ --background-color-hover: var(--#{$prefix}sapphire-blue);
344
+ --dropdown-show-bg: var(--#{$prefix}dark-background-shade);
345
+ --link-border-color: var(--#{$prefix}light-accent);
346
+ --link-border-color-hover: var(--#{$prefix}dark-action-primary-hover);
347
+ --link-color: var(--#{$prefix}dark-link);
348
+ --text-color: var(--#{$prefix}dark-text-text);
349
+ --border-color: var(--#{$prefix}dark-border);
350
+ --header-color: var(--#{$prefix}default-background);
351
+ --dropdown-bg-color: var(--#{$prefix}dark-background);
352
+ --action-icon-color: var(--#{$prefix}brand-accent);
353
+ --action-icon-color_active: var(--text-color);
354
+ .nav-link {
355
+ border-inline-start: 0;
356
+ }
357
+ }
358
+ }
359
+ .qld-header:has(.qld-header-pre-header) ~ & {
337
360
  --vert-background-color: var(--#{$prefix}default-background);
338
361
  --background-color: var(--#{$prefix}dark-background-shade);
339
362
  --background-color-hover: var(--#{$prefix}dark-alt-background);
340
363
  --dropdown-show-bg: var(--#{$prefix}dark-background-shade);
341
364
  --link-border-color: var(--#{$prefix}dark-accent);
342
365
  --link-border-color-hover: var(--#{$prefix}dark-action-primary-hover);
343
- --link-color: var(--#{$prefix}dark-text-text);
366
+ --link-color: var(--#{$prefix}dark-link);
344
367
  --text-color: var(--#{$prefix}dark-text-text);
345
368
  --border-color: var(--#{$prefix}dark-border);
346
369
  --header-color: var(--#{$prefix}light-text-heading);
347
370
  --dropdown-bg-color: var(--#{$prefix}dark-background);
348
371
  --action-icon-color: var(--#{$prefix}brand-accent);
372
+ --nav-header-color: var(--#{$prefix}light-text-text);
373
+ --nav-header-border-color: var(--#{$prefix}light-border);
374
+ --nav-header-icon-color: var(--#{$prefix}alt-button-hover);
375
+ --navbar-collapse-bg: var(--#{$prefix}default-background-shade);
376
+ --action-icon-color_active: var(--text-color);
377
+
378
+ .alt {
379
+ --vert-background-color: var(--#{$prefix}dark-background);
380
+ --background-color: var(--#{$prefix}default-background);
381
+ --background-color-hover: var(--#{$prefix}default-background);
382
+ --dropdown-show-bg: var(--#{$prefix}default-background);
383
+ --link-border-color: var(--#{$prefix}light-accent);
384
+ --link-border-color-hover: var(--#{$prefix}light-action-primary-hover);
385
+ --link-color: var(--#{$prefix}light-link);
386
+ --text-color: var(--#{$prefix}light-text-text);
387
+ --border-color: var(--#{$prefix}default-border);
388
+ --header-color: var(--#{$prefix}default-background);
389
+ --action-icon-color: var(--#{$prefix}alt-button-hover);
390
+ --action-icon-color_active: var(--text-color);
391
+ .nav-link {
392
+ border-inline-start: 0;
393
+ }
394
+ }
349
395
  }
350
- &.dark .alt {
351
- --vert-background-color: var(--#{$prefix}dark-background);
352
- --background-color: var(--#{$prefix}default-background-shade);
353
- --background-color-hover: var(--#{$prefix}light-border);
354
- --dropdown-show-bg: var(--#{$prefix}default-background);
355
- --link-border-color: var(--#{$prefix}light-accent);
356
- --link-border-color-hover: var(--#{$prefix}light-action-primary-hover);
357
- --link-color: var(--#{$prefix}light-action-primary-hover);
358
- --text-color: var(--#{$prefix}light-text-text);
359
- --border-color: var(--#{$prefix}light-border);
360
- --header-color: var(--#{$prefix}default-background);
361
- --action-icon-color: var(--#{$prefix}alt-button-hover);
396
+ .qld-header:has(.qld-header-pre-header.dark-alt) ~ & {
397
+ --background-color: var(--#{$prefix}dark-background-shade);
398
+ --background-color-hover: var(--#{$prefix}dark-alt-background);
399
+ --dropdown-show-bg: var(--#{$prefix}dark-background-shade);
400
+ --link-border-color: var(--#{$prefix}dark-accent);
401
+ --link-border-color-hover: var(--#{$prefix}dark-action-primary-hover);
402
+ --link-color: var(--#{$prefix}dark-link);
403
+ --text-color: var(--#{$prefix}dark-text-text);
404
+ --border-color: var(--#{$prefix}dark-border);
405
+ --header-color: var(--#{$prefix}light-text-heading);
406
+ --dropdown-bg-color: var(--#{$prefix}dark-background);
407
+ --action-icon-color: var(--#{$prefix}brand-accent);
408
+ --navbar-collapse-bg: var(--#{$prefix}dark-alt-background-shade);
409
+ --vert-background-color: var(--#{$prefix}dark-alt-background-shade);
410
+ --nav-header-color: var(--#{$prefix}default-background);
411
+ --nav-header-border-color: var(--#{$prefix}dark-border);
412
+ --nav-header-icon-color: var(--#{$prefix}dark-action-secondary);
413
+ --action-icon-color_active: var(--text-color);
414
+ .alt {
415
+ --background-color: var(--#{$prefix}dark-alt-background-shade);
416
+ --background-color-hover: var(--#{$prefix}dark-alt-background-shade);
417
+ --link-color: var(--#{$prefix}dark-link);
418
+ --text-color: var(--#{$prefix}dark-text-text);
419
+ --border-color: var(--#{$prefix}dark-border);
420
+ --action-icon-color: var(--#{$prefix}brand-accent);
421
+ --link-border-color-hover: var(--#{$prefix}dark-action-secondary-hover);
422
+ --action-icon-color_active: var(--text-color);
423
+ .nav-link {
424
+ border-inline-start: 0;
425
+ }
426
+ }
362
427
  }
363
428
  }
364
-
365
429
  background-color: var(--background-color);
366
- border-block-end: var(--horizontal-bar-border-width) solid
367
- var(--link-border-color);
430
+ border-block-end: var(--horizontal-bar-border-width) solid var(--link-border-color);
368
431
  padding-block: 0;
369
-
370
432
  button.dropdown-toggle,
371
433
  .nav-header {
372
434
  display: none;
373
435
  }
374
-
375
436
  .container {
376
437
  position: relative;
377
438
  }
378
-
379
439
  .nav-item {
380
440
  position: static;
441
+ display: flex;
381
442
  &.mobile-only {
382
443
  display: var(--mobile-only-display);
444
+ visibility: var(--visibility-display);
383
445
  }
384
446
  }
385
-
386
447
  .navbar-nav a.nav-link {
387
448
  background-color: var(--background-color);
388
- border-block-end: var(--horizontal-bar-border-width) solid
389
- var(--link-border-color);
449
+ border-block-end: var(--horizontal-bar-border-width) solid var(--link-border-color);
390
450
  margin-block-end: calc(var(--horizontal-bar-border-width) * -1);
391
-
392
451
  &.show {
393
452
  color: var(--link-color);
394
453
  background-color: var(--dropdown-bg-color);
395
- border-block-end: var(--horizontal-bar-border-width) solid
396
- var(--dropdown-bg-color);
397
-
454
+ border-block-end: var(--horizontal-bar-border-width) solid var(--dropdown-bg-color);
455
+ font-weight: 600;
398
456
  &:hover {
399
457
  background-color: var(--dropdown-bg-color);
400
- border-block-end: var(--horizontal-bar-border-width) solid
401
- var(--dropdown-bg-color);
458
+ border-block-end: var(--horizontal-bar-border-width) solid var(--link-border-color-hover);
402
459
  }
403
460
  }
404
-
405
461
  &.active {
406
462
  color: var(--link-color);
407
463
  background-color: var(--background-color);
408
- border-block-end: var(--horizontal-bar-border-width) solid
409
- var(--background-color);
464
+ border-block-end: var(--horizontal-bar-border-width) solid var(--background-color);
410
465
  }
411
-
412
466
  &:hover,
413
467
  &.active:hover {
414
468
  background-color: var(--background-color-hover);
415
- border-block-end: var(--horizontal-bar-border-width) solid
416
- var(--link-border-color-hover);
469
+ border-block-end: var(--horizontal-bar-border-width) solid var(--link-border-color-hover);
417
470
  }
418
471
  .qld-icon {
419
472
  background-color: var(--action-icon-color);
420
473
  }
421
474
  }
422
-
423
475
  .navbar-nav a.nav-link,
424
476
  a.dropdown-item {
425
477
  color: var(--link-color);
426
- padding: 0.75rem;
478
+ padding: 0.5rem;
427
479
  display: flex;
428
480
  line-height: 2rem;
429
481
  gap: 1rem;
430
482
  align-items: center;
431
-
432
483
  &:hover {
433
484
  text-decoration: underline;
434
485
  text-underline-offset: 0.3rem;
@@ -464,7 +515,6 @@ $_navbar-max-width: 26.25rem;
464
515
  background-color: transparent;
465
516
  }
466
517
  }
467
-
468
518
  .dropdown-menu.show {
469
519
  --horizontal-bar-border-widthx2: calc(
470
520
  var(--horizontal-bar-border-width) * 2
@@ -473,15 +523,19 @@ $_navbar-max-width: 26.25rem;
473
523
  inset-inline: 0;
474
524
  background-color: var(--dropdown-bg-color);
475
525
  padding: 4rem;
476
- border-radius: 1rem;
526
+ border-radius: 0.75rem;
477
527
  border-start-start-radius: 0;
478
528
  border-start-end-radius: 0;
479
529
  color: var(--text-color);
480
530
  box-shadow: var(--shadow-dropdown);
481
531
  display: grid;
482
532
  grid-template-columns: repeat(3, 1fr);
483
- grid-gap: 1rem;
484
-
533
+ column-gap: 2rem;
534
+ row-gap: 0;
535
+ @include media-breakpoint-up(xl) {
536
+ column-gap: 4rem;
537
+ row-gap: 0;
538
+ }
485
539
  &::before {
486
540
  content: "";
487
541
  position: absolute;
@@ -490,7 +544,6 @@ $_navbar-max-width: 26.25rem;
490
544
  inset-block-start: calc(var(--horizontal-bar-border-width) * -1);
491
545
  background-color: var(--dropdown-bg-color);
492
546
  }
493
-
494
547
  li {
495
548
  display: flex;
496
549
  &.mobile-only {
@@ -498,21 +551,25 @@ $_navbar-max-width: 26.25rem;
498
551
  }
499
552
  &:has(p) {
500
553
  flex-direction: column;
554
+ row-gap: 20px;
555
+ p {
556
+ font-size: 0.875rem;
557
+ }
501
558
  }
502
-
503
559
  a {
504
560
  display: flex;
505
561
  align-items: center;
506
562
  padding-inline-start: 0;
507
- padding-inline-end: 0.75rem;
563
+ padding-inline-end: 0.5rem;
508
564
  white-space: normal;
509
565
  border-block-end: 1px solid var(--border-color);
510
- padding-block-end: 1rem;
511
- gap: 1rem;
566
+ padding-block-start: 1rem;
567
+ padding-block-end: calc(1rem - 1px);
568
+ gap: 0.75rem;
569
+ font-weight: 600;
512
570
  transition:
513
571
  padding-inline-end var(--animation-time) ease-in-out,
514
572
  gap var(--animation-time) ease-in-out;
515
-
516
573
  &::after {
517
574
  content: "";
518
575
  mask-image: var(--qgds-icon-arrow-right);
@@ -525,10 +582,9 @@ $_navbar-max-width: 26.25rem;
525
582
  border: 0;
526
583
  transform: scaleX(var(--icon-dir));
527
584
  }
528
-
529
585
  &:hover {
530
- padding-inline-end: 0;
531
- gap: 1.75rem;
586
+ padding-inline-end: 0.25rem;
587
+ gap: 1rem;
532
588
  transition:
533
589
  padding-inline-end var(--animation-time) ease-in-out,
534
590
  gap var(--animation-time) ease-in-out;
@@ -538,52 +594,59 @@ $_navbar-max-width: 26.25rem;
538
594
  box-shadow: none;
539
595
  }
540
596
  }
541
-
542
597
  p {
543
598
  text-align: start;
544
599
  margin-block-start: 1rem;
545
600
  }
601
+ p:first-of-type {
602
+ margin-block-start: 0;
603
+ }
604
+ p:last-of-type {
605
+ margin-block-end: 0;
606
+ }
546
607
  }
547
-
548
608
  li:has(.parent-link) {
549
- border-block-end: 1px solid var(--border-color);
609
+ border-block-end: 2px solid var(--border-color);
550
610
  padding-block-end: 2rem;
551
611
  margin-block-end: 2rem;
612
+ gap: 1rem;
552
613
  grid-column: 1 / -1;
553
-
554
614
  .dropdown-item {
555
615
  border-block-end: 0;
616
+ padding-block-end: 0;
556
617
  gap: 1rem;
557
618
  transition: gap var(--animation-time) ease-in-out;
558
-
619
+ font-size: 1.5rem;
620
+ font-weight: 600;
559
621
  &::after {
560
622
  margin-inline-start: 0;
623
+ width: 2rem;
624
+ height: 2rem;
561
625
  }
562
-
563
626
  &:hover {
564
- gap: 1.75rem;
627
+ gap: 1.25rem;
565
628
  transition: gap var(--animation-time) ease-in-out;
566
629
  }
567
630
  }
631
+ p {
632
+ font-size: 1rem;
633
+ }
568
634
  }
569
-
570
635
  li:has(.view-all) {
571
636
  width: 100%;
572
- border-block-start: 1px solid var(--border-color);
637
+ border-block-start: 2px solid var(--border-color);
573
638
  padding-block-start: 2rem;
574
639
  margin-block-start: 2rem;
575
640
  grid-column: 1 / -1;
576
-
577
641
  .dropdown-item {
578
642
  border-block-end: 0;
579
643
  display: flex;
580
644
  flex-direction: row-reverse;
581
- padding-inline-end: 0.75rem;
582
- gap: 1rem;
645
+ padding-inline-end: 0.5rem;
646
+ gap: 0.5rem;
583
647
  transition:
584
648
  gap var(--animation-time) ease-in-out,
585
649
  padding-inline-end var(--animation-time) ease-in-out;
586
-
587
650
  &::before {
588
651
  content: "";
589
652
  mask-image: var(--qgds-icon-arrow-right);
@@ -594,26 +657,26 @@ $_navbar-max-width: 26.25rem;
594
657
  width: 1.25rem;
595
658
  transform: scaleX(var(--icon-dir));
596
659
  }
597
-
598
660
  &::after {
599
661
  content: "";
600
662
  content: none;
601
663
  }
602
-
603
664
  &:hover {
604
- gap: 1.75rem;
605
- padding-inline-end: 0;
665
+ gap: 0.75rem;
666
+ padding-inline-end: 0.25rem;
606
667
  transition:
607
668
  padding-inline-end var(--animation-time) ease-in-out,
608
669
  gap var(--animation-time) ease-in-out;
609
670
  }
610
671
  }
611
672
  }
673
+ li:has(.hasNoLink) {
674
+ display: none;
675
+ }
612
676
  }
613
-
614
677
  &.vertical {
615
678
  width: 100%;
616
- min-height: 100vh; // This is questionable
679
+ min-height: 100vh;
617
680
  align-items: start;
618
681
  overflow-y: auto;
619
682
  display: flex;
@@ -621,57 +684,53 @@ $_navbar-max-width: 26.25rem;
621
684
  border-block-end: 0;
622
685
  margin-block-end: 0;
623
686
  transition: max-width var(--animation-time) ease-in-out;
624
-
625
687
  @include repeatedVerticalStyles;
626
688
  }
627
-
628
689
  &.vertical {
629
690
  .navbar-collapse {
630
691
  display: block !important;
631
692
  }
632
-
633
693
  .nav-header {
634
694
  display: none;
635
695
  }
636
696
  }
637
-
638
697
  /* Mobile < 992 */
639
698
  @include media-breakpoint-down(lg) {
640
699
  width: 100%;
641
700
  height: 100vh;
642
701
  position: fixed;
643
702
  display: none;
644
- top: 0;
645
- right: -($_navbar-max-width); // match max-width of vertical menu
703
+ inset-block-start: 0;
704
+ inset-inline-end: calc(var(--navbar-max-width) * -1);
646
705
  align-items: start;
647
706
  background-color: transparent;
648
707
  border-block-end: 0;
649
708
  margin-block-end: 0;
650
709
  transition: max-width var(--animation-time) ease-in;
651
-
710
+ .navbar-collapse {
711
+ background-color: var(--navbar-collapse-bg);
712
+ }
713
+ a.dropdown-item {
714
+ font-size: .875rem;
715
+ }
652
716
  @include repeatedVerticalStyles;
653
-
654
717
  .nav-header .navbar-brand {
655
718
  color: var(--nav-header-color);
656
719
  }
657
-
658
720
  #burgerCloseBtn {
659
721
  --qld-btn-close-bg: none;
660
722
  --qld-btn-close-opacity: 1;
661
723
  --qld-btn-close-hover-opacity: 1;
662
-
663
724
  //Mobile
664
725
  --qld-btn-close-font-size: 0.625rem;
665
726
  --qld-btn-close-width: 1.5rem;
666
727
  --qld-btn-close-height: 1.5rem;
667
-
668
728
  @include media-breakpoint-up(md) {
669
729
  //Desktop
670
730
  --qld-btn-close-font-size: 0.875rem;
671
731
  --qld-btn-close-width: 2rem;
672
732
  --qld-btn-close-height: 2rem;
673
733
  }
674
-
675
734
  display: flex;
676
735
  flex-direction: column;
677
736
  align-items: center;
@@ -681,7 +740,6 @@ $_navbar-max-width: 26.25rem;
681
740
  border-inline-start: 1px solid var(--nav-header-border-color);
682
741
  padding-block: 0;
683
742
  background-color: transparent;
684
-
685
743
  &::before {
686
744
  content: "";
687
745
  mask-image: var(--qgds-icon-close);
@@ -694,41 +752,33 @@ $_navbar-max-width: 26.25rem;
694
752
  margin-left: 0;
695
753
  }
696
754
  }
697
-
698
755
  &,
699
756
  &.vertical {
700
757
  position: fixed;
701
-
702
758
  &.close {
703
759
  display: none;
704
760
  }
705
-
706
761
  .nav-header {
707
762
  display: flex;
708
- }
709
-
763
+ }
710
764
  &.collapse > .container {
711
765
  animation-name: slideToRight;
712
766
  animation-duration: var(--animation-time);
713
767
  animation-fill-mode: forwards;
714
768
  margin-left: auto;
715
769
  }
716
-
717
770
  &.collapse:not(.show) {
718
771
  display: none;
719
772
  }
720
-
721
773
  &.show {
722
774
  display: flex;
723
775
  right: 0;
724
776
  z-index: 10;
725
-
726
777
  & > .container {
727
778
  animation-name: slideFromRight;
728
779
  animation-duration: var(--animation-time);
729
780
  animation-fill-mode: forwards;
730
781
  }
731
-
732
782
  #overlay {
733
783
  position: fixed;
734
784
  inset: 0;
@@ -737,15 +787,18 @@ $_navbar-max-width: 26.25rem;
737
787
  z-index: -1;
738
788
  }
739
789
  }
740
-
741
790
  > .container {
742
791
  transform: translateX(-100%);
743
792
  }
744
793
  }
794
+ &.vertical {
795
+ a.dropdown-item {
796
+ font-size: 1rem;
797
+ }
798
+ }
745
799
  }
746
800
  }
747
-
748
801
  //Prevent double scrollbar when navabr is open
749
802
  body:has(.navbar.show) {
750
803
  overflow: hidden;
751
- }
804
+ }