@qld-gov-au/qgds-bootstrap5 1.0.21 → 1.1.1

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 (127) hide show
  1. package/.esbuild/helpers/listFilesHbs.js +54 -0
  2. package/.esbuild/helpers/logger.js +1 -0
  3. package/.esbuild/plugins/qgds-plugin-build-log.js +22 -14
  4. package/.esbuild/plugins/qgds-plugin-copy-assets.js +18 -19
  5. package/.esbuild/plugins/qgds-plugin-handlebar-partial-builder.js +2 -2
  6. package/.esbuild/plugins/qgds-plugin-version.js +44 -15
  7. package/dist/README.md +128 -0
  8. package/dist/assets/components/bs5/accordion/accordion.hbs +28 -0
  9. package/dist/assets/components/bs5/banner/banner.hbs +29 -0
  10. package/dist/assets/components/bs5/blockquote/blockquote.hbs +13 -0
  11. package/dist/assets/components/bs5/breadcrumbs/breadcrumbs.hbs +16 -0
  12. package/dist/assets/components/bs5/breadcumbsWrapper/breadcrumbsWrapper.hbs +11 -0
  13. package/dist/assets/components/bs5/breadcumbsWrapper/breadcrumbsWrapper.test.hbs +7 -0
  14. package/dist/assets/components/bs5/button/button.hbs +31 -0
  15. package/dist/assets/components/bs5/callout/callout.hbs +8 -0
  16. package/dist/assets/components/bs5/card/card.hbs +66 -0
  17. package/dist/assets/components/bs5/contentFooter/contentFooter.hbs +4 -0
  18. package/dist/assets/components/bs5/contentFooterWrapper/contentFooterWrapper.hbs +5 -0
  19. package/dist/assets/components/bs5/contentFooterWrapper/contentFooterWrapper.test.hbs +13 -0
  20. package/dist/assets/components/bs5/contentWrapper/contentWrapper.hbs +5 -0
  21. package/dist/assets/components/bs5/contentWrapper/contentWrapper.test.hbs +12 -0
  22. package/dist/assets/components/bs5/correctincorrect/correctincorrect.hbs +0 -0
  23. package/dist/assets/components/bs5/dateinput/dateinput.hbs +64 -0
  24. package/dist/assets/components/bs5/footer/footer.hbs +351 -0
  25. package/dist/assets/components/bs5/footer/footerForgov.hbs +267 -0
  26. package/dist/assets/components/bs5/formcheck/formcheck.hbs +23 -0
  27. package/dist/assets/components/bs5/fullPageWrapper/fullPage.hbs +16 -0
  28. package/dist/assets/components/bs5/fullPageWrapper/fullPage.test.hbs +4 -0
  29. package/dist/assets/components/bs5/globalAlert/globalAlert.hbs +24 -0
  30. package/dist/assets/components/bs5/head/head.hbs +11 -0
  31. package/dist/{components/handlebars.init.min.js → assets/components/bs5/header/header.hbs} +2 -1741
  32. package/dist/assets/components/bs5/inpageAlert/inpageAlert.hbs +6 -0
  33. package/dist/assets/components/bs5/inpagenav/inpagenav.hbs +15 -0
  34. package/dist/assets/components/bs5/mainContainerWrapper/mainContainerWrapper.hbs +28 -0
  35. package/dist/assets/components/bs5/mainContainerWrapper/mainContainerWrapper.test.hbs +6 -0
  36. package/dist/assets/components/bs5/metaDcTerms/metaDcTerms.hbs +19 -0
  37. package/dist/assets/components/bs5/metaOpenGraph/metaOpenGraph.hbs +18 -0
  38. package/dist/assets/components/bs5/modal/modal.hbs +38 -0
  39. package/dist/assets/components/bs5/navbar/navbar.hbs +251 -0
  40. package/dist/assets/components/bs5/pagination/pagination.hbs +43 -0
  41. package/dist/assets/components/bs5/quickexit/quickexit.hbs +40 -0
  42. package/dist/assets/components/bs5/searchInput/searchInput.hbs +47 -0
  43. package/dist/assets/components/bs5/select/select.hbs +34 -0
  44. package/dist/assets/components/bs5/sidenav/sidenav.hbs +66 -0
  45. package/dist/assets/components/bs5/sidenavWrapper/sidenavWrapper.hbs +4 -0
  46. package/dist/assets/components/bs5/sidenavWrapper/sidenavWrapper.test.hbs +15 -0
  47. package/dist/assets/components/bs5/spinner/spinner.hbs +8 -0
  48. package/dist/assets/components/bs5/table/table.hbs +49 -0
  49. package/dist/assets/components/bs5/tag/tag.hbs +10 -0
  50. package/dist/assets/components/bs5/textarea/textarea.hbs +32 -0
  51. package/dist/assets/components/bs5/textbox/textbox.hbs +32 -0
  52. package/dist/assets/components/bs5/typography/typography.hbs +1 -0
  53. package/dist/assets/components/bs5/video/video.hbs +52 -0
  54. package/dist/assets/css/qld.bootstrap.css +1 -1
  55. package/dist/assets/css/qld.bootstrap.css.map +2 -2
  56. package/dist/assets/js/bootstrap.js +6314 -0
  57. package/dist/assets/js/bootstrap.min.js +7 -11
  58. package/dist/assets/js/bootstrap.min.js.map +1 -7
  59. package/dist/assets/js/handlebars.init.cjs +6 -0
  60. package/dist/assets/js/handlebars.init.js +34 -0
  61. package/dist/assets/js/handlebars.init.min.js +6 -4
  62. package/dist/assets/js/handlebars.init.min.js.map +2 -2
  63. package/dist/assets/js/handlebars.partials.js +96 -0
  64. package/dist/assets/js/qld.bootstrap.min.js +5 -5
  65. package/dist/assets/js/qld.bootstrap.min.js.map +4 -4
  66. package/dist/assets/node/handlebars.init.min.js +709 -0
  67. package/dist/{components → assets/node}/handlebars.init.min.js.map +4 -4
  68. package/dist/components/bs5/head/head.hbs +1 -1
  69. package/dist/components/bs5/metaDcTerms/metaDcTerms.hbs +2 -0
  70. package/dist/components/handlebars.init.cjs +6 -0
  71. package/dist/components/handlebars.partials.js +40 -40
  72. package/dist/package.json +108 -0
  73. package/esbuild.js +33 -11
  74. package/package.json +23 -14
  75. package/pom.xml +10 -0
  76. package/src/components/bs5/inpagenav/inpagenav.scss +1 -0
  77. package/src/components/bs5/inpagenav/inpagenav.stories.js +1 -1
  78. package/src/components/bs5/metaDcTerms/metaDcTerms.hbs +2 -0
  79. package/src/components/bs5/navbar/navbar.functions.js +1 -1
  80. package/src/components/bs5/sidenav/sidenav.scss +28 -3
  81. package/src/components/bs5/typography/typography.stories.js +1 -1
  82. package/src/js/handlebars.init.cjs +6 -0
  83. package/src/js/handlebars.partials.js +40 -40
  84. package/src/js/qld.bootstrap.js +138 -0
  85. package/src/scss/qld-type.scss +1 -6
  86. package/.esbuild/helpers/listfiles.js +0 -16
  87. package/dist/assets/img/100x100.jpg +0 -0
  88. package/dist/assets/img/600x260.jpg +0 -0
  89. package/dist/assets/img/Heart-Pattern-Dark.png +0 -0
  90. package/dist/assets/img/Heart-Pattern.png +0 -0
  91. package/dist/assets/img/_coa_header-logo-qgov--stacked.svg +0 -171
  92. package/dist/assets/img/_coa_header-logo-qgov-masterbrand.svg +0 -56
  93. package/dist/assets/img/_coa_preheader-logo-qgov.svg +0 -56
  94. package/dist/assets/img/banner-background--mobile.png +0 -0
  95. package/dist/assets/img/banner-background-alt--desktop.jpg +0 -0
  96. package/dist/assets/img/banner-background-dark--desktop.jpg +0 -0
  97. package/dist/assets/img/banner-background-dark-alt--desktop.jpg +0 -0
  98. package/dist/assets/img/banner-background-default--desktop.jpg +0 -0
  99. package/dist/assets/img/banner-bg.png +0 -0
  100. package/dist/assets/img/banner-example-3-to-2.jpg +0 -0
  101. package/dist/assets/img/banner-texture-tile-dark.png +0 -0
  102. package/dist/assets/img/banner-texture-tile-light.png +0 -0
  103. package/dist/assets/img/banner.png +0 -0
  104. package/dist/assets/img/card--brand.png +0 -0
  105. package/dist/assets/img/card--components.png +0 -0
  106. package/dist/assets/img/card--content.png +0 -0
  107. package/dist/assets/img/colour-photo-example.jpg +0 -0
  108. package/dist/assets/img/demo-image-unsplash-motorbike.jpg +0 -0
  109. package/dist/assets/img/ds-example-image-1.jpg +0 -0
  110. package/dist/assets/img/ds-example-image-2.jpg +0 -0
  111. package/dist/assets/img/ds-example-image-3.jpg +0 -0
  112. package/dist/assets/img/endorsed.svg +0 -145
  113. package/dist/assets/img/header-search.svg +0 -3
  114. package/dist/assets/img/health-icon-sprite.svg +0 -156
  115. package/dist/assets/img/icon-exclamation.svg +0 -6
  116. package/dist/assets/img/icon-home.svg +0 -4
  117. package/dist/assets/img/icon-nav-chevron.svg +0 -3
  118. package/dist/assets/img/icon-right-arrow.svg +0 -4
  119. package/dist/assets/img/icon-search.svg +0 -6
  120. package/dist/assets/img/image-placeholder.png +0 -0
  121. package/dist/assets/img/layers-2x.png +0 -0
  122. package/dist/assets/img/layers.png +0 -0
  123. package/dist/assets/img/marker-icon.png +0 -0
  124. package/dist/assets/img/sample-header-pic.jpg +0 -0
  125. package/dist/assets/img/svg-icons.svg +0 -155
  126. package/dist/assets/img/video-play.svg +0 -3
  127. package/src/main.js +0 -138
@@ -1,5 +1,5 @@
1
1
 
2
- <!-- VERSION_DETAILS={"project_id":"@qld-gov-au/qgds-bootstrap5","version":"1.0.21","branch":"HEAD","tag":"v1.0.21","commit":"39655bfaa3d892215b3db1717c78680e0d6024b7","datetime":"2024-07-01T01:51:11Z","majorVersion":"v1"} -->
2
+ <!-- VERSION_DETAILS={"project_id":"@qld-gov-au/qgds-bootstrap5","version":"1.1.1","branch":"HEAD","tag":"v1.1.1","commit":"cd62937f216537a65d6ecb3c72883fbd28464acc","majorVersion":"v1"} -->
3
3
 
4
4
  {{! Select environment, used verbatium if not using predefind key
5
5
  cdn := PROD|STAGING|BETA|TEST|DEV|???
@@ -1,5 +1,7 @@
1
1
  <!-- DCTERMS https://www.dublincore.org/specifications/dublin-core/dcmi-terms/-->
2
2
  {{#if dcTerms}}
3
+ <link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
4
+ <link rel="schema.AGLSTERMS" href="https://agls.gov.au/documents/aglsterms/" />
3
5
  <meta name="DCTERMS.title" content="{{ title }}">
4
6
  <meta name="DCTERMS.publisher" scheme="AGLSTERMS.AglsAgent" content="{{#if dcTerms.publisher}}{{dcTerms.publisher}}{{else}}corporateName=The State of Queensland; jurisdiction=Queensland{{/if}}" />
5
7
  <meta name="DCTERMS.creator" scheme="AGLSTERMS.GOLD" content="{{#if dcTerms.creator}}{{dcTerms.creator}}{{else}}c=AU; o=The State of Queensland;{{/if}}">
@@ -0,0 +1,6 @@
1
+
2
+ import init from "./handlebars.init.js";
3
+
4
+ module.exports = {
5
+ init,
6
+ };
@@ -49,46 +49,46 @@ import video from "../components/bs5/video/video.hbs?raw";
49
49
  * @returns {void} Result of the helper operation
50
50
  */
51
51
  export default function handlebarsPartials(handlebars) {
52
- handlebars.registerPartial("accordion", accordion);
53
- handlebars.registerPartial("banner", banner);
54
- handlebars.registerPartial("blockquote", blockquote);
55
- handlebars.registerPartial("breadcrumbs", breadcrumbs);
56
- handlebars.registerPartial("breadcrumbsWrapper", breadcrumbsWrapper);
57
- handlebars.registerPartial("button", button);
58
- handlebars.registerPartial("callout", callout);
59
- handlebars.registerPartial("card", card);
60
- handlebars.registerPartial("contentFooter", contentFooter);
61
- handlebars.registerPartial("contentFooterWrapper", contentFooterWrapper);
62
- handlebars.registerPartial("contentWrapper", contentWrapper);
63
- handlebars.registerPartial("correctincorrect", correctincorrect);
64
- handlebars.registerPartial("dateinput", dateinput);
65
- handlebars.registerPartial("footer", footer);
66
- handlebars.registerPartial("footerForgov", footerForgov);
67
- handlebars.registerPartial("formcheck", formcheck);
68
- handlebars.registerPartial("fullPage", fullPage);
69
- handlebars.registerPartial("globalAlert", globalAlert);
70
- handlebars.registerPartial("head", head);
71
- handlebars.registerPartial("header", header);
72
- handlebars.registerPartial("inpageAlert", inpageAlert);
73
- handlebars.registerPartial("inpagenav", inpagenav);
74
- handlebars.registerPartial("mainContainerWrapper", mainContainerWrapper);
75
- handlebars.registerPartial("metaDcTerms", metaDcTerms);
76
- handlebars.registerPartial("metaOpenGraph", metaOpenGraph);
77
- handlebars.registerPartial("modal", modal);
78
- handlebars.registerPartial("navbar", navbar);
79
- handlebars.registerPartial("pagination", pagination);
80
- handlebars.registerPartial("quickexit", quickexit);
81
- handlebars.registerPartial("searchInput", searchInput);
82
- handlebars.registerPartial("select", select);
83
- handlebars.registerPartial("sidenav", sidenav);
84
- handlebars.registerPartial("sidenavWrapper", sidenavWrapper);
85
- handlebars.registerPartial("spinner", spinner);
86
- handlebars.registerPartial("table", table);
87
- handlebars.registerPartial("tag", tag);
88
- handlebars.registerPartial("textarea", textarea);
89
- handlebars.registerPartial("textbox", textbox);
90
- handlebars.registerPartial("typography", typography);
91
- handlebars.registerPartial("video", video);
52
+ handlebars.registerPartial("accordion", accordion);
53
+ handlebars.registerPartial("banner", banner);
54
+ handlebars.registerPartial("blockquote", blockquote);
55
+ handlebars.registerPartial("breadcrumbs", breadcrumbs);
56
+ handlebars.registerPartial("breadcrumbsWrapper", breadcrumbsWrapper);
57
+ handlebars.registerPartial("button", button);
58
+ handlebars.registerPartial("callout", callout);
59
+ handlebars.registerPartial("card", card);
60
+ handlebars.registerPartial("contentFooter", contentFooter);
61
+ handlebars.registerPartial("contentFooterWrapper", contentFooterWrapper);
62
+ handlebars.registerPartial("contentWrapper", contentWrapper);
63
+ handlebars.registerPartial("correctincorrect", correctincorrect);
64
+ handlebars.registerPartial("dateinput", dateinput);
65
+ handlebars.registerPartial("footer", footer);
66
+ handlebars.registerPartial("footerForgov", footerForgov);
67
+ handlebars.registerPartial("formcheck", formcheck);
68
+ handlebars.registerPartial("fullPage", fullPage);
69
+ handlebars.registerPartial("globalAlert", globalAlert);
70
+ handlebars.registerPartial("head", head);
71
+ handlebars.registerPartial("header", header);
72
+ handlebars.registerPartial("inpageAlert", inpageAlert);
73
+ handlebars.registerPartial("inpagenav", inpagenav);
74
+ handlebars.registerPartial("mainContainerWrapper", mainContainerWrapper);
75
+ handlebars.registerPartial("metaDcTerms", metaDcTerms);
76
+ handlebars.registerPartial("metaOpenGraph", metaOpenGraph);
77
+ handlebars.registerPartial("modal", modal);
78
+ handlebars.registerPartial("navbar", navbar);
79
+ handlebars.registerPartial("pagination", pagination);
80
+ handlebars.registerPartial("quickexit", quickexit);
81
+ handlebars.registerPartial("searchInput", searchInput);
82
+ handlebars.registerPartial("select", select);
83
+ handlebars.registerPartial("sidenav", sidenav);
84
+ handlebars.registerPartial("sidenavWrapper", sidenavWrapper);
85
+ handlebars.registerPartial("spinner", spinner);
86
+ handlebars.registerPartial("table", table);
87
+ handlebars.registerPartial("tag", tag);
88
+ handlebars.registerPartial("textarea", textarea);
89
+ handlebars.registerPartial("textbox", textbox);
90
+ handlebars.registerPartial("typography", typography);
91
+ handlebars.registerPartial("video", video);
92
92
 
93
93
  }
94
94
  if(typeof(Handlebars) !== 'undefined') {
@@ -0,0 +1,108 @@
1
+ {
2
+ "name": "@qld-gov-au/qgds-bootstrap5",
3
+ "version": "1.1.1",
4
+ "description": "",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/qld-gov-au/qgds-bootstrap5"
8
+ },
9
+ "main": "index.js",
10
+ "scripts": {
11
+ "prepare": "npm run build",
12
+ "start": "npm run build",
13
+ "lint": "eslint --fix --ext .js,.json --ignore-pattern 'docs/*' --ignore-pattern 'dist/*' --ignore-pattern 'storybook-static/*' .",
14
+ "build": "node esbuild.js",
15
+ "test": "echo 'no unit tests built yet'",
16
+ "test:integration": "npm-run-all --parallel --race serve:test test:testrunner",
17
+ "test:testrunner": "sleep 2 && mocha --timeout 10000 --require ./test/testServer.test.js ",
18
+ "watch": "node esbuild.js --watch",
19
+ "serve": "live-server dist",
20
+ "serve:test": "live-server --no-browser --port=8081",
21
+ "dev-storybook": "npm-run-all --parallel watch storybook",
22
+ "storybook": "storybook dev -p 6006",
23
+ "build-storybook": "storybook build --webpack-stats-json ",
24
+ "build-storybook:serve": "live-server storybook-static"
25
+ },
26
+ "keywords": [],
27
+ "author": "",
28
+ "license": "ISC",
29
+ "type": "module",
30
+ "files": [
31
+ ".esbuild",
32
+ ".storybook",
33
+ ".vscode",
34
+ "dist",
35
+ "src",
36
+ ".eslintrc.cjs",
37
+ "esbuild.js",
38
+ "jsconfig.json",
39
+ "pom.xml",
40
+ "README.md",
41
+ "vite.config.js"
42
+ ],
43
+ "dependencies": {
44
+ "@fortawesome/fontawesome-free": "^6.5.2",
45
+ "bootstrap": "^5.3.1",
46
+ "material-symbols": "^0.21.0"
47
+ },
48
+ "devDependencies": {
49
+ "@chromatic-com/storybook": "^1.6.1",
50
+ "@qld-gov-au/qgds-tokens": "^1.2.1",
51
+ "@storybook/addon-a11y": "^8.1.11",
52
+ "@storybook/addon-essentials": "^8.1.11",
53
+ "@storybook/addon-interactions": "^8.1.11",
54
+ "@storybook/addon-links": "^8.1.11",
55
+ "@storybook/addon-mdx-gfm": "^8.1.11",
56
+ "@storybook/addon-themes": "^8.1.11",
57
+ "@storybook/blocks": "^8.1.9",
58
+ "@storybook/cli": "^8.1.11",
59
+ "@storybook/html": "^8.1.11",
60
+ "@storybook/html-vite": "^8.1.11",
61
+ "@storybook/manager-api": "^8.1.11",
62
+ "@storybook/test": "^8.1.9",
63
+ "@storybook/theming": "^8.1.10",
64
+ "@stylistic/eslint-plugin-js": "2.1.0",
65
+ "@vitejs/plugin-vue": "5.0.5",
66
+ "@whitespace/storybook-addon-html": "^6.1.1",
67
+ "autoprefixer": "^10.4.15",
68
+ "chai": "^5.1.1",
69
+ "chalk": "^5.3.0",
70
+ "chromatic": "^11.5.4",
71
+ "esbuild": "0.23.0",
72
+ "esbuild-plugin-copy": "^2.1.1",
73
+ "esbuild-plugin-eslint": "^0.3.7",
74
+ "esbuild-plugin-handlebars": "1.0.3",
75
+ "esbuild-sass-plugin": "3.3.1",
76
+ "eslint": "8.57.0",
77
+ "eslint-plugin-json": "^3.1.0",
78
+ "eslint-plugin-storybook": "^0.8.0",
79
+ "handlebars": "4.7.8",
80
+ "live-server": "1.2.2",
81
+ "minimist": "^1.2.8",
82
+ "mocha": "^10.6.0",
83
+ "npm-run-all2": "^6.2.2",
84
+ "onchange": "^7.1.0",
85
+ "portfinder": "^1.0.32",
86
+ "postcss": "^8.4.39",
87
+ "prettier": "3.3.2",
88
+ "raw-loader": "^4.0.2",
89
+ "rimraf": "^5.0.7",
90
+ "run-parallel": "^1.2.0",
91
+ "sass": "^1.77.6",
92
+ "selenium-webdriver": "^4.22.0",
93
+ "storybook": "^8.1.11",
94
+ "vite": "^5.3.3",
95
+ "watch": "^1.0.2"
96
+ },
97
+ "peerDependencies": {
98
+ "typescript": "^5.0.0"
99
+ },
100
+ "exports": {
101
+ "./qld.bootstrap.min.js": "./dist/assets/js/qld.bootstrap.min.js",
102
+ "./qld.bootstrap.css": "./dist/assets/css/qld.bootstrap.css",
103
+ "./handlebars.helpers.bundle.js": "./dist/assets/js/handlebars.helpers.bundle.js",
104
+ "./handlebars.init.min.js": "./dist/assets/js/handlebars.init.min.js",
105
+ "./handlebarsInit": "./dist/assets/node/handlebars.init.min.js",
106
+ "./bootstrap.min.js": "./dist/assets/js/boostrap.min.js"
107
+ }
108
+ }
package/esbuild.js CHANGED
@@ -27,15 +27,11 @@ const buildConfig = {
27
27
  target: ["es6"],
28
28
  logLevel: "info",
29
29
  outdir: "./dist/",
30
- external: ["fs", "path", "../img/*"],
30
+ external: ["fs", "path", "bootstrap", "../img/*"],
31
31
 
32
32
  entryPoints: [
33
33
  {
34
- in: "./node_modules/bootstrap/dist/js/bootstrap.min.js",
35
- out: "./assets/js/bootstrap.min",
36
- },
37
- {
38
- in: "./src/main.js",
34
+ in: "./src/js/qld.bootstrap.js",
39
35
  out: "./assets/js/qld.bootstrap.min",
40
36
  },
41
37
  {
@@ -46,10 +42,6 @@ const buildConfig = {
46
42
  in: "./src/js/handlebars.helpers.js",
47
43
  out: "./assets/js/handlebars.helpers.bundle",
48
44
  },
49
- {
50
- in: "./src/js/handlebars.init.js",
51
- out: "./components/handlebars.init.min",
52
- },
53
45
  {
54
46
  in: "./src/js/handlebars.init.js",
55
47
  out: "./assets/js/handlebars.init.min",
@@ -67,15 +59,41 @@ const buildConfig = {
67
59
  plugins: [
68
60
  QGDSupdateHandlebarsPartialsPlugin(),
69
61
  QDGScopy(),
70
- QDGSbuildLog(),
71
62
  QGDSrawLoader(),
72
63
  versionPlugin(),
73
64
  QDGScleanFolders(),
74
65
  handlebarsPlugin(),
75
66
  sassPlugin(),
67
+ QDGSbuildLog(),
76
68
  ],
77
69
  };
78
70
 
71
+ const buildNodeConfig = {
72
+ loader: buildConfig.loader,
73
+ bundle: true,
74
+ minify: false,
75
+ sourcemap: true,
76
+ minifyIdentifiers: false,
77
+ logLevel: buildConfig.logLevel,
78
+ outdir: buildConfig.outdir,
79
+ external: buildConfig.external,
80
+ platform: "node",
81
+ target: ["node20"],
82
+ format: 'esm',
83
+ entryPoints: [
84
+ {
85
+ in: "./src/js/handlebars.init.cjs",
86
+ out: "./assets/node/handlebars.init.min",
87
+ },
88
+ ],
89
+ plugins: [
90
+ QGDSupdateHandlebarsPartialsPlugin(),
91
+ QDGScopy(),
92
+ QGDSrawLoader(),
93
+ versionPlugin(),
94
+ handlebarsPlugin(),
95
+ ],
96
+ }
79
97
  async function StartBuild() {
80
98
  let ctx = await esbuild.context(buildConfig);
81
99
 
@@ -89,6 +107,10 @@ async function StartBuild() {
89
107
  await ctx.dispose();
90
108
  }
91
109
 
110
+ //node js module
111
+ let ctxNode = await esbuild.context(buildNodeConfig);
112
+ await ctxNode.rebuild();
113
+ await ctxNode.dispose();
92
114
 
93
115
  }
94
116
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qld-gov-au/qgds-bootstrap5",
3
- "version": "1.0.21",
3
+ "version": "1.1.1",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -8,12 +8,16 @@
8
8
  },
9
9
  "main": "index.js",
10
10
  "scripts": {
11
+ "prepare": "npm run build",
11
12
  "start": "npm run build",
12
13
  "lint": "eslint --fix --ext .js,.json --ignore-pattern 'docs/*' --ignore-pattern 'dist/*' --ignore-pattern 'storybook-static/*' .",
13
14
  "build": "node esbuild.js",
14
- "test": "echo 'no tests yet'",
15
+ "test": "echo 'no unit tests built yet'",
16
+ "test:integration": "npm-run-all --parallel --race serve:test test:testrunner",
17
+ "test:testrunner": "sleep 2 && mocha --timeout 10000 --require ./test/testServer.test.js ",
15
18
  "watch": "node esbuild.js --watch",
16
19
  "serve": "live-server dist",
20
+ "serve:test": "live-server --no-browser --port=8081",
17
21
  "dev-storybook": "npm-run-all --parallel watch storybook",
18
22
  "storybook": "storybook dev -p 6006",
19
23
  "build-storybook": "storybook build --webpack-stats-json ",
@@ -39,11 +43,10 @@
39
43
  "dependencies": {
40
44
  "@fortawesome/fontawesome-free": "^6.5.2",
41
45
  "bootstrap": "^5.3.1",
42
- "material-symbols": "^0.20.0",
43
- "run-parallel": "^1.2.0"
46
+ "material-symbols": "^0.21.0"
44
47
  },
45
48
  "devDependencies": {
46
- "@chromatic-com/storybook": "^1.6.0",
49
+ "@chromatic-com/storybook": "^1.6.1",
47
50
  "@qld-gov-au/qgds-tokens": "^1.2.1",
48
51
  "@storybook/addon-a11y": "^8.1.11",
49
52
  "@storybook/addon-essentials": "^8.1.11",
@@ -62,9 +65,10 @@
62
65
  "@vitejs/plugin-vue": "5.0.5",
63
66
  "@whitespace/storybook-addon-html": "^6.1.1",
64
67
  "autoprefixer": "^10.4.15",
68
+ "chai": "^5.1.1",
65
69
  "chalk": "^5.3.0",
66
70
  "chromatic": "^11.5.4",
67
- "esbuild": "0.21.5",
71
+ "esbuild": "0.23.0",
68
72
  "esbuild-plugin-copy": "^2.1.1",
69
73
  "esbuild-plugin-eslint": "^0.3.7",
70
74
  "esbuild-plugin-handlebars": "1.0.3",
@@ -75,25 +79,30 @@
75
79
  "handlebars": "4.7.8",
76
80
  "live-server": "1.2.2",
77
81
  "minimist": "^1.2.8",
78
- "npm-run-all2": "^6.1.2",
82
+ "mocha": "^10.6.0",
83
+ "npm-run-all2": "^6.2.2",
79
84
  "onchange": "^7.1.0",
80
- "postcss": "^8.4.29",
85
+ "portfinder": "^1.0.32",
86
+ "postcss": "^8.4.39",
81
87
  "prettier": "3.3.2",
82
88
  "raw-loader": "^4.0.2",
83
89
  "rimraf": "^5.0.7",
90
+ "run-parallel": "^1.2.0",
84
91
  "sass": "^1.77.6",
92
+ "selenium-webdriver": "^4.22.0",
85
93
  "storybook": "^8.1.11",
86
- "vite": "^5.3.2",
94
+ "vite": "^5.3.3",
87
95
  "watch": "^1.0.2"
88
96
  },
89
97
  "peerDependencies": {
90
98
  "typescript": "^5.0.0"
91
99
  },
92
100
  "exports": {
93
- "qld.bootstrap.min.js": "./dist/assets/js/qld.bootstrap.min.js",
94
- "qld.bootstrap.css": "./dist/assets/css/qld.bootstrap.css",
95
- "handlebars.helpers.bundle.js": "./dist/components/handlebars.helpers.bundle.js",
96
- "handlebars.init.min.js": "./dist/components/handlebars.init.min.js",
97
- "bootstrap.min.js": "./dist/assets/js/boostrap.min.js"
101
+ "./qld.bootstrap.min.js": "./dist/assets/js/qld.bootstrap.min.js",
102
+ "./qld.bootstrap.css": "./dist/assets/css/qld.bootstrap.css",
103
+ "./handlebars.helpers.bundle.js": "./dist/assets/js/handlebars.helpers.bundle.js",
104
+ "./handlebars.init.min.js": "./dist/assets/js/handlebars.init.min.js",
105
+ "./handlebarsInit": "./dist/assets/node/handlebars.init.min.js",
106
+ "./bootstrap.min.js": "./dist/assets/js/boostrap.min.js"
98
107
  }
99
108
  }
package/pom.xml CHANGED
@@ -82,6 +82,16 @@
82
82
  <arguments>run lint</arguments>
83
83
  </configuration>
84
84
  </execution>
85
+ <execution>
86
+ <id>npm package on compile stage</id>
87
+ <goals>
88
+ <goal>npm</goal>
89
+ </goals>
90
+ <phase>compile</phase>
91
+ <configuration>
92
+ <arguments>run build</arguments>
93
+ </configuration>
94
+ </execution>
85
95
  <execution>
86
96
  <id>npm test</id>
87
97
  <goals>
@@ -40,6 +40,7 @@
40
40
  }
41
41
 
42
42
  .nav-item {
43
+ margin-top: 0;
43
44
  .nav-link {
44
45
  padding-top: var(--#{$prefix}inpage-nav-link-padding-y);
45
46
  padding-bottom: var(--#{$prefix}inpage-nav-link-padding-y);
@@ -27,7 +27,7 @@ export const Default = {
27
27
  <div class="container-fluid">
28
28
  <div class="row">
29
29
  <div class="col-12">
30
- <div class="">
30
+ <div class="qld-content-body" id="content">
31
31
  ${Story()}
32
32
  </div>
33
33
  </div>
@@ -1,5 +1,7 @@
1
1
  <!-- DCTERMS https://www.dublincore.org/specifications/dublin-core/dcmi-terms/-->
2
2
  {{#if dcTerms}}
3
+ <link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
4
+ <link rel="schema.AGLSTERMS" href="https://agls.gov.au/documents/aglsterms/" />
3
5
  <meta name="DCTERMS.title" content="{{ title }}">
4
6
  <meta name="DCTERMS.publisher" scheme="AGLSTERMS.AglsAgent" content="{{#if dcTerms.publisher}}{{dcTerms.publisher}}{{else}}corporateName=The State of Queensland; jurisdiction=Queensland{{/if}}" />
5
7
  <meta name="DCTERMS.creator" scheme="AGLSTERMS.GOLD" content="{{#if dcTerms.creator}}{{dcTerms.creator}}{{else}}c=AU; o=The State of Queensland;{{/if}}">
@@ -160,5 +160,5 @@ export function initializeNavbar() {
160
160
  resetNavbarState(); // Call handler immediately to apply correct setting on init
161
161
  }
162
162
 
163
- // Initialize the navbar (see main.js)
163
+ // Initialize the navbar (see qld.bootstrap.js)
164
164
  // document.addEventListener('DOMContentLoaded', initializeNavbar);
@@ -18,6 +18,9 @@
18
18
 
19
19
  --sidenav-hover-bg: var(--#{$prefix}extra-light-grey);
20
20
  --sidenav-hover-color: var(--#{$prefix}brand-primary);
21
+ --sidenav-hover-underline-color: var(--#{$prefix}color-default-color-light-underline-hover);
22
+ --sidenav-visited-color: var(--#{$prefix}color-default-color-light-link);
23
+ --sidenav-active-color: var(--#{$prefix}color-default-color-light-text-heading);
21
24
 
22
25
  --sidenav-heading-border-color: #{$qld-brand-secondary};
23
26
  --sidenav-item-border-color: #{$qld-soft-grey};
@@ -34,8 +37,12 @@
34
37
  .qld-side-navigation {
35
38
  --sidenav-submenu-divider: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2309ACFE' d='M2 10h12v1H2zM2 5h1v5H2z'/%3E%3C/svg%3E");
36
39
 
37
- --sidenav-hover-bg: var(--#{$prefix}brand-primary-dark);
40
+ --sidenav-hover-bg: var(--#{$prefix}color-default-color-dark-background-default-shade);
38
41
  --sidenav-hover-color: var(--#{$prefix}white);
42
+ --sidenav-hover-underline-color: var(--#{$prefix}color-default-color-dark-underline-hover);
43
+ --sidenav-visited-color: var(--#{$prefix}white);
44
+ --sidenav-active-color: var(--#{$prefix}color-default-color-dark-text-heading);
45
+
39
46
  --sidenav-heading-border-color: var(--#{$prefix}brand-secondary);
40
47
  --sidenav-item-border-color: var(--#{$prefix}brand-primary-light);
41
48
  --sidenav-subitem-border-color: var(--#{$prefix}brand-primary-light);
@@ -44,9 +51,8 @@
44
51
  }
45
52
 
46
53
  @include color-mode(dark) {
47
-
48
- }
49
54
 
55
+ }
50
56
 
51
57
 
52
58
  .qld-side-navigation {
@@ -63,6 +69,12 @@
63
69
  font-weight: inherit;
64
70
  font-size: 1rem;
65
71
  }
72
+
73
+ .nav-link {
74
+ &:visited {
75
+ color: var(--#{$prefix}headings-color);
76
+ }
77
+ }
66
78
  }
67
79
 
68
80
  .nav-link {
@@ -80,7 +92,20 @@
80
92
  text-underline-offset: 0.25rem;
81
93
  text-decoration-thickness: 2px;
82
94
  }
95
+ }
96
+
97
+ a.nav-link {
98
+ &:visited {
99
+ color: var(--sidenav-visited-color);
100
+ &:hover {
101
+ color: var(--sidenav-hover-color);
102
+ text-decoration-color: var(--sidenav-hover-underline-color);
103
+ }
104
+ }
105
+ }
83
106
 
107
+ .nav-item.active {
108
+ color: var(--sidenav-active-color);
84
109
  }
85
110
 
86
111
  //Side navigation (ul.nav)
@@ -7,7 +7,7 @@ export default {
7
7
  title: "Components/Typography",
8
8
  render: () => {
9
9
  return `
10
- <div class="qld-content-body">
10
+ <div class="qld-content-body" id="content">
11
11
  <h1>Heading 1</h1>
12
12
  <h2>Heading 2</h2>
13
13
  <h3>Heading 3</h3>
@@ -0,0 +1,6 @@
1
+
2
+ import init from "./handlebars.init.js";
3
+
4
+ module.exports = {
5
+ init,
6
+ };
@@ -49,46 +49,46 @@ import video from "../components/bs5/video/video.hbs?raw";
49
49
  * @returns {void} Result of the helper operation
50
50
  */
51
51
  export default function handlebarsPartials(handlebars) {
52
- handlebars.registerPartial("accordion", accordion);
53
- handlebars.registerPartial("banner", banner);
54
- handlebars.registerPartial("blockquote", blockquote);
55
- handlebars.registerPartial("breadcrumbs", breadcrumbs);
56
- handlebars.registerPartial("breadcrumbsWrapper", breadcrumbsWrapper);
57
- handlebars.registerPartial("button", button);
58
- handlebars.registerPartial("callout", callout);
59
- handlebars.registerPartial("card", card);
60
- handlebars.registerPartial("contentFooter", contentFooter);
61
- handlebars.registerPartial("contentFooterWrapper", contentFooterWrapper);
62
- handlebars.registerPartial("contentWrapper", contentWrapper);
63
- handlebars.registerPartial("correctincorrect", correctincorrect);
64
- handlebars.registerPartial("dateinput", dateinput);
65
- handlebars.registerPartial("footer", footer);
66
- handlebars.registerPartial("footerForgov", footerForgov);
67
- handlebars.registerPartial("formcheck", formcheck);
68
- handlebars.registerPartial("fullPage", fullPage);
69
- handlebars.registerPartial("globalAlert", globalAlert);
70
- handlebars.registerPartial("head", head);
71
- handlebars.registerPartial("header", header);
72
- handlebars.registerPartial("inpageAlert", inpageAlert);
73
- handlebars.registerPartial("inpagenav", inpagenav);
74
- handlebars.registerPartial("mainContainerWrapper", mainContainerWrapper);
75
- handlebars.registerPartial("metaDcTerms", metaDcTerms);
76
- handlebars.registerPartial("metaOpenGraph", metaOpenGraph);
77
- handlebars.registerPartial("modal", modal);
78
- handlebars.registerPartial("navbar", navbar);
79
- handlebars.registerPartial("pagination", pagination);
80
- handlebars.registerPartial("quickexit", quickexit);
81
- handlebars.registerPartial("searchInput", searchInput);
82
- handlebars.registerPartial("select", select);
83
- handlebars.registerPartial("sidenav", sidenav);
84
- handlebars.registerPartial("sidenavWrapper", sidenavWrapper);
85
- handlebars.registerPartial("spinner", spinner);
86
- handlebars.registerPartial("table", table);
87
- handlebars.registerPartial("tag", tag);
88
- handlebars.registerPartial("textarea", textarea);
89
- handlebars.registerPartial("textbox", textbox);
90
- handlebars.registerPartial("typography", typography);
91
- handlebars.registerPartial("video", video);
52
+ handlebars.registerPartial("accordion", accordion);
53
+ handlebars.registerPartial("banner", banner);
54
+ handlebars.registerPartial("blockquote", blockquote);
55
+ handlebars.registerPartial("breadcrumbs", breadcrumbs);
56
+ handlebars.registerPartial("breadcrumbsWrapper", breadcrumbsWrapper);
57
+ handlebars.registerPartial("button", button);
58
+ handlebars.registerPartial("callout", callout);
59
+ handlebars.registerPartial("card", card);
60
+ handlebars.registerPartial("contentFooter", contentFooter);
61
+ handlebars.registerPartial("contentFooterWrapper", contentFooterWrapper);
62
+ handlebars.registerPartial("contentWrapper", contentWrapper);
63
+ handlebars.registerPartial("correctincorrect", correctincorrect);
64
+ handlebars.registerPartial("dateinput", dateinput);
65
+ handlebars.registerPartial("footer", footer);
66
+ handlebars.registerPartial("footerForgov", footerForgov);
67
+ handlebars.registerPartial("formcheck", formcheck);
68
+ handlebars.registerPartial("fullPage", fullPage);
69
+ handlebars.registerPartial("globalAlert", globalAlert);
70
+ handlebars.registerPartial("head", head);
71
+ handlebars.registerPartial("header", header);
72
+ handlebars.registerPartial("inpageAlert", inpageAlert);
73
+ handlebars.registerPartial("inpagenav", inpagenav);
74
+ handlebars.registerPartial("mainContainerWrapper", mainContainerWrapper);
75
+ handlebars.registerPartial("metaDcTerms", metaDcTerms);
76
+ handlebars.registerPartial("metaOpenGraph", metaOpenGraph);
77
+ handlebars.registerPartial("modal", modal);
78
+ handlebars.registerPartial("navbar", navbar);
79
+ handlebars.registerPartial("pagination", pagination);
80
+ handlebars.registerPartial("quickexit", quickexit);
81
+ handlebars.registerPartial("searchInput", searchInput);
82
+ handlebars.registerPartial("select", select);
83
+ handlebars.registerPartial("sidenav", sidenav);
84
+ handlebars.registerPartial("sidenavWrapper", sidenavWrapper);
85
+ handlebars.registerPartial("spinner", spinner);
86
+ handlebars.registerPartial("table", table);
87
+ handlebars.registerPartial("tag", tag);
88
+ handlebars.registerPartial("textarea", textarea);
89
+ handlebars.registerPartial("textbox", textbox);
90
+ handlebars.registerPartial("typography", typography);
91
+ handlebars.registerPartial("video", video);
92
92
 
93
93
  }
94
94
  if(typeof(Handlebars) !== 'undefined') {