@qld-gov-au/qgds-bootstrap5 2.0.2 → 2.0.4

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 (88) hide show
  1. package/.storybook/preview.js +4 -1
  2. package/dist/assets/components/bs5/accordion/accordion.hbs +0 -3
  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/searchInput/searchInput.hbs +34 -35
  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 +263 -212
  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 +29 -25
  19. package/dist/assets/node/handlebars.init.min.js.map +2 -2
  20. package/dist/components/bs5/accordion/accordion.hbs +0 -3
  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/searchInput/searchInput.hbs +34 -35
  29. package/dist/components/bs5/sidenav/sidenav.hbs +56 -37
  30. package/dist/package.json +2 -4
  31. package/dist/sample-data/navbar/navbar.data.json +91 -25
  32. package/dist/sample-data/pagination/pagination.data.json +19 -19
  33. package/dist/sample-data/searchInput/searchInput.data.json +0 -1
  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 -10
  37. package/src/components/bs5/accordion/__snapshots__/accordion.test.js.snap +0 -3
  38. package/src/components/bs5/accordion/accordion.hbs +0 -3
  39. package/src/components/bs5/accordion/mdx/_designResources.mdx +6 -0
  40. package/src/components/bs5/accordion/mdx/_usageInstructions.mdx +10 -0
  41. package/src/components/bs5/blockquote/blockquote.scss +47 -7
  42. package/src/components/bs5/button/button.scss +4 -0
  43. package/src/components/bs5/directionLinks/directionLinks.hbs +2 -1
  44. package/src/components/bs5/directionLinks/directionLinks.scss +27 -80
  45. package/src/components/bs5/directionLinks/directionLinks.stories.js +7 -14
  46. package/src/components/bs5/header/header.hbs +6 -9
  47. package/src/components/bs5/header/header.scss +15 -27
  48. package/src/components/bs5/inpagenav/inpagenav.scss +7 -3
  49. package/src/components/bs5/logo/Logo.mdx +1 -1
  50. package/src/components/bs5/navbar/navbar.data.json +91 -25
  51. package/src/components/bs5/navbar/navbar.functions.js +4 -0
  52. package/src/components/bs5/navbar/navbar.hbs +21 -14
  53. package/src/components/bs5/navbar/navbar.scss +225 -170
  54. package/src/components/bs5/navbar/navbar.stories.js +31 -2
  55. package/src/components/bs5/pageLayout/pageLayout.stories.js +3 -1
  56. package/src/components/bs5/pageLayout/templates/contentPageWithForm.hbs +1 -1
  57. package/src/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +140 -108
  58. package/src/components/bs5/pageLayout/templates/homePage.hbs +1 -1
  59. package/src/components/bs5/pagination/pagination.data.json +19 -19
  60. package/src/components/bs5/pagination/pagination.scss +37 -63
  61. package/src/components/bs5/promotionalPanel/promotionalPanel.scss +23 -22
  62. package/src/components/bs5/quickexit/quickexit.functions.js +24 -37
  63. package/src/components/bs5/quickexit/quickexit.scss +4 -0
  64. package/src/components/bs5/searchInput/SearchInput.mdx +1 -1
  65. package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +32 -34
  66. package/src/components/bs5/searchInput/searchInput.data.json +0 -1
  67. package/src/components/bs5/searchInput/searchInput.hbs +34 -35
  68. package/src/components/bs5/searchInput/searchInput.scss +216 -195
  69. package/src/components/bs5/searchInput/searchInput.stories.js +42 -26
  70. package/src/components/bs5/sidenav/sidenav.data.json +81 -80
  71. package/src/components/bs5/sidenav/sidenav.hbs +56 -37
  72. package/src/components/bs5/sidenav/sidenav.scss +236 -151
  73. package/src/components/bs5/skiplinks/skipLinks.functions.js +0 -9
  74. package/src/components/bs5/skiplinks/skipLinks.test.js +0 -1
  75. package/src/components/bs5/tabs/tabs.scss +47 -40
  76. package/src/components/common/layout/container.scss +5 -0
  77. package/src/components/common/layout/content.scss +16 -8
  78. package/src/css/main.scss +0 -7
  79. package/src/css/mixins/focusable.scss +11 -3
  80. package/src/css/mixins/make-icon.scss +7 -1
  81. package/src/css/qld-theme.scss +1 -0
  82. package/src/css/utilities/_index.scss +1 -0
  83. package/src/css/utilities/sr-only.scss +5 -0
  84. package/src/js/qld.bootstrap.js +1 -9
  85. package/src/stories/documentation/_storybookDocsTabs.jsx +63 -0
  86. package/src/stories/documentation/storybook-documentation.scss +51 -0
  87. package/src/components/bs5/pagination/health-icon-sprite.svg +0 -156
  88. package/src/components/bs5/searchInput/_colours.scss +0 -63
@@ -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
- transform: rotate(180deg);
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
- --action-icon-color: var(--#{$prefix}alt-button-hover);
270
+ --action-icon-color: var(--#{$prefix}light-action-secondary);
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,204 @@ $_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-block: 0.625rem;
479
+ padding-inline: 0.75rem;
427
480
  display: flex;
428
481
  line-height: 2rem;
429
- gap: 1rem;
482
+ gap: 0.5rem;
430
483
  align-items: center;
431
-
432
484
  &:hover {
433
485
  text-decoration: underline;
434
486
  text-underline-offset: 0.3rem;
@@ -454,7 +506,7 @@ $_navbar-max-width: 26.25rem;
454
506
  }
455
507
  &.show {
456
508
  &:after {
457
- transform: rotate(180deg);
509
+ transform: rotate(-180deg);
458
510
  transition: transform var(--animation-time) ease-in;
459
511
  }
460
512
  }
@@ -464,7 +516,6 @@ $_navbar-max-width: 26.25rem;
464
516
  background-color: transparent;
465
517
  }
466
518
  }
467
-
468
519
  .dropdown-menu.show {
469
520
  --horizontal-bar-border-widthx2: calc(
470
521
  var(--horizontal-bar-border-width) * 2
@@ -473,15 +524,19 @@ $_navbar-max-width: 26.25rem;
473
524
  inset-inline: 0;
474
525
  background-color: var(--dropdown-bg-color);
475
526
  padding: 4rem;
476
- border-radius: 1rem;
527
+ border-radius: 0.75rem;
477
528
  border-start-start-radius: 0;
478
529
  border-start-end-radius: 0;
479
530
  color: var(--text-color);
480
531
  box-shadow: var(--shadow-dropdown);
481
532
  display: grid;
482
533
  grid-template-columns: repeat(3, 1fr);
483
- grid-gap: 1rem;
484
-
534
+ column-gap: 2rem;
535
+ row-gap: 0;
536
+ @include media-breakpoint-up(xl) {
537
+ column-gap: 4rem;
538
+ row-gap: 0;
539
+ }
485
540
  &::before {
486
541
  content: "";
487
542
  position: absolute;
@@ -490,7 +545,6 @@ $_navbar-max-width: 26.25rem;
490
545
  inset-block-start: calc(var(--horizontal-bar-border-width) * -1);
491
546
  background-color: var(--dropdown-bg-color);
492
547
  }
493
-
494
548
  li {
495
549
  display: flex;
496
550
  &.mobile-only {
@@ -498,21 +552,25 @@ $_navbar-max-width: 26.25rem;
498
552
  }
499
553
  &:has(p) {
500
554
  flex-direction: column;
555
+ row-gap: 20px;
556
+ p {
557
+ font-size: 0.875rem;
558
+ }
501
559
  }
502
-
503
560
  a {
504
561
  display: flex;
505
562
  align-items: center;
506
563
  padding-inline-start: 0;
507
- padding-inline-end: 0.75rem;
564
+ padding-inline-end: 0.5rem;
508
565
  white-space: normal;
509
566
  border-block-end: 1px solid var(--border-color);
510
- padding-block-end: 1rem;
511
- gap: 1rem;
567
+ padding-block-start: 1rem;
568
+ padding-block-end: calc(1rem - 1px);
569
+ gap: 0.75rem;
570
+ font-weight: 600;
512
571
  transition:
513
572
  padding-inline-end var(--animation-time) ease-in-out,
514
573
  gap var(--animation-time) ease-in-out;
515
-
516
574
  &::after {
517
575
  content: "";
518
576
  mask-image: var(--qgds-icon-arrow-right);
@@ -521,14 +579,14 @@ $_navbar-max-width: 26.25rem;
521
579
  background-color: var(--action-icon-color);
522
580
  height: 1.25rem;
523
581
  width: 1.25rem;
582
+ min-width: 1.25rem;
524
583
  margin-inline-start: auto;
525
584
  border: 0;
526
585
  transform: scaleX(var(--icon-dir));
527
586
  }
528
-
529
587
  &:hover {
530
- padding-inline-end: 0;
531
- gap: 1.75rem;
588
+ padding-inline-end: 0.25rem;
589
+ gap: 1rem;
532
590
  transition:
533
591
  padding-inline-end var(--animation-time) ease-in-out,
534
592
  gap var(--animation-time) ease-in-out;
@@ -538,52 +596,59 @@ $_navbar-max-width: 26.25rem;
538
596
  box-shadow: none;
539
597
  }
540
598
  }
541
-
542
599
  p {
543
600
  text-align: start;
544
601
  margin-block-start: 1rem;
545
602
  }
603
+ p:first-of-type {
604
+ margin-block-start: 0;
605
+ }
606
+ p:last-of-type {
607
+ margin-block-end: 0;
608
+ }
546
609
  }
547
-
548
610
  li:has(.parent-link) {
549
- border-block-end: 1px solid var(--border-color);
611
+ border-block-end: 2px solid var(--border-color);
550
612
  padding-block-end: 2rem;
551
613
  margin-block-end: 2rem;
614
+ gap: 1rem;
552
615
  grid-column: 1 / -1;
553
-
554
616
  .dropdown-item {
555
617
  border-block-end: 0;
618
+ padding-block-end: 0;
556
619
  gap: 1rem;
557
620
  transition: gap var(--animation-time) ease-in-out;
558
-
621
+ font-size: 1.5rem;
622
+ font-weight: 600;
559
623
  &::after {
560
624
  margin-inline-start: 0;
625
+ width: 2rem;
626
+ height: 2rem;
561
627
  }
562
-
563
628
  &:hover {
564
- gap: 1.75rem;
629
+ gap: 1.25rem;
565
630
  transition: gap var(--animation-time) ease-in-out;
566
631
  }
567
632
  }
633
+ p {
634
+ font-size: 1rem;
635
+ }
568
636
  }
569
-
570
637
  li:has(.view-all) {
571
638
  width: 100%;
572
- border-block-start: 1px solid var(--border-color);
639
+ border-block-start: 2px solid var(--border-color);
573
640
  padding-block-start: 2rem;
574
641
  margin-block-start: 2rem;
575
642
  grid-column: 1 / -1;
576
-
577
643
  .dropdown-item {
578
644
  border-block-end: 0;
579
645
  display: flex;
580
646
  flex-direction: row-reverse;
581
- padding-inline-end: 0.75rem;
582
- gap: 1rem;
647
+ padding-inline-end: 0.5rem;
648
+ gap: 0.5rem;
583
649
  transition:
584
650
  gap var(--animation-time) ease-in-out,
585
651
  padding-inline-end var(--animation-time) ease-in-out;
586
-
587
652
  &::before {
588
653
  content: "";
589
654
  mask-image: var(--qgds-icon-arrow-right);
@@ -594,26 +659,26 @@ $_navbar-max-width: 26.25rem;
594
659
  width: 1.25rem;
595
660
  transform: scaleX(var(--icon-dir));
596
661
  }
597
-
598
662
  &::after {
599
663
  content: "";
600
664
  content: none;
601
665
  }
602
-
603
666
  &:hover {
604
- gap: 1.75rem;
605
- padding-inline-end: 0;
667
+ gap: 0.75rem;
668
+ padding-inline-end: 0.25rem;
606
669
  transition:
607
670
  padding-inline-end var(--animation-time) ease-in-out,
608
671
  gap var(--animation-time) ease-in-out;
609
672
  }
610
673
  }
611
674
  }
675
+ li:has(.hasNoLink) {
676
+ display: none;
677
+ }
612
678
  }
613
-
614
679
  &.vertical {
615
680
  width: 100%;
616
- min-height: 100vh; // This is questionable
681
+ min-height: 100vh;
617
682
  align-items: start;
618
683
  overflow-y: auto;
619
684
  display: flex;
@@ -621,57 +686,53 @@ $_navbar-max-width: 26.25rem;
621
686
  border-block-end: 0;
622
687
  margin-block-end: 0;
623
688
  transition: max-width var(--animation-time) ease-in-out;
624
-
625
689
  @include repeatedVerticalStyles;
626
690
  }
627
-
628
691
  &.vertical {
629
692
  .navbar-collapse {
630
693
  display: block !important;
631
694
  }
632
-
633
695
  .nav-header {
634
696
  display: none;
635
697
  }
636
698
  }
637
-
638
699
  /* Mobile < 992 */
639
700
  @include media-breakpoint-down(lg) {
640
701
  width: 100%;
641
702
  height: 100vh;
642
703
  position: fixed;
643
704
  display: none;
644
- top: 0;
645
- right: -($_navbar-max-width); // match max-width of vertical menu
705
+ inset-block-start: 0;
706
+ inset-inline-end: calc(var(--navbar-max-width) * -1);
646
707
  align-items: start;
647
708
  background-color: transparent;
648
709
  border-block-end: 0;
649
710
  margin-block-end: 0;
650
711
  transition: max-width var(--animation-time) ease-in;
651
-
712
+ .navbar-collapse {
713
+ background-color: var(--navbar-collapse-bg);
714
+ }
715
+ a.dropdown-item {
716
+ font-size: .875rem;
717
+ }
652
718
  @include repeatedVerticalStyles;
653
-
654
719
  .nav-header .navbar-brand {
655
720
  color: var(--nav-header-color);
656
721
  }
657
-
658
722
  #burgerCloseBtn {
659
723
  --qld-btn-close-bg: none;
660
724
  --qld-btn-close-opacity: 1;
661
725
  --qld-btn-close-hover-opacity: 1;
662
-
663
726
  //Mobile
664
727
  --qld-btn-close-font-size: 0.625rem;
665
728
  --qld-btn-close-width: 1.5rem;
666
729
  --qld-btn-close-height: 1.5rem;
667
-
668
730
  @include media-breakpoint-up(md) {
669
731
  //Desktop
670
732
  --qld-btn-close-font-size: 0.875rem;
671
733
  --qld-btn-close-width: 2rem;
672
734
  --qld-btn-close-height: 2rem;
673
735
  }
674
-
675
736
  display: flex;
676
737
  flex-direction: column;
677
738
  align-items: center;
@@ -681,7 +742,6 @@ $_navbar-max-width: 26.25rem;
681
742
  border-inline-start: 1px solid var(--nav-header-border-color);
682
743
  padding-block: 0;
683
744
  background-color: transparent;
684
-
685
745
  &::before {
686
746
  content: "";
687
747
  mask-image: var(--qgds-icon-close);
@@ -694,41 +754,33 @@ $_navbar-max-width: 26.25rem;
694
754
  margin-left: 0;
695
755
  }
696
756
  }
697
-
698
757
  &,
699
758
  &.vertical {
700
759
  position: fixed;
701
-
702
760
  &.close {
703
761
  display: none;
704
762
  }
705
-
706
763
  .nav-header {
707
764
  display: flex;
708
- }
709
-
765
+ }
710
766
  &.collapse > .container {
711
767
  animation-name: slideToRight;
712
768
  animation-duration: var(--animation-time);
713
769
  animation-fill-mode: forwards;
714
770
  margin-left: auto;
715
771
  }
716
-
717
772
  &.collapse:not(.show) {
718
773
  display: none;
719
774
  }
720
-
721
775
  &.show {
722
776
  display: flex;
723
777
  right: 0;
724
778
  z-index: 10;
725
-
726
779
  & > .container {
727
780
  animation-name: slideFromRight;
728
781
  animation-duration: var(--animation-time);
729
782
  animation-fill-mode: forwards;
730
783
  }
731
-
732
784
  #overlay {
733
785
  position: fixed;
734
786
  inset: 0;
@@ -737,15 +789,18 @@ $_navbar-max-width: 26.25rem;
737
789
  z-index: -1;
738
790
  }
739
791
  }
740
-
741
792
  > .container {
742
793
  transform: translateX(-100%);
743
794
  }
744
795
  }
796
+ &.vertical {
797
+ a.dropdown-item {
798
+ font-size: 1rem;
799
+ }
800
+ }
745
801
  }
746
802
  }
747
-
748
803
  //Prevent double scrollbar when navabr is open
749
804
  body:has(.navbar.show) {
750
805
  overflow: hidden;
751
- }
806
+ }