@qld-gov-au/qgds-bootstrap5 2.0.7 → 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 (98) hide show
  1. package/.esbuild/plugins/qgds-plugin-handlebar-partial-builder.js +76 -66
  2. package/.storybook/preview.js +1 -1
  3. package/dist/assets/components/bs5/footer/footer.hbs +20 -18
  4. package/dist/assets/components/bs5/head/head.hbs +1 -1
  5. package/dist/assets/components/bs5/header/header.hbs +40 -52
  6. package/dist/assets/components/bs5/header/headerBrand.hbs +9 -10
  7. package/dist/assets/components/bs5/logo/logo.hbs +2 -0
  8. package/dist/assets/components/bs5/logo/logoCOADeliveringForQLD.hbs +49 -0
  9. package/dist/assets/components/bs5/logo/logoCOALandscape.hbs +55 -109
  10. package/dist/assets/components/bs5/logo/logoCOALandscape2Lines.hbs +55 -55
  11. package/dist/assets/components/bs5/searchInput/searchInput.hbs +5 -5
  12. package/dist/assets/css/qld.bootstrap.css +1 -1
  13. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  14. package/dist/assets/css/qld.bootstrap.legacy.css +1 -1
  15. package/dist/assets/css/qld.bootstrap.legacy.css.map +3 -3
  16. package/dist/assets/img/coa-delivering-for-qld.svg +47 -0
  17. package/dist/assets/img/coa-delivering-for-qld.svg.old +58 -0
  18. package/dist/assets/img/coa-landscape-2lines.svg +63 -0
  19. package/dist/assets/img/coa-landscape-web.svg +56 -0
  20. package/dist/assets/js/handlebars.helpers.bundle.js +1 -1
  21. package/dist/assets/js/handlebars.helpers.bundle.js.map +3 -3
  22. package/dist/assets/js/handlebars.init.min.js +1329 -1344
  23. package/dist/assets/js/handlebars.init.min.js.map +4 -4
  24. package/dist/assets/js/handlebars.partials.js +1329 -1344
  25. package/dist/assets/js/handlebars.partials.js.map +4 -4
  26. package/dist/assets/js/qld.bootstrap.min.js +3 -3
  27. package/dist/assets/js/qld.bootstrap.min.js.map +3 -3
  28. package/dist/assets/node/handlebars.init.min.js +219 -198
  29. package/dist/assets/node/handlebars.init.min.js.map +3 -3
  30. package/dist/components/bs5/footer/footer.hbs +20 -18
  31. package/dist/components/bs5/head/head.hbs +1 -1
  32. package/dist/components/bs5/header/header.hbs +40 -52
  33. package/dist/components/bs5/header/headerBrand.hbs +9 -10
  34. package/dist/components/bs5/logo/logo.hbs +2 -0
  35. package/dist/components/bs5/logo/logoCOADeliveringForQLD.hbs +49 -0
  36. package/dist/components/bs5/logo/logoCOALandscape.hbs +55 -109
  37. package/dist/components/bs5/logo/logoCOALandscape2Lines.hbs +55 -55
  38. package/dist/components/bs5/searchInput/searchInput.hbs +5 -5
  39. package/dist/package.json +12 -12
  40. package/dist/sample-data/header/header.variant.coBrand.data.json +5 -8
  41. package/dist/sample-data/header/header.variant.endorsed.data.json +3 -6
  42. package/dist/sample-data/header/header.variant.masterBrand.data.json +1 -6
  43. package/dist/sample-data/header/header.variant.standAlone.data.json +3 -6
  44. package/dist/sample-data/header/header.variant.subBrand.data.json +5 -8
  45. package/esbuild.js +1 -1
  46. package/package.json +12 -12
  47. package/src/components/bs5/banner/banner.scss +2 -2
  48. package/src/components/bs5/breadcrumbs/breadcrumbs.scss +7 -2
  49. package/src/components/bs5/card/card.scss +1 -1
  50. package/src/components/bs5/footer/footer.hbs +20 -18
  51. package/src/components/bs5/footer/footer.scss +7 -5
  52. package/src/components/bs5/header/Header.js +25 -0
  53. package/src/components/bs5/header/_header-variables.scss +61 -247
  54. package/src/components/bs5/header/header.functions.js +10 -15
  55. package/src/components/bs5/header/header.hbs +40 -52
  56. package/src/components/bs5/header/header.scss +166 -158
  57. package/src/components/bs5/header/header.stories.js +37 -206
  58. package/src/components/bs5/header/header.variant.coBrand.data.json +5 -8
  59. package/src/components/bs5/header/header.variant.endorsed.data.json +3 -6
  60. package/src/components/bs5/header/header.variant.masterBrand.data.json +1 -6
  61. package/src/components/bs5/header/header.variant.standAlone.data.json +3 -6
  62. package/src/components/bs5/header/header.variant.subBrand.data.json +5 -8
  63. package/src/components/bs5/header/headerBrand.hbs +9 -10
  64. package/src/components/bs5/inpageAlert/inpageAlert.scss +107 -120
  65. package/src/components/bs5/linkColumns/linkColumns.scss +18 -25
  66. package/src/components/bs5/logo/logo.hbs +2 -0
  67. package/src/components/bs5/logo/logoCOADeliveringForQLD.hbs +49 -0
  68. package/src/components/bs5/logo/logoCOALandscape.hbs +55 -109
  69. package/src/components/bs5/logo/logoCOALandscape2Lines.hbs +55 -55
  70. package/src/components/bs5/navbar/navbar.scss +36 -14
  71. package/src/components/bs5/searchInput/SearchInput.js +3 -5
  72. package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +5 -5
  73. package/src/components/bs5/searchInput/searchInput.hbs +5 -5
  74. package/src/components/bs5/searchInput/searchInput.scss +13 -0
  75. package/src/components/bs5/tag/tag--large.stories.js +53 -0
  76. package/src/components/bs5/tag/tag--standard.stories.js +39 -0
  77. package/src/components/bs5/tag/tag--status.stories.js +97 -0
  78. package/src/components/bs5/tag/tag.scss +67 -36
  79. package/src/components/bs5/tag/tag.stories.js +69 -106
  80. package/src/css/main.scss +2 -2
  81. package/src/css/mixins/_index.scss +1 -0
  82. package/src/css/mixins/focusable.scss +6 -5
  83. package/src/css/mixins/make-link.scss +40 -0
  84. package/src/css/qld-theme.scss +16 -8
  85. package/src/css/qld-type.scss +3 -73
  86. package/src/css/variables/animation.scss +5 -0
  87. package/src/img/coa-delivering-for-qld.svg +47 -0
  88. package/src/img/coa-delivering-for-qld.svg.old +58 -0
  89. package/src/img/coa-landscape-2lines.svg +63 -0
  90. package/src/img/coa-landscape-web.svg +56 -0
  91. package/src/js/handlebars.helpers.js +51 -38
  92. package/src/js/handlebars.partials.js +12 -10
  93. package/dist/assets/img/_coa_header-logo-qgov--stacked.svg +0 -171
  94. package/dist/assets/img/_coa_header-logo-qgov-masterbrand.svg +0 -56
  95. package/dist/assets/img/_coa_preheader-logo-qgov.svg +0 -56
  96. package/src/img/_coa_header-logo-qgov--stacked.svg +0 -171
  97. package/src/img/_coa_header-logo-qgov-masterbrand.svg +0 -56
  98. package/src/img/_coa_preheader-logo-qgov.svg +0 -56
@@ -168,7 +168,6 @@
168
168
  color: var(--link-color);
169
169
  text-decoration-color: inherit;
170
170
  padding: 0;
171
- // transition:none;
172
171
  &:after {
173
172
  content: "";
174
173
  content: none;
@@ -211,6 +210,15 @@
211
210
  width: 100%;
212
211
  border-block-end: 0;
213
212
  margin-block-end: 0;
213
+ position: relative;
214
+ &::before {
215
+ content: "";
216
+ position: absolute;
217
+ border-inline-start: 5px solid var(--link-border-color);
218
+ left: -5px;
219
+ top: 0;
220
+ bottom: calc(var(--border-width) * -1);
221
+ }
214
222
  &:hover,
215
223
  &.active {
216
224
  border-block-end: 0;
@@ -218,6 +226,9 @@
218
226
  margin-block-end: 0;
219
227
  border-block-end: 0;
220
228
  }
229
+ &::before {
230
+ border-inline-start: 0.25rem solid var(--link-border-color-hover);
231
+ }
221
232
  }
222
233
  &:hover {
223
234
  .qld-icon {
@@ -284,6 +295,9 @@
284
295
  /* House keeping */
285
296
  --icon-dir: 1;
286
297
  --navbar-max-width: 26.25rem;
298
+ --border-width: 1px;
299
+ --nav-link-padding-block: 0.625rem;
300
+
287
301
  :dir(rtl) {
288
302
  --icon-dir: -1;
289
303
  }
@@ -434,6 +448,9 @@
434
448
  display: none;
435
449
  }
436
450
  .container {
451
+ --padding-block-size: calc(var(--nav-link-padding-block) * 2);
452
+ min-height: calc(var(--padding-block-size) + 2rem);
453
+ min-height: round(up, calc(var(--padding-block-size) + 2rem), 1px);
437
454
  position: relative;
438
455
  }
439
456
  .nav-item {
@@ -453,6 +470,7 @@
453
470
  background-color: var(--dropdown-bg-color);
454
471
  border-block-end: var(--horizontal-bar-border-width) solid var(--dropdown-bg-color);
455
472
  font-weight: 600;
473
+ z-index: 20;
456
474
  &:hover {
457
475
  background-color: var(--dropdown-bg-color);
458
476
  border-block-end: var(--horizontal-bar-border-width) solid var(--link-border-color-hover);
@@ -475,7 +493,7 @@
475
493
  .navbar-nav a.nav-link,
476
494
  a.dropdown-item {
477
495
  color: var(--link-color);
478
- padding-block: 0.625rem;
496
+ padding-block: var(--nav-link-padding-block);
479
497
  padding-inline: 0.75rem;
480
498
  display: flex;
481
499
  line-height: 2rem;
@@ -517,10 +535,7 @@
517
535
  }
518
536
  }
519
537
  .dropdown-menu.show {
520
- --horizontal-bar-border-widthx2: calc(
521
- var(--horizontal-bar-border-width) * 2
522
- );
523
- margin-block-start: calc(var(--horizontal-bar-border-widthx2) - 1px);
538
+ margin-block-start: calc(var(--horizontal-bar-border-width) - var(--border-width));
524
539
  inset-inline: 0;
525
540
  background-color: var(--dropdown-bg-color);
526
541
  padding: 4rem;
@@ -533,16 +548,21 @@
533
548
  grid-template-columns: repeat(3, 1fr);
534
549
  column-gap: 2rem;
535
550
  row-gap: 0;
551
+ z-index: 10;
552
+ border-width: 0;
536
553
  @include media-breakpoint-up(xl) {
537
554
  column-gap: 4rem;
538
555
  row-gap: 0;
539
556
  }
557
+ @include media-breakpoint-up(md) {
558
+ padding-block: 3rem;
559
+ }
540
560
  &::before {
541
561
  content: "";
542
562
  position: absolute;
543
563
  height: var(--horizontal-bar-border-width);
544
564
  inset: 0;
545
- inset-block-start: calc(var(--horizontal-bar-border-width) * -1);
565
+ inset-block-start: 0;
546
566
  background-color: var(--dropdown-bg-color);
547
567
  }
548
568
  li {
@@ -563,9 +583,9 @@
563
583
  padding-inline-start: 0;
564
584
  padding-inline-end: 0.5rem;
565
585
  white-space: normal;
566
- border-block-end: 1px solid var(--border-color);
586
+ border-block-end: var(--border-width) solid var(--border-color);
567
587
  padding-block-start: 1rem;
568
- padding-block-end: calc(1rem - 1px);
588
+ padding-block-end: calc(1rem - var(--border-width));
569
589
  gap: 0.75rem;
570
590
  font-weight: 600;
571
591
  transition:
@@ -615,7 +635,7 @@
615
635
  grid-column: 1 / -1;
616
636
  .dropdown-item {
617
637
  border-block-end: 0;
618
- padding-block-end: 0;
638
+ padding-block: 0;
619
639
  gap: 1rem;
620
640
  transition: gap var(--animation-time) ease-in-out;
621
641
  font-size: 1.5rem;
@@ -646,17 +666,18 @@
646
666
  flex-direction: row-reverse;
647
667
  padding-inline-end: 0.5rem;
648
668
  gap: 0.5rem;
669
+ font-size: 1.25rem;
649
670
  transition:
650
671
  gap var(--animation-time) ease-in-out,
651
672
  padding-inline-end var(--animation-time) ease-in-out;
652
673
  &::before {
653
674
  content: "";
654
- mask-image: var(--qgds-icon-arrow-right);
675
+ mask-image: var(--qgds-icon-view-all);
655
676
  mask-repeat: no-repeat;
656
677
  mask-position: 0;
657
678
  background-color: var(--action-icon-color);
658
- height: 1.25rem;
659
- width: 1.25rem;
679
+ height: 2rem;
680
+ width: 2rem;
660
681
  transform: scaleX(var(--icon-dir));
661
682
  }
662
683
  &::after {
@@ -803,4 +824,5 @@
803
824
  //Prevent double scrollbar when navabr is open
804
825
  body:has(.navbar.show) {
805
826
  overflow: hidden;
806
- }
827
+ }
828
+
@@ -1,13 +1,11 @@
1
- import Component from '../../../js/QGDSComponent.js'
1
+ import Component from "../../../js/QGDSComponent.js";
2
2
  import template from "./searchInput.hbs?raw";
3
3
 
4
4
  export class SearchInput {
5
-
6
5
  // Use the global Component class to create a new instance of the Textbox component.
7
- // A data object, containing the Handlebars placeholder replacement strings, should be provided as an argument.
6
+ // A data object, containing the Handlebars placeholder replacement strings, should be provided as an argument.
8
7
 
9
- constructor( data = {} ) {
8
+ constructor(data = {}) {
10
9
  return new Component(template, data);
11
10
  }
12
-
13
11
  }
@@ -7,7 +7,10 @@ exports[`SearchInput > Renders as expected 1`] = `
7
7
  <div class="qld-search-input ">
8
8
  <input id="search" name="query" class="form-control" type="text" autocomplete="off"
9
9
  aria-label="Search website" data-collection="qgov~sp-search" data-profile="qld" data-numranks="10" data-tiers="off" data-suggestions="https://discover.search.qld.gov.au/s/suggest.json" data-results-url="https://discover.search.qld.gov.au/s/search.json" />
10
-
10
+ <button class="btn btn-primary" type="submit" id="search-button">
11
+ <span class="btn-icon"></span>
12
+ <span class="btn-label">Search</span>
13
+ </button>
11
14
  <div class="suggestions suggestions__group d-none">
12
15
  <div class="default-suggestions">
13
16
  <div class="suggestions-category mt-16">
@@ -37,9 +40,6 @@ exports[`SearchInput > Renders as expected 1`] = `
37
40
  </div>
38
41
  <div class="dynamic-suggestions"></div>
39
42
  </div>
40
- <button class="btn btn-primary" type="submit" id="search-button">
41
- <span class="btn-icon"></span>
42
- <span class="btn-label">Search</span>
43
- </button>
43
+
44
44
  </div>"
45
45
  `;
@@ -4,7 +4,10 @@
4
4
  <div class="qld-search-input {{customClass}}">
5
5
  <input id="{{ inputID }}" name="{{ inputName }}" class="form-control" type="text" autocomplete="off"
6
6
  aria-label="{{ ariaLabel }}" {{#each tags}} data-{{@key}}="{{this}}" {{/each}} />
7
-
7
+ <button class="btn btn-primary" type="{{ buttonType }}" id="{{ buttonID }}">
8
+ <span class="btn-icon"></span>
9
+ <span class="btn-label">{{ buttonLabel }}</span>
10
+ </button>
8
11
  {{#if suggestions}}
9
12
  <div class="suggestions suggestions__group d-none">
10
13
  <div class="default-suggestions">
@@ -36,8 +39,5 @@
36
39
  <div class="dynamic-suggestions"></div>
37
40
  </div>
38
41
  {{/if}}
39
- <button class="btn btn-primary" type="{{ buttonType }}" id="{{ buttonID }}">
40
- <span class="btn-icon"></span>
41
- <span class="btn-label">{{ buttonLabel }}</span>
42
- </button>
42
+
43
43
  </div>
@@ -14,6 +14,18 @@
14
14
  --qld-focus-color: var(--#{$prefix}dark-focus);
15
15
  }
16
16
 
17
+ .suggestions.d-none {
18
+ display: unset !important; // !important to override bootstrap d-none
19
+ }
20
+ .suggestions.d-none {
21
+ display: none !important; // !important to override bootstrap d-none
22
+ }
23
+ &:focus-within {
24
+ .suggestions.d-none {
25
+ display: block !important; // !important to override bootstrap d-none
26
+ }
27
+ }
28
+
17
29
  // Suggestions variables
18
30
  --suggestions-shadow:
19
31
  0 1px 2px rgba(0, 0, 0, 0.2), 0 1px 3px 1px rgba(0, 0, 0, 0.1);
@@ -144,6 +156,7 @@
144
156
  top: 50%;
145
157
  transform: translateY(-50%);
146
158
  left: calc(1rem - 0.125rem);
159
+ pointer-events: none;
147
160
  }
148
161
  }
149
162
 
@@ -0,0 +1,53 @@
1
+ // tag--large.stories.js
2
+ import { Tag } from "./Tag.js";
3
+ import defaultdata from "./tag.data.json";
4
+
5
+ export default {
6
+ tags: ["autodocs"],
7
+ title: "3. Components/Tag/Large",
8
+ render: (args) => new Tag(args).html,
9
+ argTypes: {
10
+ variant: {
11
+ description: `Tags theme`,
12
+ control: {
13
+ type: "radio",
14
+ labels: {
15
+ "tag-default": "Default",
16
+ "tag-alt": "Alt",
17
+ "tag-dark": "Dark",
18
+ "tag-dark-alt": "Dark-alt",
19
+ },
20
+ },
21
+ options: ["tag-default", "tag-alt", "tag-dark", "tag-dark-alt"],
22
+ },
23
+ },
24
+ };
25
+
26
+ // Large Tag story
27
+ export const Large = {
28
+ args: defaultdata.large,
29
+ };
30
+
31
+ // Large Information Tag story with all variants
32
+ export const LargeInformation = {
33
+ name: "Large Information variants",
34
+ args: {
35
+ ...defaultdata.info,
36
+ tagItems: defaultdata.info.tagItems.map((item) => ({
37
+ ...item,
38
+ classes: `${item.classes} tag-large`,
39
+ })),
40
+ },
41
+ };
42
+
43
+ // Large Action Tag story with all variants
44
+ export const LargeAction = {
45
+ name: "Large Action variants",
46
+ args: {
47
+ ...defaultdata.action,
48
+ tagItems: defaultdata.action.tagItems.map((item) => ({
49
+ ...item,
50
+ classes: `${item.classes} tag-large`,
51
+ })),
52
+ },
53
+ };
@@ -0,0 +1,39 @@
1
+ // tag--standard.stories.js
2
+ import { Tag } from './Tag.js';
3
+ import defaultdata from './tag.data.json';
4
+
5
+ export default {
6
+ tags: ['autodocs'],
7
+ title: '3. Components/Tag/Standard',
8
+ render: (args) => new Tag(args).html,
9
+ argTypes: {
10
+ variant: {
11
+ description: `Tags theme`,
12
+ control: {
13
+ type: "radio",
14
+ labels: {
15
+ "tag-default": "Default",
16
+ "tag-alt": "Alt",
17
+ "tag-dark": "Dark",
18
+ "tag-dark-alt": "Dark-alt",
19
+ },
20
+ },
21
+ options: ["tag-default", "tag-alt", "tag-dark", "tag-dark-alt"],
22
+ },
23
+ },
24
+ };
25
+
26
+ // Default Tag story
27
+ export const Default = {
28
+ args: defaultdata.default,
29
+ };
30
+
31
+ // Info Tag story
32
+ export const Information = {
33
+ args: defaultdata.info,
34
+ };
35
+
36
+ // Action Tag story
37
+ export const Action = {
38
+ args: defaultdata.action,
39
+ };
@@ -0,0 +1,97 @@
1
+ // tag--status.stories.js
2
+ import { Tag } from "./Tag.js";
3
+ import defaultdata from "./tag.data.json";
4
+
5
+ const sizes = {
6
+ "": "Small (Default)",
7
+ "tag-large": "Large",
8
+ };
9
+
10
+ const emphasis = {
11
+ "tag-low": "Low",
12
+ "tag-high": "High",
13
+ };
14
+
15
+ const types = {
16
+ "tag-neutral": "Neutral",
17
+ "tag-success": "Success",
18
+ "tag-warning": "Warning",
19
+ "tag-error": "Error",
20
+ "tag-information": "Information",
21
+ };
22
+
23
+ /**
24
+ * Construct Status tag for all possible variants with various sizes, emphasis levels, and types.
25
+ * @returns {HTML} HTMLMarkup of the tags.
26
+ */
27
+ function statusVariantsMarkup() {
28
+ //Map through the emphasis levels and sizes objects.
29
+ return Object.entries(emphasis)
30
+ .map(([emClass, emLabel]) => {
31
+ return Object.entries(sizes)
32
+ .map(([sizeClass, sizeLabel]) => {
33
+ //Construct tagItems for each types.
34
+ let tagItems = [];
35
+ Object.entries(types).map(([typeClass, typeLabel]) => {
36
+ tagItems.push({
37
+ content: `${typeLabel}`,
38
+ classes: `${typeClass}`,
39
+ });
40
+ });
41
+
42
+ //Generate Tag component markup from all possible tag types.
43
+ const tagHtml = new Tag({
44
+ variant: defaultdata.status.variant,
45
+ tagItems: tagItems,
46
+ size: sizeClass,
47
+ emphasis: emClass,
48
+ }).html;
49
+
50
+ //Return Tag component markup in grid with tag's emphasis and size as label.
51
+ return `<div class="d-grid mb-4">
52
+ <div class="fw-bold">${emLabel} ${sizeLabel}</div>
53
+ <div class="btn-toolbar">
54
+ ${tagHtml}
55
+ </div>
56
+ </div>`;
57
+ })
58
+ .join("");
59
+ })
60
+ .join("");
61
+ }
62
+
63
+ export default {
64
+ tags: ["autodocs"],
65
+ title: "3. Components/Tag/Status",
66
+ render: (args) => new Tag(args).html,
67
+ argTypes: {
68
+ variant: {
69
+ description: `Tags theme`,
70
+ control: {
71
+ type: "radio",
72
+ labels: {
73
+ "tag-default": "Default",
74
+ "tag-alt": "Alt",
75
+ "tag-dark": "Dark",
76
+ "tag-dark-alt": "Dark-alt",
77
+ },
78
+ },
79
+ options: ["tag-default", "tag-alt", "tag-dark", "tag-dark-alt"],
80
+ },
81
+ },
82
+ };
83
+
84
+ /**
85
+ * Show the Default mode of Status tags in all possible variants.
86
+ * This Story can be used to help in troubleshooting.
87
+ */
88
+ export const AllStatusVariantsInDefaultMode = {
89
+ render: () => {
90
+ return statusVariantsMarkup();
91
+ },
92
+ parameters: {
93
+ controls: {
94
+ disable: true,
95
+ },
96
+ },
97
+ };
@@ -93,6 +93,9 @@ $_icon-status-cancel: url('data:image/svg+xml,<svg width="32" height="32" viewBo
93
93
  list-style-type: none;
94
94
  margin: 0.5rem 0;
95
95
  padding: 30px;
96
+ display: flex;
97
+ align-items: center;
98
+ gap: 1rem;
96
99
 
97
100
  .tag-item {
98
101
  --_padding-y: 0;
@@ -104,12 +107,11 @@ $_icon-status-cancel: url('data:image/svg+xml,<svg width="32" height="32" viewBo
104
107
  //
105
108
  display: inline-flex;
106
109
  align-items: center;
107
- color: var(--#{$prefix}dark-grey-muted);
108
- margin-top: 0.5rem;
109
- gap: calc(var(--_padding-x) / 2);
110
+ color: var(--#{$prefix}light-text-lighter);
111
+ // margin: 0 1rem 1rem 0;
110
112
  padding: var(--_padding-y) var(--_padding-x);
111
113
  list-style-type: none;
112
- border: var(--_border-width) solid var(--#{$prefix}light-grey);
114
+ border: var(--_border-width) solid var(--#{$prefix}neutral-lighter);
113
115
  border-radius: 1rem;
114
116
  font-size: 0.875rem;
115
117
  line-height: 1.5;
@@ -121,14 +123,13 @@ $_icon-status-cancel: url('data:image/svg+xml,<svg width="32" height="32" viewBo
121
123
  --_padding-x: 1rem;
122
124
  --_height: 2.5rem;
123
125
  --_icon-size: 1.5rem;
124
- margin: 0 1rem 1rem 0;
125
126
  font-size: 1rem;
126
127
  border-radius: calc(var(--_height) / 2);
127
128
  }
128
129
 
129
130
  &.tag-link {
130
- color: var(--#{$prefix}sapphire-blue);
131
- border-color: var(--#{$prefix}sapphire-blue);
131
+ color: var(--#{$prefix}light-link);
132
+ border-color: var(--#{$prefix}light-link);
132
133
 
133
134
  a {
134
135
  text-decoration: none;
@@ -144,14 +145,13 @@ $_icon-status-cancel: url('data:image/svg+xml,<svg width="32" height="32" viewBo
144
145
  &:active,
145
146
  &:focus,
146
147
  &:focus-within {
147
- background-color: var(--#{$prefix}textbox-border-color);
148
- color: var(--#{$prefix}white);
149
- background-color: var(--#{$prefix}button-dark-blue);
148
+ color: var(--#{$prefix}light-link-on-action);
149
+ background-color: var(--#{$prefix}light-action-primary-hover);
150
150
  text-decoration: underline;
151
151
  text-underline-offset: var(--#{$prefix}link-underline-offset);
152
152
 
153
153
  a {
154
- color: var(--#{$prefix}white);
154
+ color: var(--#{$prefix}light-link-on-action);
155
155
  }
156
156
  }
157
157
  }
@@ -166,9 +166,9 @@ $_icon-status-cancel: url('data:image/svg+xml,<svg width="32" height="32" viewBo
166
166
  }
167
167
 
168
168
  &.tag-info {
169
- color: var(--#{$prefix}dark-grey-muted);
169
+ color: var(--#{$prefix}light-text-lighter);
170
170
  border: 0;
171
- background-color: var(--#{$prefix}extra-light-grey);
171
+ background-color: var(--#{$prefix}neutral-lightest);
172
172
  }
173
173
  }
174
174
 
@@ -266,20 +266,22 @@ $_icon-status-cancel: url('data:image/svg+xml,<svg width="32" height="32" viewBo
266
266
  }
267
267
  }
268
268
 
269
- &.tag-dark {
270
- background-color: var(--#{$prefix}sapphire-blue);
269
+ &.tag-dark,
270
+ .dark &:not(.tag-dark):not(.tag-dark-alt):not(.tag-alt) {
271
+ background-color: var(--#{$prefix}dark-background);
271
272
 
272
273
  .tag-item {
273
274
  --qld-focus-color: #{$qld-dark-focus}; // because we use component-scoped context (.tag-dark) not global .dark, need to set focus color correctly here.
274
- color: var(--#{$prefix}dark-text);
275
+ color: var(--#{$prefix}dark-text-lighter);
276
+ border-color: var(--#{$prefix}dark-alt-border);
275
277
  }
276
278
 
277
279
  .tag-link {
278
- color: var(--#{$prefix}white);
279
- border-color: var(--#{$prefix}white);
280
+ color: var(--#{$prefix}dark-link);
281
+ border-color: var(--#{$prefix}dark-link);
280
282
 
281
283
  a {
282
- color: white;
284
+ color: var(--#{$prefix}dark-link);
283
285
  }
284
286
 
285
287
  &:hover,
@@ -287,17 +289,18 @@ $_icon-status-cancel: url('data:image/svg+xml,<svg width="32" height="32" viewBo
287
289
  &:focus,
288
290
  &:focus-within {
289
291
  background-color: var(--#{$prefix}dark-action-primary-hover);
290
- border-color: var(--#{$prefix}light-green-dark);
291
- color: var(--#{$prefix}text-darkest);
292
+ border-color: var(--#{$prefix}dark-action-primary-hover);
293
+ color: var(--#{$prefix}dark-link-on-action);
292
294
 
293
295
  a {
294
- color: var(--#{$prefix}text-darkest);
296
+ color: var(--#{$prefix}dark-link-on-action);
295
297
  }
296
298
  }
297
299
  }
298
300
 
299
301
  .tag-info {
300
- background-color: var(--#{$prefix}color-dark-background--shade);
302
+ background-color: var(--#{$prefix}dark-background-shade);
303
+ color: var(--#{$prefix}dark-text-lighter);
301
304
  }
302
305
 
303
306
  .tag-clear-filter-button {
@@ -310,11 +313,11 @@ $_icon-status-cancel: url('data:image/svg+xml,<svg width="32" height="32" viewBo
310
313
  }
311
314
 
312
315
  &.tag-alt {
313
- background-color: var(--#{$prefix}light-grey-alt);
316
+ background-color: var(--#{$prefix}light-alt-background);
314
317
 
315
318
  .tag-item {
316
- color: var(--#{$prefix}dark-grey-muted);
317
- border-color: var(--#{$prefix}soft-grey);
319
+ color: var(--#{$prefix}light-text-lighter);
320
+ border-color: var(--#{$prefix}light-alt-border);
318
321
  }
319
322
 
320
323
  .tag-link:hover,
@@ -324,27 +327,55 @@ $_icon-status-cancel: url('data:image/svg+xml,<svg width="32" height="32" viewBo
324
327
  }
325
328
 
326
329
  .tag-link {
327
- color: var(--#{$prefix}sapphire-blue);
328
- border-color: var(--#{$prefix}sapphire-blue);
330
+ color: var(--#{$prefix}light-link);
331
+ border-color: var(--#{$prefix}light-link);
329
332
  }
330
333
  }
331
334
 
332
- &.tag-dark-alt {
333
- background-color: var(--#{$prefix}dark-blue);
335
+ &.tag-light {
336
+ background-color: var(--#{$prefix}light-background);
337
+
338
+ .tag-item {
339
+ color: var(--#{$prefix}light-text-lighter);
340
+ border-color: var(--#{$prefix}light-border);
341
+ }
342
+
343
+ .tag-link {
344
+ color: var(--#{$prefix}light-link);
345
+ border-color: var(--#{$prefix}light-link);
346
+ }
347
+
348
+ .tag-info {
349
+ background-color: var(--#{$prefix}light-background-shade);
350
+ }
351
+
352
+ .tag-clear-filter-button {
353
+ color: var(--#{$prefix}light-action-secondary);
354
+
355
+ &:hover {
356
+ color: var(--#{$prefix}light-action-secondary-hover);
357
+ }
358
+ }
359
+ }
360
+
361
+ &.tag-dark-alt,
362
+ .dark-alt &:not(.tag-dark, .tag-dark-alt, .tag-alt) {
363
+ background-color: var(--#{$prefix}dark-alt-background);
334
364
 
335
365
  .tag-item {
336
366
  --qld-focus-color: #{$qld-dark-focus}; // because we use component-scoped context (.tag-dark) not global .dark, need to set focus color correctly here.
337
367
 
338
368
  a {
339
- color: var(--#{$prefix}dark-text);
369
+ color: var(--#{$prefix}dark-text-lighter);
340
370
  }
341
371
 
342
- color: var(--#{$prefix}dark-text);
372
+ color: var(--#{$prefix}dark-text-lighter);
343
373
  border-color: var(--#{$prefix}dark-border);
344
374
  }
345
375
 
346
376
  .tag-info {
347
- background-color: var(--#{$prefix}dark-blue-shade);
377
+ background-color: var(--#{$prefix}dark-alt-background-shade);
378
+ color: var(--#{$prefix}dark-text-lighter);
348
379
  }
349
380
 
350
381
  .tag-link {
@@ -353,11 +384,11 @@ $_icon-status-cancel: url('data:image/svg+xml,<svg width="32" height="32" viewBo
353
384
  &:focus,
354
385
  &:focus-within {
355
386
  background-color: var(--#{$prefix}dark-action-primary-hover);
356
- border-color: var(--#{$prefix}light-green-dark);
357
- color: var(--#{$prefix}text-darkest);
387
+ border-color: var(--#{$prefix}dark-link-on-action);
388
+ color: var(--#{$prefix}dark-link-on-action);
358
389
 
359
390
  a {
360
- color: var(--#{$prefix}text-darkest);
391
+ color: var(--#{$prefix}dark-link-on-action);
361
392
  }
362
393
  }
363
394
  }