@qld-gov-au/qgds-bootstrap5 2.0.6 → 2.0.8

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 (210) hide show
  1. package/.esbuild/plugins/qgds-plugin-build-log.js +2 -2
  2. package/.esbuild/plugins/qgds-plugin-copy-assets.js +0 -3
  3. package/.esbuild/plugins/qgds-plugin-handlebar-partial-builder.js +76 -66
  4. package/.storybook/README.md +10 -0
  5. package/.storybook/{main.js → main.mjs} +4 -5
  6. package/.storybook/modes.js +3 -12
  7. package/.storybook/preview.js +14 -11
  8. package/dist/assets/components/bs5/footer/footer.hbs +20 -18
  9. package/dist/assets/components/bs5/head/head.hbs +1 -1
  10. package/dist/assets/components/bs5/header/header.hbs +40 -52
  11. package/dist/assets/components/bs5/header/headerBrand.hbs +9 -10
  12. package/dist/assets/components/bs5/logo/logo.hbs +2 -0
  13. package/dist/assets/components/bs5/logo/logoCOADeliveringForQLD.hbs +49 -0
  14. package/dist/assets/components/bs5/logo/logoCOALandscape.hbs +55 -109
  15. package/dist/assets/components/bs5/logo/logoCOALandscape2Lines.hbs +55 -55
  16. package/dist/assets/components/bs5/searchInput/searchInput.hbs +5 -5
  17. package/dist/assets/css/qld.bootstrap.css +1 -1
  18. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  19. package/dist/assets/css/qld.bootstrap.legacy.css +1 -1
  20. package/dist/assets/css/qld.bootstrap.legacy.css.map +3 -3
  21. package/dist/assets/img/coa-delivering-for-qld.svg +47 -0
  22. package/dist/assets/img/coa-delivering-for-qld.svg.old +58 -0
  23. package/dist/assets/img/coa-landscape-2lines.svg +63 -0
  24. package/dist/assets/img/coa-landscape-web.svg +56 -0
  25. package/dist/assets/js/handlebars.helpers.bundle.js +1 -1
  26. package/dist/assets/js/handlebars.helpers.bundle.js.map +3 -3
  27. package/dist/assets/js/handlebars.init.min.js +1329 -1344
  28. package/dist/assets/js/handlebars.init.min.js.map +4 -4
  29. package/dist/assets/js/handlebars.partials.js +2383 -136
  30. package/dist/assets/js/handlebars.partials.js.map +7 -0
  31. package/dist/assets/js/qld.bootstrap.min.js +3 -3
  32. package/dist/assets/js/qld.bootstrap.min.js.map +3 -3
  33. package/dist/assets/node/handlebars.init.min.js +219 -198
  34. package/dist/assets/node/handlebars.init.min.js.map +3 -3
  35. package/dist/components/bs5/footer/footer.hbs +20 -18
  36. package/dist/components/bs5/head/head.hbs +1 -1
  37. package/dist/components/bs5/header/header.hbs +40 -52
  38. package/dist/components/bs5/header/headerBrand.hbs +9 -10
  39. package/dist/components/bs5/logo/logo.hbs +2 -0
  40. package/dist/components/bs5/logo/logoCOADeliveringForQLD.hbs +49 -0
  41. package/dist/components/bs5/logo/logoCOALandscape.hbs +55 -109
  42. package/dist/components/bs5/logo/logoCOALandscape2Lines.hbs +55 -55
  43. package/dist/components/bs5/searchInput/searchInput.hbs +5 -5
  44. package/dist/package.json +27 -29
  45. package/dist/sample-data/correctincorrect/correctincorrect.data.json +1 -0
  46. package/dist/sample-data/header/header.variant.coBrand.data.json +5 -8
  47. package/dist/sample-data/header/header.variant.endorsed.data.json +3 -6
  48. package/dist/sample-data/header/header.variant.masterBrand.data.json +1 -6
  49. package/dist/sample-data/header/header.variant.standAlone.data.json +3 -6
  50. package/dist/sample-data/header/header.variant.subBrand.data.json +5 -8
  51. package/dist/sample-data/tabs/tabs.data.json +1 -2
  52. package/dist/sample-data/typography/typography.data.json +1 -0
  53. package/esbuild.js +16 -4
  54. package/package.json +27 -29
  55. package/pom.xml +3 -3
  56. package/src/components/bs5/accordion/Accordion.mdx +1 -1
  57. package/src/components/bs5/accordion/accordion.stories.js +17 -22
  58. package/src/components/bs5/backToTop/backToTop.mdx +1 -1
  59. package/src/components/bs5/banner/Banner.mdx +1 -1
  60. package/src/components/bs5/banner/banner.scss +2 -2
  61. package/src/components/bs5/blockquote/Blockquote.mdx +1 -1
  62. package/src/components/bs5/blockquote/manifest.json +1 -0
  63. package/src/components/bs5/breadcrumbs/Breadcrumbs.mdx +1 -1
  64. package/src/components/bs5/breadcrumbs/breadcrumbs.scss +7 -2
  65. package/src/components/bs5/breadcrumbs/breadcrumbs.stories.js +19 -10
  66. package/src/components/bs5/breadcrumbs/manifest.json +1 -0
  67. package/src/components/bs5/breadcumbsWrapper/manifest.json +1 -0
  68. package/src/components/bs5/button/Button.mdx +1 -1
  69. package/src/components/bs5/button/manifest.json +1 -0
  70. package/src/components/bs5/callToAction/callToAction.mdx +1 -1
  71. package/src/components/bs5/callToAction/callToAction.stories.js +15 -50
  72. package/src/components/bs5/callout/Callout.mdx +1 -1
  73. package/src/components/bs5/callout/callout.stories.js +7 -26
  74. package/src/components/bs5/callout/manifest.json +1 -0
  75. package/src/components/bs5/card/Card.mdx +1 -1
  76. package/src/components/bs5/card/card.scss +1 -1
  77. package/src/components/bs5/card/manifest.json +1 -0
  78. package/src/components/bs5/contentFooter/manifest.json +1 -0
  79. package/src/components/bs5/contentFooterWrapper/manifest.json +1 -0
  80. package/src/components/bs5/contentWrapper/manifest.json +1 -0
  81. package/src/components/bs5/correctincorrect/correctincorrect.data.json +1 -0
  82. package/src/components/bs5/correctincorrect/manifest.json +1 -0
  83. package/src/components/bs5/dateinput/Dateinput.stories.js +23 -31
  84. package/src/components/bs5/dateinput/manifest.json +1 -0
  85. package/src/components/bs5/directionLinks/DirectionLinks.mdx +1 -1
  86. package/src/components/bs5/directionLinks/directionLinks.stories.js +14 -12
  87. package/src/components/bs5/footer/Footer.mdx +1 -1
  88. package/src/components/bs5/footer/footer.hbs +20 -18
  89. package/src/components/bs5/footer/footer.scss +7 -5
  90. package/src/components/bs5/formcheck/manifest.json +1 -0
  91. package/src/components/bs5/formcheck/stories/checkbox/Checkbox.mdx +1 -1
  92. package/src/components/bs5/formcheck/stories/checkbox/checkbox.stories.js +44 -87
  93. package/src/components/bs5/formcheck/stories/radio/Radio.mdx +1 -1
  94. package/src/components/bs5/formcheck/stories/radio/radio.stories.js +9 -36
  95. package/src/components/bs5/fullPageWrapper/manifest.json +1 -0
  96. package/src/components/bs5/globalAlert/GlobalAlert.mdx +1 -1
  97. package/src/components/bs5/globalAlert/globalAlert.test.js +3 -3
  98. package/src/components/bs5/globalAlert/manifest.json +1 -0
  99. package/src/components/bs5/head/manifest.json +1 -0
  100. package/src/components/bs5/header/Header.js +25 -0
  101. package/src/components/bs5/header/Header.mdx +1 -1
  102. package/src/components/bs5/header/_header-variables.scss +61 -247
  103. package/src/components/bs5/header/header.functions.js +10 -15
  104. package/src/components/bs5/header/header.hbs +40 -52
  105. package/src/components/bs5/header/header.scss +166 -158
  106. package/src/components/bs5/header/header.stories.js +35 -233
  107. package/src/components/bs5/header/header.variant.coBrand.data.json +5 -8
  108. package/src/components/bs5/header/header.variant.endorsed.data.json +3 -6
  109. package/src/components/bs5/header/header.variant.masterBrand.data.json +1 -6
  110. package/src/components/bs5/header/header.variant.standAlone.data.json +3 -6
  111. package/src/components/bs5/header/header.variant.subBrand.data.json +5 -8
  112. package/src/components/bs5/header/headerBrand.hbs +9 -10
  113. package/src/components/bs5/header/manifest.json +1 -0
  114. package/src/components/bs5/icons/Icons.mdx +1 -1
  115. package/src/components/bs5/icons/manifest.json +1 -0
  116. package/src/components/bs5/icons/mdx/_IconsSizes.mdx +1 -1
  117. package/src/components/bs5/image/Image.mdx +1 -1
  118. package/src/components/bs5/inpageAlert/InpageAlert.mdx +1 -1
  119. package/src/components/bs5/inpageAlert/inpageAlert.scss +107 -120
  120. package/src/components/bs5/inpageAlert/inpageAlert.stories.js +7 -23
  121. package/src/components/bs5/inpageAlert/manifest.json +1 -0
  122. package/src/components/bs5/inpagenav/Inpagenav.mdx +1 -1
  123. package/src/components/bs5/inpagenav/inpagenav.stories.js +4 -6
  124. package/src/components/bs5/inpagenav/manifest.json +1 -0
  125. package/src/components/bs5/link/link.mdx +1 -1
  126. package/src/components/bs5/link/link.stories.js +4 -6
  127. package/src/components/bs5/linkColumns/linkColumns.mdx +1 -1
  128. package/src/components/bs5/linkColumns/linkColumns.scss +18 -25
  129. package/src/components/bs5/logo/Logo.mdx +1 -1
  130. package/src/components/bs5/logo/logo.hbs +2 -0
  131. package/src/components/bs5/logo/logoCOADeliveringForQLD.hbs +49 -0
  132. package/src/components/bs5/logo/logoCOALandscape.hbs +55 -109
  133. package/src/components/bs5/logo/logoCOALandscape2Lines.hbs +55 -55
  134. package/src/components/bs5/mainContainerWrapper/manifest.json +1 -0
  135. package/src/components/bs5/metaDcTerms/manifest.json +1 -0
  136. package/src/components/bs5/metaOpenGraph/manifest.json +1 -0
  137. package/src/components/bs5/modal/Modal.mdx +1 -1
  138. package/src/components/bs5/modal/manifest.json +1 -0
  139. package/src/components/bs5/navbar/navbar.scss +36 -14
  140. package/src/components/bs5/pagination/Pagination.mdx +1 -1
  141. package/src/components/bs5/pagination/manifest.json +1 -0
  142. package/src/components/bs5/pagination/pagination.stories.js +12 -21
  143. package/src/components/bs5/promotionalPanel/PromotionalPanel.mdx +1 -1
  144. package/src/components/bs5/quickexit/manifest.json +1 -0
  145. package/src/components/bs5/searchInput/SearchInput.js +3 -5
  146. package/src/components/bs5/searchInput/SearchInput.mdx +1 -1
  147. package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +5 -5
  148. package/src/components/bs5/searchInput/manifest.json +1 -0
  149. package/src/components/bs5/searchInput/searchInput.hbs +5 -5
  150. package/src/components/bs5/searchInput/searchInput.scss +13 -0
  151. package/src/components/bs5/searchInput/searchInput.stories.js +10 -12
  152. package/src/components/bs5/select/manifest.json +1 -0
  153. package/src/components/bs5/sidenav/Sidenav.mdx +1 -1
  154. package/src/components/bs5/sidenav/manifest.json +1 -0
  155. package/src/components/bs5/sidenav/sidenav.stories.js +4 -7
  156. package/src/components/bs5/sidenavWrapper/manifest.json +1 -0
  157. package/src/components/bs5/skiplinks/SkipLinks.mdx +1 -1
  158. package/src/components/bs5/spinner/manifest.json +1 -0
  159. package/src/components/bs5/table/Table.mdx +1 -1
  160. package/src/components/bs5/table/manifest.json +1 -0
  161. package/src/components/bs5/tabs/Tabs.mdx +1 -1
  162. package/src/components/bs5/tabs/tabs.data.json +1 -2
  163. package/src/components/bs5/tabs/tabs.stories.js +38 -215
  164. package/src/components/bs5/tag/Tag.mdx +1 -1
  165. package/src/components/bs5/tag/manifest.json +1 -0
  166. package/src/components/bs5/tag/tag--large.stories.js +53 -0
  167. package/src/components/bs5/tag/tag--standard.stories.js +39 -0
  168. package/src/components/bs5/tag/tag--status.stories.js +97 -0
  169. package/src/components/bs5/tag/tag.scss +67 -36
  170. package/src/components/bs5/tag/tag.stories.js +69 -106
  171. package/src/components/bs5/textarea/manifest.json +1 -0
  172. package/src/components/bs5/textbox/manifest.json +1 -0
  173. package/src/components/bs5/typography/Typography.mdx +1 -1
  174. package/src/components/bs5/typography/manifest.json +1 -0
  175. package/src/components/bs5/typography/typography.data.json +1 -0
  176. package/src/components/bs5/typography/typography.stories.js +6 -24
  177. package/src/components/bs5/video/Video.mdx +1 -1
  178. package/src/components/bs5/video/manifest.json +1 -0
  179. package/src/components/bs5/video/video.stories.js +6 -24
  180. package/src/css/main.scss +2 -2
  181. package/src/css/mixins/_index.scss +1 -0
  182. package/src/css/mixins/focusable.scss +6 -5
  183. package/src/css/mixins/make-link.scss +40 -0
  184. package/src/css/qld-print.scss +426 -304
  185. package/src/css/qld-theme.scss +16 -8
  186. package/src/css/qld-type.scss +3 -73
  187. package/src/css/variables/animation.scss +5 -0
  188. package/src/img/coa-delivering-for-qld.svg +47 -0
  189. package/src/img/coa-delivering-for-qld.svg.old +58 -0
  190. package/src/img/coa-landscape-2lines.svg +63 -0
  191. package/src/img/coa-landscape-web.svg +56 -0
  192. package/src/js/handlebars.helpers.js +51 -38
  193. package/src/js/handlebars.partials.js +12 -10
  194. package/src/stories/Introduction.mdx +1 -1
  195. package/vite.config.js +17 -0
  196. package/.eslintrc.cjs +0 -52
  197. package/dist/assets/img/_coa_header-logo-qgov--stacked.svg +0 -171
  198. package/dist/assets/img/_coa_header-logo-qgov-masterbrand.svg +0 -56
  199. package/dist/assets/img/_coa_preheader-logo-qgov.svg +0 -56
  200. package/dist/assets/js/bootstrap.js +0 -6312
  201. package/dist/assets/js/handlebars.helpers.js +0 -292
  202. package/dist/assets/js/handlebars.init.cjs +0 -6
  203. package/dist/assets/js/handlebars.init.js +0 -34
  204. package/dist/components/handlebars.helpers.js +0 -292
  205. package/dist/components/handlebars.init.cjs +0 -6
  206. package/dist/components/handlebars.init.js +0 -34
  207. package/dist/components/handlebars.partials.js +0 -136
  208. package/src/img/_coa_header-logo-qgov--stacked.svg +0 -171
  209. package/src/img/_coa_header-logo-qgov-masterbrand.svg +0 -56
  210. package/src/img/_coa_preheader-logo-qgov.svg +0 -56
@@ -1,6 +1,6 @@
1
- @use "./header-variables" with (
2
- $prefix: $prefix
3
- );
1
+ @use "../../../css/mixins";
2
+ @use "../../../css/variables/animation";
3
+ @import "./header-variables";
4
4
 
5
5
  // Play nice with navbar header.
6
6
  :root {
@@ -16,8 +16,6 @@
16
16
  }
17
17
 
18
18
  .qld-header {
19
- @extend %header-variables;
20
-
21
19
  font-size: 1rem;
22
20
 
23
21
  @include media-breakpoint-up(sm) {
@@ -25,21 +23,20 @@
25
23
  }
26
24
 
27
25
  &-pre-header {
26
+ @extend %preheader-variables;
28
27
  //
29
28
  display: flex;
30
29
  align-items: center;
31
30
  font-size: 0.875rem; // set here so whitespace doesn't add extra height.
32
- color: var(--#{$prefix}header-pre-header-color-text);
33
- background-color: var(--#{$prefix}header-pre-header-color-bg);
34
- box-shadow: var(--#{$prefix}header-pre-header-boxshadow);
31
+ box-shadow:
32
+ 0 1px 2px rgba(0, 0, 0, 0.2),
33
+ 0 1px 3px 1px rgba(0, 0, 0, 0.1);
35
34
  position: relative;
36
35
  z-index: 2;
37
36
  height: var(--qld-header-preheader-height);
38
37
 
39
- .qld-header-main-nav-controls {
38
+ .qld-header-mobile-controls {
40
39
  display: flex;
41
- flex-direction: row;
42
- justify-content: end;
43
40
  position: absolute;
44
41
  right: 0;
45
42
  top: 0;
@@ -49,100 +46,86 @@
49
46
  }
50
47
  }
51
48
 
52
- .qld-header-toggle-main-nav {
49
+ .qld-header-mobile-button {
53
50
  align-items: center;
54
51
  appearance: none;
55
- background-color: transparent;
52
+ background-color: var(--#{$prefix}header-mobile-button-bg);
56
53
  border: 0;
57
- border-left: 1px solid
58
- var(--#{$prefix}header__toggle-main-nav_border_color);
59
- color: var(--#{$prefix}header__toggle-main-nav_text_color);
54
+ border-left: 1px solid var(--qld-border-color);
55
+ color: var(--qld-link-color);
60
56
  cursor: pointer;
61
57
  display: flex;
62
58
  flex-direction: column;
63
- font-size: 0.875rem;
64
- line-height: 1.14;
65
- padding: 0.5rem 1rem;
66
-
67
- &:hover {
68
- background-color: var(--#{$prefix}header__toggle-main-nav__hover_bg);
59
+ justify-content: center;
60
+ height: var(--qld-header-preheader-height);
61
+ width: var(--qld-header-preheader-height);
62
+ font-size: 0.625rem;
63
+ line-height: 1.25;
64
+ padding: 0;
65
+ text-decoration: underline solid transparent 0px;
66
+ text-underline-offset: 0.3em;
69
67
 
70
- svg {
71
- color: var(--#{$prefix}header__toggle-main-nav__hover_svg_color);
72
- }
68
+ transition: {
69
+ property:
70
+ color, background-color, outline, outline-offset, text-decoration;
71
+ duration: animation.$duration-fast;
72
+ timing-function: animation.$timing-function;
73
73
  }
74
74
 
75
- &:focus {
76
- outline: 3px solid
77
- var(--#{$prefix}header__toggle-main-nav__focus_outline_color);
78
- outline-offset: 2px;
75
+ &:hover {
76
+ background-color: var(--#{$prefix}header-mobile-button-bg-hover);
77
+ text-decoration: underline solid currentColor 0.5px;
78
+ --qld-icon-color: var(--qld-action-icon-hover-color);
79
79
  }
80
80
 
81
- @include media-breakpoint-up(md) {
82
- padding: 0.75rem 1rem 0.625rem 1rem;
83
- }
81
+ @include mixins.focusable($offsetOutline: false);
84
82
 
85
- &-text {
86
- font-size: 0.625rem;
87
- margin-top: 0.125rem;
83
+ &:before {
84
+ content: "";
85
+ margin-bottom: 0.25rem;
86
+ @include mixins.make-icon();
87
+ }
88
88
 
89
- @include media-breakpoint-up(md) {
90
- font-size: 0.875rem;
91
- line-height: 1.14;
89
+ &.is-search-toggle {
90
+ &,
91
+ &.is-closed {
92
+ &::before {
93
+ @include mixins.make-icon($name: "search", $include-base: false);
94
+ }
92
95
  }
93
-
94
- @include media-breakpoint-up(lg) {
95
- font-size: 1rem;
96
- line-height: 1.5;
96
+ &.is-open::before {
97
+ @include mixins.make-icon($name: "close", $include-base: false);
97
98
  }
98
99
  }
99
100
 
100
- &:before {
101
- display: block;
102
- font-size: 1rem;
103
- line-height: 1;
104
- margin-bottom: 0.25rem;
105
- text-align: center;
101
+ &.is-menu-toggle::before {
102
+ @include mixins.make-icon($name: "menu", $include-base: false);
106
103
  }
107
104
 
108
- svg {
109
- height: 1.25rem;
110
- margin: 1px auto;
111
- width: 1.25rem;
112
- color: var(--#{$prefix}header__toggle-main-nav__svg_color);
105
+ @include media-breakpoint-up(md) {
106
+ font-size: 0.875rem;
107
+ line-height: 1.14;
108
+ --icon-size: 2rem;
109
+ }
113
110
 
114
- @include media-breakpoint-up(md) {
115
- height: 2rem;
116
- margin: 0 auto;
117
- width: 2rem;
118
- }
111
+ @include media-breakpoint-up(lg) {
112
+ display: none;
119
113
  }
120
114
  }
121
115
  }
122
116
 
123
117
  &-link {
118
+ @include mixins.make-link();
124
119
  font-size: 0.875rem;
125
120
  line-height: 1;
126
121
 
127
122
  &,
128
123
  &:visited {
129
- color: var(--qld-header-pre-header-color-link) !important;
130
- text-decoration: none;
131
- text-decoration-color: var(
132
- --#{$prefix}header-pre-header-color-link-decoration
133
- ) !important;
134
- text-decoration-thickness: 0.5px;
135
- text-underline-offset: 0.3em;
136
- text-decoration-skip-ink: auto;
137
- }
124
+ text-decoration: underline solid transparent 0px;
138
125
 
139
- &:focus,
140
- &:hover {
141
- text-decoration: underline;
142
- text-decoration-color: var(
143
- --#{$prefix}header-pre-header-color-link-decoration-focus
144
- ) !important;
145
- text-decoration-thickness: 2px;
126
+ &:hover {
127
+ text-decoration-color: currentColor;
128
+ }
146
129
  }
147
130
 
148
131
  &:disabled,
@@ -159,19 +142,21 @@
159
142
  }
160
143
 
161
144
  &-link-icon {
162
- height: 1.25rem;
163
- width: 1.25rem;
164
145
  margin-right: 0.5rem;
165
- color: var(--#{$prefix}header__cta-wrapper__cta-link-icon_color);
166
146
  }
167
147
 
168
148
  &-logo {
169
149
  display: block;
170
150
  width: auto;
151
+ transition: {
152
+ property: filter, color, outline, outline-offset;
153
+ duration: animation.$duration-fast;
154
+ timing-function: animation.$timing-function;
155
+ }
156
+ color: var(--#{$prefix}header-logo-color);
171
157
 
172
158
  a:hover & {
173
- filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.08))
174
- drop-shadow(0 13px 20px rgba(0, 0, 0, 0.08));
159
+ color: var(--#{$prefix}header-logo-color-hover);
175
160
  }
176
161
 
177
162
  .qld-header-pre-header & {
@@ -185,11 +170,44 @@
185
170
  display: none;
186
171
  }
187
172
  }
173
+
174
+ // delivering for qld custom colors.
175
+ &.is-delivering-for-qld {
176
+ --#{$prefix}header-logo-color: var(--qld-site-title-color);
177
+ --#{$prefix}header-logo-color-hover: var(--qld-site-title-color);
178
+ }
188
179
  }
189
180
 
190
- // Preheader CTA dropdown - custom functionality:
191
181
  .dropdown {
192
182
  line-height: 1.5;
183
+ display: flex;
184
+ }
185
+
186
+ .dropdown-toggle {
187
+ padding-inline: 0.5rem;
188
+ display: flex;
189
+ align-items: center;
190
+ height: var(--qld-header-preheader-height);
191
+ background-color: var(--dropdown-bg);
192
+
193
+ &:focus {
194
+ outline-offset: -2px;
195
+ z-index: 1;
196
+ }
197
+
198
+ &::after {
199
+ content: "";
200
+ @include mixins.make-icon($name: "chevron-down", $size: "xs");
201
+ margin-left: 0.5rem;
202
+ transition: transform 0.2s;
203
+ }
204
+
205
+ &.show {
206
+ background-color: var(--dropdown-bg-active);
207
+ &::after {
208
+ transform: rotate(-180deg);
209
+ }
210
+ }
193
211
  }
194
212
 
195
213
  .dropdown-menu {
@@ -199,32 +217,19 @@
199
217
  //
200
218
  width: 20.25rem;
201
219
  min-height: 1rem;
202
- padding: 0rem 2rem 1.75rem;
220
+ padding: 1rem 1.75rem 1rem;
203
221
  border-radius: 0 0 0.75rem 0.75rem;
204
222
  border: 0;
205
- background-color: var(
206
- --#{$prefix}header__cta-wrapper__cta-link_dropdown_bg_color
207
- );
208
- box-shadow: var(--#{$prefix}header-pre-header-boxshadow);
209
- margin-top: 0.8rem !important; // Overrides the default bs-popper margin
210
-
211
- &::before {
212
- position: absolute;
213
- content: " ";
214
- height: 6px;
215
- top: -6px;
216
- left: 0;
217
- right: 0px;
218
- background-color: var(
219
- --#{$prefix}header__cta-wrapper__cta-link_dropdown_bg_color
220
- );
221
- pointer-events: none; // so that pseudo-element isn't clickable
222
- }
223
+ background-color: var(--dropdown-menu-bg);
224
+ box-shadow:
225
+ 0 1px 2px rgba(0, 0, 0, 0.2),
226
+ 0 1px 3px 1px rgba(0, 0, 0, 0.1);
227
+ transform: translate(0px, var(--qld-header-preheader-height)) !important;
223
228
 
224
229
  hr {
225
230
  margin: 1.5rem 0;
226
- color: var(--#{$prefix}header__CTA_border_color);
227
- border-color: var(--#{$prefix}header__CTA_border_color);
231
+ color: var(--qld-border-color);
232
+ border-color: var(--qld-border-color);
228
233
  opacity: 1;
229
234
  }
230
235
 
@@ -238,18 +243,6 @@
238
243
  text-decoration-color: inherit;
239
244
  text-decoration-thickness: inherit;
240
245
  }
241
-
242
- .group {
243
- a {
244
- font-weight: 600;
245
- color: var(--#{$prefix}header__CTA_text_color);
246
- text-decoration: underline var(--#{$prefix}header__CTA_text_color);
247
-
248
- &:visited {
249
- color: var(--#{$prefix}header__CTA_text_color);
250
- }
251
- }
252
- }
253
246
  }
254
247
 
255
248
  ul.dropdown-menu.show:has(> li) {
@@ -258,13 +251,31 @@
258
251
 
259
252
  .dropdown-item {
260
253
  position: relative;
261
- border-bottom: solid 1px var(--#{$prefix}header__CTA_border_color);
254
+ border-bottom: solid 1px var(--qld-border-color);
262
255
  padding: 1rem 1.75rem 1rem 0;
263
256
  line-height: 1.5;
264
257
  white-space: normal; // allow text to wrap
258
+ --_icon-translateX: 0rem;
265
259
 
266
- &:visited {
267
- color: var(--#{$prefix}header__CTA_text_color);
260
+ &:hover {
261
+ --_icon-translateX: 0.25rem;
262
+ color: var(--qld-link-visited-color);
263
+ }
264
+
265
+ @include mixins.make-icon(
266
+ $name: "arrow-right",
267
+ $pseudo: "after",
268
+ $size: "sm"
269
+ ) {
270
+ position: absolute;
271
+ right: 0;
272
+ top: 50%;
273
+ transform: translate(var(--_icon-translateX), -50%);
274
+ transition: {
275
+ property: color, background-color, transform;
276
+ duration: animation.$duration-fast;
277
+ timing-function: animation.$timing-function;
278
+ }
268
279
  }
269
280
 
270
281
  span,
@@ -276,64 +287,40 @@
276
287
  &-dropdown-icon {
277
288
  vertical-align: middle;
278
289
  margin-left: 0.5rem;
279
- color: var(--#{$prefix}header__cta-wrapper__cta-link-icon_color);
280
290
  height: 1rem;
281
291
  width: 1rem;
282
292
  }
283
293
 
284
- &-dropdown-item-icon {
285
- color: var(--#{$prefix}header__cta-wrapper__cta-link-icon_color);
286
- position: absolute;
287
- right: 0;
288
- top: 50%;
289
- transform: translateY(-50%);
290
- }
291
-
292
294
  &-main {
295
+ @extend %header-main-variables;
293
296
  position: relative;
294
- color: var(--#{$prefix}header-color-text);
295
- background: var(--#{$prefix}header-color-bg);
296
-
297
- // Patch for v2.0.5. Redundant after header QGDS-266 is merged
298
- border-bottom: 0.25rem solid var(--qld-light-accent);
297
+ border-bottom: 0.25rem solid var(--#{$prefix}header-border-color);
299
298
 
300
- @include media-breakpoint-up(lg) {
299
+ @include media-breakpoint-up("lg") {
301
300
  border-bottom: none;
302
301
  }
303
- // End patch for v2.0.5
304
302
  }
305
303
 
306
304
  &-brand {
307
305
  font-variant-numeric: lining-nums;
308
306
  text-decoration: none;
309
307
 
310
- a:hover {
311
- color: var(--#{$prefix}header__brand__anchor__hover_text_color);
312
-
313
- .qld-header-brand-image {
314
- color: var(
315
- --#{$prefix}header__brand__anchor__hover_brand-image__text_color
316
- );
317
- }
318
-
319
- .qld-header-heading,
320
- .qld-header-subline {
321
- color: var(
322
- --#{$prefix}header__brand__anchor__hover_headingsubline__text_color
323
- );
324
- text-decoration: underline;
325
- text-decoration-color: currentColor !important;
326
- }
308
+ @include media-breakpoint-up(lg) {
309
+ padding-block: 2rem;
327
310
  }
328
311
 
329
- @include media-breakpoint-up(lg) {
330
- padding-block: 1.5rem;
312
+ &:not(:has(.qld-header-secondary-content)) {
313
+ @include media-breakpoint-down(lg) {
314
+ // prevent tabbing into empty link on smaller screens.
315
+ display: none;
316
+ }
331
317
  }
332
318
  }
333
319
 
320
+ // qld-header-brand-image controls sizing and layout specific to the Brand lock up image.
321
+ // See qld-header-logo for color and behaviour of the logo itself.
334
322
  &-brand-image {
335
323
  display: none;
336
- color: var(--#{$prefix}header__brand-image__crest_fill);
337
324
 
338
325
  @include media-breakpoint-up(lg) {
339
326
  display: block;
@@ -346,11 +333,12 @@
346
333
 
347
334
  svg {
348
335
  vertical-align: text-bottom;
336
+ pointer-events: none;
349
337
  }
350
338
  }
351
339
 
352
340
  &-secondary-content {
353
- display: flex;
341
+ display: inline-block;
354
342
  flex-wrap: wrap;
355
343
  align-items: baseline;
356
344
  text-wrap: balance;
@@ -361,12 +349,12 @@
361
349
  }
362
350
 
363
351
  @include media-breakpoint-up(lg) {
352
+ display: flex;
364
353
  padding-block: 0;
365
354
  flex-direction: column;
366
355
  flex-wrap: nowrap;
367
356
  justify-content: center;
368
- border-left: 2px solid
369
- var(--#{$prefix}header__brand-image__subtype__border_color);
357
+ border-left: 2px solid var(--#{$prefix}header-brand-divider-color);
370
358
  margin-left: 1.5rem;
371
359
  padding-left: 1.5rem;
372
360
  }
@@ -384,10 +372,20 @@
384
372
  font-size: 1rem;
385
373
  font-weight: 700;
386
374
  line-height: 1.25;
387
- margin: 0 1ch 0 0;
375
+ // margin: 0 1ch 0 0;
388
376
  padding: 0;
389
377
  font-family: $font-family-sitename;
390
- color: var(--#{$prefix}header__site-name__heading__text_color);
378
+ color: var(--#{$prefix}site-title-color);
379
+ text-decoration: underline solid 0px transparent;
380
+ transition-property: text-decoration, color;
381
+ transition-duration: animation.$duration-fast;
382
+ transition-timing-function: animation.$timing-function;
383
+
384
+ a:hover & {
385
+ color: var(--#{$prefix}site-title-color);
386
+ text-decoration-thickness: var(--qld-link-underline-thickness-hover);
387
+ text-decoration-color: currentColor !important;
388
+ }
391
389
 
392
390
  @include media-breakpoint-up(md) {
393
391
  font-size: 1.25rem;
@@ -396,10 +394,20 @@
396
394
  }
397
395
 
398
396
  &-subline {
399
- color: var(--#{$prefix}header__site-name__subline__text_color);
397
+ color: var(--#{$prefix}header-subline-color);
400
398
  font-size: 0.875rem;
401
399
  line-height: 1.14;
402
400
  max-width: 80ch;
401
+ text-decoration: underline solid 0px transparent;
402
+ transition-property: text-decoration, color;
403
+ transition-duration: animation.$duration-fast;
404
+ transition-timing-function: animation.$timing-function;
405
+
406
+ a:hover & {
407
+ color: var(--#{$prefix}header-subline-color);
408
+ text-decoration-thickness: var(--qld-link-underline-thickness-hover);
409
+ text-decoration-color: currentColor !important;
410
+ }
403
411
 
404
412
  @include media-breakpoint-up(md) {
405
413
  font-size: 1rem;