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

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 (73) hide show
  1. package/.storybook/preview.js +4 -1
  2. package/dist/assets/components/bs5/accordion/accordion.hbs +0 -3
  3. package/dist/assets/components/bs5/directionLinks/directionLinks.hbs +2 -1
  4. package/dist/assets/components/bs5/head/head.hbs +1 -1
  5. package/dist/assets/components/bs5/header/header.hbs +6 -9
  6. package/dist/assets/components/bs5/navbar/navbar.hbs +21 -14
  7. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithForm.hbs +1 -1
  8. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +140 -108
  9. package/dist/assets/components/bs5/pageLayout/templates/homePage.hbs +1 -1
  10. package/dist/assets/components/bs5/sidenav/sidenav.hbs +56 -37
  11. package/dist/assets/css/qld.bootstrap.css +1 -6
  12. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  13. package/dist/assets/js/handlebars.init.min.js +228 -175
  14. package/dist/assets/js/handlebars.init.min.js.map +2 -2
  15. package/dist/assets/js/qld.bootstrap.min.js +5 -5
  16. package/dist/assets/js/qld.bootstrap.min.js.map +4 -4
  17. package/dist/assets/node/handlebars.init.min.js +28 -24
  18. package/dist/assets/node/handlebars.init.min.js.map +2 -2
  19. package/dist/components/bs5/accordion/accordion.hbs +0 -3
  20. package/dist/components/bs5/directionLinks/directionLinks.hbs +2 -1
  21. package/dist/components/bs5/head/head.hbs +1 -1
  22. package/dist/components/bs5/header/header.hbs +6 -9
  23. package/dist/components/bs5/navbar/navbar.hbs +21 -14
  24. package/dist/components/bs5/pageLayout/templates/contentPageWithForm.hbs +1 -1
  25. package/dist/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +140 -108
  26. package/dist/components/bs5/pageLayout/templates/homePage.hbs +1 -1
  27. package/dist/components/bs5/sidenav/sidenav.hbs +56 -37
  28. package/dist/package.json +2 -4
  29. package/dist/sample-data/navbar/navbar.data.json +91 -25
  30. package/dist/sample-data/pagination/pagination.data.json +19 -19
  31. package/dist/sample-data/sidenav/sidenav.data.json +81 -80
  32. package/package.json +2 -4
  33. package/src/components/bs5/accordion/Accordion.mdx +34 -10
  34. package/src/components/bs5/accordion/__snapshots__/accordion.test.js.snap +0 -3
  35. package/src/components/bs5/accordion/accordion.hbs +0 -3
  36. package/src/components/bs5/accordion/mdx/_designResources.mdx +6 -0
  37. package/src/components/bs5/accordion/mdx/_usageInstructions.mdx +10 -0
  38. package/src/components/bs5/blockquote/blockquote.scss +47 -7
  39. package/src/components/bs5/button/button.scss +4 -0
  40. package/src/components/bs5/directionLinks/directionLinks.hbs +2 -1
  41. package/src/components/bs5/directionLinks/directionLinks.scss +27 -80
  42. package/src/components/bs5/directionLinks/directionLinks.stories.js +7 -14
  43. package/src/components/bs5/header/header.hbs +6 -9
  44. package/src/components/bs5/inpagenav/inpagenav.scss +7 -3
  45. package/src/components/bs5/navbar/navbar.data.json +91 -25
  46. package/src/components/bs5/navbar/navbar.functions.js +4 -0
  47. package/src/components/bs5/navbar/navbar.hbs +21 -14
  48. package/src/components/bs5/navbar/navbar.scss +219 -166
  49. package/src/components/bs5/navbar/navbar.stories.js +31 -2
  50. package/src/components/bs5/pageLayout/pageLayout.stories.js +3 -1
  51. package/src/components/bs5/pageLayout/templates/contentPageWithForm.hbs +1 -1
  52. package/src/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +140 -108
  53. package/src/components/bs5/pageLayout/templates/homePage.hbs +1 -1
  54. package/src/components/bs5/pagination/pagination.data.json +19 -19
  55. package/src/components/bs5/pagination/pagination.scss +37 -63
  56. package/src/components/bs5/promotionalPanel/promotionalPanel.scss +23 -22
  57. package/src/components/bs5/quickexit/quickexit.functions.js +24 -37
  58. package/src/components/bs5/quickexit/quickexit.scss +4 -0
  59. package/src/components/bs5/sidenav/sidenav.data.json +81 -80
  60. package/src/components/bs5/sidenav/sidenav.hbs +56 -37
  61. package/src/components/bs5/sidenav/sidenav.scss +236 -151
  62. package/src/components/bs5/skiplinks/skipLinks.functions.js +0 -9
  63. package/src/components/bs5/skiplinks/skipLinks.test.js +0 -1
  64. package/src/components/common/layout/container.scss +5 -0
  65. package/src/components/common/layout/content.scss +16 -8
  66. package/src/css/main.scss +0 -7
  67. package/src/css/qld-theme.scss +1 -0
  68. package/src/css/utilities/_index.scss +1 -0
  69. package/src/css/utilities/sr-only.scss +5 -0
  70. package/src/js/qld.bootstrap.js +1 -9
  71. package/src/stories/documentation/_storybookDocsTabs.jsx +63 -0
  72. package/src/stories/documentation/storybook-documentation.scss +51 -0
  73. package/src/components/bs5/pagination/health-icon-sprite.svg +0 -156
@@ -1,9 +1,15 @@
1
1
  //PREP REUSABLE VARIABLES, SCOPED TO .blockquote
2
2
  .blockquote {
3
3
  // Colours
4
- --#{$prefix}quote-border-color: var(--#{$prefix}color-default-color-light-accent-design-accent);
5
- --#{$prefix}quote-text-color: var(--#{$prefix}color-default-color-light-text-heading);
6
- --#{$prefix}quote-ref-text-color: var(--#{$prefix}color-default-color-light-text-default);
4
+ --#{$prefix}quote-border-color: var(
5
+ --#{$prefix}color-default-color-light-accent-design-accent
6
+ );
7
+ --#{$prefix}quote-text-color: var(
8
+ --#{$prefix}color-default-color-light-text-heading
9
+ );
10
+ --#{$prefix}quote-ref-text-color: var(
11
+ --#{$prefix}color-default-color-light-text-default
12
+ );
7
13
  //Measurements
8
14
  --#{$prefix}quote-spacing: 1rem;
9
15
  --#{$prefix}quote-border-width: 0.25rem;
@@ -11,13 +17,38 @@
11
17
  // Fonts
12
18
  --#{$prefix}quote-font-size: 1rem;
13
19
  --#{$prefix}quote-heavy-font-weight: 600;
20
+ --#{$prefix}blockquote-bg: var(--#{$prefix}body-bg);
21
+
22
+ .light & {
23
+ --#{$prefix}blockquote-bg: var(--#{$prefix}light-background);
24
+ }
25
+
26
+ .alt & {
27
+ --#{$prefix}blockquote-bg: var(--#{$prefix}light-grey-alt);
28
+ }
29
+
30
+ .dark & {
31
+ --#{$prefix}blockquote-bg: var(--#{$prefix}brand-primary);
32
+ }
33
+
34
+ .dark-alt & {
35
+ --#{$prefix}blockquote-bg: var(--#{$prefix}dark-blue);
36
+ }
37
+
38
+ .dark &,
39
+ .dark-alt & {
40
+ --#{$prefix}quote-text-color: var(--#{$prefix}white);
41
+ --#{$prefix}quote-ref-text-color: var(--#{$prefix}white);
42
+ }
14
43
  }
15
44
 
16
45
  //Ruleset for COMPONENT, reference our scoped variables, or use variables of ::root node
17
46
  .blockquote {
18
- border-inline-start: var(--#{$prefix}quote-border-width) solid var(--#{$prefix}quote-border-color);
47
+ background: var(--#{$prefix}blockquote-bg);
48
+ border-inline-start: var(--#{$prefix}quote-border-width) solid
49
+ var(--#{$prefix}quote-border-color);
19
50
  padding-block: calc(var(--#{$prefix}quote-spacing) * 0.5);
20
- padding-inline-start: calc(var(--#{$prefix}quote-spacing) * 1.5);
51
+ padding-inline-start: calc(var(--#{$prefix}quote-spacing) * 1.25);
21
52
  padding-inline-end: calc(var(--#{$prefix}quote-spacing) * 1);
22
53
 
23
54
  blockquote {
@@ -25,7 +56,7 @@
25
56
  margin-block-end: 0;
26
57
  color: var(--#{$prefix}quote-text-color);
27
58
  font-size: calc(var(--#{$prefix}quote-font-size) * 1.25);
28
- line-height: calc(var(--#{$prefix}quote-font-size) * 1.4);
59
+ line-height: calc(var(--#{$prefix}quote-font-size) * 1.75);
29
60
  font-weight: var(--#{$prefix}quote-heavy-font-weight);
30
61
  p:last-child {
31
62
  margin-block-end: 0;
@@ -34,6 +65,15 @@
34
65
  .quote-source {
35
66
  color: var(--#{$prefix}quote-ref-text-color);
36
67
  font-size: calc(var(--#{$prefix}quote-font-size) * 0.875);
37
- margin-block-start: calc(var(--#{$prefix}quote-spacing) * 0.625);
68
+ margin-block-start: calc(var(--#{$prefix}quote-spacing) * 0.75);
69
+ }
70
+
71
+ > figcaption {
72
+ background: transparent;
73
+ color: var(--figure-color);
74
+
75
+ display: block;
76
+ caption-side: bottom;
77
+ padding: 0;
38
78
  }
39
79
  }
@@ -165,6 +165,10 @@ a.btn,
165
165
  min-height: 3.25rem;
166
166
  text-align: center;
167
167
 
168
+ .qld-icon {
169
+ flex-shrink: 0;
170
+ }
171
+
168
172
  span[class^="icon-"],
169
173
  span[class^="fa-"] {
170
174
  margin: 0 0.5rem;
@@ -5,5 +5,6 @@
5
5
  {{~#if target}} target="{{target}}"{{/if~}}
6
6
  {{~#if arialabel}} aria-label="{{arialabel}}" {{/if~}}>
7
7
  {{{label}}}
8
- <span class="icon" aria-hidden="true"></span>
8
+ {{!-- <span class="icon" aria-hidden="true"></span> --}}
9
+ <span class="qld-icon qld-icon-md qld-icon-arrow-{{class}}" aria-hidden="true"></span>
9
10
  </a>
@@ -1,116 +1,63 @@
1
1
  // QGDS QOL Direction Links
2
2
 
3
3
  a.qld-dir-link {
4
-
5
- --dir-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M443.7 266.8l-165.9 176C274.5 446.3 269.1 448 265.5 448c-3.986 0-7.988-1.375-11.16-4.156c-6.773-5.938-7.275-16.06-1.118-22.59L393.9 272H16.59c-9.171 0-16.59-7.155-16.59-15.1S7.421 240 16.59 240h377.3l-140.7-149.3c-6.157-6.531-5.655-16.66 1.118-22.59c6.789-5.906 17.27-5.469 23.45 1.094l165.9 176C449.4 251.3 449.4 260.7 443.7 266.8z'/%3E%3C/svg%3E");
6
- --link-colour: var(--qld-light-action-primary);
7
- --icon-colour: var(--qld-light-action-secondary);
8
- --icon-colour-hover: var(--qld-light-action-secondary-hover);
4
+ --link-colour: var(--#{$prefix}light-action-primary);
5
+ --icon-colour: var(--#{$prefix}light-action-secondary);
6
+ --icon-colour-hover: var(--#{$prefix}light-action-secondary-hover);
9
7
 
10
8
  color: var(--link-colour);
11
9
  text-decoration-color: var(--link-colour);
12
10
  display: flex;
11
+ gap: 0.5rem;
13
12
  width: fit-content;
14
13
  justify-content: space-between;
15
14
  align-self: flex-start;
16
15
 
17
16
  &:focus {
18
17
  border-radius: 4px;
19
- outline: 3px solid var(--qld-focus-color);
18
+ outline: 3px solid var(--#{$prefix}focus-color);
20
19
  outline-offset: 2px;
21
20
  }
22
21
 
23
- &.small {
24
- font-size: 0.875rem;
25
- line-height: 1rem;
26
-
27
- .icon {
28
- &::after {
29
- zoom: 0.7;
30
- mask-position: 0;
31
- }
32
- }
33
- }
34
-
35
- .icon {
36
- &::after {
37
- content: "";
38
- display: inline-block;
39
- width: 1rem;
40
- height: 1.25rem;
41
- mask-image: var(--dir-icon);
42
- mask-repeat: no-repeat;
43
- mask-position: 0 0.25rem;
44
- background-color: var(--icon-colour);
45
- margin-inline: 0.5rem;
46
- }
47
- }
48
-
49
22
  &:hover {
50
-
51
- .icon {
52
- &::after {
53
- background-color: var(--icon-colour-hover);
54
- }
23
+ .qld-icon {
24
+ background-color: var(--icon-colour-hover);
55
25
  }
56
26
  }
57
-
58
- &.up {
59
- .icon {
60
- transform: rotate(270deg);
61
- }
62
- }
63
-
64
- &.down {
65
- .icon {
66
- transform: rotate(90deg);
67
- }
68
- }
69
-
70
- &.left {
71
- flex-direction: row-reverse;
72
-
73
- .icon {
74
- transform: rotate(180deg);
75
- }
76
- }
77
-
78
- &.right {
79
- .icon {
80
- transform: rotate(0deg);
81
- }
27
+ }
28
+ a[aria-disabled="true"] {
29
+ pointer-events: none;
30
+ color: var(--#{$prefix}hint-text-color-muted);
31
+ text-decoration-color: var(--#{$prefix}dark-grey-muted);
32
+ .qld-icon {
33
+ background-color: var(--#{$prefix}dark-grey-muted);
82
34
  }
83
35
  }
84
-
85
36
  .light,
86
37
  .alt {
87
38
  .qld-dir-link {
88
- --link-colour: var(--qld-light-action-primary);
89
- --icon-colour: var(--qld-light-action-secondary);
90
- --icon-colour-hover: var(--qld-light-action-secondary-hover);
39
+ --link-colour: var(--#{$prefix}light-action-primary);
40
+ --icon-colour: var(--#{$prefix}light-action-secondary);
41
+ --icon-colour-hover: var(--#{$prefix}light-action-secondary-hover);
91
42
  }
92
43
  }
93
44
 
94
45
  .dark,
95
46
  .dark-alt {
96
47
  .qld-dir-link {
97
- --link-colour: var(--qld-dark-text);
98
- --icon-colour: var(--qld-dark-action-secondary);
99
- --icon-colour-hover: var(--qld-dark-action-secondary-hover);
48
+ --link-colour: var(--#{$prefix}dark-text);
49
+ --icon-colour: var(--#{$prefix}dark-action-secondary);
50
+ --icon-colour-hover: var(--#{$prefix}dark-action-secondary-hover);
51
+ }
52
+ a[aria-disabled="true"] {
53
+ color: var(--#{$prefix}dark-text-lighter);
54
+ text-decoration-color: var(--#{$prefix}dark-text-lighter);
55
+ .qld-icon {
56
+ background-color: var(--#{$prefix}dark-text-lighter);
57
+ }
100
58
  }
101
59
  }
102
60
 
103
61
  li .qld-dir-link {
104
62
  width: auto;
105
63
  }
106
-
107
- a[aria-disabled="true"] {
108
- pointer-events: none;
109
- color: var(--qld-dark-grey-muted);
110
-
111
- .icon {
112
- &::after {
113
- background-color: var(--qld-dark-grey-muted);
114
- }
115
- }
116
- }
@@ -15,29 +15,21 @@ export default {
15
15
  <!-- Grid container -->
16
16
  <div class="container">
17
17
  <div class="row">
18
- <div class="col">
19
-
18
+ <div class="col">
20
19
  <!-- Component HTML -->
21
- ${new DirectionLinks({ ...args, class: "up", label: "Up" }).html}
22
-
20
+ ${new DirectionLinks({ ...args, class: "up", label: "Up" }).html}
23
21
  </div>
24
22
  <div class="col">
25
-
26
23
  <!-- Component HTML -->
27
- ${new DirectionLinks({ ...args, class: "down", label: "Down" }).html}
28
-
24
+ ${new DirectionLinks({ ...args, class: "down", label: "Down" }).html}
29
25
  </div>
30
26
  <div class="col">
31
-
32
27
  <!-- Component HTML -->
33
- ${new DirectionLinks({ ...args, class: "left", label: "Left" }).html}
34
-
28
+ ${new DirectionLinks({ ...args, class: "left", label: "Left" }).html}
35
29
  </div>
36
- <div class="col">
37
-
30
+ <div class="col">
38
31
  <!-- Component HTML -->
39
- ${new DirectionLinks({ ...args, class: "right", label: "Right" }).html}
40
-
32
+ ${new DirectionLinks({ ...args, class: "right", label: "Right" }).html}
41
33
  </div>
42
34
  </div>
43
35
  </div>
@@ -59,6 +51,7 @@ export default {
59
51
  label: { control: "text" },
60
52
  },
61
53
  parameters: {
54
+ controls: { disable: true },
62
55
  design: {
63
56
  name: "QGDS Figma Reference",
64
57
  type: "figma",
@@ -22,7 +22,7 @@
22
22
 
23
23
  <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg"
24
24
  class="qld-header-dropdown-icon ">
25
- <use href="{{@root.assets.SVGSpritePath}}#qgds-icon-chevron-down"
25
+ <use href="{{../assets.SVGSpritePath}}#qgds-icon-chevron-down"
26
26
  aria-hidden="true"></use>
27
27
  </svg>
28
28
  </a>
@@ -35,7 +35,7 @@
35
35
  <a class="qld-header-link dropdown-item " href="{{url}}" {{#if target}}target="{{target}}"{{/if}}>
36
36
  {{text}}
37
37
  <svg width="24" height="24" class="qld-header-icon qld-header-dropdown-item-icon">
38
- <use href="{{@root.assets.SVGSpritePath}}#qgds-icon-arrow-right"
38
+ <use href="{{ ../../assets.SVGSpritePath }}#qgds-icon-arrow-right"
39
39
  aria-hidden="true"></use>
40
40
  </svg>
41
41
  </a>
@@ -66,7 +66,7 @@
66
66
  <a class="qld-header-link" href="{{url}}">
67
67
  {{#if icon}}
68
68
  <svg class="qld-header-link-icon">
69
- <use href="{{@root.assets.SVGSpritePath}}#qgds-icon-{{icon}}" aria-hidden="true"></use>
69
+ <use href="{{ ../assets.SVGSpritePath }}#qgds-icon-{{icon}}" aria-hidden="true"></use>
70
70
  </svg>{{/if}}{{{text}}}
71
71
  </a>
72
72
  {{/if}}
@@ -80,11 +80,8 @@
80
80
  <button id="qld-header-toggle-search-button" aria-controls="qld-header-search"
81
81
  class="qld-header-toggle-main-nav" aria-expanded="false">
82
82
  <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg">
83
- <use class="icon-search"
84
- href="{{@root.assets.SVGSpritePath}}#qgds-icon-search" aria-hidden="true"
85
- style="display: block;"></use>
86
- <use class="icon-close" href="{{@root.assets.SVGSpritePath}}#qgds-icon-close"
87
- style="display: none;"></use>
83
+ <use class="icon-search" href="{{ assets.SVGSpritePath }}#qgds-icon-search" aria-hidden="true" style="display: block;"></use>
84
+ <use class="icon-close" href="{{ assets.SVGSpritePath}}#qgds-icon-close" style="display: none;"></use>
88
85
  </svg>
89
86
  <span class="qld-header-toggle-main-nav-text">Search</span>
90
87
  </button>
@@ -94,7 +91,7 @@
94
91
  data-bs-toggle="collapse" data-bs-target="#main-nav" aria-controls="main-nav" aria-expanded="false"
95
92
  aria-label="Open menu">
96
93
  <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg">
97
- <use href="{{@root.assets.SVGSpritePath}}#qgds-icon-menu" aria-hidden="true">
94
+ <use href="{{assets.SVGSpritePath}}#qgds-icon-menu" aria-hidden="true">
98
95
  </use>
99
96
  </svg>
100
97
  <span class="qld-header-toggle-main-nav-text">Menu</span>
@@ -3,9 +3,8 @@
3
3
 
4
4
  // QGDS specific In-page Navigation variables.
5
5
  .qld-inpage-nav {
6
- --#{$prefix}inpage-nav-padding-left: 1.5rem;
7
- --#{$prefix}inpage-nav-title-padding-left: $nav-link-padding-x;
8
- --#{$prefix}inpage-nav-link-padding-left: $nav-link-padding-x;
6
+ --#{$prefix}inpage-nav-padding-left: 1.25rem;
7
+ --#{$prefix}inpage-nav-title-padding-left: 0;
9
8
  --#{$prefix}inpage-nav-link-padding-y: 0.25rem;
10
9
  --#{$prefix}inpage-nav-border-color: var(--#{$prefix}brand-primary);
11
10
  }
@@ -46,10 +45,15 @@
46
45
  padding-bottom: var(--#{$prefix}inpage-nav-link-padding-y);
47
46
  padding-left: var(--#{$prefix}inpage-nav-title-padding-left);
48
47
  color: var(--#{$prefix}nav-link-color);
48
+ text-decoration-line: underline;
49
49
  }
50
50
 
51
51
  &:first-child .nav-link {
52
52
  padding-top: 0;
53
53
  }
54
+
55
+ &:last-child .nav-link {
56
+ padding-bottom: 0;
57
+ }
54
58
  }
55
59
  }
@@ -12,70 +12,87 @@
12
12
  "alternativeColor": false,
13
13
  "mobileOnly": false,
14
14
  "hideLabel": true,
15
+ "currentPage": true,
15
16
  "target": ""
16
17
  },
17
18
  {
18
19
  "text": "Simple list",
19
20
  "iconName": "",
20
- "url": "index.html",
21
- "alternativeColor": true,
21
+ "url": "https://www.wired.html",
22
+ "alternativeColor": false,
22
23
  "mobileOnly": false,
24
+ "currentPage": false,
23
25
  "hideLabel": false,
24
26
  "target": "_blank",
25
27
  "dropdownOptions": {
26
- "alternativeText": "Patients and visitors",
27
- "description": "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.",
28
- "viewAllHref": "https://example.com"
28
+ "hasNoLink": false,
29
+ "alternativeText": "",
30
+ "description": "",
31
+ "viewAllHref": ""
29
32
  },
30
33
  "navigationItems": [
31
34
  {
32
35
  "text": "Find your reason",
33
36
  "description": "",
34
37
  "url": "index.html",
35
- "mobileOnly": true,
36
- "target": ""
38
+ "mobileOnly": false,
39
+ "target": "",
40
+ "isHTML": false,
41
+ "htmlContent": ""
37
42
  },
38
43
  {
39
44
  "text": "Quit stories",
40
45
  "description": "",
41
46
  "url": "index.html",
42
47
  "mobileOnly": false,
43
- "target": ""
48
+ "target": "",
49
+ "isHTML": false,
50
+ "htmlContent": ""
44
51
  },
45
52
  {
46
53
  "text": "Vaping (e-cigarettes)",
47
54
  "description": "",
48
55
  "url": "index.html",
49
56
  "mobileOnly": false,
50
- "target": ""
57
+ "target": "",
58
+ "isHTML": false,
59
+ "htmlContent": ""
51
60
  },
52
61
  {
53
62
  "text": "Choose your method",
54
63
  "description": "",
55
64
  "url": "index.html",
56
65
  "mobileOnly": false,
57
- "target": ""
66
+ "target": "",
67
+ "isHTML": false,
68
+ "htmlContent": ""
58
69
  },
59
70
  {
60
71
  "text": "Pregnancy and smoking",
61
72
  "description": "",
62
73
  "url": "index.html",
63
74
  "mobileOnly": false,
64
- "target": ""
75
+ "target": "",
76
+ "isHTML": false,
77
+ "htmlContent": ""
65
78
  },
66
79
  {
67
80
  "text": "Sign up for our support program",
68
81
  "description": "",
69
82
  "url": "index.html",
70
83
  "mobileOnly": false,
71
- "target": ""
84
+ "target": "",
85
+ "isHTML": false,
86
+ "htmlContent": ""
72
87
  },
73
88
  {
74
89
  "text": "Plan your journey",
75
90
  "description": "",
76
91
  "url": "index.html",
77
92
  "mobileOnly": false,
78
- "target": ""
93
+ "target": "",
94
+ "isHTML": false,
95
+ "htmlContent": ""
79
96
  }
80
97
  ]
81
98
  },
@@ -83,11 +100,13 @@
83
100
  "text": "Mega menu",
84
101
  "iconName": "qld-icon-calendar",
85
102
  "url": "https://example.com",
86
- "alternativeColor": true,
103
+ "alternativeColor": false,
87
104
  "mobileOnly": false,
105
+ "currentPage": false,
88
106
  "hideLabel": false,
89
107
  "target": "",
90
108
  "dropdownOptions": {
109
+ "hasNoLink": true,
91
110
  "alternativeText": "Mega menu alt title",
92
111
  "description": "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.",
93
112
  "viewAllHref": "index.html"
@@ -98,56 +117,72 @@
98
117
  "description": "One of the best motivations for quitting is having a clear reason in mind so you know exactly why you’re doing it in the first place.",
99
118
  "url": "index.html",
100
119
  "mobileOnly": false,
101
- "target": ""
120
+ "target": "",
121
+ "isHTML": false,
122
+ "htmlContent": ""
102
123
  },
103
124
  {
104
125
  "text": "Aboriginal and Torres Strait Islander support",
105
126
  "description": "Be encouraged and motivated by listening to stories of others who've quit smoking for life.",
106
127
  "url": "index.html",
107
128
  "mobileOnly": false,
108
- "target": ""
129
+ "target": "",
130
+ "isHTML": false,
131
+ "htmlContent": ""
109
132
  },
110
133
  {
111
134
  "text": "Your healthcare rights and responsibilities",
112
135
  "description": "Vaping products are also known as e-cigarettes, e-cigars, vape pens or personal vapourisers. Vapes are harmful. The safest option is to not vape at all.",
113
136
  "url": "index.html",
114
137
  "mobileOnly": false,
115
- "target": ""
138
+ "target": "",
139
+ "isHTML": false,
140
+ "htmlContent": ""
116
141
  },
117
142
  {
118
143
  "text": "Going to hospital",
119
144
  "description": "There are plenty of ways to quit smoking cigarettes and vapes. Find one that suits you best and commit to it.",
120
145
  "url": "index.html",
121
146
  "mobileOnly": false,
122
- "target": ""
147
+ "target": "",
148
+ "isHTML": false,
149
+ "htmlContent": ""
123
150
  },
124
151
  {
125
152
  "text": "Interpreter services",
126
153
  "description": "Whether you’re thinking about getting pregnant, you're pregnant or have recently given birth, quitting smoking or vaping is the best thing you can do for the health of you and your baby.",
127
154
  "url": "index.html",
128
155
  "mobileOnly": false,
129
- "target": ""
156
+ "target": "",
157
+ "isHTML": false,
158
+ "htmlContent": ""
130
159
  },
131
160
  {
132
161
  "text": "Health costs, insurance and financial support",
133
162
  "description": "Sign up for My Quit Journey to support you to stop smoking.",
134
163
  "url": "index.html",
135
164
  "mobileOnly": false,
136
- "target": ""
165
+ "target": "",
166
+ "isHTML": false,
167
+ "htmlContent": ""
137
168
  },
138
169
  {
139
170
  "text": "Leaving hospital",
140
171
  "description": "Congratulations on taking the first step in your journey and deciding to make one of the best choices of your life.",
141
172
  "url": "index.html",
142
173
  "mobileOnly": false,
143
- "target": ""
174
+ "target": "",
175
+ "isHTML": false,
176
+ "htmlContent": ""
144
177
  },
145
178
  {
146
179
  "text": "Your health record",
147
180
  "description": "Congratulations on taking the first step in your journey and deciding to make one of the best choices of your life.",
148
181
  "url": "index.html",
149
182
  "mobileOnly": false,
150
- "target": ""
183
+ "target": "",
184
+ "isHTML": false,
185
+ "htmlContent": ""
151
186
  }
152
187
  ]
153
188
  },
@@ -157,6 +192,7 @@
157
192
  "url": "/iframe.html?viewMode=story&id=3-components-navbar--default",
158
193
  "alternativeColor": false,
159
194
  "mobileOnly": false,
195
+ "currentPage": false,
160
196
  "hideLabel": false,
161
197
  "target": ""
162
198
  },
@@ -166,24 +202,54 @@
166
202
  "url": "/?path=/docs/3-components-navbar--overview",
167
203
  "alternativeColor": false,
168
204
  "mobileOnly": false,
205
+ "currentPage": false,
169
206
  "hideLabel": false,
170
207
  "target": ""
171
208
  },
172
209
  {
173
- "text": "Mobile only",
210
+ "text": "Full screen view 2",
174
211
  "iconName": "",
175
212
  "url": "index.html",
176
- "alternativeColor": false,
213
+ "alternativeColor": true,
177
214
  "mobileOnly": true,
215
+ "currentPage": false,
178
216
  "hideLabel": false,
179
217
  "target": ""
180
218
  },
219
+ {
220
+ "text": "Login",
221
+ "iconName": "qld-icon-login",
222
+ "url": "",
223
+ "alternativeColor": true,
224
+ "mobileOnly": true,
225
+ "currentPage": false,
226
+ "hideLabel": false,
227
+ "target": "",
228
+ "dropdownOptions": {
229
+ "hasNoLink": true,
230
+ "alternativeText": "",
231
+ "description": "",
232
+ "viewAllHref": ""
233
+ },
234
+ "navigationItems": [
235
+ {
236
+ "text": "",
237
+ "description": "",
238
+ "url": "",
239
+ "mobileOnly": true,
240
+ "target": "",
241
+ "isHTML": true,
242
+ "htmlContent": "<div class='someClass'><h4 class='mt-2 mb-3'>Log in to For government</h4><p>Most employees can log in using single sign on (SSO).</p><div class='someClass'><a class='btn btn-secondary justify-content-center' href='/someLink'>Log in with single sign-on</a><div class='group'><a class='mt-2 qld__header__cta-group-list' href='/somelink'>If your agency doesn't use SSO.</a></div></div><hr><h4 class='mt-2 mb-3'>Select your agency</h4><p>See information relevant to your agency.</p></div>"
243
+ }
244
+ ]
245
+ },
181
246
  {
182
247
  "text": "Mobile only with icon",
183
248
  "iconName": "qld-icon-chart",
184
249
  "url": "index.html",
185
- "alternativeColor": false,
250
+ "alternativeColor": true,
186
251
  "mobileOnly": true,
252
+ "currentPage": false,
187
253
  "hideLabel": false,
188
254
  "target": ""
189
255
  }
@@ -26,6 +26,10 @@ export function initializeNavbar() {
26
26
  // Toggle dropdown functionality based on screen size
27
27
  dropdownToggles.forEach((toggle) => {
28
28
  if (isMobile) {
29
+ // Skip toggle items with hasNoLink class
30
+ if (toggle.classList.contains("hasNoLink")) {
31
+ return;
32
+ }
29
33
  toggle.classList.replace("dropdown-toggle", "no-dropdown-toggle");
30
34
  toggle.removeAttribute("data-bs-toggle");
31
35
  } else {