@qld-gov-au/qgds-bootstrap5 1.1.41 → 2.0.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 (146) hide show
  1. package/.eslintrc.cjs +27 -27
  2. package/.vscode/settings.json +5 -5
  3. package/dist/assets/components/bs5/banner/banner.hbs +0 -7
  4. package/dist/assets/components/bs5/card/card.hbs +3 -17
  5. package/dist/assets/components/bs5/footer/customLinks.hbs +7 -0
  6. package/dist/assets/components/bs5/footer/feedbackForm.hbs +25 -0
  7. package/dist/assets/components/bs5/footer/followLinks.hbs +14 -0
  8. package/dist/assets/components/bs5/footer/footer.hbs +229 -346
  9. package/dist/assets/components/bs5/head/head.hbs +4 -4
  10. package/dist/assets/components/bs5/header/header.hbs +124 -878
  11. package/dist/assets/components/bs5/header/headerBrand.hbs +35 -0
  12. package/dist/{components/bs5/iconLink/iconLink.hbs → assets/components/bs5/link/link.hbs} +3 -3
  13. package/dist/assets/components/bs5/logo/logoCOALandscape.hbs +110 -55
  14. package/dist/assets/components/bs5/logo/logoCOALandscape2Lines.hbs +2 -1
  15. package/dist/assets/components/bs5/navbar/navbar.hbs +3 -3
  16. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithForm.hbs +53 -22
  17. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +79 -59
  18. package/dist/assets/components/bs5/pageLayout/templates/homePage.hbs +111 -0
  19. package/dist/assets/components/bs5/searchInput/searchInput.hbs +1 -1
  20. package/dist/assets/css/qld.bootstrap.css +1 -1
  21. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  22. package/dist/assets/js/handlebars.helpers.bundle.js.map +2 -2
  23. package/dist/assets/js/handlebars.helpers.js +34 -34
  24. package/dist/assets/js/handlebars.init.min.js +830 -1798
  25. package/dist/assets/js/handlebars.init.min.js.map +4 -4
  26. package/dist/assets/js/handlebars.partials.js +12 -8
  27. package/dist/assets/js/qld.bootstrap.min.js +5 -5
  28. package/dist/assets/js/qld.bootstrap.min.js.map +4 -4
  29. package/dist/assets/node/handlebars.init.min.js +399 -121
  30. package/dist/assets/node/handlebars.init.min.js.map +3 -3
  31. package/dist/components/bs5/banner/banner.hbs +0 -7
  32. package/dist/components/bs5/card/card.hbs +3 -17
  33. package/dist/components/bs5/footer/customLinks.hbs +7 -0
  34. package/dist/components/bs5/footer/feedbackForm.hbs +25 -0
  35. package/dist/components/bs5/footer/followLinks.hbs +14 -0
  36. package/dist/components/bs5/footer/footer.hbs +229 -346
  37. package/dist/components/bs5/head/head.hbs +4 -4
  38. package/dist/components/bs5/header/header.hbs +124 -878
  39. package/dist/components/bs5/header/headerBrand.hbs +35 -0
  40. package/dist/{assets/components/bs5/iconLink/iconLink.hbs → components/bs5/link/link.hbs} +3 -3
  41. package/dist/components/bs5/logo/logoCOALandscape.hbs +110 -55
  42. package/dist/components/bs5/logo/logoCOALandscape2Lines.hbs +2 -1
  43. package/dist/components/bs5/navbar/navbar.hbs +3 -3
  44. package/dist/components/bs5/pageLayout/templates/contentPageWithForm.hbs +53 -22
  45. package/dist/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +79 -59
  46. package/dist/components/bs5/pageLayout/templates/homePage.hbs +111 -0
  47. package/dist/components/bs5/searchInput/searchInput.hbs +1 -1
  48. package/dist/components/handlebars.helpers.js +34 -34
  49. package/dist/components/handlebars.partials.js +12 -8
  50. package/dist/package.json +1 -1
  51. package/dist/sample-data/footer/footer.data.json +128 -84
  52. package/dist/sample-data/header/header.variant.coBrand.data.json +28 -40
  53. package/dist/sample-data/header/header.variant.endorsed.data.json +116 -150
  54. package/dist/sample-data/header/header.variant.masterBrand.data.json +116 -152
  55. package/dist/sample-data/header/header.variant.standAlone.data.json +118 -150
  56. package/dist/sample-data/header/header.variant.subBrand.data.json +32 -159
  57. package/dist/sample-data/inpageAlert/inpageAlert.data.json +6 -6
  58. package/dist/sample-data/logo/logo.data.json +1 -0
  59. package/dist/sample-data/navbar/navbar.data.json +5 -5
  60. package/package.json +1 -1
  61. package/src/components/bs5/accordion/Accordion.mdx +8 -2
  62. package/src/components/bs5/banner/Banner.mdx +6 -1
  63. package/src/components/bs5/banner/banner.hbs +0 -7
  64. package/src/components/bs5/banner/banner.scss +16 -9
  65. package/src/components/bs5/banner/banner.stories.js +17 -17
  66. package/src/components/bs5/breadcrumbs/Breadcrumbs.mdx +8 -2
  67. package/src/components/bs5/button/button.stories.js +8 -8
  68. package/src/components/bs5/callToAction/callToAction.mdx +8 -3
  69. package/src/components/bs5/card/Card.mdx +8 -2
  70. package/src/components/bs5/card/card.hbs +3 -17
  71. package/src/components/bs5/card/card.scss +103 -103
  72. package/src/components/bs5/containerLayout/containerLayout.stories.js +1 -1
  73. package/src/components/bs5/footer/Footer.js +3 -3
  74. package/src/components/bs5/footer/Footer.mdx +8 -2
  75. package/src/components/bs5/footer/customLinks.hbs +7 -0
  76. package/src/components/bs5/footer/feedbackForm.hbs +25 -0
  77. package/src/components/bs5/footer/followLinks.hbs +14 -0
  78. package/src/components/bs5/footer/footer.data.json +128 -84
  79. package/src/components/bs5/footer/footer.functions.js +2 -1
  80. package/src/components/bs5/footer/footer.hbs +229 -346
  81. package/src/components/bs5/footer/footer.scss +262 -272
  82. package/src/components/bs5/footer/footer.stories.js +4 -92
  83. package/src/components/bs5/footer/footer_formio.scss +219 -0
  84. package/src/components/bs5/globalAlert/GlobalAlert.mdx +8 -2
  85. package/src/components/bs5/globalAlert/globalAlert.test.js +3 -11
  86. package/src/components/bs5/header/_header-variables.scss +272 -0
  87. package/src/components/bs5/header/header.functions.js +9 -9
  88. package/src/components/bs5/header/header.hbs +124 -878
  89. package/src/components/bs5/header/header.scss +279 -411
  90. package/src/components/bs5/header/header.stories.js +8 -28
  91. package/src/components/bs5/header/header.variant.coBrand.data.json +28 -40
  92. package/src/components/bs5/header/header.variant.endorsed.data.json +116 -150
  93. package/src/components/bs5/header/header.variant.masterBrand.data.json +116 -152
  94. package/src/components/bs5/header/header.variant.standAlone.data.json +118 -150
  95. package/src/components/bs5/header/header.variant.subBrand.data.json +32 -159
  96. package/src/components/bs5/header/headerBrand.hbs +35 -0
  97. package/src/components/bs5/inpageAlert/InpageAlert.mdx +8 -2
  98. package/src/components/bs5/inpageAlert/inpageAlert.data.json +6 -6
  99. package/src/components/bs5/{iconLink/iconLink.hbs → link/link.hbs} +3 -3
  100. package/src/components/bs5/{iconLink/iconLink.js → link/link.js} +2 -2
  101. package/src/components/bs5/{iconLink/iconLink.mdx → link/link.mdx} +3 -3
  102. package/src/components/bs5/{iconLink/iconLink.scss → link/link.scss} +27 -3
  103. package/src/components/bs5/{iconLink/iconLink.stories.js → link/link.stories.js} +4 -5
  104. package/src/components/bs5/linkColumns/linkColumns.mdx +8 -3
  105. package/src/components/bs5/logo/logo.data.json +1 -0
  106. package/src/components/bs5/logo/logoCOALandscape.hbs +110 -55
  107. package/src/components/bs5/logo/logoCOALandscape2Lines.hbs +2 -1
  108. package/src/components/bs5/navbar/navbar.data.json +5 -5
  109. package/src/components/bs5/navbar/navbar.hbs +3 -3
  110. package/src/components/bs5/navbar/navbar.scss +669 -614
  111. package/src/components/bs5/navbar/navbar.stories.js +1 -0
  112. package/src/components/bs5/pageLayout/{FullWidthLandingPage.js → HomePage.js} +2 -2
  113. package/src/components/bs5/pageLayout/pageLayout.stories.js +242 -98
  114. package/src/components/bs5/pageLayout/templates/contentPageWithForm.hbs +53 -22
  115. package/src/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +79 -59
  116. package/src/components/bs5/pageLayout/templates/homePage.hbs +111 -0
  117. package/src/components/bs5/promotionalPanel/PromotionalPanel.mdx +8 -3
  118. package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +1 -1
  119. package/src/components/bs5/searchInput/searchInput.hbs +1 -1
  120. package/src/components/bs5/searchInput/searchInput.scss +2 -1
  121. package/src/components/bs5/searchInput/searchInput.test.js +1 -2
  122. package/src/css/main.scss +4 -1
  123. package/src/css/mixins/_index.scss +2 -1
  124. package/src/css/mixins/register-vars.scss +23 -0
  125. package/src/css/qld-variables.scss +4 -2
  126. package/src/css/utilities/_index.scss +1 -0
  127. package/src/css/utilities/responsive-visually-hidden.scss +10 -0
  128. package/src/js/handlebars.helpers.js +34 -34
  129. package/src/js/handlebars.partials.js +12 -8
  130. package/src/js/qld.bootstrap.js +10 -11
  131. package/dist/assets/components/bs5/footer/footerForgov.hbs +0 -279
  132. package/dist/assets/components/bs5/pageLayout/pageLayout.hbs +0 -34
  133. package/dist/assets/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +0 -61
  134. package/dist/components/bs5/footer/footerForgov.hbs +0 -279
  135. package/dist/components/bs5/pageLayout/pageLayout.hbs +0 -34
  136. package/dist/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +0 -61
  137. package/src/components/bs5/footer/_colours.scss +0 -149
  138. package/src/components/bs5/footer/_measurements.scss +0 -32
  139. package/src/components/bs5/footer/footerForgov.hbs +0 -279
  140. package/src/components/bs5/header/_colours.scss +0 -271
  141. package/src/components/bs5/header/_icons.scss +0 -10
  142. package/src/components/bs5/pageLayout/pageLayout.hbs +0 -34
  143. package/src/components/bs5/pageLayout/pageLayout.js +0 -21
  144. package/src/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +0 -61
  145. /package/dist/sample-data/{iconLink/iconLink.data.json → link/link.data.json} +0 -0
  146. /package/src/components/bs5/{iconLink/iconLink.data.json → link/link.data.json} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { Navbar } from "./Navbar.js";
2
2
  import defaultdata from "./navbar.data.json";
3
3
 
4
+ //Default story
4
5
  export default {
5
6
  tags: ["autodocs"],
6
7
  title: "3. Components/Navbar",
@@ -1,7 +1,7 @@
1
1
  import Component from "../../../js/QGDSComponent.js";
2
- import template from "./templates/fullWidthLandingPage.hbs?raw";
2
+ import template from "./templates/homePage.hbs?raw";
3
3
 
4
- export class FullWidthLandingPage {
4
+ export class HomePage {
5
5
  constructor(data = {}) {
6
6
  return new Component(template, data);
7
7
  }
@@ -1,5 +1,4 @@
1
- import { PageLayout } from "./pageLayout.js";
2
- import { FullWidthLandingPage } from "./FullWidthLandingPage.js";
1
+ import { HomePage } from "./HomePage.js";
3
2
  import { ContentPageWithSideNavigation } from "./ContentPageWithSideNavigation.js";
4
3
  import { ContentPageWithForm } from "./ContentPageWithForm.js";
5
4
  //Data
@@ -9,11 +8,11 @@ import globalAlertData from "../globalAlert/globalAlert.data.json";
9
8
  import tableData from "../table/table.data.json";
10
9
  import footerData from "../footer/footer.data.json";
11
10
  import contentFooterData from "../contentFooter/contentFooter.data.json";
11
+ import callToActionData from "../callToAction/callToAction.data.json";
12
12
  import bannerData from "../banner/banner.data.json";
13
13
  import cardData from "../card/card.data.json";
14
14
  import linkColumnsData from "../linkColumns/linkColumns.data.json";
15
15
  import promotionalPanelData from "../promotionalPanel/promotionalPanel.data.json";
16
- import sidenavData from "../sidenav/sidenav.data.json";
17
16
  import inpagenavData from "../inpagenav/inpagenav.data.json";
18
17
  import breadcrumbsData from "../breadcrumbs/breadcrumbs.data.json";
19
18
  import imageData from "../image/image.data.json";
@@ -23,10 +22,38 @@ import textareaData from "../textarea/textarea.data.json";
23
22
  import searchData from "../searchInput/searchInput.data.json";
24
23
  import selectData from "../select/select.data.json";
25
24
  import buttonData from "../button/button.data.json";
26
- import checkboxData from "../formcheck/stories/checkbox/checkbox.data.json";
27
- import radioData from "../formcheck/stories/radio/radio.data.json";
25
+ import buttondata from "../button/button.data.json";
26
+ import accordionData from "../accordion/accordion.data.json";
27
+
28
28
  import { SearchInput } from "../searchInput/SearchInput.js";
29
29
 
30
+ const sideNavData = {
31
+ navtitle: "Template",
32
+ navtitlelink: "#optionallink",
33
+ navlist: [
34
+ {
35
+ link: "#https://www.qld.gov.au/transport/registration/register/heavy",
36
+ label: "Home page",
37
+ class: "",
38
+ },
39
+ {
40
+ link: "#",
41
+ label: "Content page (no bar)",
42
+ class: "",
43
+ },
44
+ {
45
+ link: "#",
46
+ label: "Content page (basic bar)",
47
+ class: "",
48
+ },
49
+ {
50
+ link: "#",
51
+ label: "Single page form",
52
+ class: "",
53
+ },
54
+ ],
55
+ };
56
+
30
57
  const defaultData = {
31
58
  cdn: ".", //for storybook it's ., for normal usage "PROD"
32
59
  title: "title goes here",
@@ -37,15 +64,18 @@ const defaultData = {
37
64
  navbar: menu_state,
38
65
  table: tableData,
39
66
  globalAlert: globalAlertData.critical,
40
- footer: footerData,
67
+ footer: {
68
+ ...footerData,
69
+ variantClass: "dark",
70
+ },
41
71
  contentFooter: contentFooterData,
42
- sidenav: sidenavData,
72
+ sidenav: sideNavData,
43
73
  };
44
74
 
45
75
  export default {
46
- title: "6. Templates/Page Layout",
76
+ title: "5. Templates/Page Layout",
47
77
  render: (args) => {
48
- return new PageLayout(args).html;
78
+ return new ContentPageWithSideNavigation(args).html;
49
79
  },
50
80
  args: defaultData,
51
81
  argTypes: {},
@@ -57,22 +87,46 @@ export default {
57
87
  },
58
88
  };
59
89
 
90
+ const SideNavArgs = {
91
+ ...defaultData,
92
+ title: "Content Page with Side Navigation",
93
+ accordionItems: accordionData,
94
+ calloutdata: {
95
+ title: "Call out heading",
96
+ content:
97
+ "Faucibus urna non suspendisse augue donec fermentum. Semper elementum dui odio sociis. Quis risus pellentesque consectetur risus senectus. Egestas lectus nec dui odio vitae sem. Convallis pulvinar arcu feugiat eget. Est convallis mattis mauris nisi suscipit.",
98
+ },
99
+ inpagenav: inpagenavData,
100
+ image: imageData,
101
+ video: videoData.youtube,
102
+ callToAction: {
103
+ ...callToActionData,
104
+ label: "Call to action",
105
+ },
106
+ };
107
+
60
108
  /**
61
- * Default page layout
109
+ * Default Content Page with Side Navigation
62
110
  */
63
111
  export const Default = {
64
112
  args: {
65
- backToTop: {
66
- hide_back_to_top: false,
67
- min_page_height: 0,
68
- is_fixed: false,
69
- directionalLink: {
70
- id: "",
71
- label: "Back to top",
72
- href: "#",
73
- target: "_self",
74
- class: "back-to-top up my-2 ms-auto",
75
- },
113
+ ...SideNavArgs,
114
+ banner: {
115
+ variantClass: "dark",
116
+ bannerType: "no-banner",
117
+ breadcrumbs: breadcrumbsData.default,
118
+ },
119
+ sidenav: {
120
+ ...sideNavData,
121
+ navlist: [
122
+ sideNavData.navlist[0],
123
+ {
124
+ ...sideNavData.navlist[1],
125
+ class: "active",
126
+ },
127
+ sideNavData.navlist[2],
128
+ sideNavData.navlist[3],
129
+ ],
76
130
  },
77
131
  },
78
132
  };
@@ -80,9 +134,9 @@ export const Default = {
80
134
  /**
81
135
  * Full Width Landing Page
82
136
  */
83
- export const FullWidthLanding = {
137
+ export const Home = {
84
138
  render: (args) => {
85
- return new FullWidthLandingPage(args).html;
139
+ return new HomePage(args).html;
86
140
  },
87
141
  args: {
88
142
  ...defaultData,
@@ -91,6 +145,21 @@ export const FullWidthLanding = {
91
145
  ...bannerData,
92
146
  title: "Welcome to Queensland Government",
93
147
  abstract: "Your gateway to government services and information.",
148
+ bannerType: "banner-advanced",
149
+ backgroundType: "with-hero-image",
150
+ "image.classes": "align-grid",
151
+ callToAction: "buttons",
152
+ buttons: [
153
+ {
154
+ ...buttondata,
155
+ iconClass: false,
156
+ },
157
+ {
158
+ ...buttondata,
159
+ classes: ["btn-secondary"],
160
+ variantClass: "btn-secondary",
161
+ },
162
+ ],
94
163
  },
95
164
  cardGrid: {
96
165
  cards: [
@@ -99,36 +168,73 @@ export const FullWidthLanding = {
99
168
  title: "Services",
100
169
  description: "Access government services online",
101
170
  link: "#services",
171
+ iconClasses: "qld-icon-design",
172
+ iconPosition: "icon-top",
102
173
  },
103
174
  {
104
175
  ...cardData.singleAction,
105
176
  title: "Information",
106
177
  description: "Find important information and resources",
107
178
  link: "#information",
179
+ iconClasses: "qld-icon-design",
180
+ iconPosition: "icon-top",
108
181
  },
109
182
  {
110
183
  ...cardData.singleAction,
111
184
  title: "Support",
112
185
  description: "Get help when you need it",
113
186
  link: "#support",
187
+ iconClasses: "qld-icon-design",
188
+ iconPosition: "icon-top",
189
+ },
190
+ ],
191
+ },
192
+ cardGridBottom: {
193
+ cards: [
194
+ {
195
+ ...cardData.singleAction,
196
+ title: "Services",
197
+ description: "Access government services online",
198
+ link: "#services",
199
+ image: "./assets/img/image-placeholder.png",
200
+ imageAlt: "A grey placeholder image with an icon in the centre.",
201
+ },
202
+ {
203
+ ...cardData.singleAction,
204
+ title: "Information",
205
+ description: "Find important information and resources",
206
+ link: "#information",
207
+ image: "./assets/img/image-placeholder.png",
208
+ imageAlt: "A grey placeholder image with an icon in the centre.",
209
+ },
210
+ {
211
+ ...cardData.singleAction,
212
+ title: "Support",
213
+ description: "Get help when you need it",
214
+ link: "#support",
215
+ image: "./assets/img/image-placeholder.png",
216
+ imageAlt: "A grey placeholder image with an icon in the centre.",
114
217
  },
115
218
  ],
116
219
  },
117
220
  linkColumns: linkColumnsData,
118
- promotionalPanel: promotionalPanelData,
221
+ callToAction: callToActionData,
222
+ promotionalPanel: {
223
+ ...promotionalPanelData,
224
+ variantClass: "dark",
225
+ },
119
226
  },
120
227
  };
121
228
 
122
229
  /**
123
230
  * Content Page with Side Navigation
124
231
  */
125
- export const ContentPageWithSideNav = {
232
+ export const ContentPageBasicBanner = {
126
233
  render: (args) => {
127
234
  return new ContentPageWithSideNavigation(args).html;
128
235
  },
129
236
  args: {
130
- ...defaultData,
131
- title: "Content Page with Side Navigation",
237
+ ...SideNavArgs,
132
238
  banner: {
133
239
  ...bannerData,
134
240
  title: "Vehicle Registration",
@@ -136,131 +242,169 @@ export const ContentPageWithSideNav = {
136
242
  "Everything you need to know about registering your vehicle in Queensland.",
137
243
  breadcrumbs: breadcrumbsData.default,
138
244
  },
139
- sidenav: sidenavData,
140
- inpagenav: inpagenavData,
141
- image: imageData,
142
- video: videoData.youtube,
245
+ sidenav: {
246
+ ...sideNavData,
247
+ navlist: [
248
+ sideNavData.navlist[0],
249
+ sideNavData.navlist[1],
250
+ {
251
+ ...sideNavData.navlist[2],
252
+ class: "active",
253
+ },
254
+ sideNavData.navlist[3],
255
+ ],
256
+ },
143
257
  },
144
258
  };
145
259
 
146
260
  /**
147
261
  * Content Page with Form
148
262
  */
149
- export const ContentPageWithFormExample = {
263
+ export const ContentPageWithSingleForm = {
150
264
  render: (args) => {
151
265
  return new ContentPageWithForm(args).html;
152
266
  },
153
267
  args: {
154
268
  ...defaultData,
155
269
  title: "Contact Us Form",
270
+ inpageAlert: {
271
+ variantClass: "alert-info",
272
+ alertType: "",
273
+ content:
274
+ "<p>Response times are estimated at 15 working days. If you're looking for a quicker response, call 13 QGOV ( <a href='#'>13 74 68</a>).</p>",
275
+ },
156
276
  banner: {
157
277
  ...bannerData,
158
278
  title: "Contact Us",
159
279
  abstract: "Get in touch with us using the form below.",
160
280
  breadcrumbs: breadcrumbsData.default,
161
281
  },
282
+ sidenav: {
283
+ ...sideNavData,
284
+ navlist: [
285
+ sideNavData.navlist[0],
286
+ sideNavData.navlist[1],
287
+ sideNavData.navlist[2],
288
+ {
289
+ ...sideNavData.navlist[3],
290
+ class: "active",
291
+ },
292
+ ],
293
+ },
162
294
  content: `
163
295
  <h1>Contact Form</h1>
164
296
  <p>Please fill out the form below and we'll get back to you as soon as possible.</p>
165
297
  `,
166
298
  form: {
167
- fields: [
299
+ fields1: [
300
+ {
301
+ type: "radio",
302
+ questionLabel: "Type of enquiry",
303
+ listClasses: "field-required",
304
+ listitems: [
305
+ {
306
+ type: "radio",
307
+ id: "type1",
308
+ name: "enquiry",
309
+ label: "Complaint",
310
+ value: "complaint",
311
+ isDisabled: false,
312
+ },
313
+ {
314
+ type: "radio",
315
+ id: "type2",
316
+ name: "enquiry",
317
+ label: "Compliment",
318
+ value: "compliment",
319
+ isDisabled: false,
320
+ },
321
+ ],
322
+ },
168
323
  {
169
324
  ...textboxData,
170
325
  type: "textbox",
171
- label: "First Name",
326
+ "label-text":
327
+ "Please tell us in a few words what your enquiry relates to",
328
+ label: "Please tell us in a few words what your enquiry relates to",
329
+ "optional-text": "",
330
+ placeholder: "",
331
+ "hint-text":
332
+ "This will help us determine the most appropriate person to respond",
172
333
  id: "firstName",
173
334
  required: true,
174
335
  },
336
+ {
337
+ ...textareaData,
338
+ type: "textarea",
339
+ "label-text": "Tell us what happened",
340
+ label: "Tell us what happened",
341
+ "optional-text": "",
342
+ "hint-text":
343
+ "Provide as much information as possible to help us better respond to your feedback. There is no character limit. Please don't include private information like credit card details or medical history.",
344
+ rows: 4,
345
+ cols: 50,
346
+ maxlength: 500,
347
+ minlength: 10,
348
+ resize: true,
349
+ id: "message",
350
+ required: true,
351
+ },
352
+ ],
353
+ fields2: [
175
354
  {
176
355
  ...textboxData,
177
356
  type: "textbox",
178
- label: "Last Name",
357
+ "label-text": "Name",
358
+ "optional-text": "",
359
+ placeholder: "",
360
+ "hint-text": "",
179
361
  id: "lastName",
180
362
  required: true,
181
363
  },
182
364
  {
183
365
  ...textboxData,
184
366
  type: "textbox",
185
- label: "Email",
367
+ "label-text": "Email",
368
+ "optional-text": "",
369
+ placeholder: "",
370
+ "hint-text": "",
186
371
  id: "email",
187
372
  inputType: "email",
188
373
  required: true,
189
374
  },
375
+ {
376
+ ...textboxData,
377
+ type: "textbox",
378
+ "label-text": "Phone",
379
+ "optional-text": "",
380
+ placeholder: "",
381
+ "hint-text": "",
382
+ id: "phone",
383
+ inputType: "phone",
384
+ required: true,
385
+ },
190
386
  {
191
387
  ...selectData,
192
388
  type: "select",
193
- label: "Enquiry Type",
389
+ "label-text": "Enquiry Type",
390
+ "optional-text": "",
391
+ "hint-text": "",
194
392
  id: "enquiryType",
195
393
  },
196
394
  {
197
- ...textareaData,
198
- type: "textarea",
199
- label: "Message",
200
- id: "message",
201
- required: true,
202
- },
203
- {
204
- ...checkboxData,
205
395
  type: "checkbox",
206
- questionLabel: "Services Required",
396
+ questionLabel: "Privacy acknowledgement",
397
+ listClasses: "field-required",
207
398
  listitems: [
208
399
  {
209
400
  type: "checkbox",
210
401
  id: "service1",
211
- name: "services",
212
- label: "Website Development",
213
- value: "website",
214
- isDisabled: false
215
- },
216
- {
217
- type: "checkbox",
218
- id: "service2",
219
- name: "services",
220
- label: "Mobile App Development",
221
- value: "mobile",
222
- isDisabled: false
402
+ name: "Privacy acknowledgement",
403
+ label: "I have read and understood the privacy statement",
404
+ value: "checked",
405
+ isDisabled: false,
223
406
  },
224
- {
225
- type: "checkbox",
226
- id: "service3",
227
- name: "services",
228
- label: "Consulting",
229
- value: "consulting",
230
- isDisabled: false
231
- }
232
- ]
233
- },
234
- {
235
- ...radioData,
236
- type: "radio",
237
- questionLabel: "Preferred Contact Method",
238
- listitems: [
239
- {
240
- type: "radio",
241
- id: "contact1",
242
- name: "contactMethod",
243
- label: "Email",
244
- value: "email",
245
- isDisabled: false
246
- },
247
- {
248
- type: "radio",
249
- id: "contact2",
250
- name: "contactMethod",
251
- label: "Phone",
252
- value: "phone",
253
- isDisabled: false
254
- },
255
- {
256
- type: "radio",
257
- id: "contact3",
258
- name: "contactMethod",
259
- label: "SMS",
260
- value: "sms",
261
- isDisabled: false
262
- }
263
- ]
407
+ ],
264
408
  },
265
409
  ],
266
410
  buttons: [
@@ -5,7 +5,6 @@
5
5
  <meta charset="UTF-8">
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
7
  <title>{{title}}</title>
8
- {{> head }}
9
8
  </head>
10
9
 
11
10
  <body>
@@ -18,44 +17,76 @@
18
17
  {{/if}}
19
18
 
20
19
  <main>
21
- <div class="container-fluid">
22
- <div class="container qld-content">
23
- {{#if breadcrumbs}}
24
- <div class="row">
25
- <div class="col-12">
26
- {{> breadcrumbs breadcrumbs}}
27
- </div>
20
+ <div class="container mt-40 mt-lg-64">
21
+ {{#if breadcrumbs}}
22
+ <div class="row">
23
+ <div class="col-12">
24
+ {{> breadcrumbs breadcrumbs}}
25
+ </div>
26
+ </div>
27
+ {{/if}}
28
+
29
+ <div class="row">
30
+ {{#if sidenav}}
31
+ <!-- Side navigation Col -->
32
+ <div class="col-12 col-lg-3 mt-5 mt-lg-0">
33
+ {{> sidenav sidenav}}
28
34
  </div>
29
35
  {{/if}}
30
36
 
31
- <div class="row">
32
- <div class="col-lg-8 mx-auto">
33
- <div class="content-section">
34
- {{{content}}}
37
+ <!-- Content Col -->
38
+ <div class="col-lg-8 col-md-7 ps-1 ps-md-32">
39
+
40
+ <!-- Main Content Sections -->
41
+ <div class="content-section mb-5 px-1 px-md-32">
42
+
43
+ <h1 id="section-heading">Single page form (H1)</h1>
44
+ <p>
45
+ Your feedback is important to us. It tells us how we can improve and what we’re doing well. Your feedback is confidential.
46
+ </p>
47
+
48
+ <h2 id="form-heading">Enquiry form (H2)</h2>
49
+
50
+ {{#if inpageAlert}}
51
+ <!-- Inpage Alert -->
52
+ <div class="mb-32">
53
+ {{> inpageAlert inpageAlert}}
54
+ </div>
55
+ {{/if}}
56
+
57
+ <div class="mb-32">
58
+ <p>Any information submitted using this form will be used in line with our privacy statement.</p>
59
+ <p>Required fields are marked with an *</p>
35
60
  </div>
36
61
 
37
62
  {{#if form}}
38
63
  <form class="qld-form mb-5">
39
- {{#each form.fields}}
40
- <div class="form-group mb-3">
64
+ {{#each form.fields1}}
65
+ <div class="form-group mb-32">
41
66
  {{#ifCond type '==' 'textbox'}}
42
67
  {{> textbox this}}
43
68
  {{else ifCond type '==' 'textarea'}}
44
69
  {{> textarea this}}
70
+ {{else ifCond type '==' 'radio'}}
71
+ {{> formcheck this}}
72
+ {{/ifCond}}
73
+ </div>
74
+ {{/each}}
75
+
76
+ <h3 id="form-heading">Contact details (H3)</h3>
77
+
78
+ {{#each form.fields2}}
79
+ <div class="form-group mb-32">
80
+ {{#ifCond type '==' 'textbox'}}
81
+ {{> textbox this}}
45
82
  {{else ifCond type '==' 'select'}}
46
83
  {{> select this}}
47
- {{else ifCond type '==' 'dateinput'}}
48
- {{> dateinput this}}
49
- {{else ifCond type '==' 'formcheck'}}
50
- {{> formcheck this}}
51
84
  {{else ifCond type '==' 'checkbox'}}
52
85
  {{> formcheck this}}
53
- {{else ifCond type '==' 'radio'}}
54
- {{> formcheck this}}
55
86
  {{/ifCond}}
56
87
  </div>
57
88
  {{/each}}
58
-
89
+
59
90
  {{#if form.buttons}}
60
91
  <div class="form-actions d-flex mt-5 gap-4">
61
92
  {{#each form.buttons}}
@@ -66,9 +97,9 @@
66
97
  </form>
67
98
  {{/if}}
68
99
 
69
- {{> contentFooter contentFooter}}
70
100
  </div>
71
101
  </div>
102
+ {{> contentFooter contentFooter}}
72
103
  </div>
73
104
  </div>
74
105
  </main>