@qld-gov-au/qgds-bootstrap5 2.1.0 → 2.1.2

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 (94) hide show
  1. package/.storybook/preview.js +15 -6
  2. package/dist/assets/components/bs5/button/button.hbs +2 -1
  3. package/dist/assets/components/bs5/callToAction/callToAction.hbs +3 -3
  4. package/dist/assets/components/bs5/dateinput/dateinput.hbs +21 -27
  5. package/dist/assets/components/bs5/formcheck/formcheck.hbs +1 -1
  6. package/dist/assets/components/bs5/globalAlert/globalAlert.hbs +8 -1
  7. package/dist/assets/components/bs5/head/head.hbs +1 -1
  8. package/dist/assets/components/bs5/pagination/pagination.hbs +7 -2
  9. package/dist/assets/components/bs5/promotionalPanel/promotionalPanel.hbs +1 -1
  10. package/dist/assets/components/bs5/searchInput/searchInput.hbs +2 -2
  11. package/dist/assets/components/bs5/select/select.hbs +1 -1
  12. package/dist/assets/components/bs5/textarea/textarea.hbs +1 -1
  13. package/dist/assets/components/bs5/textbox/textbox.hbs +1 -1
  14. package/dist/assets/css/qld.bootstrap.css +2 -2
  15. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  16. package/dist/assets/css/qld.bootstrap.legacy.css +2 -2
  17. package/dist/assets/css/qld.bootstrap.legacy.css.map +3 -3
  18. package/dist/assets/js/handlebars.helpers.bundle.js +1 -1
  19. package/dist/assets/js/handlebars.init.min.js +56 -49
  20. package/dist/assets/js/handlebars.init.min.js.map +2 -2
  21. package/dist/assets/js/handlebars.partials.js +56 -49
  22. package/dist/assets/js/handlebars.partials.js.map +2 -2
  23. package/dist/assets/js/qld.bootstrap.min.js +6 -6
  24. package/dist/assets/js/qld.bootstrap.min.js.map +4 -4
  25. package/dist/assets/node/handlebars.init.min.js +21 -13
  26. package/dist/assets/node/handlebars.init.min.js.map +2 -2
  27. package/dist/components/bs5/button/button.hbs +2 -1
  28. package/dist/components/bs5/callToAction/callToAction.hbs +3 -3
  29. package/dist/components/bs5/dateinput/dateinput.hbs +21 -27
  30. package/dist/components/bs5/formcheck/formcheck.hbs +1 -1
  31. package/dist/components/bs5/globalAlert/globalAlert.hbs +8 -1
  32. package/dist/components/bs5/head/head.hbs +1 -1
  33. package/dist/components/bs5/pagination/pagination.hbs +7 -2
  34. package/dist/components/bs5/promotionalPanel/promotionalPanel.hbs +1 -1
  35. package/dist/components/bs5/searchInput/searchInput.hbs +2 -2
  36. package/dist/components/bs5/select/select.hbs +1 -1
  37. package/dist/components/bs5/textarea/textarea.hbs +1 -1
  38. package/dist/components/bs5/textbox/textbox.hbs +1 -1
  39. package/dist/package.json +33 -32
  40. package/dist/sample-data/callToAction/callToAction.data.json +2 -1
  41. package/dist/sample-data/dateinput/dateinput.data.json +3 -1
  42. package/dist/sample-data/pagination/pagination.data.json +4 -4
  43. package/dist/sample-data/promotionalPanel/promotionalPanel.data.json +45 -47
  44. package/package.json +33 -32
  45. package/src/components/bs5/breadcrumbs/breadcrumbs.scss +1 -0
  46. package/src/components/bs5/button/button.hbs +2 -1
  47. package/src/components/bs5/button/button.scss +1 -0
  48. package/src/components/bs5/button/button.stories.js +16 -4
  49. package/src/components/bs5/callToAction/callToAction.data.json +2 -1
  50. package/src/components/bs5/callToAction/callToAction.hbs +3 -3
  51. package/src/components/bs5/callToAction/callToAction.stories.js +2 -2
  52. package/src/components/bs5/card/card.scss +2 -2
  53. package/src/components/bs5/dateinput/Dateinput.js +1 -38
  54. package/src/components/bs5/dateinput/Dateinput.mdx +27 -0
  55. package/src/components/bs5/dateinput/Dateinput.stories.js +48 -4
  56. package/src/components/bs5/dateinput/dateinput.data.json +3 -1
  57. package/src/components/bs5/dateinput/dateinput.functions.js +91 -0
  58. package/src/components/bs5/dateinput/dateinput.hbs +21 -27
  59. package/src/components/bs5/formcheck/formcheck.hbs +1 -1
  60. package/src/components/bs5/formcheck/formcheck.scss +5 -0
  61. package/src/components/bs5/globalAlert/globalAlert.hbs +8 -1
  62. package/src/components/bs5/globalAlert/globalAlert.scss +14 -19
  63. package/src/components/bs5/globalAlert/globalAlert.stories.js +1 -0
  64. package/src/components/bs5/globalAlert/globalAlert.test.js +10 -5
  65. package/src/components/bs5/inpageAlert/inpageAlert.scss +3 -4
  66. package/src/components/bs5/inpagenav/inpagenav.scss +9 -1
  67. package/src/components/bs5/modal/modal.scss +1 -1
  68. package/src/components/bs5/navbar/navbar.functions.js +39 -28
  69. package/src/components/bs5/navbar/navbar.scss +43 -28
  70. package/src/components/bs5/navbar/navbar.stories.js +4 -3
  71. package/src/components/bs5/pageLayout/pageLayout.stories.js +2 -0
  72. package/src/components/bs5/pagination/pagination.data.json +4 -4
  73. package/src/components/bs5/pagination/pagination.hbs +7 -2
  74. package/src/components/bs5/pagination/pagination.scss +1 -1
  75. package/src/components/bs5/promotionalPanel/promotionalPanel.data.json +45 -47
  76. package/src/components/bs5/promotionalPanel/promotionalPanel.hbs +1 -1
  77. package/src/components/bs5/quickexit/quickexit.scss +1 -1
  78. package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +2 -2
  79. package/src/components/bs5/searchInput/search.functions.js +9 -5
  80. package/src/components/bs5/searchInput/searchInput.hbs +2 -2
  81. package/src/components/bs5/searchInput/searchInput.scss +1 -0
  82. package/src/components/bs5/select/select.hbs +1 -1
  83. package/src/components/bs5/sidenav/sidenav.scss +17 -19
  84. package/src/components/bs5/table/table.scss +93 -83
  85. package/src/components/bs5/textarea/textarea.hbs +1 -1
  86. package/src/components/bs5/textbox/textbox.hbs +1 -1
  87. package/src/css/main.scss +3 -0
  88. package/src/css/mixins/focusable.scss +1 -1
  89. package/src/css/qld-reduced-motion.scss +51 -0
  90. package/src/css/qld-tokens.scss +3 -3
  91. package/src/css/qld-type.scss +7 -13
  92. package/src/js/constants.js +10 -0
  93. package/src/js/qld.bootstrap.js +99 -99
  94. package/src/js/utils.js +3 -1
@@ -292,7 +292,8 @@ var init_button = __esm({
292
292
 
293
293
  {{#unless islink}}
294
294
 
295
- <button class="btn {{variantClass}} {{#if isprogress}}btn-progress{{/if}}" onclick="{{{onclick}}}" {{#if isdisabled}}disabled{{/if}} {{#if isprogress}}disabled aria-live="polite"{{/if}} {{#if arialabel}}aria-label="{{arialabel}}"{{/if}} {{{dataatts}}} {{#if progressLabel}}data-progress-label="{{progressLabel}}"{{/if}}>
295
+ <button class="btn {{variantClass}} {{#if isprogress}}btn-progress{{/if}}" onclick="{{{onclick}}}" tabindex="0" {{#if isdisabled}}disabled{{/if}} {{#if isprogress}}disabled aria-live="polite"{{/if}} {{#if arialabel}}aria-label="{{arialabel}}"{{/if}} {{#if progressLabel}}data-progress-label="{{progressLabel}}"{{/if}} {{{dataatts}}} >
296
+
296
297
  {{#if isprogress}}
297
298
  {{~>progressSpinner~}}
298
299
  {{else}}
@@ -355,7 +356,7 @@ var init_callout = __esm({
355
356
  var callToAction_default;
356
357
  var init_callToAction = __esm({
357
358
  "src/components/bs5/callToAction/callToAction.hbs?raw"() {
358
- callToAction_default = '<a class="qld-cta-link {{getClassNames "small, view-all" class}}"\n {{#if id}}id="{{id}}"{{/if}}\n href="{{href}}" \n target="{{target}}" \n {{#if arialabel}}aria-label="{{arialabel}}"{{/if}} \n >\n {{label}}\n <span class="icon" aria-hidden="true"></span>\n</a>';
359
+ callToAction_default = '<a class="qld-cta-link {{getClassNames "small, view-all" class}}"\n {{#if id}}id="{{id}}"{{/if}}\n href="{{href}}"\n target="{{target}}"\n {{#if arialabel}}aria-label="{{arialabel}}"{{/if}}\n >\n {{label}}\n <span class="icon" aria-hidden="true"></span>\n</a>';
359
360
  }
360
361
  });
361
362
 
@@ -623,7 +624,7 @@ var init_customLinks = __esm({
623
624
  var dateinput_default;
624
625
  var init_dateinput = __esm({
625
626
  "src/components/bs5/dateinput/dateinput.hbs?raw"() {
626
- dateinput_default = '<!-- QGDS Component: Date input -->\n\n<label id="{{id}}-label"\n class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}"\n for="{{id}}">\n {{label-text}}\n {{#if optional-text}}\n <span class="label-text-optional">({{optional-text}})</span>\n {{/if}}\n</label>\n\n{{#if hint-text}}\n<span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>\n{{/if}}\n\n{{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}\n<span class="qld-input-success">{{successMessageText}}</span>\n{{else}}\n{{#if successMessageText}}{{! updated bootstrap style classes - `valid-feedback`}}\n<div class="valid-feedback">{{successMessageText}}</div>\n{{/if}}{{/contains}}\n\n{{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}\n<span class="qld-input-error">{{errorMessageText}}</span>\n{{else}}\n{{#if errorMessageText}}{{! updated bootstrap style classes - `invalid-feedback`}}\n<div class="invalid-feedback">{{errorMessageText}}</div>\n{{/if}}{{/contains}}\n\n<div aria-labelledby="{{id}}-label" role="group" class="row date-container {{customClass}}">\n <!-- day group -->\n <div class="day-group">\n <label id="{{id}}-dayinput-label" for="{{id}}-dayinput" class="date-label qld-text-input-label">Day</label>\n <div>\n <input id="{{id}}-dayinput" aria-required="true" aria-labelledby="{{id}}-label {{id}}-dayinput-label" placeholder="{{day-placeholder}}" type="text"\n inputmode="numeric" maxlength="2"\n class="qld-text-input form-control dayinput {{customClass}} {{#if isFilled}}form-style-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}}" ref="day"\n aria-invalid="false" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required aria-required="true"\n {{/if}}>\n </div>\n </div>\n <!-- month group -->\n <div class="date-group">\n <label id="{{id}}-monthinput-label" for="{{id}}-monthinput" class="date-label qld-text-input-label">Month</label>\n <div>\n <input id="{{id}}-monthinput" aria-required="true" aria-labelledby="{{id}}-label {{id}}-monthinput-label" placeholder="{{month-placeholder}}"\n type="text" inputmode="numeric" maxlength="2"\n class="qld-text-input form-control monthinput {{customClass}} {{#if isFilled}}form-style-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}}" ref="month"\n aria-invalid="false" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required aria-required="true"\n {{/if}}>\n </div>\n </div>\n <!-- year group -->\n <div class="date-group">\n <label id="{{id}}-yearinput-label" for="{{id}}-yearinput" class="date-label">Year</label>\n <div class="year-label">\n <input id="{{id}}-yearinput" aria-required="true" aria-labelledby="{{id}}-label {{id}}-yearinput-label"\n placeholder="{{year-placeholder}}" type="text" inputmode="numeric" maxlength="4"\n class="qld-text-input form-control yearinput {{customClass}} {{#if isFilled}}form-style-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}}"\n ref="year" aria-invalid="false" {{#if isDisabled}}disabled{{/if}} {{#if\n isRequired}}required{{/if}}>\n </div>\n </div>\n</div>\n';
627
+ dateinput_default = '<!-- QGDS Component: Date input -->\n\n<label id="{{id}}-label" class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}" for="{{id}}">\n {{label-text}}\n {{#if optional-text}}\n <span class="label-text-optional">({{optional-text}})</span>\n {{/if}}\n</label>\n\n{{#if hint-text}}\n<span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>\n{{/if}}\n{{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}\n<span class="qld-input-success">{{successMessageText}}</span>\n{{else if successMessageText}}{{! updated bootstrap style classes - `valid-feedback`}}\n<div class="valid-feedback">{{successMessageText}}</div>\n{{/contains}}\n{{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}\n<span class="qld-input-error">{{errorMessageText}}</span>\n{{else if errorMessageText}}{{! updated bootstrap style classes - `invalid-feedback`}}\n<div class="invalid-feedback">{{errorMessageText}}</div>\n{{/contains}}\n\n<div aria-labelledby="{{id}}-label" role="group" class="row date-container {{customClass}}">\n <!-- day group -->\n <div class="day-group">\n <label id="{{id}}-dayinput-label" for="{{id}}-dayinput" class="date-label qld-text-input-label">Day</label>\n <div>\n <input id="{{id}}-dayinput" aria-labelledby="{{id}}-label {{id}}-dayinput-label" placeholder="{{day-placeholder}}" type="text"\n inputmode="numeric" maxlength="2" minlength="2" min="1" max="31" pattern="^(0?[1-9]|[12][0-9]|3[01])$"\n class="form-control dayinput {{customClass}} {{#if isFilled}}form-style-filled{{/if}} \n {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}}" ref="day"\n aria-invalid="false" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required{{/if}} tabindex="0" >\n </div>\n </div>\n <!-- month group -->\n <div class="date-group">\n <label id="{{id}}-monthinput-label" for="{{id}}-monthinput" class="date-label qld-text-input-label">Month</label>\n <div>\n <input id="{{id}}-monthinput" aria-labelledby="{{id}}-label {{id}}-monthinput-label" placeholder="{{month-placeholder}}"\n type="text" inputmode="numeric" maxlength="2" minlength="2" min="1" max="12" pattern="^(0?[1-9]|[1][0-2])$"\n class="form-control monthinput {{customClass}} {{#if isFilled}}form-style-filled{{/if}} \n {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}}" ref="month"\n aria-invalid="false" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required{{/if}} tabindex="0">\n </div>\n </div>\n <!-- year group -->\n <div class="date-group">\n <label id="{{id}}-yearinput-label" for="{{id}}-yearinput" class="date-label qld-text-input-label">Year</label>\n <div class="year-label">\n <input id="{{id}}-yearinput" aria-labelledby="{{id}}-label {{id}}-yearinput-label"\n placeholder="{{year-placeholder}}" type="text" inputmode="numeric" maxlength="4" minlength="4" pattern="[0-9]*" \n {{#if yearMin}}min="{{yearMin}}"{{/if}} {{#if yearMax}}max="{{yearMax}}"{{/if}}\n class="form-control yearinput {{customClass}} {{#if isFilled}}form-style-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}}"\n ref="year" aria-invalid="false" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required{{/if}} tabindex="0">\n </div>\n </div>\n</div>\n';
627
628
  }
628
629
  });
629
630
 
@@ -906,7 +907,7 @@ var init_footer = __esm({
906
907
  var formcheck_default;
907
908
  var init_formcheck = __esm({
908
909
  "src/components/bs5/formcheck/formcheck.hbs?raw"() {
909
- formcheck_default = ' \n {{#if questionLabel}}\n <div class="qld-text-input-label {{listClasses}}">\n {{questionLabel}}\n {{#if optionalLabel}}\n <span class="label-text-optional">{{optionalLabel}}</span>\n {{/if}}\n </div>\n {{/if}}\n\n {{#if hintLabel}}\n <span class="qld-hint-text">{{hintLabel}}</span>\n {{/if}}\n\n {{#if successMessageText}}\n <div class="valid-feedback">{{successMessageText}}</div>\n {{/if}}\n\n {{#if errorMessageText}}\n <div class="invalid-feedback">{{errorMessageText}}</div>\n {{/if}}\n \n {{#each listitems}}\n <div class="form-check {{#if ../isValid}}is-valid{{else}}{{#ifCond ../isValid "===" false}}is-invalid{{/ifCond}}{{/if}}">\n <input class="form-check-input" type="{{#if ../type}}{{../type}}{{else}}{{#if type}}{{type}}{{else}}checkbox{{/if}}{{/if}}" name="{{name}}" id="{{id}}" value="{{value}}" {{#if isDisabled}}disabled{{/if}} {{#if isChecked}}checked{{/if}} {{#if isRequired}}required{{/if}} >\n <label class="form-check-label" for="{{id}}">\n {{label}}\n </label>\n </div>\n {{/each}}\n ';
910
+ formcheck_default = ' \n {{#if questionLabel}}\n <div class="qld-text-input-label {{listClasses}}">\n {{questionLabel}}\n {{#if optionalLabel}}\n <span class="label-text-optional">{{optionalLabel}}</span>\n {{/if}}\n </div>\n {{/if}}\n\n {{#if hintLabel}}\n <span class="qld-hint-text">{{hintLabel}}</span>\n {{/if}}\n\n {{#if successMessageText}}\n <div class="valid-feedback">{{successMessageText}}</div>\n {{/if}}\n\n {{#if errorMessageText}}\n <div class="invalid-feedback">{{errorMessageText}}</div>\n {{/if}}\n \n {{#each listitems}}\n <div class="form-check {{#if ../isValid}}is-valid{{else}}{{#ifCond ../isValid "===" false}}is-invalid{{/ifCond}}{{/if}}">\n <input class="form-check-input" type="{{#if ../type}}{{../type}}{{else}}{{#if type}}{{type}}{{else}}checkbox{{/if}}{{/if}}" name="{{name}}" id="{{id}}" value="{{value}}" tabindex="{{isdefined ../tabindex 0}}" {{#if isDisabled}}disabled{{/if}} {{#if isChecked}}checked{{/if}} {{#if isRequired}}required{{/if}} >\n <label class="form-check-label" for="{{id}}">\n {{label}}\n </label>\n </div>\n {{/each}}\n ';
910
911
  }
911
912
  });
912
913
 
@@ -927,7 +928,13 @@ var init_globalAlert = __esm({
927
928
  <div class="global-alert-include">
928
929
  {{#each alertItems}}
929
930
  <section role="region" class="global-alert alert container-full d-none {{variant}}" data-variant="{{variant}}"
930
- aria-label="{{ariaLabel}}" {{#if id}} data-id="{{id}}" {{/if}}{{#if dismissedExpiryDays}}
931
+ {{#if ariaLabel}} aria-label="{{ ariaLabel }}"
932
+ {{~else ifCond variant "==" "global-alert-critical"}} aria-label="Critical alert"
933
+ {{~else ifCond variant "==" "global-alert-info"}} aria-label="Informational alert"
934
+ {{~else ifCond variant "==" "global-alert-warning"}} aria-label="Warning alert"
935
+ {{~else}} aria-label="Informational alert"
936
+ {{~/if}}
937
+ {{#if id}} data-id="{{id}}" {{/if}}{{#if dismissedExpiryDays}}
931
938
  data-expiry-days="{{dismissedExpiryDays}}" {{/if}}>
932
939
  <div class="qld-global-alert-main">
933
940
  <div class="global-alert-icon">
@@ -937,6 +944,7 @@ var init_globalAlert = __esm({
937
944
  <span class="qld-icon qld-icon-sm qld-icon-alert-information" aria-hidden="true"></span>
938
945
  {{else ifCond variant '==' 'global-alert-warning'}}
939
946
  <span class="qld-icon qld-icon-sm qld-icon-alert-warning" aria-hidden="true"></span>
947
+ {{else}}<span class="qld-icon qld-icon-sm qld-icon-alert-information" aria-hidden="true"></span>
940
948
  {{/ifCond}}
941
949
  </div>
942
950
 
@@ -966,7 +974,7 @@ var head_default;
966
974
  var init_head = __esm({
967
975
  "src/components/bs5/head/head.hbs?raw"() {
968
976
  head_default = `
969
- <!-- VERSION_DETAILS={"project_id":"@qld-gov-au/qgds-bootstrap5","version":"2.1.0","branch":"HEAD","tag":"v2.1.0","commit":"1610f625e3e2ba5c9420ba3ef0ebb53ed35820f6","majorVersion":"v2"} -->
977
+ <!-- VERSION_DETAILS={"project_id":"@qld-gov-au/qgds-bootstrap5","version":"2.1.2","branch":"HEAD","tag":"v2.1.2","commit":"a76edf5d0854742800c2d5846df18b5280e0ed09","majorVersion":"v2"} -->
970
978
 
971
979
  {{! Select environment, used verbatium if not using predefind key
972
980
  cdn := PROD|STAGING|BETA|TEST|DEV|???
@@ -1296,7 +1304,7 @@ var init_navbar = __esm({
1296
1304
  var pagination_default;
1297
1305
  var init_pagination = __esm({
1298
1306
  "src/components/bs5/pagination/pagination.hbs?raw"() {
1299
- pagination_default = '{{!\nComponent Name: QGDS QOL Pagination\nComponent Version: 1.0\nFramework: Bootstrap 5.3\nReference: https://getbootstrap.com/docs/5.0/components/pagination/\n}}\n\n<nav aria-label="{{ arialabel }}">\n\n <ul class="pagination">\n\n {{#if previous }}\n <li class="page-item previous">\n <a class="page-link" href="{{previous.href}}" aria-label="{{previous.arialabel}}">\n <span>{{ previous.linktext }}</span>\n </a>\n </li>\n {{/if}}\n\n {{#each pages}}\n <li class="page-item {{customClasses}}">\n {{#if more}}\n {{! More button }}\n <span></span>\n {{else}}\n {{! Page button }}\n <a class="page-link" href="{{href}}" aria-label="{{arialabel}}">{{ linktext }}</a>\n {{/if}}\n </li>\n\n {{/each }}\n\n {{#if next }}\n <li class="page-item next">\n <a class="page-link" href="{{next.href}}" aria-label="{{next.arialabel}}">\n <span>{{ next.linktext }}</span>\n </a>\n </li>\n {{/if}}\n\n </ul>\n\n</nav>';
1307
+ pagination_default = '{{!\nComponent Name: QGDS QOL Pagination\nComponent Version: 1.0\nFramework: Bootstrap 5.3\nReference: https://getbootstrap.com/docs/5.0/components/pagination/\n}}\n\n<nav aria-label="{{ arialabel }}">\n\n <ul class="pagination">\n\n {{#if previous }}\n <li class="page-item previous">\n <a class="page-link" href="{{previous.href}}" aria-label="{{previous.arialabel}}">\n <span>{{ previous.linktext }}</span>\n </a>\n </li>\n {{/if}}\n\n {{#each pages}}\n <li class="page-item {{customClasses}}">\n {{#if more}}\n {{! More button }}\n <span></span>\n {{else}}\n {{#ifCond "active" "in" customClasses}}\n {{! Active page - not a link }}\n <span class="page-link" aria-current="page" aria-label="{{#if arialabel}}{{arialabel}}{{else}}Page {{linktext}}, current page{{/if}}">{{ linktext }}</span>\n {{else}}\n {{! Page button }}\n <a class="page-link" href="{{href}}" aria-label="{{#if arialabel}}{{arialabel}}{{else}}Page {{linktext}}{{/if}}">{{ linktext }}</a>\n {{/ifCond}}\n {{/if}}\n </li>\n\n {{/each }}\n\n {{#if next }}\n <li class="page-item next">\n <a class="page-link" href="{{next.href}}" aria-label="{{next.arialabel}}">\n <span>{{ next.linktext }}</span>\n </a>\n </li>\n {{/if}}\n\n </ul>\n\n</nav>';
1300
1308
  }
1301
1309
  });
1302
1310
 
@@ -1311,7 +1319,7 @@ var init_promotionalPanel = __esm({
1311
1319
  {{/ifCond}}>
1312
1320
  <div class="image-panel">
1313
1321
  {{#ifCond type '!=' 'promo'}}
1314
- <img class="promo-panel-image" src="{{promoImage}}" alt="Promotional Image">
1322
+ <img class="promo-panel-image" src="{{promoImage}}" alt="{{isdefined promoImageDescription "Promotional image"}}">
1315
1323
  {{else}}
1316
1324
  <div class="promo-panel-image"></div>
1317
1325
  {{/ifCond}}
@@ -1375,8 +1383,8 @@ var init_searchInput = __esm({
1375
1383
  <div class="qld-search-input {{customClass}}">
1376
1384
  <input id="{{ inputID }}" name="{{ inputName }}" class="form-control" type="text" autocomplete="off"
1377
1385
  aria-label="{{ ariaLabel }}" {{#each tags}} data-{{@key}}="{{this}}" {{/each}} placeholder="{{placeholder}}" />
1378
- <button class="btn btn-primary" type="{{ buttonType }}" id="{{ buttonID }}">
1379
- <span class="btn-icon"></span>
1386
+ <button class="btn btn-primary" type="{{ buttonType }}" id="{{ buttonID }}" aria-label="{{ buttonLabel }}">
1387
+ <span class="btn-icon" aria-hidden="true"></span>
1380
1388
  <span class="btn-label">{{ buttonLabel }}</span>
1381
1389
  </button>
1382
1390
  {{#ifCond hasDynamicSuggestions '||' hasDefaultSuggestions}}
@@ -1423,7 +1431,7 @@ var init_searchInput = __esm({
1423
1431
  var select_default;
1424
1432
  var init_select = __esm({
1425
1433
  "src/components/bs5/select/select.hbs?raw"() {
1426
- select_default = '<!-- QGDS Component: Select -->\n\n<label class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}" for="{{id}}">\n {{label-text}}\n {{#if optional-text}}\n <span class="label-text-optional">({{optional-text}})</span>\n {{/if}}\n</label>\n\n{{#if hint-text}}\n<span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>\n{{/if}}\n\n{{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}\n<span class="qld-input-success">{{successMessageText}}</span>\n{{else}}{{! updated bootstrap style classes - `valid-feedback`}}\n{{#if successMessageText}}\n<div class="valid-feedback">{{successMessageText}}</div>\n{{/if}}{{/contains}}\n\n{{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}\n<span class="qld-input-error">{{errorMessageText}}</span>\n{{else}}{{! updated bootstrap style classes - `invalid-feedback`}}\n{{#if errorMessageText}}\n<div class="invalid-feedback">{{errorMessageText}}</div>\n{{/if}}{{/contains}}\n\n<select id={{id}} class="form-select {{#if isFilled}}is-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}} {{customClass}}" \n {{#if hint-text}}aria-describedby="{{id}}-hint"{{/if}} {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required{{/if}} >\n <option selected value="">{{placeholder}}</option>\n <option value="1">Option 1</option>\n <option value="2">Option 2</option>\n <option value="3">Option 3</option>\n</select>\n';
1434
+ select_default = '<!-- QGDS Component: Select -->\n\n<label class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}" for="{{id}}">\n {{label-text}}\n {{#if optional-text}}\n <span class="label-text-optional">({{optional-text}})</span>\n {{/if}}\n</label>\n\n{{#if hint-text}}\n<span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>\n{{/if}}\n\n{{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}\n<span class="qld-input-success">{{successMessageText}}</span>\n{{else}}{{! updated bootstrap style classes - `valid-feedback`}}\n{{#if successMessageText}}\n<div class="valid-feedback">{{successMessageText}}</div>\n{{/if}}{{/contains}}\n\n{{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}\n<span class="qld-input-error">{{errorMessageText}}</span>\n{{else}}{{! updated bootstrap style classes - `invalid-feedback`}}\n{{#if errorMessageText}}\n<div class="invalid-feedback">{{errorMessageText}}</div>\n{{/if}}{{/contains}}\n\n<select id={{id}} class="form-select {{#if isFilled}}is-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}} {{customClass}}" \n {{#if hint-text}}aria-describedby="{{id}}-hint"{{/if}} tabindex="0" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required{{/if}} >\n <option selected value="">{{placeholder}}</option>\n <option value="1">Option 1</option>\n <option value="2">Option 2</option>\n <option value="3">Option 3</option>\n</select>\n';
1427
1435
  }
1428
1436
  });
1429
1437
 
@@ -1532,7 +1540,7 @@ var init_tag = __esm({
1532
1540
  var textarea_default;
1533
1541
  var init_textarea = __esm({
1534
1542
  "src/components/bs5/textarea/textarea.hbs?raw"() {
1535
- textarea_default = '<!-- QGDS Component: Textarea -->\n\n<label class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}"\n for="{{id}}">\n {{label-text}}\n {{#if optional-text}}\n <span class="label-text-optional">({{optional-text}})</span>\n {{/if}}\n</label>\n\n{{#if hint-text}}\n<span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>\n{{/if}}\n\n{{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}\n<span class="qld-input-success">{{successMessageText}}</span>\n{{else}}\n{{#if successMessageText}}{{! updated bootstrap style classes - `valid-feedback`}}\n<div class="valid-feedback">{{successMessageText}}</div>\n{{/if}}{{/contains}}\n\n{{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}\n<span class="qld-input-error">{{errorMessageText}}</span>\n{{else}}\n{{#if errorMessageText}}{{! updated bootstrap style classes - `invalid-feedback`}}\n<div class="invalid-feedback">{{errorMessageText}}</div>\n{{/if}}{{/contains}}\n\n<!-- First text input field, described by the hint text above -->\n<textarea id="{{id}}" class="form-control {{customClass}} {{#if isFilled}}is-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}}"\n placeholder="{{placeholder}}" rows="{{rows}}" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required{{/if}}\n {{#if hint-text}}aria-describedby="{{id}}-hint"{{/if}}>{{value}}</textarea>';
1543
+ textarea_default = '<!-- QGDS Component: Textarea -->\n\n<label class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}"\n for="{{id}}">\n {{label-text}}\n {{#if optional-text}}\n <span class="label-text-optional">({{optional-text}})</span>\n {{/if}}\n</label>\n\n{{#if hint-text}}\n<span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>\n{{/if}}\n\n{{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}\n<span class="qld-input-success">{{successMessageText}}</span>\n{{else}}\n{{#if successMessageText}}{{! updated bootstrap style classes - `valid-feedback`}}\n<div class="valid-feedback">{{successMessageText}}</div>\n{{/if}}{{/contains}}\n\n{{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}\n<span class="qld-input-error">{{errorMessageText}}</span>\n{{else}}\n{{#if errorMessageText}}{{! updated bootstrap style classes - `invalid-feedback`}}\n<div class="invalid-feedback">{{errorMessageText}}</div>\n{{/if}}{{/contains}}\n\n<!-- First text input field, described by the hint text above -->\n<textarea id="{{id}}" class="form-control {{customClass}} {{#if isFilled}}is-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}}"\n placeholder="{{placeholder}}" rows="{{rows}}" tabindex="0" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required{{/if}}\n {{#if hint-text}}aria-describedby="{{id}}-hint"{{/if}}>{{value}}</textarea>';
1536
1544
  }
1537
1545
  });
1538
1546
 
@@ -1540,7 +1548,7 @@ var init_textarea = __esm({
1540
1548
  var textbox_default;
1541
1549
  var init_textbox = __esm({
1542
1550
  "src/components/bs5/textbox/textbox.hbs?raw"() {
1543
- textbox_default = '<!-- QGDS Component: Textbox -->\n\n<label class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}"\n for="{{id}}">\n {{label-text}}\n {{#if optional-text}}\n <span class="label-text-optional">({{optional-text}})</span>\n {{/if}}\n</label>\n\n{{#if hint-text}}\n<span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>\n{{/if}}\n\n{{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}\n<span class="qld-input-success">{{successMessageText}}</span>\n{{else}}\n{{#if successMessageText}}{{! updated bootstrap style classes - `valid-feedback`}}\n<div class="valid-feedback">{{successMessageText}}</div>\n{{/if}}{{/contains}}\n\n{{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}\n<span class="qld-input-error">{{errorMessageText}}</span>\n{{else}}\n{{#if errorMessageText}}{{! updated bootstrap style classes - `invalid-feedback`}}\n<div class="invalid-feedback">{{errorMessageText}}</div>\n{{/if}}{{/contains}}\n\n<input id={{id}} {{#if value}}value="{{value}}"{{/if}} class="form-control {{customClass}} {{#if isFilled}}is-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}}"\n type="text" placeholder="{{placeholder}}" {{#if isDisabled}}disabled{{/if}} {{#if\n isRequired}}required{{/if}} {{#if hint-text}}aria-describedby="{{id}}-hint"{{/if}} />';
1551
+ textbox_default = '<!-- QGDS Component: Textbox -->\n\n<label class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}"\n for="{{id}}">\n {{label-text}}\n {{#if optional-text}}\n <span class="label-text-optional">({{optional-text}})</span>\n {{/if}}\n</label>\n\n{{#if hint-text}}\n<span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>\n{{/if}}\n\n{{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}\n<span class="qld-input-success">{{successMessageText}}</span>\n{{else}}\n{{#if successMessageText}}{{! updated bootstrap style classes - `valid-feedback`}}\n<div class="valid-feedback">{{successMessageText}}</div>\n{{/if}}{{/contains}}\n\n{{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}\n<span class="qld-input-error">{{errorMessageText}}</span>\n{{else}}\n{{#if errorMessageText}}{{! updated bootstrap style classes - `invalid-feedback`}}\n<div class="invalid-feedback">{{errorMessageText}}</div>\n{{/if}}{{/contains}}\n\n<input id={{id}} {{#if value}}value="{{value}}"{{/if}} class="form-control {{customClass}} {{#if isFilled}}is-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}}"\n type="text" placeholder="{{placeholder}}" tabindex="0" {{#if isDisabled}}disabled{{/if}} {{#if\n isRequired}}required{{/if}} {{#if hint-text}}aria-describedby="{{id}}-hint"{{/if}} />';
1544
1552
  }
1545
1553
  });
1546
1554