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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/.esbuild/plugins/qgds-plugin-build-log.js +2 -2
  2. package/.esbuild/plugins/qgds-plugin-copy-assets.js +0 -3
  3. package/.esbuild/plugins/qgds-plugin-handlebar-partial-builder.js +76 -66
  4. package/.storybook/README.md +10 -0
  5. package/.storybook/{main.js → main.mjs} +4 -5
  6. package/.storybook/modes.js +3 -12
  7. package/.storybook/preview.js +14 -11
  8. package/dist/assets/components/bs5/footer/footer.hbs +20 -18
  9. package/dist/assets/components/bs5/head/head.hbs +1 -1
  10. package/dist/assets/components/bs5/header/header.hbs +40 -52
  11. package/dist/assets/components/bs5/header/headerBrand.hbs +9 -10
  12. package/dist/assets/components/bs5/logo/logo.hbs +2 -0
  13. package/dist/assets/components/bs5/logo/logoCOADeliveringForQLD.hbs +49 -0
  14. package/dist/assets/components/bs5/logo/logoCOALandscape.hbs +55 -109
  15. package/dist/assets/components/bs5/logo/logoCOALandscape2Lines.hbs +55 -55
  16. package/dist/assets/components/bs5/searchInput/searchInput.hbs +5 -5
  17. package/dist/assets/css/qld.bootstrap.css +1 -1
  18. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  19. package/dist/assets/css/qld.bootstrap.legacy.css +1 -1
  20. package/dist/assets/css/qld.bootstrap.legacy.css.map +3 -3
  21. package/dist/assets/img/coa-delivering-for-qld.svg +47 -0
  22. package/dist/assets/img/coa-delivering-for-qld.svg.old +58 -0
  23. package/dist/assets/img/coa-landscape-2lines.svg +63 -0
  24. package/dist/assets/img/coa-landscape-web.svg +56 -0
  25. package/dist/assets/js/handlebars.helpers.bundle.js +1 -1
  26. package/dist/assets/js/handlebars.helpers.bundle.js.map +3 -3
  27. package/dist/assets/js/handlebars.init.min.js +1329 -1344
  28. package/dist/assets/js/handlebars.init.min.js.map +4 -4
  29. package/dist/assets/js/handlebars.partials.js +2383 -136
  30. package/dist/assets/js/handlebars.partials.js.map +7 -0
  31. package/dist/assets/js/qld.bootstrap.min.js +3 -3
  32. package/dist/assets/js/qld.bootstrap.min.js.map +3 -3
  33. package/dist/assets/node/handlebars.init.min.js +219 -198
  34. package/dist/assets/node/handlebars.init.min.js.map +3 -3
  35. package/dist/components/bs5/footer/footer.hbs +20 -18
  36. package/dist/components/bs5/head/head.hbs +1 -1
  37. package/dist/components/bs5/header/header.hbs +40 -52
  38. package/dist/components/bs5/header/headerBrand.hbs +9 -10
  39. package/dist/components/bs5/logo/logo.hbs +2 -0
  40. package/dist/components/bs5/logo/logoCOADeliveringForQLD.hbs +49 -0
  41. package/dist/components/bs5/logo/logoCOALandscape.hbs +55 -109
  42. package/dist/components/bs5/logo/logoCOALandscape2Lines.hbs +55 -55
  43. package/dist/components/bs5/searchInput/searchInput.hbs +5 -5
  44. package/dist/package.json +27 -29
  45. package/dist/sample-data/correctincorrect/correctincorrect.data.json +1 -0
  46. package/dist/sample-data/header/header.variant.coBrand.data.json +5 -8
  47. package/dist/sample-data/header/header.variant.endorsed.data.json +3 -6
  48. package/dist/sample-data/header/header.variant.masterBrand.data.json +1 -6
  49. package/dist/sample-data/header/header.variant.standAlone.data.json +3 -6
  50. package/dist/sample-data/header/header.variant.subBrand.data.json +5 -8
  51. package/dist/sample-data/tabs/tabs.data.json +1 -2
  52. package/dist/sample-data/typography/typography.data.json +1 -0
  53. package/esbuild.js +16 -4
  54. package/package.json +27 -29
  55. package/pom.xml +3 -3
  56. package/src/components/bs5/accordion/Accordion.mdx +1 -1
  57. package/src/components/bs5/accordion/accordion.stories.js +17 -22
  58. package/src/components/bs5/backToTop/backToTop.mdx +1 -1
  59. package/src/components/bs5/banner/Banner.mdx +1 -1
  60. package/src/components/bs5/banner/banner.scss +2 -2
  61. package/src/components/bs5/blockquote/Blockquote.mdx +1 -1
  62. package/src/components/bs5/blockquote/manifest.json +1 -0
  63. package/src/components/bs5/breadcrumbs/Breadcrumbs.mdx +1 -1
  64. package/src/components/bs5/breadcrumbs/breadcrumbs.scss +7 -2
  65. package/src/components/bs5/breadcrumbs/breadcrumbs.stories.js +19 -10
  66. package/src/components/bs5/breadcrumbs/manifest.json +1 -0
  67. package/src/components/bs5/breadcumbsWrapper/manifest.json +1 -0
  68. package/src/components/bs5/button/Button.mdx +1 -1
  69. package/src/components/bs5/button/manifest.json +1 -0
  70. package/src/components/bs5/callToAction/callToAction.mdx +1 -1
  71. package/src/components/bs5/callToAction/callToAction.stories.js +15 -50
  72. package/src/components/bs5/callout/Callout.mdx +1 -1
  73. package/src/components/bs5/callout/callout.stories.js +7 -26
  74. package/src/components/bs5/callout/manifest.json +1 -0
  75. package/src/components/bs5/card/Card.mdx +1 -1
  76. package/src/components/bs5/card/card.scss +1 -1
  77. package/src/components/bs5/card/manifest.json +1 -0
  78. package/src/components/bs5/contentFooter/manifest.json +1 -0
  79. package/src/components/bs5/contentFooterWrapper/manifest.json +1 -0
  80. package/src/components/bs5/contentWrapper/manifest.json +1 -0
  81. package/src/components/bs5/correctincorrect/correctincorrect.data.json +1 -0
  82. package/src/components/bs5/correctincorrect/manifest.json +1 -0
  83. package/src/components/bs5/dateinput/Dateinput.stories.js +23 -31
  84. package/src/components/bs5/dateinput/manifest.json +1 -0
  85. package/src/components/bs5/directionLinks/DirectionLinks.mdx +1 -1
  86. package/src/components/bs5/directionLinks/directionLinks.stories.js +14 -12
  87. package/src/components/bs5/footer/Footer.mdx +1 -1
  88. package/src/components/bs5/footer/footer.hbs +20 -18
  89. package/src/components/bs5/footer/footer.scss +7 -5
  90. package/src/components/bs5/formcheck/manifest.json +1 -0
  91. package/src/components/bs5/formcheck/stories/checkbox/Checkbox.mdx +1 -1
  92. package/src/components/bs5/formcheck/stories/checkbox/checkbox.stories.js +44 -87
  93. package/src/components/bs5/formcheck/stories/radio/Radio.mdx +1 -1
  94. package/src/components/bs5/formcheck/stories/radio/radio.stories.js +9 -36
  95. package/src/components/bs5/fullPageWrapper/manifest.json +1 -0
  96. package/src/components/bs5/globalAlert/GlobalAlert.mdx +1 -1
  97. package/src/components/bs5/globalAlert/globalAlert.test.js +3 -3
  98. package/src/components/bs5/globalAlert/manifest.json +1 -0
  99. package/src/components/bs5/head/manifest.json +1 -0
  100. package/src/components/bs5/header/Header.js +25 -0
  101. package/src/components/bs5/header/Header.mdx +1 -1
  102. package/src/components/bs5/header/_header-variables.scss +61 -247
  103. package/src/components/bs5/header/header.functions.js +10 -15
  104. package/src/components/bs5/header/header.hbs +40 -52
  105. package/src/components/bs5/header/header.scss +166 -158
  106. package/src/components/bs5/header/header.stories.js +35 -233
  107. package/src/components/bs5/header/header.variant.coBrand.data.json +5 -8
  108. package/src/components/bs5/header/header.variant.endorsed.data.json +3 -6
  109. package/src/components/bs5/header/header.variant.masterBrand.data.json +1 -6
  110. package/src/components/bs5/header/header.variant.standAlone.data.json +3 -6
  111. package/src/components/bs5/header/header.variant.subBrand.data.json +5 -8
  112. package/src/components/bs5/header/headerBrand.hbs +9 -10
  113. package/src/components/bs5/header/manifest.json +1 -0
  114. package/src/components/bs5/icons/Icons.mdx +1 -1
  115. package/src/components/bs5/icons/manifest.json +1 -0
  116. package/src/components/bs5/icons/mdx/_IconsSizes.mdx +1 -1
  117. package/src/components/bs5/image/Image.mdx +1 -1
  118. package/src/components/bs5/inpageAlert/InpageAlert.mdx +1 -1
  119. package/src/components/bs5/inpageAlert/inpageAlert.scss +107 -120
  120. package/src/components/bs5/inpageAlert/inpageAlert.stories.js +7 -23
  121. package/src/components/bs5/inpageAlert/manifest.json +1 -0
  122. package/src/components/bs5/inpagenav/Inpagenav.mdx +1 -1
  123. package/src/components/bs5/inpagenav/inpagenav.stories.js +4 -6
  124. package/src/components/bs5/inpagenav/manifest.json +1 -0
  125. package/src/components/bs5/link/link.mdx +1 -1
  126. package/src/components/bs5/link/link.stories.js +4 -6
  127. package/src/components/bs5/linkColumns/linkColumns.mdx +1 -1
  128. package/src/components/bs5/linkColumns/linkColumns.scss +18 -25
  129. package/src/components/bs5/logo/Logo.mdx +1 -1
  130. package/src/components/bs5/logo/logo.hbs +2 -0
  131. package/src/components/bs5/logo/logoCOADeliveringForQLD.hbs +49 -0
  132. package/src/components/bs5/logo/logoCOALandscape.hbs +55 -109
  133. package/src/components/bs5/logo/logoCOALandscape2Lines.hbs +55 -55
  134. package/src/components/bs5/mainContainerWrapper/manifest.json +1 -0
  135. package/src/components/bs5/metaDcTerms/manifest.json +1 -0
  136. package/src/components/bs5/metaOpenGraph/manifest.json +1 -0
  137. package/src/components/bs5/modal/Modal.mdx +1 -1
  138. package/src/components/bs5/modal/manifest.json +1 -0
  139. package/src/components/bs5/navbar/navbar.scss +36 -14
  140. package/src/components/bs5/pagination/Pagination.mdx +1 -1
  141. package/src/components/bs5/pagination/manifest.json +1 -0
  142. package/src/components/bs5/pagination/pagination.stories.js +12 -21
  143. package/src/components/bs5/promotionalPanel/PromotionalPanel.mdx +1 -1
  144. package/src/components/bs5/quickexit/manifest.json +1 -0
  145. package/src/components/bs5/searchInput/SearchInput.js +3 -5
  146. package/src/components/bs5/searchInput/SearchInput.mdx +1 -1
  147. package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +5 -5
  148. package/src/components/bs5/searchInput/manifest.json +1 -0
  149. package/src/components/bs5/searchInput/searchInput.hbs +5 -5
  150. package/src/components/bs5/searchInput/searchInput.scss +13 -0
  151. package/src/components/bs5/searchInput/searchInput.stories.js +10 -12
  152. package/src/components/bs5/select/manifest.json +1 -0
  153. package/src/components/bs5/sidenav/Sidenav.mdx +1 -1
  154. package/src/components/bs5/sidenav/manifest.json +1 -0
  155. package/src/components/bs5/sidenav/sidenav.stories.js +4 -7
  156. package/src/components/bs5/sidenavWrapper/manifest.json +1 -0
  157. package/src/components/bs5/skiplinks/SkipLinks.mdx +1 -1
  158. package/src/components/bs5/spinner/manifest.json +1 -0
  159. package/src/components/bs5/table/Table.mdx +1 -1
  160. package/src/components/bs5/table/manifest.json +1 -0
  161. package/src/components/bs5/tabs/Tabs.mdx +1 -1
  162. package/src/components/bs5/tabs/tabs.data.json +1 -2
  163. package/src/components/bs5/tabs/tabs.stories.js +38 -215
  164. package/src/components/bs5/tag/Tag.mdx +1 -1
  165. package/src/components/bs5/tag/manifest.json +1 -0
  166. package/src/components/bs5/tag/tag--large.stories.js +53 -0
  167. package/src/components/bs5/tag/tag--standard.stories.js +39 -0
  168. package/src/components/bs5/tag/tag--status.stories.js +97 -0
  169. package/src/components/bs5/tag/tag.scss +67 -36
  170. package/src/components/bs5/tag/tag.stories.js +69 -106
  171. package/src/components/bs5/textarea/manifest.json +1 -0
  172. package/src/components/bs5/textbox/manifest.json +1 -0
  173. package/src/components/bs5/typography/Typography.mdx +1 -1
  174. package/src/components/bs5/typography/manifest.json +1 -0
  175. package/src/components/bs5/typography/typography.data.json +1 -0
  176. package/src/components/bs5/typography/typography.stories.js +6 -24
  177. package/src/components/bs5/video/Video.mdx +1 -1
  178. package/src/components/bs5/video/manifest.json +1 -0
  179. package/src/components/bs5/video/video.stories.js +6 -24
  180. package/src/css/main.scss +2 -2
  181. package/src/css/mixins/_index.scss +1 -0
  182. package/src/css/mixins/focusable.scss +6 -5
  183. package/src/css/mixins/make-link.scss +40 -0
  184. package/src/css/qld-print.scss +426 -304
  185. package/src/css/qld-theme.scss +16 -8
  186. package/src/css/qld-type.scss +3 -73
  187. package/src/css/variables/animation.scss +5 -0
  188. package/src/img/coa-delivering-for-qld.svg +47 -0
  189. package/src/img/coa-delivering-for-qld.svg.old +58 -0
  190. package/src/img/coa-landscape-2lines.svg +63 -0
  191. package/src/img/coa-landscape-web.svg +56 -0
  192. package/src/js/handlebars.helpers.js +51 -38
  193. package/src/js/handlebars.partials.js +12 -10
  194. package/src/stories/Introduction.mdx +1 -1
  195. package/vite.config.js +17 -0
  196. package/.eslintrc.cjs +0 -52
  197. package/dist/assets/img/_coa_header-logo-qgov--stacked.svg +0 -171
  198. package/dist/assets/img/_coa_header-logo-qgov-masterbrand.svg +0 -56
  199. package/dist/assets/img/_coa_preheader-logo-qgov.svg +0 -56
  200. package/dist/assets/js/bootstrap.js +0 -6312
  201. package/dist/assets/js/handlebars.helpers.js +0 -292
  202. package/dist/assets/js/handlebars.init.cjs +0 -6
  203. package/dist/assets/js/handlebars.init.js +0 -34
  204. package/dist/components/handlebars.helpers.js +0 -292
  205. package/dist/components/handlebars.init.cjs +0 -6
  206. package/dist/components/handlebars.init.js +0 -34
  207. package/dist/components/handlebars.partials.js +0 -136
  208. package/src/img/_coa_header-logo-qgov--stacked.svg +0 -171
  209. package/src/img/_coa_header-logo-qgov-masterbrand.svg +0 -56
  210. package/src/img/_coa_preheader-logo-qgov.svg +0 -56
@@ -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>
package/dist/package.json CHANGED
@@ -1,14 +1,17 @@
1
1
  {
2
2
  "name": "@qld-gov-au/qgds-bootstrap5",
3
- "version": "2.0.6",
3
+ "version": "2.0.8",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/qld-gov-au/qgds-bootstrap5"
8
8
  },
9
9
  "main": "index.js",
10
+ "engines": {
11
+ "node": ">=22.0.0"
12
+ },
10
13
  "scripts": {
11
- "prepare": "npm run build",
14
+ "prepare": "husky && npm run build",
12
15
  "start": "npm run build",
13
16
  "lint": "eslint --fix --ext .js,.json --ignore-pattern 'docs/*' --ignore-pattern 'dist/*' --ignore-pattern 'storybook-static/*' --ignore-pattern 'src/js/handlebars.partials.js' .",
14
17
  "build": "node esbuild.js",
@@ -21,7 +24,7 @@
21
24
  "test:testrunner": "sleep 2 && mocha --timeout 10000 --require ./test/testServer.test.js ",
22
25
  "watch": "node esbuild.js --watch",
23
26
  "serve": "http-server dist -p 8080",
24
- "serve:test": "http-server dist -p 8081 --silent",
27
+ "serve:test": "http-server . -p 8081 --silent",
25
28
  "dev-storybook": "npm-run-all --parallel watch storybook",
26
29
  "storybook": "storybook dev -p 6006",
27
30
  "storybook:themes": "ENABLE_DYNAMIC_THEME=true storybook dev -p 6006",
@@ -50,38 +53,34 @@
50
53
  "bootstrap": "^5.3.8"
51
54
  },
52
55
  "devDependencies": {
53
- "@chromatic-com/storybook": "^3.2.2",
56
+ "@chromatic-com/storybook": "^4.1.1",
57
+ "@eslint/eslintrc": "^3.3.1",
58
+ "@eslint/json": "^0.13.2",
54
59
  "@qld-gov-au/qgds-tokens": "^1.2.1",
55
- "@storybook/addon-a11y": "^8.6.14",
56
- "@storybook/addon-essentials": "^8.6.14",
57
- "@storybook/addon-interactions": "^8.6.14",
58
- "@storybook/addon-links": "^8.6.14",
59
- "@storybook/addon-themes": "^8.6.14",
60
- "@storybook/addon-viewport": "^8.6.14",
61
- "@storybook/blocks": "^8.6.14",
62
- "@storybook/cli": "^8.6.14",
63
- "@storybook/html": "^8.6.14",
64
- "@storybook/html-vite": "^8.6.14",
65
- "@storybook/manager-api": "^8.6.14",
66
- "@storybook/test": "^8.6.14",
67
- "@storybook/theming": "^8.6.14",
68
- "@stylistic/eslint-plugin-js": "2.1.0",
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",
69
66
  "@vitejs/plugin-vue": "5.2.4",
70
67
  "@vitest/ui": "^3.2.4",
71
68
  "autoprefixer": "^10.4.20",
72
69
  "chai": "^5.2.0",
73
70
  "chalk": "^5.3.0",
74
- "chromatic": "^11.28.2",
75
- "esbuild": "0.25.5",
71
+ "chromatic": "^13.3.1",
72
+ "esbuild": "0.25.11",
76
73
  "esbuild-plugin-copy": "^2.1.1",
77
74
  "esbuild-plugin-eslint": "^0.3.7",
78
75
  "esbuild-plugin-handlebars": "1.0.3",
79
76
  "esbuild-sass-plugin": "3.3.1",
80
- "eslint": "8.57.0",
81
- "eslint-plugin-json": "^3.1.0",
82
- "eslint-plugin-storybook": "^0.12.0",
77
+ "eslint": "9.38.0",
78
+ "eslint-plugin-json": "^4.0.1",
79
+ "eslint-plugin-storybook": "^9.1.13",
80
+ "globals": "16.4.0",
83
81
  "handlebars": "4.7.8",
84
82
  "http-server": "^14.1.1",
83
+ "husky": "^9.1.7",
85
84
  "jsdom": "^26.1.0",
86
85
  "mini-svg-data-uri": "^1.4.4",
87
86
  "minimist": "^1.2.8",
@@ -91,17 +90,16 @@
91
90
  "onchange": "^7.1.0",
92
91
  "portfinder": "^1.0.37",
93
92
  "postcss": "^8.5.4",
94
- "prettier": "3.5.3",
93
+ "prettier": "3.6.2",
95
94
  "raw-loader": "^4.0.2",
96
95
  "rimraf": "^6.0.1",
97
96
  "run-parallel": "^1.2.0",
98
97
  "sass": "^1.89.2",
99
- "selenium-webdriver": "^4.32.0",
100
- "storybook": "^8.6.14",
101
- "storybook-addon-deep-controls": "^0.9.2",
98
+ "selenium-webdriver": "^4.33.0",
99
+ "storybook": "^9.1.13",
100
+ "storybook-addon-deep-controls": "^0.9.5",
102
101
  "vite": "^6.3.5",
103
- "vitest": "^3.2.4",
104
- "watch": "^1.0.2"
102
+ "vitest": "^3.2.4"
105
103
  },
106
104
  "peerDependencies": {
107
105
  "typescript": "^5.0.0"
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "isCoBrand": true,
3
+ "hasDeliveringForQLDLogo": true,
3
4
  "preHeader": {
5
+ "palette": "default",
4
6
  "globalLink": {
5
7
  "text": "www.qld.gov.au",
6
8
  "url": "https://qld.gov.au"
@@ -15,25 +17,20 @@
15
17
  ]
16
18
  },
17
19
  "mainContent": {
20
+ "palette": "dark",
18
21
  "url": "https://qld.gov.au",
19
22
  "logo": null,
20
23
  "secondaryLogo": null,
21
- "siteTitle": "Department of Seniors, Disability Services and Aboriginal and Torres Strait Islander Partnerships",
22
- "subline": ""
24
+ "siteTitle": "Cairns and Hinterland",
25
+ "subline": "Hospital and Health Service"
23
26
  },
24
27
  "assets": {
25
- "SVGSpritePath": "./assets/img/icons-sprite.svg",
26
28
  "siteSearch": {
27
29
  "value": "#",
28
30
  "placeholder": "",
29
31
  "label": "",
30
32
  "formAction": {
31
33
  "url": "https://www.forgov.qld.gov.au/search"
32
- },
33
- "options": {
34
- "borderStyle": {
35
- "full": true
36
- }
37
34
  }
38
35
  }
39
36
  }
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "isEndorsedBrand": true,
3
+ "hasDeliveringForQLDLogo": true,
3
4
  "preHeader": {
5
+ "palette": "default",
4
6
  "globalLink": {
5
7
  "text": "www.qld.gov.au",
6
8
  "url": "https://qld.gov.au"
@@ -108,6 +110,7 @@
108
110
  ]
109
111
  },
110
112
  "mainContent": {
113
+ "palette": "dark-alt",
111
114
  "url": "https://qld.gov.au",
112
115
  "logo": {
113
116
  "src": "assets/img/endorsed.svg",
@@ -121,18 +124,12 @@
121
124
  "subline": ""
122
125
  },
123
126
  "assets": {
124
- "SVGSpritePath": "./assets/img/icons-sprite.svg",
125
127
  "siteSearch": {
126
128
  "value": "#",
127
129
  "placeholder": "",
128
130
  "label": "",
129
131
  "formAction": {
130
132
  "url": "https://www.forgov.qld.gov.au/search"
131
- },
132
- "options": {
133
- "borderStyle": {
134
- "full": true
135
- }
136
133
  }
137
134
  }
138
135
  }
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "isMasterBrand": true,
3
+ "hasDeliveringForQLDLogo": true,
3
4
  "preHeader": {
4
5
  "palette": "dark",
5
6
  "globalLink": {
@@ -119,18 +120,12 @@
119
120
  },
120
121
 
121
122
  "assets": {
122
- "SVGSpritePath": "./assets/img/icons-sprite.svg",
123
123
  "siteSearch": {
124
124
  "value": "#",
125
125
  "placeholder": "",
126
126
  "label": "",
127
127
  "formAction": {
128
128
  "url": "https://www.forgov.qld.gov.au/search"
129
- },
130
- "options": {
131
- "borderStyle": {
132
- "full": true
133
- }
134
129
  }
135
130
  }
136
131
  }
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "isStandaloneBrand": true,
3
+ "hasDeliveringForQLDLogo": true,
3
4
  "preHeader": {
5
+ "palette": "dark-alt",
4
6
  "globalLink": {
5
7
  "text": "www.qld.gov.au",
6
8
  "url": "https://qld.gov.au"
@@ -110,6 +112,7 @@
110
112
  ]
111
113
  },
112
114
  "mainContent": {
115
+ "palette": "default",
113
116
  "url": "https://qld.gov.au",
114
117
  "siteTitle": "Standalone example",
115
118
  "subLine": "",
@@ -123,18 +126,12 @@
123
126
  }
124
127
  },
125
128
  "assets": {
126
- "SVGSpritePath": "./assets/img/icons-sprite.svg",
127
129
  "siteSearch": {
128
130
  "value": "#",
129
131
  "placeholder": "",
130
132
  "label": "",
131
133
  "formAction": {
132
134
  "url": "https://www.forgov.qld.gov.au/search"
133
- },
134
- "options": {
135
- "borderStyle": {
136
- "full": true
137
- }
138
135
  }
139
136
  }
140
137
  }
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "isSubBrand": true,
3
+ "hasDeliveringForQLDLogo": true,
3
4
  "preHeader": {
5
+ "palette": "dark",
4
6
  "globalLink": {
5
7
  "text": "www.qld.gov.au",
6
8
  "url": "https://qld.gov.au"
@@ -22,25 +24,20 @@
22
24
  ]
23
25
  },
24
26
  "mainContent": {
27
+ "palette": "default",
25
28
  "url": "https://qld.gov.au",
26
29
  "logoPath": "",
27
30
  "secondaryLogoPath": "",
28
- "siteTitle": "For government",
29
- "subline": "Hospital and Health Service"
31
+ "siteTitle": "Department of Seniors, Disability Services and Aboriginal and Torres Strait Islander Partnerships",
32
+ "subline": ""
30
33
  },
31
34
  "assets": {
32
- "SVGSpritePath": "./assets/img/icons-sprite.svg",
33
35
  "siteSearch": {
34
36
  "value": "#",
35
37
  "placeholder": "",
36
38
  "label": "",
37
39
  "formAction": {
38
40
  "url": "https://www.forgov.qld.gov.au/search"
39
- },
40
- "options": {
41
- "borderStyle": {
42
- "full": true
43
- }
44
41
  }
45
42
  }
46
43
  }
@@ -28,8 +28,7 @@
28
28
  {
29
29
  "tab_text": "Tab label 4",
30
30
  "title": "Section Heading Item 4",
31
- "content": "<p>Lorem ipsum dolor sit amet consectetur. Viverra eu pulvinar a eu mauris ac at ultricies est. Tincidunt ultrices commodo vestibulum non netus. Mauris maecenas lacus hendrerit urna ultricies auctor. Sed tristique nascetur sapien condimentum adipiscing augue quisque eu. Facilisi ligula quam faucibus feugiat. Sapien at at eget malesuada senectus donec pellentesque pellentesque odio.</p>",
32
- "disabled": true
31
+ "content": "<p>Lorem ipsum dolor sit amet consectetur. Viverra eu pulvinar a eu mauris ac at ultricies est. Tincidunt ultrices commodo vestibulum non netus. Mauris maecenas lacus hendrerit urna ultricies auctor. Sed tristique nascetur sapien condimentum adipiscing augue quisque eu. Facilisi ligula quam faucibus feugiat. Sapien at at eget malesuada senectus donec pellentesque pellentesque odio.</p>"
33
32
  },
34
33
  {
35
34
  "tab_text": "Tab label 5",
package/esbuild.js CHANGED
@@ -48,6 +48,11 @@ const buildConfig = {
48
48
  in: "./src/js/handlebars.helpers.js",
49
49
  out: "./assets/js/handlebars.helpers.bundle",
50
50
  },
51
+ {
52
+ //Deprecated init is where it should be at
53
+ in: "./src/js/handlebars.init.js",
54
+ out: "./assets/js/handlebars.partials",
55
+ },
51
56
  {
52
57
  in: "./src/js/handlebars.init.js",
53
58
  out: "./assets/js/handlebars.init.min",
@@ -70,11 +75,18 @@ const buildConfig = {
70
75
  versionPlugin(),
71
76
  QDGScleanFolders(),
72
77
  handlebarsPlugin(),
78
+ //https://github.com/twbs/bootstrap/issues/40962 bootstrap 5.x is not ready for sass 1.80, so silence what we can't change (review 2026)
73
79
  sassPlugin({
74
- //Hide sass deprecation warnings with a quiet flag... npm run build -- --quiet
75
- silenceDeprecations: argv.quiet
76
- ? ["import", "global-builtin", "mixed-decls", "color-functions"]
77
- : [],
80
+ silenceDeprecations: [
81
+ "legacy-js-api",
82
+ "mixed-decls",
83
+ "color-functions",
84
+ "global-builtin",
85
+ "import",
86
+ ],
87
+ indentType: "space",
88
+ indentWidth: 2,
89
+ loadPaths: ["./node_modules"],
78
90
  }),
79
91
  QDGSbuildLog(),
80
92
  ],
package/package.json CHANGED
@@ -1,14 +1,17 @@
1
1
  {
2
2
  "name": "@qld-gov-au/qgds-bootstrap5",
3
- "version": "2.0.6",
3
+ "version": "2.0.8",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/qld-gov-au/qgds-bootstrap5"
8
8
  },
9
9
  "main": "index.js",
10
+ "engines": {
11
+ "node": ">=22.0.0"
12
+ },
10
13
  "scripts": {
11
- "prepare": "npm run build",
14
+ "prepare": "husky && npm run build",
12
15
  "start": "npm run build",
13
16
  "lint": "eslint --fix --ext .js,.json --ignore-pattern 'docs/*' --ignore-pattern 'dist/*' --ignore-pattern 'storybook-static/*' --ignore-pattern 'src/js/handlebars.partials.js' .",
14
17
  "build": "node esbuild.js",
@@ -21,7 +24,7 @@
21
24
  "test:testrunner": "sleep 2 && mocha --timeout 10000 --require ./test/testServer.test.js ",
22
25
  "watch": "node esbuild.js --watch",
23
26
  "serve": "http-server dist -p 8080",
24
- "serve:test": "http-server dist -p 8081 --silent",
27
+ "serve:test": "http-server . -p 8081 --silent",
25
28
  "dev-storybook": "npm-run-all --parallel watch storybook",
26
29
  "storybook": "storybook dev -p 6006",
27
30
  "storybook:themes": "ENABLE_DYNAMIC_THEME=true storybook dev -p 6006",
@@ -50,38 +53,34 @@
50
53
  "bootstrap": "^5.3.8"
51
54
  },
52
55
  "devDependencies": {
53
- "@chromatic-com/storybook": "^3.2.2",
56
+ "@chromatic-com/storybook": "^4.1.1",
57
+ "@eslint/eslintrc": "^3.3.1",
58
+ "@eslint/json": "^0.13.2",
54
59
  "@qld-gov-au/qgds-tokens": "^1.2.1",
55
- "@storybook/addon-a11y": "^8.6.14",
56
- "@storybook/addon-essentials": "^8.6.14",
57
- "@storybook/addon-interactions": "^8.6.14",
58
- "@storybook/addon-links": "^8.6.14",
59
- "@storybook/addon-themes": "^8.6.14",
60
- "@storybook/addon-viewport": "^8.6.14",
61
- "@storybook/blocks": "^8.6.14",
62
- "@storybook/cli": "^8.6.14",
63
- "@storybook/html": "^8.6.14",
64
- "@storybook/html-vite": "^8.6.14",
65
- "@storybook/manager-api": "^8.6.14",
66
- "@storybook/test": "^8.6.14",
67
- "@storybook/theming": "^8.6.14",
68
- "@stylistic/eslint-plugin-js": "2.1.0",
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",
69
66
  "@vitejs/plugin-vue": "5.2.4",
70
67
  "@vitest/ui": "^3.2.4",
71
68
  "autoprefixer": "^10.4.20",
72
69
  "chai": "^5.2.0",
73
70
  "chalk": "^5.3.0",
74
- "chromatic": "^11.28.2",
75
- "esbuild": "0.25.5",
71
+ "chromatic": "^13.3.1",
72
+ "esbuild": "0.25.11",
76
73
  "esbuild-plugin-copy": "^2.1.1",
77
74
  "esbuild-plugin-eslint": "^0.3.7",
78
75
  "esbuild-plugin-handlebars": "1.0.3",
79
76
  "esbuild-sass-plugin": "3.3.1",
80
- "eslint": "8.57.0",
81
- "eslint-plugin-json": "^3.1.0",
82
- "eslint-plugin-storybook": "^0.12.0",
77
+ "eslint": "9.38.0",
78
+ "eslint-plugin-json": "^4.0.1",
79
+ "eslint-plugin-storybook": "^9.1.13",
80
+ "globals": "16.4.0",
83
81
  "handlebars": "4.7.8",
84
82
  "http-server": "^14.1.1",
83
+ "husky": "^9.1.7",
85
84
  "jsdom": "^26.1.0",
86
85
  "mini-svg-data-uri": "^1.4.4",
87
86
  "minimist": "^1.2.8",
@@ -91,17 +90,16 @@
91
90
  "onchange": "^7.1.0",
92
91
  "portfinder": "^1.0.37",
93
92
  "postcss": "^8.5.4",
94
- "prettier": "3.5.3",
93
+ "prettier": "3.6.2",
95
94
  "raw-loader": "^4.0.2",
96
95
  "rimraf": "^6.0.1",
97
96
  "run-parallel": "^1.2.0",
98
97
  "sass": "^1.89.2",
99
- "selenium-webdriver": "^4.32.0",
100
- "storybook": "^8.6.14",
101
- "storybook-addon-deep-controls": "^0.9.2",
98
+ "selenium-webdriver": "^4.33.0",
99
+ "storybook": "^9.1.13",
100
+ "storybook-addon-deep-controls": "^0.9.5",
102
101
  "vite": "^6.3.5",
103
- "vitest": "^3.2.4",
104
- "watch": "^1.0.2"
102
+ "vitest": "^3.2.4"
105
103
  },
106
104
  "peerDependencies": {
107
105
  "typescript": "^5.0.0"
package/pom.xml CHANGED
@@ -12,8 +12,8 @@
12
12
 
13
13
  <properties>
14
14
  <frontend-maven-plugin.version>1.15.0</frontend-maven-plugin.version>
15
- <node.version>v20.12.0</node.version>
16
- <npm.version>10.5.0</npm.version>
15
+ <node.version>v22.19.0</node.version>
16
+ <npm.version>10.9.3</npm.version>
17
17
  </properties>
18
18
 
19
19
  <build>
@@ -107,7 +107,7 @@
107
107
  <goals>
108
108
  <goal>npm</goal>
109
109
  </goals>
110
- <phase>storybook</phase>
110
+ <phase>package</phase>
111
111
  <configuration>
112
112
  <arguments>run build-storybook</arguments>
113
113
  </configuration>
@@ -1,4 +1,4 @@
1
- import { Canvas, Meta, Story, Source } from "@storybook/blocks";
1
+ import { Canvas, Meta, Story, Source } from "@storybook/addon-docs/blocks";
2
2
  import * as AccordionStories from "./accordion.stories";
3
3
  import defaultdata from "./accordion.data.json";
4
4
  import "../../../stories/documentation/storybook-documentation.scss";
@@ -20,6 +20,9 @@ export default {
20
20
  options: ["h2", "h3", "h4", "h5", "h6"],
21
21
  },
22
22
  },
23
+ globals: {
24
+ backgrounds: { value: "default" },
25
+ },
23
26
 
24
27
  /**
25
28
  * Additional parameters for the story.
@@ -36,13 +39,18 @@ export default {
36
39
  type: "figma",
37
40
  url: "https://www.figma.com/file/qKsxl3ogIlBp7dafgxXuCA/QLD-GOV-DDS?type=design&node-id=6276-45691&mode=design&t=crJKtPwMG2IcZf5E-4",
38
41
  },
42
+ backgrounds: {
43
+ disable: false,
44
+ },
39
45
  },
40
46
  };
41
47
 
42
48
  /**
43
49
  * Default Accordion story
44
50
  */
45
- export const Default = {};
51
+ export const Default = {
52
+ globals: { backgrounds: { value: "default" } },
53
+ };
46
54
 
47
55
  /**
48
56
  * Accordion in 'Light' colour theme.
@@ -57,11 +65,8 @@ export const Light = {
57
65
  2: { ...defaultdata.accordionItems[2], id: "light-three" },
58
66
  },
59
67
  },
60
- parameters: {
61
- backgrounds: {
62
- default: "Light",
63
- values: [{ name: "Light", value: "var(--qld-light-background)" }],
64
- },
68
+ globals: {
69
+ backgrounds: { value: "light" },
65
70
  },
66
71
  decorators: [
67
72
  (Story) => {
@@ -89,11 +94,8 @@ export const Alternative = {
89
94
  2: { ...defaultdata.accordionItems[2], id: "alt-three" },
90
95
  },
91
96
  },
92
- parameters: {
93
- backgrounds: {
94
- default: "Alternative",
95
- values: [{ name: "Alternative", value: "var(--qld-light-grey-alt)" }],
96
- },
97
+ globals: {
98
+ backgrounds: { value: "alt" },
97
99
  },
98
100
  decorators: [
99
101
  (Story) => {
@@ -121,11 +123,8 @@ export const Dark = {
121
123
  2: { ...defaultdata.accordionItems[2], id: "dark-three" },
122
124
  },
123
125
  },
124
- parameters: {
125
- backgrounds: {
126
- default: "Dark",
127
- values: [{ name: "Dark", value: "var(--qld-sapphire-blue)" }],
128
- },
126
+ globals: {
127
+ backgrounds: { value: "dark" },
129
128
  },
130
129
  decorators: [
131
130
  (Story) => {
@@ -153,12 +152,8 @@ export const DarkAlternative = {
153
152
  2: { ...defaultdata.accordionItems[2], id: "dark-alt-three" },
154
153
  },
155
154
  },
156
- parameters: {
157
- backgrounds: {
158
- default: "Dark alternative",
159
- values: [{ name: "Dark alternative", value: "var(--qld-dark-blue)" }],
160
- },
161
- },
155
+ globals: { backgrounds: { value: "darkAlt" } },
156
+
162
157
  decorators: [
163
158
  (Story) => {
164
159
  return `
@@ -1,4 +1,4 @@
1
- import { Canvas, Meta, Story } from "@storybook/blocks";
1
+ import { Canvas, Meta, Story } from "@storybook/addon-docs/blocks";
2
2
  import * as BackToTopStories from "./backToTop.stories";
3
3
 
4
4
  <Meta of={BackToTopStories} />
@@ -1,4 +1,4 @@
1
- import { Canvas, Meta, Story, Source } from "@storybook/blocks";
1
+ import { Canvas, Meta, Story, Source } from "@storybook/addon-docs/blocks";
2
2
  import * as BannerStories from "./banner.stories";
3
3
  import defaultdata from "./banner.data.json";
4
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:
@@ -478,7 +478,7 @@
478
478
  }
479
479
 
480
480
  .banner-abstract {
481
- margin: 1rem 0 0 0;
481
+ margin: 1.25rem 0 0 0;
482
482
  max-width: 50rem; //To make readable. Clips line length for very wide viewports.
483
483
  color: var(--#{$prefix}banner-abstract-color);
484
484
 
@@ -1,4 +1,4 @@
1
- import { Canvas, Meta, Story } from "@storybook/blocks";
1
+ import { Canvas, Meta, Story } from "@storybook/addon-docs/blocks";
2
2
  import * as BlockquoteStories from "./blockquote.stories";
3
3
 
4
4
  <Meta of={BlockquoteStories} />
@@ -1,4 +1,4 @@
1
- import { Canvas, Meta, Story, Source } from "@storybook/blocks";
1
+ import { Canvas, Meta, Story, Source } from "@storybook/addon-docs/blocks";
2
2
  import * as BreadcrumbsStories from "./breadcrumbs.stories";
3
3
  import defaultdata from "./breadcrumbs.data.json";
4
4
 
@@ -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 {