@qld-gov-au/qgds-bootstrap5 2.0.7 → 2.0.9

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 (115) 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/image/image.hbs +8 -5
  8. package/dist/assets/components/bs5/logo/logo.hbs +2 -0
  9. package/dist/assets/components/bs5/logo/logoCOADeliveringForQLD.hbs +49 -0
  10. package/dist/assets/components/bs5/logo/logoCOALandscape.hbs +55 -109
  11. package/dist/assets/components/bs5/logo/logoCOALandscape2Lines.hbs +55 -55
  12. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithForm.hbs +112 -93
  13. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +57 -53
  14. package/dist/assets/components/bs5/searchInput/searchInput.hbs +5 -5
  15. package/dist/assets/css/qld.bootstrap.css +1 -1
  16. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  17. package/dist/assets/css/qld.bootstrap.legacy.css +1 -1
  18. package/dist/assets/css/qld.bootstrap.legacy.css.map +3 -3
  19. package/dist/assets/img/coa-delivering-for-qld.svg +47 -0
  20. package/dist/assets/img/coa-delivering-for-qld.svg.old +58 -0
  21. package/dist/assets/img/coa-landscape-2lines.svg +63 -0
  22. package/dist/assets/img/coa-landscape-web.svg +56 -0
  23. package/dist/assets/js/handlebars.helpers.bundle.js +1 -1
  24. package/dist/assets/js/handlebars.helpers.bundle.js.map +3 -3
  25. package/dist/assets/js/handlebars.init.min.js +720 -708
  26. package/dist/assets/js/handlebars.init.min.js.map +4 -4
  27. package/dist/assets/js/handlebars.partials.js +720 -708
  28. package/dist/assets/js/handlebars.partials.js.map +4 -4
  29. package/dist/assets/js/qld.bootstrap.min.js +3 -3
  30. package/dist/assets/js/qld.bootstrap.min.js.map +3 -3
  31. package/dist/assets/node/handlebars.init.min.js +239 -199
  32. package/dist/assets/node/handlebars.init.min.js.map +3 -3
  33. package/dist/components/bs5/footer/footer.hbs +20 -18
  34. package/dist/components/bs5/head/head.hbs +1 -1
  35. package/dist/components/bs5/header/header.hbs +40 -52
  36. package/dist/components/bs5/header/headerBrand.hbs +9 -10
  37. package/dist/components/bs5/image/image.hbs +8 -5
  38. package/dist/components/bs5/logo/logo.hbs +2 -0
  39. package/dist/components/bs5/logo/logoCOADeliveringForQLD.hbs +49 -0
  40. package/dist/components/bs5/logo/logoCOALandscape.hbs +55 -109
  41. package/dist/components/bs5/logo/logoCOALandscape2Lines.hbs +55 -55
  42. package/dist/components/bs5/pageLayout/templates/contentPageWithForm.hbs +112 -93
  43. package/dist/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +57 -53
  44. package/dist/components/bs5/searchInput/searchInput.hbs +5 -5
  45. package/dist/package.json +12 -12
  46. package/dist/sample-data/breadcrumbs/breadcrumbs.data.json +1 -1
  47. package/dist/sample-data/header/header.variant.coBrand.data.json +5 -8
  48. package/dist/sample-data/header/header.variant.endorsed.data.json +3 -6
  49. package/dist/sample-data/header/header.variant.masterBrand.data.json +1 -6
  50. package/dist/sample-data/header/header.variant.standAlone.data.json +3 -6
  51. package/dist/sample-data/header/header.variant.subBrand.data.json +5 -8
  52. package/dist/sample-data/image/image.data.json +4 -2
  53. package/esbuild.js +1 -1
  54. package/package.json +12 -12
  55. package/src/components/bs5/banner/banner.scss +30 -21
  56. package/src/components/bs5/banner/banner.stories.js +25 -16
  57. package/src/components/bs5/breadcrumbs/breadcrumbs.data.json +1 -1
  58. package/src/components/bs5/breadcrumbs/breadcrumbs.scss +7 -2
  59. package/src/components/bs5/card/card.scss +1 -1
  60. package/src/components/bs5/footer/footer.hbs +20 -18
  61. package/src/components/bs5/footer/footer.scss +7 -5
  62. package/src/components/bs5/header/Header.js +25 -0
  63. package/src/components/bs5/header/_header-variables.scss +61 -247
  64. package/src/components/bs5/header/header.functions.js +10 -15
  65. package/src/components/bs5/header/header.hbs +40 -52
  66. package/src/components/bs5/header/header.scss +170 -158
  67. package/src/components/bs5/header/header.stories.js +37 -206
  68. package/src/components/bs5/header/header.variant.coBrand.data.json +5 -8
  69. package/src/components/bs5/header/header.variant.endorsed.data.json +3 -6
  70. package/src/components/bs5/header/header.variant.masterBrand.data.json +1 -6
  71. package/src/components/bs5/header/header.variant.standAlone.data.json +3 -6
  72. package/src/components/bs5/header/header.variant.subBrand.data.json +5 -8
  73. package/src/components/bs5/header/headerBrand.hbs +9 -10
  74. package/src/components/bs5/image/image.data.json +4 -2
  75. package/src/components/bs5/image/image.hbs +8 -5
  76. package/src/components/bs5/image/image.scss +29 -7
  77. package/src/components/bs5/image/image.stories.js +77 -57
  78. package/src/components/bs5/inpageAlert/inpageAlert.scss +107 -120
  79. package/src/components/bs5/linkColumns/linkColumns.scss +18 -25
  80. package/src/components/bs5/logo/logo.hbs +2 -0
  81. package/src/components/bs5/logo/logoCOADeliveringForQLD.hbs +49 -0
  82. package/src/components/bs5/logo/logoCOALandscape.hbs +55 -109
  83. package/src/components/bs5/logo/logoCOALandscape2Lines.hbs +55 -55
  84. package/src/components/bs5/navbar/navbar.scss +36 -14
  85. package/src/components/bs5/pageLayout/pageLayout.stories.js +11 -45
  86. package/src/components/bs5/pageLayout/templates/contentPageWithForm.hbs +112 -93
  87. package/src/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +57 -53
  88. package/src/components/bs5/searchInput/SearchInput.js +3 -5
  89. package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +5 -5
  90. package/src/components/bs5/searchInput/searchInput.hbs +5 -5
  91. package/src/components/bs5/searchInput/searchInput.scss +17 -5
  92. package/src/components/bs5/tag/tag--large.stories.js +53 -0
  93. package/src/components/bs5/tag/tag--standard.stories.js +39 -0
  94. package/src/components/bs5/tag/tag--status.stories.js +97 -0
  95. package/src/components/bs5/tag/tag.scss +67 -36
  96. package/src/components/bs5/tag/tag.stories.js +69 -106
  97. package/src/css/main.scss +2 -2
  98. package/src/css/mixins/_index.scss +1 -0
  99. package/src/css/mixins/focusable.scss +6 -5
  100. package/src/css/mixins/make-link.scss +40 -0
  101. package/src/css/qld-theme.scss +16 -8
  102. package/src/css/qld-type.scss +3 -73
  103. package/src/css/variables/animation.scss +5 -0
  104. package/src/img/coa-delivering-for-qld.svg +47 -0
  105. package/src/img/coa-delivering-for-qld.svg.old +58 -0
  106. package/src/img/coa-landscape-2lines.svg +63 -0
  107. package/src/img/coa-landscape-web.svg +56 -0
  108. package/src/js/handlebars.helpers.js +51 -38
  109. package/src/js/handlebars.partials.js +12 -10
  110. package/dist/assets/img/_coa_header-logo-qgov--stacked.svg +0 -171
  111. package/dist/assets/img/_coa_header-logo-qgov-masterbrand.svg +0 -56
  112. package/dist/assets/img/_coa_preheader-logo-qgov.svg +0 -56
  113. package/src/img/_coa_header-logo-qgov--stacked.svg +0 -171
  114. package/src/img/_coa_header-logo-qgov-masterbrand.svg +0 -56
  115. package/src/img/_coa_preheader-logo-qgov.svg +0 -56
@@ -9,7 +9,9 @@
9
9
  "height": "",
10
10
  "heightUnit": "",
11
11
  "src": "assets/img/image-example-health-workers-md.jpg",
12
- "alt": "Two people are sitting in a park, interacting with a tablet-style mobile device.",
12
+ "alt": "Two healthcare workers sitting on a park bench reviewing information on a tablet device",
13
+ "caption": "Queensland Health staff using mobile technology to improve patient care and access medical records in the field",
14
+ "credit": "Photo by Queensland Government",
13
15
  "tabindex": "",
14
16
  "role": ""
15
- }
17
+ }
package/esbuild.js CHANGED
@@ -86,7 +86,7 @@ const buildConfig = {
86
86
  ],
87
87
  indentType: "space",
88
88
  indentWidth: 2,
89
- includePaths: ["./node_modules"],
89
+ loadPaths: ["./node_modules"],
90
90
  }),
91
91
  QDGSbuildLog(),
92
92
  ],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qld-gov-au/qgds-bootstrap5",
3
- "version": "2.0.7",
3
+ "version": "2.0.9",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -57,26 +57,26 @@
57
57
  "@eslint/eslintrc": "^3.3.1",
58
58
  "@eslint/json": "^0.13.2",
59
59
  "@qld-gov-au/qgds-tokens": "^1.2.1",
60
- "@storybook/addon-a11y": "^9.1.9",
61
- "@storybook/addon-docs": "^9.1.9",
62
- "@storybook/addon-links": "^9.1.9",
63
- "@storybook/addon-themes": "^9.1.9",
64
- "@storybook/cli": "^9.1.9",
65
- "@storybook/html-vite": "^9.1.9",
60
+ "@storybook/addon-a11y": "^9.1.13",
61
+ "@storybook/addon-docs": "^9.1.13",
62
+ "@storybook/addon-links": "^9.1.13",
63
+ "@storybook/addon-themes": "^9.1.13",
64
+ "@storybook/cli": "^9.1.13",
65
+ "@storybook/html-vite": "^9.1.13",
66
66
  "@vitejs/plugin-vue": "5.2.4",
67
67
  "@vitest/ui": "^3.2.4",
68
68
  "autoprefixer": "^10.4.20",
69
69
  "chai": "^5.2.0",
70
70
  "chalk": "^5.3.0",
71
- "chromatic": "^11.28.2",
72
- "esbuild": "0.25.5",
71
+ "chromatic": "^13.3.1",
72
+ "esbuild": "0.25.11",
73
73
  "esbuild-plugin-copy": "^2.1.1",
74
74
  "esbuild-plugin-eslint": "^0.3.7",
75
75
  "esbuild-plugin-handlebars": "1.0.3",
76
76
  "esbuild-sass-plugin": "3.3.1",
77
- "eslint": "9.30.0",
77
+ "eslint": "9.38.0",
78
78
  "eslint-plugin-json": "^4.0.1",
79
- "eslint-plugin-storybook": "^9.1.9",
79
+ "eslint-plugin-storybook": "^9.1.13",
80
80
  "globals": "16.4.0",
81
81
  "handlebars": "4.7.8",
82
82
  "http-server": "^14.1.1",
@@ -96,7 +96,7 @@
96
96
  "run-parallel": "^1.2.0",
97
97
  "sass": "^1.89.2",
98
98
  "selenium-webdriver": "^4.33.0",
99
- "storybook": "^9.1.9",
99
+ "storybook": "^9.1.13",
100
100
  "storybook-addon-deep-controls": "^0.9.5",
101
101
  "vite": "^6.3.5",
102
102
  "vitest": "^3.2.4"
@@ -283,7 +283,7 @@
283
283
  }
284
284
  }
285
285
 
286
- /*
286
+ /*
287
287
  Banner Images are static hero images that sit with the content.
288
288
 
289
289
  Banner Images have several variants:
@@ -407,52 +407,55 @@
407
407
  .banner-title-wrap {
408
408
  display: block;
409
409
  margin: 1.5rem 0 0 0;
410
- font-size: 2.5rem;
411
- line-height: 3.25rem;
410
+ font-size: $h1-font-size-mobile;
411
+ line-height: $h1-line-height-mobile;
412
412
 
413
- // Target xs - md viewports
414
- @include media-breakpoint-down(lg) {
415
- font-size: $h1-font-size-mobile;
416
- line-height: $h1-line-height-mobile;
413
+ // LG and above
414
+ @include media-breakpoint-up(lg) {
415
+ font-size: $h1-font-size;
416
+ line-height: $headings-line-height;
417
417
  }
418
418
 
419
- //Spans inside the .banner-title-wrap H1
419
+ //SPANS inside H1.banner-title-wrap
420
420
  .banner-title,
421
421
  .banner-subtitle {
422
422
  display: block;
423
423
  color: var(--#{$prefix}banner-title-color);
424
424
  }
425
425
 
426
+ //"Block-title" visual styles
426
427
  &.as-block {
427
428
  padding: 0.5rem 1.25rem;
429
+ line-height: 1.5;
428
430
 
429
- //Both spans
431
+ //Allow line breaking on both spans
430
432
  .banner-title,
431
433
  .banner-subtitle {
432
- display: unset;
433
434
  box-decoration-break: clone;
435
+ -webkit-box-decoration-break: clone;
436
+ position: static; // required to allow breadcrumb dropdown to overlap
434
437
  }
435
438
 
436
439
  // First headline span
437
440
  .banner-title {
438
441
  display: inline;
439
- font-weight: 600;
440
- color: var(--qld-white);
441
- background-color: var(--qld-dark-background);
442
+ color: var(--qld-dark-text-heading);
443
+ background-color: var(--qld-dark-background-shade);
442
444
  box-shadow:
443
- 8px 0px 0 6px var(--qld-dark-background),
444
- -8px 0px 0 6px var(--qld-dark-background),
445
+ 8px 0px 0 6px var(--qld-dark-background-shade),
446
+ -8px 0px 0 6px var(--qld-dark-background-shade),
445
447
  -12px 0px 0 6px var(--qld-light-accent),
446
448
  0px 4px 16px rgba(0, 0, 0, 0.3);
447
449
  }
448
450
 
449
451
  // Second headline span
450
452
  .banner-subtitle {
451
- display: table;
453
+ display: block;
454
+ width: fit-content;
452
455
  font-weight: 400;
453
456
  color: var(--qld-light-text-text);
454
- background-color: var(--qld-default-background);
455
- margin-top: 0.75rem;
457
+ background-color: var(--qld-neutral-white);
458
+ margin-top: 0.5rem;
456
459
  box-shadow:
457
460
  8px 0px 0 6px var(--qld-default-background),
458
461
  -8px 0px 0 6px var(--qld-default-background),
@@ -464,21 +467,22 @@
464
467
 
465
468
  // Handles block style dark (banner-title) on dark (banner) clash
466
469
  // Changes banner-title to use a shade of the dark background
467
- &.dark {
470
+ &.dark,
471
+ &.dark-alt {
468
472
  .banner-title-wrap.as-block {
469
473
  .banner-title {
470
474
  background-color: var(--qld-dark-background-shade);
471
475
  box-shadow:
472
476
  8px 0px 0 6px var(--qld-dark-background-shade),
473
477
  -8px 0px 0 6px var(--qld-dark-background-shade),
474
- -12px 0px 0 6px var(--qld-light-accent),
478
+ -12px 0px 0 6px var(--qld-dark-accent),
475
479
  0px 4px 16px rgba(0, 0, 0, 0.3);
476
480
  }
477
481
  }
478
482
  }
479
483
 
480
484
  .banner-abstract {
481
- margin: 1rem 0 0 0;
485
+ margin: 1.25rem 0 0 0;
482
486
  max-width: 50rem; //To make readable. Clips line length for very wide viewports.
483
487
  color: var(--#{$prefix}banner-abstract-color);
484
488
 
@@ -522,6 +526,11 @@
522
526
  --#{$prefix}breadcrumb-padding-y: 0;
523
527
  color: var(--#{$prefix}banner-breadcrumb-color);
524
528
  }
529
+
530
+ // Re-scope focus color for breadcrumb vertical variant inside banners
531
+ .breadcrumb .breadcrumb-vertical {
532
+ --qld-focus-color: var(--qld-light-focus);
533
+ }
525
534
  }
526
535
 
527
536
  .banner-extra {
@@ -98,15 +98,15 @@ export default {
98
98
  // Provide cards or buttons if callToAction is set to true
99
99
  switch (args.callToAction) {
100
100
  case "buttons":
101
- args.buttons = exampleButtonData;
101
+ args.buttons = args.buttons ?? exampleButtonData;
102
102
  args.cards = false;
103
103
  break;
104
104
  case "cards":
105
- args.cards = exampleCardData;
105
+ args.cards = args.cards ?? exampleCardData;
106
106
  args.buttons = false;
107
107
  break;
108
108
  case "cardsMixed":
109
- args.cards = exampleMixedCardData;
109
+ args.cards = args.cards ?? exampleMixedCardData;
110
110
  args.buttons = false;
111
111
  break;
112
112
  case "none":
@@ -172,7 +172,7 @@ export default {
172
172
  options: ["none", "with-texture", "with-bg-image", "with-hero-image"],
173
173
  },
174
174
 
175
- "image.classes": {
175
+ ["image.classes"]: {
176
176
  name: "Image Classes",
177
177
  description: `Settable classes for the hero image placement. Background Type must be set to "with-hero-image"`,
178
178
  control: {
@@ -254,7 +254,7 @@ export const NoBanner = {
254
254
  title: { table: { disable: true } },
255
255
  abstract: { table: { disable: true } },
256
256
  backgroundType: { table: { disable: true } },
257
- "image.classes": { table: { disable: true } },
257
+ ["image.classes"]: { table: { disable: true } },
258
258
  },
259
259
  };
260
260
 
@@ -279,7 +279,7 @@ export const BannerBasic = {
279
279
  //Remove default controls that aren't needed here
280
280
  callToAction: { table: { disable: true } },
281
281
  image: { table: { disable: true } },
282
- "image.classes": { table: { disable: true } },
282
+ ["image.classes"]: { table: { disable: true } },
283
283
  backgroundType: {
284
284
  //Remove "with-hero-image" option
285
285
  options: ["none", "with-texture", "with-bg-image"],
@@ -327,7 +327,7 @@ export const BannerBasicBackgrounds = {
327
327
  options: ["none", "with-texture", "with-bg-image"],
328
328
  },
329
329
  image: { table: { disable: true } },
330
- "image.classes": { table: { disable: true } },
330
+ ["image.classes"]: { table: { disable: true } },
331
331
  },
332
332
  };
333
333
 
@@ -344,7 +344,7 @@ export const BannerAdvancedButtons = {
344
344
  subtitle: "",
345
345
  titleClasses: [],
346
346
  backgroundType: "with-hero-image",
347
- "image.classes": "align-grid",
347
+ ["image.classes"]: "align-grid",
348
348
  abstract:
349
349
  "Renew your licence at a customer service centre, government office or police station.",
350
350
  callToAction: "buttons",
@@ -416,7 +416,7 @@ export const BannerAdvancedHeroImage = {
416
416
  backgroundType: "with-hero-image",
417
417
  abstract:
418
418
  "Renew your licence at a customer service centre, government office or police station.",
419
- "image.classes": ["align-right", "with-gradient"],
419
+ ["image.classes"]: ["align-right", "with-gradient"],
420
420
  },
421
421
 
422
422
  argTypes: {
@@ -445,16 +445,25 @@ export const BannerAdvancedBlockTitle = {
445
445
  ...defaultdata,
446
446
  variantClass: "dark",
447
447
  bannerType: "banner-advanced",
448
- title: "Queensland Government",
449
- subtitle: "Design System",
448
+ title: "Disaster recovery",
449
+ subtitle: "and support",
450
+ abstract:
451
+ "Financial help and support services to help you recover if you're affected by a disaster.",
450
452
  titleClasses: ["as-block"],
451
453
  backgroundType: "with-texture",
452
- abstract:
453
- "Renew your licence at a customer service centre, government office or police station.",
454
- callToAction: "cards",
455
- cards: [],
454
+ callToAction: "buttons",
455
+ breadcrumbs: {
456
+ breadcrumbs: [
457
+ { link: "#", linktext: "Home" },
458
+ { link: "#", linktext: "Community support" },
459
+ { link: "#", linktext: "Disaster support and recovery" },
460
+ { link: "#", linktext: "Example page title 1" },
461
+ { link: "#", linktext: "Example page title 2" },
462
+ { link: "#", linktext: "Current page" },
463
+ ],
464
+ },
465
+ ["image.classes"]: "align-grid",
456
466
  },
457
-
458
467
  argTypes: {
459
468
  backgroundType: {
460
469
  name: "Background Type",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  {
21
21
  "link": "#",
22
- "linktext": "Current page is having a very long name that is longer than the others"
22
+ "linktext": "Current page"
23
23
  }
24
24
  ]
25
25
  },
@@ -99,7 +99,6 @@ $expander-icon-color: $qld-light-link;
99
99
  pointer-events: none;
100
100
  width: 360px;
101
101
  border-radius: 4px;
102
- /* Transition properties */
103
102
  transition: max-height 0.5s ease-out;
104
103
  }
105
104
  .breadcrumb-vertical {
@@ -124,7 +123,9 @@ $expander-icon-color: $qld-light-link;
124
123
  text-overflow: ellipsis;
125
124
  overflow-x: hidden;
126
125
  white-space: nowrap;
127
- &:focus {
126
+
127
+ //Handle outline offset when focused
128
+ &:focus-within {
128
129
  overflow: initial;
129
130
  }
130
131
  }
@@ -137,6 +138,10 @@ $expander-icon-color: $qld-light-link;
137
138
  overflow: hidden;
138
139
  text-overflow: ellipsis;
139
140
  white-space: nowrap;
141
+
142
+ &:focus {
143
+ overflow: initial;
144
+ }
140
145
  }
141
146
  // Override Bootstrap's default :before pseudo element
142
147
  &:before {
@@ -429,6 +429,7 @@
429
429
  flex-wrap: wrap;
430
430
  .tag-item {
431
431
  margin: 0;
432
+ font-weight: normal;
432
433
  }
433
434
  }
434
435
  /////////////////////////////////////////////
@@ -458,7 +459,6 @@
458
459
  li.tag-link {
459
460
  border-color: var(--#{$prefix}card-link-color);
460
461
  font-size: 0.875rem;
461
- font-weight: normal;
462
462
  &:hover {
463
463
  border-color: var(--#{$prefix}link-hover-colour);
464
464
  background-color: var(--#{$prefix}link-hover-colour);
@@ -38,24 +38,26 @@
38
38
 
39
39
  <div class="col-12">
40
40
  {{!-- Custom contact list --}}
41
- {{#ifCond contact.showList "&&" contact.list}}
42
- {{#each contact.list }}
43
- <div class="footer-contact-item footer-contact-{{@key}}">
44
- <span class="qld-icon {{this.icon}}" aria-hidden="true"></span> {{{ this.label }}}
45
- </div>
46
- {{/each}}
47
-
48
- {{else}}
49
- {{!default contact list }}
50
- <div class="footer-contact-item footer-contact-phone">
51
- <span class="qld-icon qld-icon-phone" aria-hidden="true"></span> <b>Phone:</b> <a href="tel:137468"
52
- rel="noopener">13 QGOV (13 74 68)</a>
53
- </div>
54
-
55
- <div class="footer-contact-item footer-contact-email">
56
- <span class="qld-icon qld-icon-email" aria-hidden="true"></span> <b>Email:</b> <a
57
- href="mailto:email@qld.gov.au" rel="noopener"><span class="user-select-all">email@qld.gov.au</span></a>
58
- </div>
41
+ {{#ifCond contact.showList "!==" false}}
42
+ {{#ifCond contact.showList "&&" contact.list}}
43
+ {{#each contact.list }}
44
+ <div class="footer-contact-item footer-contact-{{@key}}">
45
+ <span class="qld-icon {{this.icon}}" aria-hidden="true"></span> {{{ this.label }}}
46
+ </div>
47
+ {{/each}}
48
+
49
+ {{else}}
50
+ {{!default contact list }}
51
+ <div class="footer-contact-item footer-contact-phone">
52
+ <span class="qld-icon qld-icon-phone" aria-hidden="true"></span> <b>Phone:</b> <a href="tel:137468"
53
+ rel="noopener">13 QGOV (13 74 68)</a>
54
+ </div>
55
+
56
+ <div class="footer-contact-item footer-contact-email">
57
+ <span class="qld-icon qld-icon-email" aria-hidden="true"></span> <b>Email:</b> <a
58
+ href="mailto:email@qld.gov.au" rel="noopener"><span class="user-select-all">email@qld.gov.au</span></a>
59
+ </div>
60
+ {{/ifCond}}
59
61
  {{/ifCond}}
60
62
  </div>
61
63
  </div>
@@ -290,10 +290,6 @@
290
290
  padding-block-start: 0;
291
291
  padding-block-end: 0;
292
292
 
293
- &:focus-visible {
294
- box-shadow: 0 0 0 3px var(--#{$prefix}footer-color-border);
295
- }
296
-
297
293
  span {
298
294
  display: block;
299
295
  }
@@ -323,7 +319,13 @@
323
319
 
324
320
  .btn {
325
321
  min-width: 10rem;
326
- width: fit-content;
322
+ width: 100%;
323
+ margin-block-end: 1.5rem;
324
+
325
+ @include media-breakpoint-up(md) {
326
+ width: fit-content;
327
+ margin-block-end: 0;
328
+ }
327
329
  }
328
330
  }
329
331
 
@@ -9,3 +9,28 @@ export class Header {
9
9
  return new Component(template, data);
10
10
  }
11
11
  }
12
+
13
+ export const argTypes = {
14
+ ["preHeader.palette"]: {
15
+ options: ["dark", "default"],
16
+ control: "radio",
17
+ table: { category: "Pre header" },
18
+ },
19
+ ["preHeader.globalLink.text"]: {
20
+ table: { category: "Pre header" },
21
+ },
22
+ ["preHeader.actions"]: {
23
+ table: { category: "Pre header" },
24
+ },
25
+ ["mainContent.palette"]: {
26
+ options: ["dark", "default", "dark-alt"],
27
+ control: "radio",
28
+ table: { category: "Main content" },
29
+ },
30
+ ["mainContent.siteTitle"]: {
31
+ table: { category: "Main content" },
32
+ },
33
+ ["mainContent.subline"]: {
34
+ table: { category: "Main content" },
35
+ },
36
+ };