@qld-gov-au/qgds-bootstrap5 1.1.41 → 2.0.0

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 (143) hide show
  1. package/.eslintrc.cjs +27 -27
  2. package/.vscode/settings.json +5 -5
  3. package/dist/assets/components/bs5/card/card.hbs +3 -17
  4. package/dist/assets/components/bs5/footer/customLinks.hbs +7 -0
  5. package/dist/assets/components/bs5/footer/feedbackForm.hbs +25 -0
  6. package/dist/assets/components/bs5/footer/followLinks.hbs +14 -0
  7. package/dist/assets/components/bs5/footer/footer.hbs +229 -346
  8. package/dist/assets/components/bs5/head/head.hbs +4 -4
  9. package/dist/assets/components/bs5/header/header.hbs +124 -878
  10. package/dist/assets/components/bs5/header/headerBrand.hbs +35 -0
  11. package/dist/{components/bs5/iconLink/iconLink.hbs → assets/components/bs5/link/link.hbs} +3 -3
  12. package/dist/assets/components/bs5/logo/logoCOALandscape.hbs +110 -55
  13. package/dist/assets/components/bs5/logo/logoCOALandscape2Lines.hbs +2 -1
  14. package/dist/assets/components/bs5/navbar/navbar.hbs +3 -3
  15. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithForm.hbs +53 -22
  16. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +79 -59
  17. package/dist/assets/components/bs5/pageLayout/templates/homePage.hbs +111 -0
  18. package/dist/assets/components/bs5/searchInput/searchInput.hbs +1 -1
  19. package/dist/assets/css/qld.bootstrap.css +1 -1
  20. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  21. package/dist/assets/js/handlebars.helpers.bundle.js.map +2 -2
  22. package/dist/assets/js/handlebars.helpers.js +34 -34
  23. package/dist/assets/js/handlebars.init.min.js +830 -1791
  24. package/dist/assets/js/handlebars.init.min.js.map +4 -4
  25. package/dist/assets/js/handlebars.partials.js +12 -8
  26. package/dist/assets/js/qld.bootstrap.min.js +5 -5
  27. package/dist/assets/js/qld.bootstrap.min.js.map +4 -4
  28. package/dist/assets/node/handlebars.init.min.js +398 -120
  29. package/dist/assets/node/handlebars.init.min.js.map +3 -3
  30. package/dist/components/bs5/card/card.hbs +3 -17
  31. package/dist/components/bs5/footer/customLinks.hbs +7 -0
  32. package/dist/components/bs5/footer/feedbackForm.hbs +25 -0
  33. package/dist/components/bs5/footer/followLinks.hbs +14 -0
  34. package/dist/components/bs5/footer/footer.hbs +229 -346
  35. package/dist/components/bs5/head/head.hbs +4 -4
  36. package/dist/components/bs5/header/header.hbs +124 -878
  37. package/dist/components/bs5/header/headerBrand.hbs +35 -0
  38. package/dist/{assets/components/bs5/iconLink/iconLink.hbs → components/bs5/link/link.hbs} +3 -3
  39. package/dist/components/bs5/logo/logoCOALandscape.hbs +110 -55
  40. package/dist/components/bs5/logo/logoCOALandscape2Lines.hbs +2 -1
  41. package/dist/components/bs5/navbar/navbar.hbs +3 -3
  42. package/dist/components/bs5/pageLayout/templates/contentPageWithForm.hbs +53 -22
  43. package/dist/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +79 -59
  44. package/dist/components/bs5/pageLayout/templates/homePage.hbs +111 -0
  45. package/dist/components/bs5/searchInput/searchInput.hbs +1 -1
  46. package/dist/components/handlebars.helpers.js +34 -34
  47. package/dist/components/handlebars.partials.js +12 -8
  48. package/dist/package.json +1 -1
  49. package/dist/sample-data/footer/footer.data.json +128 -84
  50. package/dist/sample-data/header/header.variant.coBrand.data.json +28 -40
  51. package/dist/sample-data/header/header.variant.endorsed.data.json +116 -150
  52. package/dist/sample-data/header/header.variant.masterBrand.data.json +116 -152
  53. package/dist/sample-data/header/header.variant.standAlone.data.json +118 -150
  54. package/dist/sample-data/header/header.variant.subBrand.data.json +32 -159
  55. package/dist/sample-data/inpageAlert/inpageAlert.data.json +6 -6
  56. package/dist/sample-data/logo/logo.data.json +1 -0
  57. package/dist/sample-data/navbar/navbar.data.json +5 -5
  58. package/package.json +1 -1
  59. package/src/components/bs5/accordion/Accordion.mdx +8 -2
  60. package/src/components/bs5/banner/Banner.mdx +6 -1
  61. package/src/components/bs5/banner/banner.scss +16 -9
  62. package/src/components/bs5/banner/banner.stories.js +17 -17
  63. package/src/components/bs5/breadcrumbs/Breadcrumbs.mdx +8 -2
  64. package/src/components/bs5/button/button.stories.js +8 -8
  65. package/src/components/bs5/callToAction/callToAction.mdx +8 -3
  66. package/src/components/bs5/card/Card.mdx +8 -2
  67. package/src/components/bs5/card/card.hbs +3 -17
  68. package/src/components/bs5/card/card.scss +103 -103
  69. package/src/components/bs5/containerLayout/containerLayout.stories.js +1 -1
  70. package/src/components/bs5/footer/Footer.js +3 -3
  71. package/src/components/bs5/footer/Footer.mdx +8 -2
  72. package/src/components/bs5/footer/customLinks.hbs +7 -0
  73. package/src/components/bs5/footer/feedbackForm.hbs +25 -0
  74. package/src/components/bs5/footer/followLinks.hbs +14 -0
  75. package/src/components/bs5/footer/footer.data.json +128 -84
  76. package/src/components/bs5/footer/footer.functions.js +2 -1
  77. package/src/components/bs5/footer/footer.hbs +229 -346
  78. package/src/components/bs5/footer/footer.scss +262 -272
  79. package/src/components/bs5/footer/footer.stories.js +4 -92
  80. package/src/components/bs5/footer/footer_formio.scss +219 -0
  81. package/src/components/bs5/globalAlert/GlobalAlert.mdx +8 -2
  82. package/src/components/bs5/globalAlert/globalAlert.test.js +3 -11
  83. package/src/components/bs5/header/_header-variables.scss +272 -0
  84. package/src/components/bs5/header/header.functions.js +9 -9
  85. package/src/components/bs5/header/header.hbs +124 -878
  86. package/src/components/bs5/header/header.scss +279 -411
  87. package/src/components/bs5/header/header.stories.js +8 -28
  88. package/src/components/bs5/header/header.variant.coBrand.data.json +28 -40
  89. package/src/components/bs5/header/header.variant.endorsed.data.json +116 -150
  90. package/src/components/bs5/header/header.variant.masterBrand.data.json +116 -152
  91. package/src/components/bs5/header/header.variant.standAlone.data.json +118 -150
  92. package/src/components/bs5/header/header.variant.subBrand.data.json +32 -159
  93. package/src/components/bs5/header/headerBrand.hbs +35 -0
  94. package/src/components/bs5/inpageAlert/InpageAlert.mdx +8 -2
  95. package/src/components/bs5/inpageAlert/inpageAlert.data.json +6 -6
  96. package/src/components/bs5/{iconLink/iconLink.hbs → link/link.hbs} +3 -3
  97. package/src/components/bs5/{iconLink/iconLink.js → link/link.js} +2 -2
  98. package/src/components/bs5/{iconLink/iconLink.mdx → link/link.mdx} +3 -3
  99. package/src/components/bs5/{iconLink/iconLink.scss → link/link.scss} +27 -3
  100. package/src/components/bs5/{iconLink/iconLink.stories.js → link/link.stories.js} +4 -5
  101. package/src/components/bs5/linkColumns/linkColumns.mdx +8 -3
  102. package/src/components/bs5/logo/logo.data.json +1 -0
  103. package/src/components/bs5/logo/logoCOALandscape.hbs +110 -55
  104. package/src/components/bs5/logo/logoCOALandscape2Lines.hbs +2 -1
  105. package/src/components/bs5/navbar/navbar.data.json +5 -5
  106. package/src/components/bs5/navbar/navbar.hbs +3 -3
  107. package/src/components/bs5/navbar/navbar.scss +669 -614
  108. package/src/components/bs5/navbar/navbar.stories.js +1 -0
  109. package/src/components/bs5/pageLayout/{FullWidthLandingPage.js → HomePage.js} +2 -2
  110. package/src/components/bs5/pageLayout/pageLayout.stories.js +242 -98
  111. package/src/components/bs5/pageLayout/templates/contentPageWithForm.hbs +53 -22
  112. package/src/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +79 -59
  113. package/src/components/bs5/pageLayout/templates/homePage.hbs +111 -0
  114. package/src/components/bs5/promotionalPanel/PromotionalPanel.mdx +8 -3
  115. package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +1 -1
  116. package/src/components/bs5/searchInput/searchInput.hbs +1 -1
  117. package/src/components/bs5/searchInput/searchInput.scss +2 -1
  118. package/src/components/bs5/searchInput/searchInput.test.js +1 -2
  119. package/src/css/main.scss +4 -1
  120. package/src/css/mixins/_index.scss +2 -1
  121. package/src/css/mixins/register-vars.scss +23 -0
  122. package/src/css/qld-variables.scss +4 -2
  123. package/src/css/utilities/_index.scss +1 -0
  124. package/src/css/utilities/responsive-visually-hidden.scss +10 -0
  125. package/src/js/handlebars.helpers.js +34 -34
  126. package/src/js/handlebars.partials.js +12 -8
  127. package/src/js/qld.bootstrap.js +10 -11
  128. package/dist/assets/components/bs5/footer/footerForgov.hbs +0 -279
  129. package/dist/assets/components/bs5/pageLayout/pageLayout.hbs +0 -34
  130. package/dist/assets/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +0 -61
  131. package/dist/components/bs5/footer/footerForgov.hbs +0 -279
  132. package/dist/components/bs5/pageLayout/pageLayout.hbs +0 -34
  133. package/dist/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +0 -61
  134. package/src/components/bs5/footer/_colours.scss +0 -149
  135. package/src/components/bs5/footer/_measurements.scss +0 -32
  136. package/src/components/bs5/footer/footerForgov.hbs +0 -279
  137. package/src/components/bs5/header/_colours.scss +0 -271
  138. package/src/components/bs5/header/_icons.scss +0 -10
  139. package/src/components/bs5/pageLayout/pageLayout.hbs +0 -34
  140. package/src/components/bs5/pageLayout/pageLayout.js +0 -21
  141. package/src/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +0 -61
  142. /package/dist/sample-data/{iconLink/iconLink.data.json → link/link.data.json} +0 -0
  143. /package/src/components/bs5/{iconLink/iconLink.data.json → link/link.data.json} +0 -0
@@ -1,5 +1,5 @@
1
1
  // footer.stories.js
2
- import { Footer, FooterForgov } from "./Footer.js";
2
+ import { Footer } from "./Footer.js";
3
3
 
4
4
  import defaultdata from "./footer.data.json";
5
5
 
@@ -7,78 +7,20 @@ export default {
7
7
  tags: ["autodocs"],
8
8
  title: "2. Layout/Footer",
9
9
  render: (args) => new Footer(args).html,
10
- // parameters: {
11
- // controls: {include: []},
12
- // },
13
10
  argTypes: {
14
- "feedbackForm.formAttr.data-formio-project-name": {
15
- //data-formio-project-name
16
- name: "Form.io Project, edit feedbackForm to change",
17
- description: `Footer Feedback project's for reference edit feedbackForm formAttr.data-formio-project-name to update`,
18
- control: {
19
- type: "radio",
20
- labels: {
21
- "dev-oldkihhcwbdtwye": "TEST (dev-oldkihhcwbdtwye)",
22
- "staging-oldkihhcwbdtwye": "STAGING (staging-oldkihhcwbdtwye)",
23
- "uat-oldkihhcwbdtwye": "UAT (uat-oldkihhcwbdtwye)",
24
- oldkihhcwbdtwye: "PROD (oldkihhcwbdtwye)",
25
- },
26
- },
27
- options: [
28
- "dev-oldkihhcwbdtwye",
29
- "uat-oldkihhcwbdtwye",
30
- "staging-oldkihhcwbdtwye",
31
- "oldkihhcwbdtwye",
32
- ],
33
- },
34
11
  sitename: {
35
12
  name: "Site Name",
36
13
  description: "Name of the site",
37
14
  control: { type: "text" },
38
15
  },
39
- contactHasContactList: {
40
- name: "Contact Has Contact List",
41
- description: "Whether the contact list is enabled",
42
- control: { type: "boolean" },
43
- },
44
- footerHasCrestDisabled: {
45
- name: "Footer Has Crest",
46
- description: "Whether the footer has a crest",
47
- control: { type: "boolean" },
48
- },
49
- footerHasStateOfQldDisabled: {
50
- name: "Footer Has State of Qld",
51
- description: "Whether the footer shows State of Qld",
52
- control: { type: "boolean" },
53
- },
54
- feedbackFormDisabled: {
55
- name: "Feedback Form Disabled",
56
- description: "Whether the feedback form is visible",
57
- control: { type: "boolean" },
58
- },
59
- followlinksEnabled: {
60
- name: "Follow Links Enabled",
61
- description: "Whether the follow links are enabled",
62
- control: { type: "boolean" },
63
- },
64
- copyrightHasYearFrom: {
65
- name: "Copyright Has Year From",
66
- description: "Whether the copyright section has a year from",
67
- control: { type: "boolean" },
68
- },
69
- copyrightOrganisationName: {
70
- name: "Copyright Organisation Name",
71
- description: "Name of the copyright organisation",
72
- control: { type: "text" },
73
- },
74
16
  contact: {
75
17
  name: "Contact",
76
18
  description: "Contact section details",
77
19
  control: { type: "object" },
78
20
  },
79
- lookup: {
80
- name: "Lookup",
81
- description: "Lookup section details",
21
+ organisationLink: {
22
+ name: "Organisation link",
23
+ description: "organisation section details",
82
24
  control: { type: "object" },
83
25
  },
84
26
  acknowledgements: {
@@ -91,17 +33,6 @@ export default {
91
33
  description: "Copyright section details",
92
34
  control: { type: "object" },
93
35
  },
94
- footerlinks: {
95
- name: "Footer Links",
96
- description: "Footer links section details",
97
- control: { type: "object" },
98
- },
99
-
100
- followlinks: {
101
- name: "Follow Links",
102
- description: "Follow links section details",
103
- control: { type: "object" },
104
- },
105
36
  },
106
37
  };
107
38
 
@@ -144,22 +75,3 @@ export const DarkAlt = {
144
75
  controls: { include: [] },
145
76
  },
146
77
  };
147
-
148
- /**
149
- * Forgov footer
150
- */
151
-
152
- export const Forgov = {
153
- args: {
154
- ...defaultdata,
155
- sitename: "For government",
156
- variantClass: "dark",
157
- contactHasContactList: true,
158
- footerHasCrest: false,
159
- footerHasStateOfQld: true,
160
- feedbackFormEnabled: true,
161
- followlinksEnabled: true,
162
- copyrightHasYearFrom: true,
163
- },
164
- render: (args) => new FooterForgov(args).html,
165
- };
@@ -1,3 +1,119 @@
1
+ .qld-footer {
2
+ --#{$prefix}formIO-bg-colour: var(
3
+ --#{$prefix}core-default-color-neutral-white
4
+ );
5
+ --#{$prefix}formIO-callout-bg-colour: var(
6
+ --#{$prefix}core-default-color-neutral-lighter
7
+ );
8
+ --#{$prefix}formIO-hr-colour: var(
9
+ --#{$prefix}core-default-color-neutral-lighter
10
+ );
11
+ --#{$prefix}formIO-formio-colour: var(
12
+ --#{$prefix}color-default-color-light-text-default
13
+ );
14
+ --#{$prefix}formIO-input-border: var(
15
+ --#{$prefix}color-default-color-light-border-alt
16
+ );
17
+ --#{$prefix}formIO-btn-disabled-colour: var(
18
+ --#{$prefix}core-default-color-neutral-light
19
+ );
20
+ --#{$prefix}formIO-btn-close-colour: var(
21
+ --#{$prefix}color-default-color-light-action-secondary
22
+ );
23
+ --#{$prefix}formIO-btn-close-colour__hover: var(
24
+ --#{$prefix}color-default-color-light-action-secondary-hover
25
+ );
26
+ --#{$prefix}formIO-link-colour: var(
27
+ --#{$prefix}color-default-color-light-link-default
28
+ );
29
+ --#{$prefix}formIO-link-colour-hover: var(
30
+ --#{$prefix}color-default-color-light-focus-default
31
+ );
32
+ --#{$prefix}formIO-submit-btn: var(
33
+ --#{$prefix}color-default-color-light-action-primary
34
+ );
35
+ --#{$prefix}formIO-submit-btn-hover: var(
36
+ --#{$prefix}color-default-color-light-action-primary-hover
37
+ );
38
+ --#{$prefix}formIO-submit-btn-text: var(
39
+ --#{$prefix}color-default-color-light-link-on-action
40
+ );
41
+ --#{$prefix}formIO-thankyou-page-title-colour: var(
42
+ --#{$prefix}color-default-color-light-text-heading
43
+ );
44
+ --#{$prefix}formIO-border-notify-invalid: var(
45
+ --#{$prefix}core-default-color-status-error-default
46
+ );
47
+ --#{$prefix}formIO-border-notify-success: var(
48
+ --#{$prefix}core-default-color-status-success-default
49
+ );
50
+ --#{$prefix}formIO-callout-border-colour: var(
51
+ --#{$prefix}core-default-color-brand-primary-light-green
52
+ );
53
+ --#{$prefix}formIO-error: var(
54
+ --#{$prefix}core-default-color-status-error-default
55
+ );
56
+ --#{$prefix}formIO-bg-colour: var(
57
+ --#{$prefix}core-default-color-neutral-white
58
+ );
59
+ --#{$prefix}formIO-callout-bg-colour: var(
60
+ --#{$prefix}core-default-color-neutral-lighter
61
+ );
62
+ --#{$prefix}formIO-hr-colour: var(
63
+ --#{$prefix}core-default-color-neutral-lighter
64
+ );
65
+ --#{$prefix}formIO-formio-colour: var(
66
+ --#{$prefix}color-default-color-light-text-default
67
+ );
68
+ --#{$prefix}formIO-input-border: var(
69
+ --#{$prefix}color-default-color-light-border-alt
70
+ );
71
+ --#{$prefix}formIO-btn-disabled-colour: var(
72
+ --#{$prefix}core-default-color-neutral-light
73
+ );
74
+ --#{$prefix}formIO-btn-close-colour: var(
75
+ --#{$prefix}color-default-color-light-action-secondary
76
+ );
77
+ --#{$prefix}formIO-btn-close-colour__hover: var(
78
+ --#{$prefix}color-default-color-light-action-secondary-hover
79
+ );
80
+ --#{$prefix}formIO-link-colour: var(
81
+ --#{$prefix}color-default-color-light-link-default
82
+ );
83
+ --#{$prefix}formIO-link-colour-hover: var(
84
+ --#{$prefix}color-default-color-light-focus-default
85
+ );
86
+ --#{$prefix}formIO-submit-btn: var(
87
+ --#{$prefix}color-default-color-light-action-primary
88
+ );
89
+ --#{$prefix}formIO-submit-btn-hover: var(
90
+ --#{$prefix}color-default-color-light-action-primary-hover
91
+ );
92
+ --#{$prefix}formIO-submit-btn-text: var(
93
+ --#{$prefix}color-default-color-light-link-on-action
94
+ );
95
+ --#{$prefix}formIO-thankyou-page-title-colour: var(
96
+ --#{$prefix}color-default-color-light-text-heading
97
+ );
98
+ --#{$prefix}formIO-border-notify-invalid: var(
99
+ --#{$prefix}core-default-color-status-error-default
100
+ );
101
+ --#{$prefix}formIO-border-notify-success: var(
102
+ --#{$prefix}core-default-color-status-success-default
103
+ );
104
+ --#{$prefix}formIO-callout-border-colour: var(
105
+ --#{$prefix}core-default-color-brand-primary-light-green
106
+ );
107
+ --#{$prefix}formIO-error: var(
108
+ --#{$prefix}core-default-color-status-error-default
109
+ );
110
+
111
+ --#{$prefix}formIO-feeback-font-weight: normal;
112
+ --#{$prefix}formIO-border-outline-width: 2px;
113
+ --#{$prefix}formIO-form-control-border-width: 2px;
114
+ --#{$prefix}formIO-callout-heading-line-height: 24px;
115
+ --#{$prefix}formIO-spacing: 1rem;
116
+ }
1
117
  #qg-footer-feedback {
2
118
  #feedbackFormIO {
3
119
  .qg-spinner {
@@ -286,3 +402,106 @@
286
402
  }
287
403
  }
288
404
  }
405
+ /* Feedback form */
406
+ #qg-feedback-toggle {
407
+ --qld-dark-alt-border: var(--#{$prefix}formIO-input-border);
408
+ color: var(--#{$prefix}formIO-formio-colour);
409
+ width: 100%;
410
+
411
+ #btn-footer-feedback {
412
+ color: var(--#{$prefix}footer-color-text);
413
+ border: var(--#{$prefix}footer-special-border-width) solid
414
+ var(--#{$prefix}footer-color-alt-button);
415
+ width: 100%;
416
+ font-weight: normal;
417
+ margin-block-start: var(--#{$prefix}footer-spacing);
418
+
419
+ &:active {
420
+ color: var(--#{$prefix}formIO-formio-colour);
421
+ }
422
+ }
423
+
424
+ #btn-footer-feedback:not(.collapsed) {
425
+ font-weight: var(--#{$prefix}formIO-feeback-font-weight);
426
+ border-color: var(--#{$prefix}formIO-bg-colour);
427
+ border-radius: var(--#{$prefix}footer-border-radius);
428
+ border-end-end-radius: 0;
429
+ border-end-start-radius: 0;
430
+ outline: none !important;
431
+ width: 100%;
432
+ text-align: start;
433
+ background-color: var(--#{$prefix}formIO-bg-colour);
434
+ color: var(--#{$prefix}light-text-heading);
435
+ font-weight: 700;
436
+ }
437
+
438
+ .btn.qg-feedback-toggle {
439
+ font-weight: bold;
440
+ }
441
+
442
+ &:has(#feedbackFormIO .formio-component-html1) {
443
+ #btn-footer-feedback {
444
+ display: none;
445
+ visibility: hidden;
446
+ }
447
+
448
+ #qg-footer-feedback {
449
+ padding-block-start: calc(var(--#{$prefix}footer-spacing) - 4px);
450
+ border-start-start-radius: var(--#{$prefix}footer-border-radius);
451
+ border-start-end-radius: var(--#{$prefix}footer-border-radius);
452
+ }
453
+ }
454
+ }
455
+
456
+ #qg-footer-feedback {
457
+ --qld-footer-bootstrap-default-padding: 1.5rem;
458
+
459
+ background-color: var(--#{$prefix}formIO-bg-colour);
460
+
461
+ a {
462
+ color: var(--#{$prefix}formIO-link-colour);
463
+ text-decoration-color: var(--#{$prefix}formIO-link-colour);
464
+
465
+ &:hover {
466
+ text-decoration-thickness: var(
467
+ --#{$prefix}link-underline-thickness-hover
468
+ ) !important;
469
+ }
470
+
471
+ &:hover,
472
+ &:visited {
473
+ color: var(--#{$prefix}formIO-link-colour);
474
+ }
475
+ }
476
+
477
+ border-radius: var(--#{$prefix}footer-border-radius);
478
+ border-start-start-radius: 0;
479
+ border-start-end-radius: 0;
480
+ padding-inline: var(--#{$prefix}footer-bootstrap-default-padding);
481
+ padding-block-end: var(--#{$prefix}footer-bootstrap-default-padding);
482
+
483
+ .qg-footer-feedback-footer {
484
+ border-block-start: var(--#{$prefix}footer-border-width) solid
485
+ var(--#{$prefix}formIO-hr-colour);
486
+ padding-block-start: calc(var(--#{$prefix}footer-spacing) + 4px);
487
+
488
+ a.qg-footer-feedback__close {
489
+ border: var(--#{$prefix}footer-special-border-width) solid
490
+ var(--#{$prefix}formIO-btn-close-colour);
491
+ width: 100%;
492
+ display: block;
493
+ border-radius: var(--#{$prefix}footer-border-radius);
494
+ padding: 9px 24px;
495
+ text-align: center;
496
+ text-decoration: none;
497
+
498
+ &:hover {
499
+ border-color: var(--#{$prefix}formIO-btn-close-colour__hover);
500
+ text-decoration: underline;
501
+ text-decoration-thickness: var(
502
+ --#{$prefix}footer-font-underline-boarder
503
+ );
504
+ }
505
+ }
506
+ }
507
+ }
@@ -1,9 +1,11 @@
1
- import { Canvas, Meta, Story } from "@storybook/blocks"
2
- import * as GlobalAlertStories from "./globalAlert.stories"
1
+ import { Canvas, Meta, Story, Source } from "@storybook/blocks";
2
+ import * as GlobalAlertStories from "./globalAlert.stories";
3
+ import defaultdata from "./globalAlert.data.json";
3
4
 
4
5
  <Meta of={GlobalAlertStories} />
5
6
 
6
7
  # Global alert
8
+
7
9
  <Canvas>
8
10
  <Story of={GlobalAlertStories.Critical} />
9
11
  </Canvas>
@@ -13,3 +15,7 @@ import * as GlobalAlertStories from "./globalAlert.stories"
13
15
  - [Component library (Figma)](https://www.figma.com/file/qKsxl3ogIlBp7dafgxXuCA/QLD-GOV-DDS?type=design&node-id=23805-314551&mode=design&t=NREcuP5UOBB2Y6G4-4)
14
16
  - [Master component file (Figma)](https://www.figma.com/file/qKsxl3ogIlBp7dafgxXuCA/QLD-GOV-DDS?type=design&node-id=5990-97590&mode=design&t=YLfxdziHdqD2Ty0o-0)
15
17
  - [Design System website](https://www.designsystem.qld.gov.au/components/alerts-global)
18
+
19
+ ## Example JSON data
20
+
21
+ <Source language="json" code={JSON.stringify(defaultdata, null, 2)} />
@@ -83,17 +83,9 @@ describe("initGlobalAlerts", () => {
83
83
  const globalAlertComponent = new GlobalAlert(testMockData);
84
84
  return `
85
85
  <!DOCTYPE html>
86
- <html>
87
- <head>
88
- <meta charset="utf-8">
89
- <link rel="stylesheet" href="${__dirname}/../../../../dist/assets/css/qld.bootstrap.css">
90
- </head>
91
- <body>
92
- ${globalAlertComponent.html}
93
- <script>${bootstrapJsFile}</script>
94
- <script>${qldBootstrapJsFile}</script>
95
- </body>
96
- </html>
86
+ ${globalAlertComponent.html}
87
+ <script>${bootstrapJsFile}</script>
88
+ <script>${qldBootstrapJsFile}</script>
97
89
  `;
98
90
  };
99
91
 
@@ -0,0 +1,272 @@
1
+ @use "../../../css/mixins" as *;
2
+ $prefix: "qld" !default;
3
+
4
+ %header-variables {
5
+ // Header
6
+ @include register-vars(
7
+ "#{$prefix}header-",
8
+ (
9
+ color-text: var(--#{$prefix}color-default-color-light-text-default),
10
+ color-bg: var(--#{$prefix}color-default-color-light-background-default),
11
+ )
12
+ );
13
+
14
+ // Pre-header bar
15
+ @include register-vars(
16
+ "#{$prefix}header-pre-header-",
17
+ (
18
+ color-text: var(--#{$prefix}color-default-color-dark-text-default),
19
+ color-bg: var(--#{$prefix}color-default-color-dark-background-default),
20
+ boxshadow: (
21
+ 0 1px 2px rgba(0, 0, 0, 0.2),
22
+ 0 1px 3px 1px rgba(0, 0, 0, 0.1),
23
+ ),
24
+ color-link: var(--#{$prefix}color-default-color-dark-text-default),
25
+ color-outline-focus: var(
26
+ --#{$prefix}color-default-color-dark-focus-default
27
+ ),
28
+ color-link-decoration: var(
29
+ --#{$prefix}color-default-color-dark-underline-default
30
+ ),
31
+ color-link-decoration-focus: var(
32
+ --#{$prefix}color-default-color-dark-underline-default-hover
33
+ ),
34
+ )
35
+ );
36
+
37
+ // CTA Wrapper
38
+ @include register-vars(
39
+ "#{$prefix}header__cta-wrapper__cta-link",
40
+ (
41
+ _text_color: var(--#{$prefix}color-default-color-dark-link-default),
42
+ -icon_color: var(--#{$prefix}color-default-color-dark-action-secondary),
43
+ -icon_hover_color: var(
44
+ --#{$prefix}color-default-color-dark-action-secondary-hover
45
+ ),
46
+ _dropdown_bg_color: var(
47
+ --#{$prefix}color-default-color-dark-background-default
48
+ ),
49
+ )
50
+ );
51
+
52
+ @include register-vars(
53
+ "#{$prefix}header__CTA",
54
+ (
55
+ _text_color: var(--#{$prefix}color-default-color-dark-link-default),
56
+ _border_color: var(--#{$prefix}color-default-color-dark-border-default),
57
+ )
58
+ );
59
+
60
+ // Toggle main navigation
61
+ @include register-vars(
62
+ "#{$prefix}header__toggle-main-nav",
63
+ (
64
+ _text_color: var(--#{$prefix}color-default-color-dark-link-default),
65
+ _border_color: var(--#{$prefix}color-default-color-dark-border-default),
66
+ __hover_bg: var(
67
+ --#{$prefix}color-default-color-dark-background-default-shade
68
+ ),
69
+ __hover_svg_color: var(
70
+ --#{$prefix}color-default-color-dark-action-secondary-hover
71
+ ),
72
+ __focus_outline_color: var(
73
+ --#{$prefix}color-default-color-dark-focus-default
74
+ ),
75
+ __svg_color: var(--#{$prefix}color-default-color-dark-action-secondary),
76
+ )
77
+ );
78
+
79
+ // COA and title
80
+ @include register-vars(
81
+ "#{$prefix}header__brand-image",
82
+ (
83
+ __crest_fill: var(--#{$prefix}color-default-color-light-crest-fill),
84
+ __subtype__border_color: var(
85
+ --#{$prefix}color-default-color-light-accent-design-accent
86
+ ),
87
+ __subtype__text_color: var(
88
+ --#{$prefix}color-default-color-light-site-title
89
+ ),
90
+ )
91
+ );
92
+ @include register-vars(
93
+ "#{$prefix}header__brand__anchor",
94
+ (
95
+ __hover_text_color: var(
96
+ --#{$prefix}color-default-color-light-link-default
97
+ ),
98
+ __hover_brand-image__text_color: var(
99
+ --#{$prefix}color-default-color-light-link-default
100
+ ),
101
+ __hover_headingsubline__text_color: var(
102
+ --#{$prefix}color-default-color-light-link-default
103
+ ),
104
+ __hover_brand-image__filter: (
105
+ drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.08)),
106
+ drop-shadow(0px 13px 20px rgba(0, 0, 0, 0.08)),
107
+ ),
108
+ )
109
+ );
110
+
111
+ // Sitename heading
112
+ @include register-vars(
113
+ "#{$prefix}header__site-name",
114
+ (
115
+ __heading__text_color: var(
116
+ --#{$prefix}color-default-color-light-site-title
117
+ ),
118
+ __subline__text_color: var(
119
+ --#{$prefix}color-default-color-light-text-lighter
120
+ ),
121
+ )
122
+ );
123
+
124
+ // ------------------------------------------------------------------------------------------------------------------
125
+ // 3. Dark/dark-alt modes
126
+ // ------------------------------------------------------------------------------------------------------------------
127
+ .dark &,
128
+ .dark-alt & {
129
+ // Root (dark/dark-alt)
130
+ @include register-vars(
131
+ "#{$prefix}header",
132
+ (
133
+ _color: var(--#{$prefix}color-default-color-dark-text-default),
134
+ )
135
+ );
136
+
137
+ // Pre-header bar (dark)
138
+ @include register-vars(
139
+ "#{$prefix}header__pre-header",
140
+ (
141
+ _text_color: var(--#{$prefix}color-default-color-dark-text-default),
142
+ _boxshadow: (
143
+ 0 1px 2px rgba(0, 0, 0, 0.2),
144
+ 0 1px 3px 1px rgba(0, 0, 0, 0.1),
145
+ ),
146
+ __url_text_color: var(--#{$prefix}color-default-color-dark-link-default),
147
+ __anchor_text_color: var(
148
+ --#{$prefix}color-default-color-dark-text-default
149
+ ),
150
+ __anchor__focus_text_color: var(
151
+ --#{$prefix}color-default-color-dark-underline-default-hover
152
+ ),
153
+ __anchor_text_decoration_color: var(
154
+ --#{$prefix}color-default-color-dark-underline-default
155
+ ),
156
+ __anchor_text_decoration_thickness: var(
157
+ --#{$prefix}header-underline__thickness-thin
158
+ ),
159
+ __anchor_text_decoration_offset: var(
160
+ --#{$prefix}header-underline__offset
161
+ ),
162
+ __anchor__focus_text_decoration_color: var(
163
+ --#{$prefix}color-default-color-dark-underline-default-hover
164
+ ),
165
+ __anchor__focus_text_decoration_thickness: var(
166
+ --#{$prefix}header-underline__thickness-thick
167
+ ),
168
+ )
169
+ );
170
+
171
+ // Pre-header CTA elements (dark/dark-alt)
172
+ @include register-vars(
173
+ "#{$prefix}header__cta-wrapper__cta-link",
174
+ (
175
+ _text_color: var(--#{$prefix}color-default-color-dark-link-default),
176
+ -icon_color: var(--#{$prefix}color-default-color-dark-action-secondary),
177
+ -icon_hover_color: var(
178
+ --#{$prefix}color-default-color-dark-action-secondary-hover
179
+ ),
180
+ )
181
+ );
182
+
183
+ // Toggle navigation (dark/dark-alt)
184
+ @include register-vars(
185
+ "#{$prefix}header__toggle-main-nav",
186
+ (
187
+ _text_color: var(--#{$prefix}color-default-color-dark-link-default),
188
+ _border_color: var(--#{$prefix}color-default-color-dark-border-default),
189
+ __hover_bg: var(
190
+ --#{$prefix}color-default-color-dark-background-default-shade
191
+ ),
192
+ __hover_svg_color: var(
193
+ --#{$prefix}color-default-color-dark-action-secondary-hover
194
+ ),
195
+ __focus_outline_color: var(
196
+ --#{$prefix}color-default-color-dark-focus-default
197
+ ),
198
+ __svg_color: var(--#{$prefix}color-default-color-dark-action-secondary),
199
+ )
200
+ );
201
+
202
+ @include register-vars(
203
+ "#{$prefix}header__brand__anchor",
204
+ (
205
+ __hover_text_color: var(
206
+ --#{$prefix}color-default-color-dark-link-default
207
+ ),
208
+ __hover_brand-image__text_color: var(
209
+ --#{$prefix}color-default-color-dark-link-default
210
+ ),
211
+ __hover_headingsubline__text_color: var(
212
+ --#{$prefix}color-default-color-dark-link-default
213
+ ),
214
+ __hover_brand-image__filter: (
215
+ drop-shadow(0px 2px 5px rgba(0, 0, 0, 0.08)),
216
+ drop-shadow(0px 13px 20px rgba(0, 0, 0, 0.08)),
217
+ ),
218
+ )
219
+ );
220
+ @include register-vars(
221
+ "#{$prefix}header__brand-image",
222
+ (
223
+ __subtype__border_color: var(
224
+ --#{$prefix}color-default-color-dark-accent-design-accent
225
+ ),
226
+ __subtype__text_color: var(
227
+ --#{$prefix}color-default-color-dark-site-title
228
+ ),
229
+ __crest_fill: var(--#{$prefix}color-default-color-dark-crest-fill),
230
+ )
231
+ );
232
+
233
+ @include register-vars(
234
+ "#{$prefix}header__site-name",
235
+ (
236
+ __heading__text_color: var(
237
+ --#{$prefix}color-default-color-dark-site-title
238
+ ),
239
+ __subline__text_color: var(
240
+ --#{$prefix}color-default-color-dark-text-lighter
241
+ ),
242
+ )
243
+ );
244
+ }
245
+
246
+ .dark-alt & {
247
+ @include register-vars(
248
+ "#{$prefix}header-",
249
+ (
250
+ color-bg: var(--#{$prefix}color-default-color-dark-background-alt),
251
+ pre-header-color-bg: var(
252
+ --#{$prefix}color-default-color-dark-background-default
253
+ ),
254
+ )
255
+ );
256
+ }
257
+
258
+ .dark & {
259
+ @include register-vars(
260
+ "#{$prefix}header-",
261
+ (
262
+ color-bg: var(--#{$prefix}color-default-color-dark-background-default),
263
+ pre-header-color-bg: var(
264
+ --#{$prefix}color-default-color-dark-background-alt
265
+ ),
266
+ __cta-wrapper__cta-link-dropdown_bg_color: var(
267
+ --#{$prefix}color-default-color-dark-background-alt
268
+ ),
269
+ )
270
+ );
271
+ }
272
+ }