@qld-gov-au/qgds-bootstrap5 2.0.11 → 2.0.12

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 (78) hide show
  1. package/.storybook/preview.js +5 -2
  2. package/dist/assets/components/bs5/dateinput/dateinput.hbs +27 -27
  3. package/dist/assets/components/bs5/formcheck/formcheck.hbs +10 -2
  4. package/dist/assets/components/bs5/head/head.hbs +1 -1
  5. package/dist/assets/components/bs5/searchInput/searchInput.hbs +31 -29
  6. package/dist/assets/components/bs5/select/select.hbs +19 -19
  7. package/dist/assets/components/bs5/textarea/textarea.hbs +17 -17
  8. package/dist/assets/components/bs5/textbox/textbox.hbs +17 -18
  9. package/dist/assets/css/qld.bootstrap.css +2 -2
  10. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  11. package/dist/assets/css/qld.bootstrap.legacy.css +2 -2
  12. package/dist/assets/css/qld.bootstrap.legacy.css.map +3 -3
  13. package/dist/assets/js/handlebars.helpers.bundle.js +1 -1
  14. package/dist/assets/js/handlebars.init.min.js +134 -125
  15. package/dist/assets/js/handlebars.init.min.js.map +2 -2
  16. package/dist/assets/js/handlebars.partials.js +134 -125
  17. package/dist/assets/js/handlebars.partials.js.map +2 -2
  18. package/dist/assets/js/qld.bootstrap.min.js +9 -10
  19. package/dist/assets/js/qld.bootstrap.min.js.map +3 -3
  20. package/dist/assets/node/handlebars.init.min.js +51 -7
  21. package/dist/assets/node/handlebars.init.min.js.map +2 -2
  22. package/dist/components/bs5/dateinput/dateinput.hbs +27 -27
  23. package/dist/components/bs5/formcheck/formcheck.hbs +10 -2
  24. package/dist/components/bs5/head/head.hbs +1 -1
  25. package/dist/components/bs5/searchInput/searchInput.hbs +31 -29
  26. package/dist/components/bs5/select/select.hbs +19 -19
  27. package/dist/components/bs5/textarea/textarea.hbs +17 -17
  28. package/dist/components/bs5/textbox/textbox.hbs +17 -18
  29. package/dist/package.json +1 -1
  30. package/dist/sample-data/dateinput/dateinput.data.json +14 -12
  31. package/dist/sample-data/formcheck/stories/checkbox/checkbox.data.json +4 -5
  32. package/dist/sample-data/formcheck/stories/radio/radio.data.json +4 -4
  33. package/dist/sample-data/searchInput/searchInput.data.json +19 -10
  34. package/dist/sample-data/select/select.data.json +12 -10
  35. package/dist/sample-data/textarea/textarea.data.json +14 -11
  36. package/dist/sample-data/textbox/textbox.data.json +13 -10
  37. package/package.json +1 -1
  38. package/src/components/bs5/dateinput/Dateinput.js +26 -11
  39. package/src/components/bs5/dateinput/dateinput.data.json +14 -12
  40. package/src/components/bs5/dateinput/dateinput.hbs +27 -27
  41. package/src/components/bs5/formcheck/Formcheck.js +57 -6
  42. package/src/components/bs5/formcheck/_form-variables.scss +131 -0
  43. package/src/components/bs5/formcheck/formcheck.hbs +10 -2
  44. package/src/components/bs5/formcheck/formcheck.scss +229 -66
  45. package/src/components/bs5/formcheck/stories/bootstrap-validation/bootstrap-validation.stories.js +304 -0
  46. package/src/components/bs5/formcheck/stories/checkbox/checkbox.data.json +4 -5
  47. package/src/components/bs5/formcheck/stories/checkbox/checkbox.stories.js +19 -111
  48. package/src/components/bs5/formcheck/stories/radio/radio.data.json +4 -4
  49. package/src/components/bs5/formcheck/stories/radio/radio.stories.js +30 -122
  50. package/src/components/bs5/inpageAlert/inpageAlert.scss +1 -1
  51. package/src/components/bs5/pageLayout/{ThemeShowcase.stories.js → PaletteShowcase.stories.js} +36 -35
  52. package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +24 -28
  53. package/src/components/bs5/searchInput/search.functions.js +93 -76
  54. package/src/components/bs5/searchInput/searchInput.data.json +19 -10
  55. package/src/components/bs5/searchInput/searchInput.hbs +31 -29
  56. package/src/components/bs5/searchInput/searchInput.scss +140 -196
  57. package/src/components/bs5/searchInput/searchInput.stories.js +35 -13
  58. package/src/components/bs5/searchInput/searchInput.test.js +5 -1
  59. package/src/components/bs5/select/Select.js +13 -5
  60. package/src/components/bs5/select/Select.stories.js +27 -83
  61. package/src/components/bs5/select/select.data.json +12 -10
  62. package/src/components/bs5/select/select.hbs +19 -19
  63. package/src/components/bs5/textarea/Textarea.js +13 -5
  64. package/src/components/bs5/textarea/Textarea.stories.js +29 -55
  65. package/src/components/bs5/textarea/textarea.data.json +14 -11
  66. package/src/components/bs5/textarea/textarea.hbs +17 -17
  67. package/src/components/bs5/textbox/Textbox.js +16 -5
  68. package/src/components/bs5/textbox/Textbox.stories.js +26 -51
  69. package/src/components/bs5/textbox/textInput.scss +12 -232
  70. package/src/components/bs5/textbox/textbox.data.json +13 -10
  71. package/src/components/bs5/textbox/textbox.hbs +17 -18
  72. package/src/css/functions/_index.scss +2 -0
  73. package/src/css/functions/remify.scss +32 -0
  74. package/src/css/functions/snap-line-height.scss +7 -0
  75. package/src/css/main.scss +1 -1
  76. package/src/css/mixins/focusable.scss +3 -0
  77. package/src/css/{qld-theme.scss → qld-palettes.scss} +30 -23
  78. package/src/components/bs5/formcheck/_formcheck.stories.bak.js +0 -432
@@ -1,64 +1,64 @@
1
1
  <!-- QGDS Component: Date input -->
2
2
 
3
- <!-- Label -->
4
- <label id="dategroup-label"
3
+ <label id="{{id}}-label"
5
4
  class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}"
6
- for="example-1">
5
+ for="{{id}}">
7
6
  {{label-text}}
8
7
  {{#if optional-text}}
9
8
  <span class="label-text-optional">({{optional-text}})</span>
10
9
  {{/if}}
11
10
  </label>
12
11
 
13
- <!-- Hint text -->
14
12
  {{#if hint-text}}
15
- <span class="qld-hint-text" id="example-1-hint">{{hint-text}}</span>
13
+ <span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>
16
14
  {{/if}}
17
15
 
18
- {{#contains "qld-input-success" customClass}}
19
- <span id="text-field-success" class="qld-input-success">
20
- {{successMessageText}}
21
- </span>
22
- {{/contains}}
16
+ {{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}
17
+ <span class="qld-input-success">{{successMessageText}}</span>
18
+ {{else}}
19
+ {{#if successMessageText}}{{! updated bootstrap style classes - `valid-feedback`}}
20
+ <div class="valid-feedback">{{successMessageText}}</div>
21
+ {{/if}}{{/contains}}
23
22
 
24
- {{#contains "qld-input-error" customClass}}
25
- <span id="text-field-error" class="qld-input-error">
26
- {{errorMessageText}}
27
- </span>
28
- {{/contains}}
23
+ {{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}
24
+ <span class="qld-input-error">{{errorMessageText}}</span>
25
+ {{else}}
26
+ {{#if errorMessageText}}{{! updated bootstrap style classes - `invalid-feedback`}}
27
+ <div class="invalid-feedback">{{errorMessageText}}</div>
28
+ {{/if}}{{/contains}}
29
29
 
30
- <div aria-labelledby="dategroup-label" role="group" class="row date-container {{customClass}}">
30
+ <div aria-labelledby="{{id}}-label" role="group" class="row date-container {{customClass}}">
31
31
  <!-- day group -->
32
32
  <div class="day-group">
33
- <label for="dayinput" class="date-label qld-text-input-label">Day</label>
33
+ <label id="{{id}}-dayinput-label" for="{{id}}-dayinput" class="date-label qld-text-input-label">Day</label>
34
34
  <div>
35
- <input aria-required="true" aria-labelledby="dategroup-label" placeholder="{{day-placeholder}}" type="text"
35
+ <input id="{{id}}-dayinput" aria-required="true" aria-labelledby="{{id}}-label {{id}}-dayinput-label" placeholder="{{day-placeholder}}" type="text"
36
36
  inputmode="numeric" maxlength="2"
37
- class="qld-text-input form-control dayinput {{customClass}} {{#if isFilled}}form-style-filled{{/if}}" id="dayinput" ref="day"
37
+ 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"
38
38
  aria-invalid="false" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required aria-required="true"
39
39
  {{/if}}>
40
40
  </div>
41
41
  </div>
42
42
  <!-- month group -->
43
43
  <div class="date-group">
44
- <label for="monthinput" class="date-label qld-text-input-label">Month</label>
44
+ <label id="{{id}}-monthinput-label" for="{{id}}-monthinput" class="date-label qld-text-input-label">Month</label>
45
45
  <div>
46
- <input aria-required="true" aria-labelledby="dategroup-label" placeholder="{{month-placeholder}}"
46
+ <input id="{{id}}-monthinput" aria-required="true" aria-labelledby="{{id}}-label {{id}}-monthinput-label" placeholder="{{month-placeholder}}"
47
47
  type="text" inputmode="numeric" maxlength="2"
48
- class="qld-text-input form-control monthinput {{customClass}} {{#if isFilled}}form-style-filled{{/if}}" id="monthinput" ref="month"
48
+ 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"
49
49
  aria-invalid="false" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required aria-required="true"
50
50
  {{/if}}>
51
51
  </div>
52
52
  </div>
53
53
  <!-- year group -->
54
54
  <div class="date-group">
55
- <label for="yearinput" class="date-label">Year</label>
55
+ <label id="{{id}}-yearinput-label" for="{{id}}-yearinput" class="date-label">Year</label>
56
56
  <div class="year-label">
57
- <input aria-required="true" aria-labelledby="dategroup-label qld-text-input-label"
57
+ <input id="{{id}}-yearinput" aria-required="true" aria-labelledby="{{id}}-label {{id}}-yearinput-label"
58
58
  placeholder="{{year-placeholder}}" type="text" inputmode="numeric" maxlength="4"
59
- class="qld-text-input form-control yearinput {{customClass}} {{#if isFilled}}form-style-filled{{/if}}"
60
- id="yearinput" ref="year" aria-invalid="false" {{#if isDisabled}}disabled{{/if}} {{#if
61
- isRequired}}required aria-required="true" {{/if}}>
59
+ 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}}"
60
+ ref="year" aria-invalid="false" {{#if isDisabled}}disabled{{/if}} {{#if
61
+ isRequired}}required{{/if}}>
62
62
  </div>
63
63
  </div>
64
64
  </div>
@@ -11,10 +11,18 @@
11
11
  {{#if hintLabel}}
12
12
  <span class="qld-hint-text">{{hintLabel}}</span>
13
13
  {{/if}}
14
+
15
+ {{#if successMessageText}}
16
+ <div class="valid-feedback">{{successMessageText}}</div>
17
+ {{/if}}
18
+
19
+ {{#if errorMessageText}}
20
+ <div class="invalid-feedback">{{errorMessageText}}</div>
21
+ {{/if}}
14
22
 
15
23
  {{#each listitems}}
16
- <div class="form-check">
17
- <input class="form-check-input" type="{{type}}" name="{{name}}" id="{{id}}" value="{{value}}" {{#if isDisabled}}disabled{{/if}} {{#if isChecked}}checked{{/if}}>
24
+ <div class="form-check {{#if ../isValid}}is-valid{{else}}{{#ifCond ../isValid "===" false}}is-invalid{{/ifCond}}{{/if}}">
25
+ <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}} >
18
26
  <label class="form-check-label" for="{{id}}">
19
27
  {{label}}
20
28
  </label>
@@ -1,5 +1,5 @@
1
1
 
2
- <!-- VERSION_DETAILS={"project_id":"@qld-gov-au/qgds-bootstrap5","version":"2.0.11","branch":"HEAD","tag":"v2.0.11","commit":"c1bc176e3a8502826203a87dc48aab0bc1bc8770","majorVersion":"v2"} -->
2
+ <!-- VERSION_DETAILS={"project_id":"@qld-gov-au/qgds-bootstrap5","version":"2.0.12","branch":"HEAD","tag":"v2.0.12","commit":"8a144c9ab3a88493219cbc779eb61a0ca8b8d059","majorVersion":"v2"} -->
3
3
 
4
4
  {{! Select environment, used verbatium if not using predefind key
5
5
  cdn := PROD|STAGING|BETA|TEST|DEV|???
@@ -8,36 +8,38 @@
8
8
  <span class="btn-icon"></span>
9
9
  <span class="btn-label">{{ buttonLabel }}</span>
10
10
  </button>
11
- {{#if suggestions}}
12
- <div class="suggestions suggestions__group d-none">
13
- <div class="default-suggestions">
14
- <div class="suggestions-category mt-16">
15
- <strong class="suggestions-category-label d-block">Popular services</strong>
16
- <ul class="mt-2">
17
- {{#each default_suggestions.popular_services}}
18
- <li><a href="{{link}}">{{title}}</a></li>
19
- {{/each}}
20
- </ul>
21
- </div>
22
-
23
- <div class="suggestions-category mt-16">
24
- <strong class="suggestions-category-label d-block">Browse by category</strong>
25
- <ul class="mt-12 mb-0">
26
- {{#each default_suggestions.categories}}
27
- <li><a href="{{link}}">{{title}}</a></li>
28
- {{/each}}
29
- </ul>
30
- </div>
11
+ {{#ifCond hasDynamicSuggestions '||' hasDefaultSuggestions}}
12
+ <div class="suggestions suggestions__group d-none default">
13
+ {{#if hasDefaultSuggestions}}
14
+ <div class="default-suggestions">
15
+ <div class="suggestions-category">
16
+ <strong class="suggestions-category-label d-block">{{defaultSuggestions.popularServicesTitle}}</strong>
17
+ <ul>
18
+ {{#each defaultSuggestions.popularServices}}
19
+ <li><a href="{{link}}">{{title}}</a></li>
20
+ {{/each}}
21
+ {{#if defaultSuggestions.popularServicesLink}}
22
+ <li><a href="{{defaultSuggestions.popularServicesLink.href}}" class="view-more">{{#if defaultSuggestions.popularServicesLink.label}}{{defaultSuggestions.popularServicesLink.label}}{{else}}View More{{/if}}</a></li>
23
+ {{/if}}
24
+ </ul>
25
+ </div>
31
26
 
32
- {{#if default_suggestions.options.view_more}}
33
- <div class="suggestions-category">
34
- <a class="px-16 pt-12 pb-16 d-block suggestions-category-view-more"
35
- href="{{default_suggestions.options.href}}">{{default_suggestions.options.label}}</a>
27
+ <div class="suggestions-category">
28
+ <strong class="suggestions-category-label d-block">{{defaultSuggestions.categoriesTitle}}</strong>
29
+ <ul>
30
+ {{#each defaultSuggestions.categories}}
31
+ <li><a href="{{link}}">{{title}}</a></li>
32
+ {{/each}}
33
+ {{#if defaultSuggestions.categoriesLink}}
34
+ <li><a href="{{defaultSuggestions.categoriesLink.href}}" class="view-more">{{#if defaultSuggestions.categoriesLink.label}}{{defaultSuggestions.categoriesLink.label}}{{else}}View More{{/if}}</a></li>
35
+ {{/if}}
36
+ </ul>
37
+ </div>
36
38
  </div>
37
- {{/if}}
38
- </div>
39
- <div class="dynamic-suggestions"></div>
39
+ {{/if}}
40
+ {{#if hasDynamicSuggestions}}
41
+ <div class="dynamic-suggestions" {{#if dynamicSuggestionsServiceLink.href}}data-view-more="{{dynamicSuggestionsServiceLink.href}}"{{/if}}></div>
42
+ {{/if}}
40
43
  </div>
41
- {{/if}}
42
-
44
+ {{/ifCond}}
43
45
  </div>
@@ -1,33 +1,33 @@
1
1
  <!-- QGDS Component: Select -->
2
2
 
3
- <!-- Label for the first input field -->
4
- <label class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}" for="example-1">
3
+ <label class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}" for="{{id}}">
5
4
  {{label-text}}
6
5
  {{#if optional-text}}
7
- <span class="label-text-optional">({{optional-text}})</span></label>
6
+ <span class="label-text-optional">({{optional-text}})</span>
8
7
  {{/if}}
8
+ </label>
9
9
 
10
- <!-- Hint text for the first input field -->
11
10
  {{#if hint-text}}
12
- <span class="qld-hint-text" id="example-1-hint">{{hint-text}}</span>
11
+ <span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>
13
12
  {{/if}}
14
13
 
15
- {{#contains "qld-input-success" customClass}}
16
- <span id="text-field-success" class="qld-input-success">
17
- {{successMessageText}}
18
- </span>
19
- {{/contains}}
14
+ {{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}
15
+ <span class="qld-input-success">{{successMessageText}}</span>
16
+ {{else}}{{! updated bootstrap style classes - `valid-feedback`}}
17
+ {{#if successMessageText}}
18
+ <div class="valid-feedback">{{successMessageText}}</div>
19
+ {{/if}}{{/contains}}
20
20
 
21
- {{#contains "qld-input-error" customClass}}
22
- <span id="text-field-error" class="qld-input-error">
23
- {{errorMessageText}}
24
- </span>
25
- {{/contains}}
21
+ {{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}
22
+ <span class="qld-input-error">{{errorMessageText}}</span>
23
+ {{else}}{{! updated bootstrap style classes - `invalid-feedback`}}
24
+ {{#if errorMessageText}}
25
+ <div class="invalid-feedback">{{errorMessageText}}</div>
26
+ {{/if}}{{/contains}}
26
27
 
27
- <!-- First text input field, described by the hint text above -->
28
- <select class="qld-text-input form-select qld-select qld-field-width-1-quarter {{customClass}}"
29
- aria-label="Default select example" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required aria-required="true"{{/if}}>
30
- <option selected>{{placeholder}}</option>
28
+ <select id={{id}} class="form-select {{#if isFilled}}is-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}} {{customClass}}"
29
+ {{#if hint-text}}aria-describedby="{{id}}-hint"{{/if}} {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required{{/if}} >
30
+ <option selected value="">{{placeholder}}</option>
31
31
  <option value="1">Option 1</option>
32
32
  <option value="2">Option 2</option>
33
33
  <option value="3">Option 3</option>
@@ -1,32 +1,32 @@
1
1
  <!-- QGDS Component: Textarea -->
2
2
 
3
- <!-- Label for the first input field -->
4
3
  <label class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}"
5
- for="example-1">
4
+ for="{{id}}">
6
5
  {{label-text}}
7
6
  {{#if optional-text}}
8
7
  <span class="label-text-optional">({{optional-text}})</span>
9
8
  {{/if}}
10
9
  </label>
11
10
 
12
- <!-- Hint text for the first input field -->
13
11
  {{#if hint-text}}
14
- <span class="qld-hint-text" id="example-1-hint">{{hint-text}}</span>
12
+ <span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>
15
13
  {{/if}}
16
14
 
17
- {{#contains "qld-input-success" customClass}}
18
- <span id="text-field-success" class="qld-input-success">
19
- {{successMessageText}}
20
- </span>
21
- {{/contains}}
15
+ {{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}
16
+ <span class="qld-input-success">{{successMessageText}}</span>
17
+ {{else}}
18
+ {{#if successMessageText}}{{! updated bootstrap style classes - `valid-feedback`}}
19
+ <div class="valid-feedback">{{successMessageText}}</div>
20
+ {{/if}}{{/contains}}
22
21
 
23
- {{#contains "qld-input-error" customClass}}
24
- <span id="text-field-error" class="qld-input-error">
25
- {{errorMessageText}}
26
- </span>
27
- {{/contains}}
22
+ {{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}
23
+ <span class="qld-input-error">{{errorMessageText}}</span>
24
+ {{else}}
25
+ {{#if errorMessageText}}{{! updated bootstrap style classes - `invalid-feedback`}}
26
+ <div class="invalid-feedback">{{errorMessageText}}</div>
27
+ {{/if}}{{/contains}}
28
28
 
29
29
  <!-- First text input field, described by the hint text above -->
30
- <textarea id="example-1" class="qld-text-input form-control {{customClass}} {{#if isFilled}}form-style-filled{{/if}}"
31
- placeholder="{{placeholder}}" rows="{{rows}}" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required
32
- aria-required="true" {{/if}}></textarea>
30
+ <textarea id="{{id}}" class="form-control {{customClass}} {{#if isFilled}}is-filled{{/if}} {{#if isValid}}is-valid{{else}}{{#ifCond isValid "===" false}}is-invalid{{/ifCond}}{{/if}}"
31
+ placeholder="{{placeholder}}" rows="{{rows}}" {{#if isDisabled}}disabled{{/if}} {{#if isRequired}}required{{/if}}
32
+ {{#if hint-text}}aria-describedby="{{id}}-hint"{{/if}}>{{value}}</textarea>
@@ -1,32 +1,31 @@
1
1
  <!-- QGDS Component: Textbox -->
2
2
 
3
- <!-- Label for the first input field -->
4
3
  <label class="qld-text-input-label {{#if isRequired}}field-required{{/if}} {{#if isDisabled}}field-disabled{{/if}}"
5
- for="example-1">
4
+ for="{{id}}">
6
5
  {{label-text}}
7
6
  {{#if optional-text}}
8
7
  <span class="label-text-optional">({{optional-text}})</span>
9
8
  {{/if}}
10
9
  </label>
11
10
 
12
- <!-- Hint text for the first input field -->
13
11
  {{#if hint-text}}
14
- <span class="qld-hint-text" id="example-1-hint">{{hint-text}}</span>
12
+ <span class="qld-hint-text" id="{{id}}-hint">{{hint-text}}</span>
15
13
  {{/if}}
16
14
 
17
- {{#contains "qld-input-success" customClass}}
18
- <span id="text-field-success" class="qld-input-success">
19
- {{successMessageText}}
20
- </span>
21
- {{/contains}}
15
+ {{#contains "qld-input-success" customClass}}{{! legacy support for feedback classes `qld-input-success`}}
16
+ <span class="qld-input-success">{{successMessageText}}</span>
17
+ {{else}}
18
+ {{#if successMessageText}}{{! updated bootstrap style classes - `valid-feedback`}}
19
+ <div class="valid-feedback">{{successMessageText}}</div>
20
+ {{/if}}{{/contains}}
22
21
 
23
- {{#contains "qld-input-error" customClass}}
24
- <span id="text-field-error" class="qld-input-error">
25
- {{errorMessageText}}
26
- </span>
27
- {{/contains}}
22
+ {{#contains "qld-input-error" customClass}}{{! legacy support for feedback classes `qld-input-error`}}
23
+ <span class="qld-input-error">{{errorMessageText}}</span>
24
+ {{else}}
25
+ {{#if errorMessageText}}{{! updated bootstrap style classes - `invalid-feedback`}}
26
+ <div class="invalid-feedback">{{errorMessageText}}</div>
27
+ {{/if}}{{/contains}}
28
28
 
29
- <!-- First text input field, described by the hint text above -->
30
- <input id="example-1" class="qld-text-input form-control {{customClass}} {{#if isFilled}}form-style-filled{{/if}}"
31
- type="text" placeholder="{{placeholder}}" aria-label="Text input example" {{#if isDisabled}}disabled{{/if}} {{#if
32
- isRequired}}required aria-required="true" {{/if}} />
29
+ <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}}"
30
+ type="text" placeholder="{{placeholder}}" {{#if isDisabled}}disabled{{/if}} {{#if
31
+ isRequired}}required{{/if}} {{#if hint-text}}aria-describedby="{{id}}-hint"{{/if}} />
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qld-gov-au/qgds-bootstrap5",
3
- "version": "2.0.11",
3
+ "version": "2.0.12",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,14 +1,16 @@
1
1
  {
2
- "isDisabled": false,
3
- "isRequired": true,
4
- "isFilled": false,
5
- "customClass": "",
6
- "label-text": "Date label",
7
- "day-placeholder": "DD",
8
- "month-placeholder": "MM",
9
- "year-placeholder": "YYYY",
10
- "optional-text": "optional",
11
- "hint-text": "(dd/mm/yyyy)",
12
- "successMessageText": "Success message",
13
- "errorMessageText": "Error message"
2
+ "id": "example-1",
3
+ "isDisabled": false,
4
+ "isRequired": true,
5
+ "isValid": null,
6
+ "isFilled": false,
7
+ "customClass": "",
8
+ "label-text": "Date label",
9
+ "day-placeholder": "DD",
10
+ "month-placeholder": "MM",
11
+ "year-placeholder": "YYYY",
12
+ "optional-text": "optional",
13
+ "hint-text": "(dd/mm/yyyy)",
14
+ "successMessageText": "Success message",
15
+ "errorMessageText": "Error message"
14
16
  }
@@ -3,9 +3,12 @@
3
3
  "optionalLabel": "(Optional)",
4
4
  "hintLabel": "Hint label",
5
5
  "listClasses": "field-required",
6
+ "successMessageText": "Success message",
7
+ "errorMessageText": "Error message",
8
+ "isValid": null,
9
+ "type": "checkbox",
6
10
  "listitems": [
7
11
  {
8
- "type": "checkbox",
9
12
  "id": "checkboxItem1",
10
13
  "name": "checkboxOption",
11
14
  "label": "Option 1",
@@ -14,7 +17,6 @@
14
17
  "isChecked": false
15
18
  },
16
19
  {
17
- "type": "checkbox",
18
20
  "id": "checkboxItem2",
19
21
  "name": "checkboxOption",
20
22
  "label": "Option 2",
@@ -23,7 +25,6 @@
23
25
  "isChecked": false
24
26
  },
25
27
  {
26
- "type": "checkbox",
27
28
  "id": "checkboxItem3",
28
29
  "name": "checkboxOption",
29
30
  "label": "Option 3",
@@ -32,7 +33,6 @@
32
33
  "isChecked": false
33
34
  },
34
35
  {
35
- "type": "checkbox",
36
36
  "id": "checkboxItem4",
37
37
  "name": "checkboxOption",
38
38
  "label": "Option 4",
@@ -41,7 +41,6 @@
41
41
  "isChecked": true
42
42
  },
43
43
  {
44
- "type": "checkbox",
45
44
  "id": "checkboxItem5",
46
45
  "name": "checkboxOption",
47
46
  "label": "Disabled",
@@ -3,9 +3,12 @@
3
3
  "optionalLabel": "(Optional)",
4
4
  "hintLabel": "Hint label",
5
5
  "listClasses": "field-required",
6
+ "successMessageText": "Success message",
7
+ "errorMessageText": "Error message",
8
+ "isValid": null,
9
+ "type": "radio",
6
10
  "listitems": [
7
11
  {
8
- "type": "radio",
9
12
  "id": "radioItem1",
10
13
  "name": "radioOption",
11
14
  "label": "Option 1",
@@ -14,7 +17,6 @@
14
17
  "isChecked": false
15
18
  },
16
19
  {
17
- "type": "radio",
18
20
  "id": "radioItem2",
19
21
  "name": "radioOption",
20
22
  "label": "Option 2",
@@ -23,7 +25,6 @@
23
25
  "isChecked": false
24
26
  },
25
27
  {
26
- "type": "radio",
27
28
  "id": "radioItem3",
28
29
  "name": "radioOption",
29
30
  "label": "Option 3",
@@ -32,7 +33,6 @@
32
33
  "isChecked": true
33
34
  },
34
35
  {
35
- "type": "radio",
36
36
  "id": "radioItem4",
37
37
  "name": "radioOption",
38
38
  "label": "Option 4",
@@ -6,7 +6,6 @@
6
6
  "buttonType": "submit",
7
7
  "buttonLabel": "Search",
8
8
  "ariaLabel": "Search website",
9
- "suggestions": true,
10
9
  "tags": {
11
10
  "collection": "qgov~sp-search",
12
11
  "profile": "qld",
@@ -15,10 +14,20 @@
15
14
  "suggestions": "https://discover.search.qld.gov.au/s/suggest.json",
16
15
  "results-url": "https://discover.search.qld.gov.au/s/search.json"
17
16
  },
18
- "default_suggestions": {
19
- "popular_services": [
17
+ "hasDynamicSuggestions": true,
18
+ "hasDefaultSuggestions": true,
19
+ "dynamicSuggestionsServiceLink": {
20
+ "href": "/queenslanders"
21
+ },
22
+ "defaultSuggestions": {
23
+ "popularServicesTitle": "Popular",
24
+ "popularServicesLink": {
25
+ "label": "View more",
26
+ "href": "/queenslanders"
27
+ },
28
+ "popularServices": [
20
29
  {
21
- "title": "Apply for leave",
30
+ "title": "Apply for leave now",
22
31
  "link": "https://www.forgov.qld.gov.au/pay-benefits-and-policy/leave/submit-a-leave-application"
23
32
  },
24
33
  {
@@ -34,6 +43,11 @@
34
43
  "link": "https://www.forgov.qld.gov.au/recruitment-performance-and-career/recruitment"
35
44
  }
36
45
  ],
46
+ "categoriesTitle": "Collection",
47
+ "categoriesLink": {
48
+ "label": "View all",
49
+ "href": "/queenslanders"
50
+ },
37
51
  "categories": [
38
52
  {
39
53
  "title": "Search for directives, policies, circulars, and guidelines",
@@ -51,11 +65,6 @@
51
65
  "title": "Career development",
52
66
  "link": "https://www.forgov.qld.gov.au/recruitment-performance-and-career/career-development"
53
67
  }
54
- ],
55
- "options": {
56
- "label": "Browse all categories",
57
- "view_more": true,
58
- "href": "/queenslanders"
59
- }
68
+ ]
60
69
  }
61
70
  }
@@ -1,12 +1,14 @@
1
1
  {
2
- "isDisabled": false,
3
- "isRequired": true,
4
- "isFilled": false,
5
- "customClass": "",
6
- "label-text": "Label",
7
- "placeholder": "Please select",
8
- "optional-text": "optional",
9
- "hint-text": "Hint",
10
- "successMessageText": "Success message",
11
- "errorMessageText": "Error message"
2
+ "id": "example-1",
3
+ "isDisabled": false,
4
+ "isRequired": true,
5
+ "isFilled": false,
6
+ "isValid": null,
7
+ "customClass": "",
8
+ "label-text": "Label",
9
+ "placeholder": "Please select",
10
+ "optional-text": "optional",
11
+ "hint-text": "Hint",
12
+ "successMessageText": "Success message",
13
+ "errorMessageText": "Error message"
12
14
  }
@@ -1,13 +1,16 @@
1
1
  {
2
- "isDisabled": false,
3
- "isRequired": true,
4
- "isFilled": false,
5
- "customClass": "",
6
- "rows": 3,
7
- "label-text": "Label",
8
- "placeholder": "Leave a comment here",
9
- "optional-text": "optional",
10
- "hint-text": "Hint",
11
- "successMessageText": "Success message",
12
- "errorMessageText": "Error message"
2
+ "id": "example-1",
3
+ "value": "",
4
+ "isDisabled": false,
5
+ "isRequired": true,
6
+ "isValid": null,
7
+ "isFilled": false,
8
+ "customClass": "",
9
+ "rows": 3,
10
+ "label-text": "Label",
11
+ "placeholder": "",
12
+ "optional-text": "optional",
13
+ "hint-text": "Hint",
14
+ "successMessageText": "Success message",
15
+ "errorMessageText": "Error message"
13
16
  }
@@ -1,12 +1,15 @@
1
1
  {
2
- "isDisabled": false,
3
- "isRequired": true,
4
- "isFilled": false,
5
- "customClass": "",
6
- "label-text": "Label",
7
- "placeholder": "Hello World",
8
- "optional-text": "optional",
9
- "hint-text": "Hint",
10
- "successMessageText": "Success message",
11
- "errorMessageText": "Error message"
2
+ "id": "example-1",
3
+ "value": "",
4
+ "isDisabled": false,
5
+ "isRequired": true,
6
+ "isValid": null,
7
+ "isFilled": false,
8
+ "customClass": "",
9
+ "label-text": "Label",
10
+ "placeholder": "",
11
+ "optional-text": "optional",
12
+ "hint-text": "Hint",
13
+ "successMessageText": "Success message",
14
+ "errorMessageText": "Error message"
12
15
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qld-gov-au/qgds-bootstrap5",
3
- "version": "2.0.11",
3
+ "version": "2.0.12",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",