@qld-gov-au/qgds-bootstrap5 1.1.41 → 2.0.0
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.
- package/.eslintrc.cjs +27 -27
- package/.vscode/settings.json +5 -5
- package/dist/assets/components/bs5/card/card.hbs +3 -17
- package/dist/assets/components/bs5/footer/customLinks.hbs +7 -0
- package/dist/assets/components/bs5/footer/feedbackForm.hbs +25 -0
- package/dist/assets/components/bs5/footer/followLinks.hbs +14 -0
- package/dist/assets/components/bs5/footer/footer.hbs +229 -346
- package/dist/assets/components/bs5/head/head.hbs +4 -4
- package/dist/assets/components/bs5/header/header.hbs +124 -878
- package/dist/assets/components/bs5/header/headerBrand.hbs +35 -0
- package/dist/{components/bs5/iconLink/iconLink.hbs → assets/components/bs5/link/link.hbs} +3 -3
- package/dist/assets/components/bs5/logo/logoCOALandscape.hbs +110 -55
- package/dist/assets/components/bs5/logo/logoCOALandscape2Lines.hbs +2 -1
- package/dist/assets/components/bs5/navbar/navbar.hbs +3 -3
- package/dist/assets/components/bs5/pageLayout/templates/contentPageWithForm.hbs +53 -22
- package/dist/assets/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +79 -59
- package/dist/assets/components/bs5/pageLayout/templates/homePage.hbs +111 -0
- package/dist/assets/components/bs5/searchInput/searchInput.hbs +1 -1
- package/dist/assets/css/qld.bootstrap.css +1 -1
- package/dist/assets/css/qld.bootstrap.css.map +3 -3
- package/dist/assets/js/handlebars.helpers.bundle.js.map +2 -2
- package/dist/assets/js/handlebars.helpers.js +34 -34
- package/dist/assets/js/handlebars.init.min.js +830 -1791
- package/dist/assets/js/handlebars.init.min.js.map +4 -4
- package/dist/assets/js/handlebars.partials.js +12 -8
- package/dist/assets/js/qld.bootstrap.min.js +5 -5
- package/dist/assets/js/qld.bootstrap.min.js.map +4 -4
- package/dist/assets/node/handlebars.init.min.js +398 -120
- package/dist/assets/node/handlebars.init.min.js.map +3 -3
- package/dist/components/bs5/card/card.hbs +3 -17
- package/dist/components/bs5/footer/customLinks.hbs +7 -0
- package/dist/components/bs5/footer/feedbackForm.hbs +25 -0
- package/dist/components/bs5/footer/followLinks.hbs +14 -0
- package/dist/components/bs5/footer/footer.hbs +229 -346
- package/dist/components/bs5/head/head.hbs +4 -4
- package/dist/components/bs5/header/header.hbs +124 -878
- package/dist/components/bs5/header/headerBrand.hbs +35 -0
- package/dist/{assets/components/bs5/iconLink/iconLink.hbs → components/bs5/link/link.hbs} +3 -3
- package/dist/components/bs5/logo/logoCOALandscape.hbs +110 -55
- package/dist/components/bs5/logo/logoCOALandscape2Lines.hbs +2 -1
- package/dist/components/bs5/navbar/navbar.hbs +3 -3
- package/dist/components/bs5/pageLayout/templates/contentPageWithForm.hbs +53 -22
- package/dist/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +79 -59
- package/dist/components/bs5/pageLayout/templates/homePage.hbs +111 -0
- package/dist/components/bs5/searchInput/searchInput.hbs +1 -1
- package/dist/components/handlebars.helpers.js +34 -34
- package/dist/components/handlebars.partials.js +12 -8
- package/dist/package.json +1 -1
- package/dist/sample-data/footer/footer.data.json +128 -84
- package/dist/sample-data/header/header.variant.coBrand.data.json +28 -40
- package/dist/sample-data/header/header.variant.endorsed.data.json +116 -150
- package/dist/sample-data/header/header.variant.masterBrand.data.json +116 -152
- package/dist/sample-data/header/header.variant.standAlone.data.json +118 -150
- package/dist/sample-data/header/header.variant.subBrand.data.json +32 -159
- package/dist/sample-data/inpageAlert/inpageAlert.data.json +6 -6
- package/dist/sample-data/logo/logo.data.json +1 -0
- package/dist/sample-data/navbar/navbar.data.json +5 -5
- package/package.json +1 -1
- package/src/components/bs5/accordion/Accordion.mdx +8 -2
- package/src/components/bs5/banner/Banner.mdx +6 -1
- package/src/components/bs5/banner/banner.scss +16 -9
- package/src/components/bs5/banner/banner.stories.js +17 -17
- package/src/components/bs5/breadcrumbs/Breadcrumbs.mdx +8 -2
- package/src/components/bs5/button/button.stories.js +8 -8
- package/src/components/bs5/callToAction/callToAction.mdx +8 -3
- package/src/components/bs5/card/Card.mdx +8 -2
- package/src/components/bs5/card/card.hbs +3 -17
- package/src/components/bs5/card/card.scss +103 -103
- package/src/components/bs5/containerLayout/containerLayout.stories.js +1 -1
- package/src/components/bs5/footer/Footer.js +3 -3
- package/src/components/bs5/footer/Footer.mdx +8 -2
- package/src/components/bs5/footer/customLinks.hbs +7 -0
- package/src/components/bs5/footer/feedbackForm.hbs +25 -0
- package/src/components/bs5/footer/followLinks.hbs +14 -0
- package/src/components/bs5/footer/footer.data.json +128 -84
- package/src/components/bs5/footer/footer.functions.js +2 -1
- package/src/components/bs5/footer/footer.hbs +229 -346
- package/src/components/bs5/footer/footer.scss +262 -272
- package/src/components/bs5/footer/footer.stories.js +4 -92
- package/src/components/bs5/footer/footer_formio.scss +219 -0
- package/src/components/bs5/globalAlert/GlobalAlert.mdx +8 -2
- package/src/components/bs5/globalAlert/globalAlert.test.js +3 -11
- package/src/components/bs5/header/_header-variables.scss +272 -0
- package/src/components/bs5/header/header.functions.js +9 -9
- package/src/components/bs5/header/header.hbs +124 -878
- package/src/components/bs5/header/header.scss +279 -411
- package/src/components/bs5/header/header.stories.js +8 -28
- package/src/components/bs5/header/header.variant.coBrand.data.json +28 -40
- package/src/components/bs5/header/header.variant.endorsed.data.json +116 -150
- package/src/components/bs5/header/header.variant.masterBrand.data.json +116 -152
- package/src/components/bs5/header/header.variant.standAlone.data.json +118 -150
- package/src/components/bs5/header/header.variant.subBrand.data.json +32 -159
- package/src/components/bs5/header/headerBrand.hbs +35 -0
- package/src/components/bs5/inpageAlert/InpageAlert.mdx +8 -2
- package/src/components/bs5/inpageAlert/inpageAlert.data.json +6 -6
- package/src/components/bs5/{iconLink/iconLink.hbs → link/link.hbs} +3 -3
- package/src/components/bs5/{iconLink/iconLink.js → link/link.js} +2 -2
- package/src/components/bs5/{iconLink/iconLink.mdx → link/link.mdx} +3 -3
- package/src/components/bs5/{iconLink/iconLink.scss → link/link.scss} +27 -3
- package/src/components/bs5/{iconLink/iconLink.stories.js → link/link.stories.js} +4 -5
- package/src/components/bs5/linkColumns/linkColumns.mdx +8 -3
- package/src/components/bs5/logo/logo.data.json +1 -0
- package/src/components/bs5/logo/logoCOALandscape.hbs +110 -55
- package/src/components/bs5/logo/logoCOALandscape2Lines.hbs +2 -1
- package/src/components/bs5/navbar/navbar.data.json +5 -5
- package/src/components/bs5/navbar/navbar.hbs +3 -3
- package/src/components/bs5/navbar/navbar.scss +669 -614
- package/src/components/bs5/navbar/navbar.stories.js +1 -0
- package/src/components/bs5/pageLayout/{FullWidthLandingPage.js → HomePage.js} +2 -2
- package/src/components/bs5/pageLayout/pageLayout.stories.js +242 -98
- package/src/components/bs5/pageLayout/templates/contentPageWithForm.hbs +53 -22
- package/src/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +79 -59
- package/src/components/bs5/pageLayout/templates/homePage.hbs +111 -0
- package/src/components/bs5/promotionalPanel/PromotionalPanel.mdx +8 -3
- package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +1 -1
- package/src/components/bs5/searchInput/searchInput.hbs +1 -1
- package/src/components/bs5/searchInput/searchInput.scss +2 -1
- package/src/components/bs5/searchInput/searchInput.test.js +1 -2
- package/src/css/main.scss +4 -1
- package/src/css/mixins/_index.scss +2 -1
- package/src/css/mixins/register-vars.scss +23 -0
- package/src/css/qld-variables.scss +4 -2
- package/src/css/utilities/_index.scss +1 -0
- package/src/css/utilities/responsive-visually-hidden.scss +10 -0
- package/src/js/handlebars.helpers.js +34 -34
- package/src/js/handlebars.partials.js +12 -8
- package/src/js/qld.bootstrap.js +10 -11
- package/dist/assets/components/bs5/footer/footerForgov.hbs +0 -279
- package/dist/assets/components/bs5/pageLayout/pageLayout.hbs +0 -34
- package/dist/assets/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +0 -61
- package/dist/components/bs5/footer/footerForgov.hbs +0 -279
- package/dist/components/bs5/pageLayout/pageLayout.hbs +0 -34
- package/dist/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +0 -61
- package/src/components/bs5/footer/_colours.scss +0 -149
- package/src/components/bs5/footer/_measurements.scss +0 -32
- package/src/components/bs5/footer/footerForgov.hbs +0 -279
- package/src/components/bs5/header/_colours.scss +0 -271
- package/src/components/bs5/header/_icons.scss +0 -10
- package/src/components/bs5/pageLayout/pageLayout.hbs +0 -34
- package/src/components/bs5/pageLayout/pageLayout.js +0 -21
- package/src/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +0 -61
- /package/dist/sample-data/{iconLink/iconLink.data.json → link/link.data.json} +0 -0
- /package/src/components/bs5/{iconLink/iconLink.data.json → link/link.data.json} +0 -0
|
@@ -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>
|
|
@@ -21,80 +20,101 @@
|
|
|
21
20
|
{{/if}}
|
|
22
21
|
|
|
23
22
|
<main>
|
|
24
|
-
<div class="container-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
<div class="
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
{{> breadcrumbs breadcrumbs}}
|
|
31
|
-
</div>
|
|
23
|
+
<div class="container mt-40 mt-lg-64">
|
|
24
|
+
{{#if breadcrumbs}}
|
|
25
|
+
<div class="row">
|
|
26
|
+
<div class="col-12">
|
|
27
|
+
<!-- breadcrumbs -->
|
|
28
|
+
{{> breadcrumbs breadcrumbs}}
|
|
32
29
|
</div>
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
30
|
+
</div>
|
|
31
|
+
{{/if}}
|
|
32
|
+
|
|
33
|
+
<!-- Main Grid Layout: Side navigation and content -->
|
|
34
|
+
<div class="row">
|
|
35
|
+
{{#if sidenav}}
|
|
36
|
+
<!-- Side navigation Col -->
|
|
37
|
+
<div class="col-12 col-lg-3 mt-5 mt-lg-0">
|
|
38
|
+
{{> sidenav sidenav}}
|
|
39
|
+
</div>
|
|
40
|
+
<!-- Content Col -->
|
|
41
|
+
<div class="col-lg-8 col-md-7 ps-1 ps-md-32">
|
|
42
|
+
{{else}}
|
|
43
|
+
<div class="col-12">
|
|
44
|
+
{{/if}}
|
|
47
45
|
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
<!-- Main Content Sections -->
|
|
47
|
+
<div class="content-section mb-5 px-1 px-md-32">
|
|
50
48
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
{{#if inpagenav}}
|
|
50
|
+
<!-- inpagenav Section -->
|
|
51
|
+
{{> inpagenav inpagenav}}
|
|
52
|
+
{{/if}}
|
|
55
53
|
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
<h1 id="section-heading">Section heading (H1)</h1>
|
|
55
|
+
<p>
|
|
56
|
+
Lorem ipsum dolor sit amet consectetur. Sed facilisis purus eu convallis ut. Morbi condimentum volutpat feugiat pellentesque. Auctor amet auctor dolor metus eget diam. Facilisis vitae venenatis vestibulum libero ut. Luctus diam pellentesque ipsum accumsan amet commodo.
|
|
57
|
+
</p>
|
|
58
|
+
<p>
|
|
59
|
+
Convallis et ullamcorper ac nisi ornare sed facilisis sem. Scelerisque malesuada vivamus tellus mi vitae amet ornare donec malesuada. Nascetur senectus aenean fames id turpis.
|
|
60
|
+
</p>
|
|
61
|
+
|
|
62
|
+
<h2 id="content-heading">Content heading (H2)</h2>
|
|
63
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor
|
|
64
|
+
incididunt ut labore et dolore magna aliqua.</p>
|
|
65
|
+
|
|
66
|
+
{{#if calloutdata}}
|
|
67
|
+
<!-- callout Section -->
|
|
68
|
+
{{> callout calloutdata}}
|
|
69
|
+
{{/if}}
|
|
58
70
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
incididunt ut labore et dolore magna aliqua.</p>
|
|
71
|
+
<h3 id="inspection">Pre-registration inspection (H3)</h3>
|
|
72
|
+
<p>Information about pre-registration inspection requirements.</p>
|
|
62
73
|
|
|
63
|
-
|
|
64
|
-
|
|
74
|
+
<h4 id="fees-and-charges">Fees and charges (H4)</h4>
|
|
75
|
+
<p>Details about fees and charges for vehicle registration.</p>
|
|
65
76
|
|
|
66
|
-
|
|
67
|
-
<p>Details about fees and charges for vehicle registration.</p>
|
|
77
|
+
</div>
|
|
68
78
|
|
|
69
|
-
|
|
79
|
+
{{#if accordionItems}}
|
|
80
|
+
<!-- accordion Section -->
|
|
81
|
+
<div class="my-5 px-1 px-md-32">
|
|
82
|
+
{{> accordion accordionItems}}
|
|
83
|
+
</div>
|
|
84
|
+
{{/if}}
|
|
70
85
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
86
|
+
{{#if video}}
|
|
87
|
+
<!-- video Section -->
|
|
88
|
+
<div class="my-5 px-1 px-md-32">
|
|
89
|
+
{{> video video}}
|
|
90
|
+
</div>
|
|
91
|
+
{{/if}}
|
|
77
92
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
<
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
93
|
+
<div class="my-5 p-1 p-md-32 bg-light">
|
|
94
|
+
<h2 id="inspection">Section heading (H2)</h2>
|
|
95
|
+
<p>Lorem ipsum dolor sit amet consectetur. Viverra eu pulvinar a eu mauris ac at ultricies
|
|
96
|
+
est.
|
|
97
|
+
Tincidunt ultrices commodo vestibulum non netus. </p>
|
|
98
|
+
<p>Mauris maecenas lacus hendrerit urna ultricies auctor. Sed tristique nascetur sapien
|
|
99
|
+
condimentum adipiscing augue quisque eu.</p>
|
|
84
100
|
|
|
85
|
-
{{
|
|
86
|
-
|
|
87
|
-
<div class="my-4 ps-32">
|
|
88
|
-
{{> video video}}
|
|
89
|
-
</div>
|
|
90
|
-
{{/if}}
|
|
101
|
+
{{> callToAction callToAction}}
|
|
102
|
+
</div>
|
|
91
103
|
|
|
92
|
-
|
|
93
|
-
|
|
104
|
+
{{#if table}}
|
|
105
|
+
<!-- table Section -->
|
|
106
|
+
<div class="my-5 px-1 px-md-32">
|
|
107
|
+
{{> table table}}
|
|
94
108
|
</div>
|
|
109
|
+
{{/if}}
|
|
110
|
+
|
|
95
111
|
</div>
|
|
96
112
|
</div>
|
|
113
|
+
|
|
114
|
+
<!-- Content Footer -->
|
|
115
|
+
{{> contentFooter contentFooter}}
|
|
97
116
|
</div>
|
|
117
|
+
</div>
|
|
98
118
|
</main>
|
|
99
119
|
<!-- Footer -->
|
|
100
120
|
{{> footer footer}}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
|
+
<title>{{title}}</title>
|
|
8
|
+
</head>
|
|
9
|
+
|
|
10
|
+
<body>
|
|
11
|
+
{{> globalAlert globalAlert}}
|
|
12
|
+
{{> header header}}
|
|
13
|
+
{{> navbar navbar}}
|
|
14
|
+
|
|
15
|
+
{{#if banner}}
|
|
16
|
+
{{> banner banner}}
|
|
17
|
+
{{/if}}
|
|
18
|
+
|
|
19
|
+
<main>
|
|
20
|
+
<div class="container-fluid p-0">
|
|
21
|
+
{{#if cardGrid}}
|
|
22
|
+
<section class="py-5 mt-md-3">
|
|
23
|
+
<div class="container">
|
|
24
|
+
<div class="row">
|
|
25
|
+
{{#each cardGrid.cards}}
|
|
26
|
+
<div class="col-md-4 mb-4">
|
|
27
|
+
{{> card this}}
|
|
28
|
+
</div>
|
|
29
|
+
{{/each}}
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</section>
|
|
33
|
+
{{/if}}
|
|
34
|
+
|
|
35
|
+
{{#if linkColumns}}
|
|
36
|
+
<section class="py-5">
|
|
37
|
+
<div class="container">
|
|
38
|
+
{{> linkColumns linkColumns}}
|
|
39
|
+
</div>
|
|
40
|
+
</section>
|
|
41
|
+
{{/if}}
|
|
42
|
+
|
|
43
|
+
<section class="py-5 mt-md-3 bg-light">
|
|
44
|
+
<div class="container">
|
|
45
|
+
<h2 id="content-heading">Section heading (H2)</h2>
|
|
46
|
+
|
|
47
|
+
<div class="row">
|
|
48
|
+
<div class="col-md-4 mb-4">
|
|
49
|
+
<h3 id="inspection">Content heading (H3)</h3>
|
|
50
|
+
<p>Lorem ipsum dolor sit amet consectetur. Viverra eu pulvinar a eu mauris ac at ultricies
|
|
51
|
+
est.
|
|
52
|
+
Tincidunt ultrices commodo vestibulum non netus. </p>
|
|
53
|
+
<p>Mauris maecenas lacus hendrerit urna ultricies auctor. Sed tristique nascetur sapien
|
|
54
|
+
condimentum adipiscing augue quisque eu.</p>
|
|
55
|
+
|
|
56
|
+
{{> callToAction callToAction}}
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div class="col-md-4 mb-4">
|
|
60
|
+
<h3 id="inspection">Content heading (H3)</h3>
|
|
61
|
+
<p>Lorem ipsum dolor sit amet consectetur. Viverra eu pulvinar a eu mauris ac at ultricies
|
|
62
|
+
est.
|
|
63
|
+
Tincidunt ultrices commodo vestibulum non netus. </p>
|
|
64
|
+
<p>Mauris maecenas lacus hendrerit urna ultricies auctor. Sed tristique nascetur sapien
|
|
65
|
+
condimentum adipiscing augue quisque eu.</p>
|
|
66
|
+
|
|
67
|
+
{{> callToAction callToAction}}
|
|
68
|
+
</div>
|
|
69
|
+
|
|
70
|
+
<div class="col-md-4 mb-4">
|
|
71
|
+
<h3 id="inspection">Content heading (H3)</h3>
|
|
72
|
+
<p>Lorem ipsum dolor sit amet consectetur. Viverra eu pulvinar a eu mauris ac at ultricies
|
|
73
|
+
est.
|
|
74
|
+
Tincidunt ultrices commodo vestibulum non netus. </p>
|
|
75
|
+
<p>Mauris maecenas lacus hendrerit urna ultricies auctor. Sed tristique nascetur sapien
|
|
76
|
+
condimentum adipiscing augue quisque eu.</p>
|
|
77
|
+
|
|
78
|
+
{{> callToAction callToAction}}
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
</section>
|
|
83
|
+
|
|
84
|
+
{{#if promotionalPanel}}
|
|
85
|
+
<section class="pt-5 bg-light">
|
|
86
|
+
<div class="container">
|
|
87
|
+
{{> promotionalPanel promotionalPanel}}
|
|
88
|
+
</div>
|
|
89
|
+
</section>
|
|
90
|
+
{{/if}}
|
|
91
|
+
|
|
92
|
+
{{#if cardGridBottom}}
|
|
93
|
+
<section class="py-64 dark-alt">
|
|
94
|
+
<div class="container pt-64">
|
|
95
|
+
<div class="row">
|
|
96
|
+
{{#each cardGridBottom.cards}}
|
|
97
|
+
<div class="col-md-4 mb-4">
|
|
98
|
+
{{> card this}}
|
|
99
|
+
</div>
|
|
100
|
+
{{/each}}
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</section>
|
|
104
|
+
{{/if}}
|
|
105
|
+
|
|
106
|
+
</div>
|
|
107
|
+
</main>
|
|
108
|
+
{{> footer footer}}
|
|
109
|
+
</body>
|
|
110
|
+
|
|
111
|
+
</html>
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import { Canvas, Meta, Story } from "@storybook/blocks"
|
|
2
|
-
import * as promotionalPanelStories from "./promotionalPanel.stories"
|
|
1
|
+
import { Canvas, Meta, Story, Source } from "@storybook/blocks";
|
|
2
|
+
import * as promotionalPanelStories from "./promotionalPanel.stories";
|
|
3
|
+
import defaultdata from "./promotionalPanel.data.json";
|
|
3
4
|
|
|
4
5
|
<Meta of={promotionalPanelStories} />
|
|
5
6
|
|
|
6
7
|
# Promotional Panel
|
|
8
|
+
|
|
7
9
|
<Canvas>
|
|
8
10
|
<Story of={promotionalPanelStories.Default} />
|
|
9
11
|
</Canvas>
|
|
10
12
|
|
|
11
13
|
## Design resources
|
|
12
14
|
|
|
13
|
-
|
|
14
15
|
- [Component library (Figma)](https://www.figma.com/design/qKsxl3ogIlBp7dafgxXuCA/QGDS-UI-kit?node-id=23269-286312&p=f&t=SY0WW7uiwAl3ioEj-0)
|
|
15
16
|
- [Master component file (Figma)](https://www.figma.com/design/qKsxl3ogIlBp7dafgxXuCA/QGDS-UI-kit?node-id=23269-286312&p=f&t=nVLTSHpRu8jvVSar-0)
|
|
16
17
|
- [Design System website](https://www.designsystem.qld.gov.au/components/promotional-panel)
|
|
18
|
+
|
|
19
|
+
## Example JSON data
|
|
20
|
+
|
|
21
|
+
<Source language="json" code={JSON.stringify(defaultdata, null, 2)} />
|
|
@@ -38,7 +38,7 @@ exports[`SearchInput > Renders as expected 1`] = `
|
|
|
38
38
|
<div class="dynamic-suggestions"></div>
|
|
39
39
|
</div>
|
|
40
40
|
<button class="btn btn-primary" type="submit" id="search-button">
|
|
41
|
-
<span class="btn-icon"></span>
|
|
41
|
+
<span class="btn-icon mx-0"></span>
|
|
42
42
|
<span class="btn-label">Search</span>
|
|
43
43
|
</button>
|
|
44
44
|
</div>
|
|
@@ -196,7 +196,7 @@
|
|
|
196
196
|
border-radius: 0.25rem;
|
|
197
197
|
border: 0.125rem solid var(--border-color);
|
|
198
198
|
background: var(--background-color);
|
|
199
|
-
padding-right:
|
|
199
|
+
padding-right: 7.5rem;
|
|
200
200
|
color: var(--text-color);
|
|
201
201
|
|
|
202
202
|
&::placeholder {
|
|
@@ -280,6 +280,7 @@
|
|
|
280
280
|
|
|
281
281
|
.form-control {
|
|
282
282
|
padding-left: 1rem;
|
|
283
|
+
padding-right: 4rem;
|
|
283
284
|
}
|
|
284
285
|
|
|
285
286
|
#search-button {
|
|
@@ -43,7 +43,6 @@ describe("SearchInput", () => {
|
|
|
43
43
|
<html>
|
|
44
44
|
<head>
|
|
45
45
|
<meta charset="utf-8">
|
|
46
|
-
<link rel="stylesheet" href="${__dirname}/../../../../dist/assets/css/qld.bootstrap.css">
|
|
47
46
|
</head>
|
|
48
47
|
<body>
|
|
49
48
|
<form class="site-search" action="https://example.com/search">
|
|
@@ -401,7 +400,7 @@ describe("SearchInput", () => {
|
|
|
401
400
|
expect(isElementVisible(suggestions)).toBe(true);
|
|
402
401
|
|
|
403
402
|
// Click inside suggestions
|
|
404
|
-
const suggestionLink = suggestions.querySelector("
|
|
403
|
+
const suggestionLink = suggestions.querySelector("li");
|
|
405
404
|
if (suggestionLink) {
|
|
406
405
|
const clickEvent = new window.MouseEvent("click", {
|
|
407
406
|
bubbles: true,
|
package/src/css/main.scss
CHANGED
|
@@ -110,7 +110,7 @@ $enable-dark-mode: true;
|
|
|
110
110
|
@import "../components/bs5/formcheck/formcheck";
|
|
111
111
|
@import "../components/bs5/footer/footer";
|
|
112
112
|
@import "../components/bs5/globalAlert/globalAlert";
|
|
113
|
-
@import "../components/bs5/
|
|
113
|
+
@import "../components/bs5/link/link";
|
|
114
114
|
@import "../components/bs5/header/header";
|
|
115
115
|
@import "../components/bs5/icons/icons";
|
|
116
116
|
@import "../components/bs5/inpageAlert/inpageAlert";
|
|
@@ -133,6 +133,9 @@ $enable-dark-mode: true;
|
|
|
133
133
|
@import "../components/bs5/typography/typography";
|
|
134
134
|
@import "../components/bs5/video/video";
|
|
135
135
|
|
|
136
|
+
// Custom utility classes
|
|
137
|
+
@import "utilities";
|
|
138
|
+
|
|
136
139
|
// Themes
|
|
137
140
|
@import "qld-theme";
|
|
138
141
|
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// Create a list of CSS custom properties, easily prepending a prefix
|
|
3
|
+
/// @param {string} $prefix - Prepended to the custom property name;
|
|
4
|
+
/// @param {map} $vars - a map of (string: value);
|
|
5
|
+
/// @example
|
|
6
|
+
/// @include register-vars(
|
|
7
|
+
/// "qld-header-",
|
|
8
|
+
/// (
|
|
9
|
+
/// underline-thickness-thin: 0.5px,
|
|
10
|
+
/// underline-thickness-thick: 2px,
|
|
11
|
+
/// underline-offset: 0.3em
|
|
12
|
+
/// )
|
|
13
|
+
/// );
|
|
14
|
+
///
|
|
15
|
+
/// // output:
|
|
16
|
+
/// --qld-header-underline-thickness-thin: 0.5px;
|
|
17
|
+
/// --qld-header-underline-thickness-thick: 2px;
|
|
18
|
+
/// --qld-header-underline-offset: 0.3em;
|
|
19
|
+
@mixin register-vars($prefix, $vars) {
|
|
20
|
+
@each $key, $value in $vars {
|
|
21
|
+
--#{$prefix}#{$key}: #{$value};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -218,9 +218,11 @@ $project-colors: (
|
|
|
218
218
|
"light-background-shade": $qld-light-background-shade,
|
|
219
219
|
|
|
220
220
|
//Borders
|
|
221
|
-
"light-border": $qld-light-border,
|
|
221
|
+
//"light-border": $qld-light-border,
|
|
222
|
+
"default-border": $qld-light-border,
|
|
223
|
+
"light-border": $color-default-color-light-border-light,
|
|
222
224
|
"light-border-alt": $qld-light-border-alt,
|
|
223
|
-
|
|
225
|
+
|
|
224
226
|
//Links
|
|
225
227
|
"light-link": $color-default-color-light-link-default,
|
|
226
228
|
"dark-link": $color-default-color-dark-link-default,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "responsive-visually-hidden";
|
|
@@ -18,34 +18,34 @@
|
|
|
18
18
|
*/
|
|
19
19
|
function ifCond(v1, operator, v2, options) {
|
|
20
20
|
switch (operator) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
21
|
+
case "==":
|
|
22
|
+
return v1 == v2 ? options.fn(this) : options.inverse(this);
|
|
23
|
+
case "===":
|
|
24
|
+
return v1 === v2 ? options.fn(this) : options.inverse(this);
|
|
25
|
+
case "!=":
|
|
26
|
+
return v1 != v2 ? options.fn(this) : options.inverse(this);
|
|
27
|
+
case "!==":
|
|
28
|
+
return v1 !== v2 ? options.fn(this) : options.inverse(this);
|
|
29
|
+
case "<":
|
|
30
|
+
return v1 < v2 ? options.fn(this) : options.inverse(this);
|
|
31
|
+
case "<=":
|
|
32
|
+
return v1 <= v2 ? options.fn(this) : options.inverse(this);
|
|
33
|
+
case ">":
|
|
34
|
+
return v1 > v2 ? options.fn(this) : options.inverse(this);
|
|
35
|
+
case ">=":
|
|
36
|
+
return v1 >= v2 ? options.fn(this) : options.inverse(this);
|
|
37
|
+
case "&&":
|
|
38
|
+
return v1 && v2 ? options.fn(this) : options.inverse(this);
|
|
39
|
+
case "||":
|
|
40
|
+
return v1 || v2 ? options.fn(this) : options.inverse(this);
|
|
41
|
+
case "contains":
|
|
42
|
+
if (typeof v1 == "string" && typeof v2 == "string") {
|
|
43
|
+
return v1.toLowerCase().indexOf(v2.toLowerCase()) >= 0
|
|
44
|
+
? options.fn(this)
|
|
45
|
+
: options.inverse(this);
|
|
46
|
+
} else return options.inverse(this);
|
|
47
|
+
default:
|
|
48
|
+
return options.inverse(this);
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
@@ -120,12 +120,12 @@ export default function handlebarsHelpers(handlebars) {
|
|
|
120
120
|
var year = date.getFullYear();
|
|
121
121
|
// Format date based on the format string
|
|
122
122
|
switch (format) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
123
|
+
case "YYYY":
|
|
124
|
+
return `${year}`;
|
|
125
|
+
case "MMMM YYYY":
|
|
126
|
+
return `${month} ${year}`;
|
|
127
|
+
default:
|
|
128
|
+
return `${day} ${month} ${year}`;
|
|
129
129
|
}
|
|
130
130
|
},
|
|
131
131
|
);
|
|
@@ -18,18 +18,21 @@ import contentWrapper from "../components/bs5/contentWrapper/contentWrapper.hbs?
|
|
|
18
18
|
import correctincorrect from "../components/bs5/correctincorrect/correctincorrect.hbs?raw";
|
|
19
19
|
import dateinput from "../components/bs5/dateinput/dateinput.hbs?raw";
|
|
20
20
|
import directionLinks from "../components/bs5/directionLinks/directionLinks.hbs?raw";
|
|
21
|
+
import customLinks from "../components/bs5/footer/customLinks.hbs?raw";
|
|
22
|
+
import feedbackForm from "../components/bs5/footer/feedbackForm.hbs?raw";
|
|
23
|
+
import followLinks from "../components/bs5/footer/followLinks.hbs?raw";
|
|
21
24
|
import footer from "../components/bs5/footer/footer.hbs?raw";
|
|
22
|
-
import footerForgov from "../components/bs5/footer/footerForgov.hbs?raw";
|
|
23
25
|
import formcheck from "../components/bs5/formcheck/formcheck.hbs?raw";
|
|
24
26
|
import fullPage from "../components/bs5/fullPageWrapper/fullPage.hbs?raw";
|
|
25
27
|
import globalAlert from "../components/bs5/globalAlert/globalAlert.hbs?raw";
|
|
26
28
|
import head from "../components/bs5/head/head.hbs?raw";
|
|
27
29
|
import header from "../components/bs5/header/header.hbs?raw";
|
|
28
|
-
import
|
|
30
|
+
import headerBrand from "../components/bs5/header/headerBrand.hbs?raw";
|
|
29
31
|
import icon from "../components/bs5/icons/icon.hbs?raw";
|
|
30
32
|
import image from "../components/bs5/image/image.hbs?raw";
|
|
31
33
|
import inpageAlert from "../components/bs5/inpageAlert/inpageAlert.hbs?raw";
|
|
32
34
|
import inpagenav from "../components/bs5/inpagenav/inpagenav.hbs?raw";
|
|
35
|
+
import link from "../components/bs5/link/link.hbs?raw";
|
|
33
36
|
import linkColumns from "../components/bs5/linkColumns/linkColumns.hbs?raw";
|
|
34
37
|
import logo from "../components/bs5/logo/logo.hbs?raw";
|
|
35
38
|
import logoCOALandscape from "../components/bs5/logo/logoCOALandscape.hbs?raw";
|
|
@@ -39,10 +42,9 @@ import metaDcTerms from "../components/bs5/metaDcTerms/metaDcTerms.hbs?raw";
|
|
|
39
42
|
import metaOpenGraph from "../components/bs5/metaOpenGraph/metaOpenGraph.hbs?raw";
|
|
40
43
|
import modal from "../components/bs5/modal/modal.hbs?raw";
|
|
41
44
|
import navbar from "../components/bs5/navbar/navbar.hbs?raw";
|
|
42
|
-
import pageLayout from "../components/bs5/pageLayout/pageLayout.hbs?raw";
|
|
43
45
|
import contentPageWithForm from "../components/bs5/pageLayout/templates/contentPageWithForm.hbs?raw";
|
|
44
46
|
import contentPageWithSideNavigation from "../components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs?raw";
|
|
45
|
-
import
|
|
47
|
+
import homePage from "../components/bs5/pageLayout/templates/homePage.hbs?raw";
|
|
46
48
|
import pagination from "../components/bs5/pagination/pagination.hbs?raw";
|
|
47
49
|
import promotionalPanel from "../components/bs5/promotionalPanel/promotionalPanel.hbs?raw";
|
|
48
50
|
import quickexit from "../components/bs5/quickexit/quickexit.hbs?raw";
|
|
@@ -84,18 +86,21 @@ export default function handlebarsPartials(handlebars) {
|
|
|
84
86
|
handlebars.registerPartial("correctincorrect", correctincorrect);
|
|
85
87
|
handlebars.registerPartial("dateinput", dateinput);
|
|
86
88
|
handlebars.registerPartial("directionLinks", directionLinks);
|
|
89
|
+
handlebars.registerPartial("customLinks", customLinks);
|
|
90
|
+
handlebars.registerPartial("feedbackForm", feedbackForm);
|
|
91
|
+
handlebars.registerPartial("followLinks", followLinks);
|
|
87
92
|
handlebars.registerPartial("footer", footer);
|
|
88
|
-
handlebars.registerPartial("footerForgov", footerForgov);
|
|
89
93
|
handlebars.registerPartial("formcheck", formcheck);
|
|
90
94
|
handlebars.registerPartial("fullPage", fullPage);
|
|
91
95
|
handlebars.registerPartial("globalAlert", globalAlert);
|
|
92
96
|
handlebars.registerPartial("head", head);
|
|
93
97
|
handlebars.registerPartial("header", header);
|
|
94
|
-
handlebars.registerPartial("
|
|
98
|
+
handlebars.registerPartial("headerBrand", headerBrand);
|
|
95
99
|
handlebars.registerPartial("icon", icon);
|
|
96
100
|
handlebars.registerPartial("image", image);
|
|
97
101
|
handlebars.registerPartial("inpageAlert", inpageAlert);
|
|
98
102
|
handlebars.registerPartial("inpagenav", inpagenav);
|
|
103
|
+
handlebars.registerPartial("link", link);
|
|
99
104
|
handlebars.registerPartial("linkColumns", linkColumns);
|
|
100
105
|
handlebars.registerPartial("logo", logo);
|
|
101
106
|
handlebars.registerPartial("logoCOALandscape", logoCOALandscape);
|
|
@@ -105,10 +110,9 @@ export default function handlebarsPartials(handlebars) {
|
|
|
105
110
|
handlebars.registerPartial("metaOpenGraph", metaOpenGraph);
|
|
106
111
|
handlebars.registerPartial("modal", modal);
|
|
107
112
|
handlebars.registerPartial("navbar", navbar);
|
|
108
|
-
handlebars.registerPartial("pageLayout", pageLayout);
|
|
109
113
|
handlebars.registerPartial("contentPageWithForm", contentPageWithForm);
|
|
110
114
|
handlebars.registerPartial("contentPageWithSideNavigation", contentPageWithSideNavigation);
|
|
111
|
-
handlebars.registerPartial("
|
|
115
|
+
handlebars.registerPartial("homePage", homePage);
|
|
112
116
|
handlebars.registerPartial("pagination", pagination);
|
|
113
117
|
handlebars.registerPartial("promotionalPanel", promotionalPanel);
|
|
114
118
|
handlebars.registerPartial("quickexit", quickexit);
|
package/src/js/qld.bootstrap.js
CHANGED
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
positionQuickExit,
|
|
14
14
|
initQuickexit,
|
|
15
15
|
} from "./../components/bs5/quickexit/quickexit.functions";
|
|
16
|
-
import { displayFeedbackForm } from "./../components/bs5/footer/footer.functions";
|
|
16
|
+
//import { displayFeedbackForm } from "./../components/bs5/footer/footer.functions";
|
|
17
17
|
import { toggleSearch } from "./../components/bs5/header/header.functions";
|
|
18
18
|
import {
|
|
19
19
|
showSuggestions,
|
|
@@ -40,19 +40,18 @@ window.addEventListener("DOMContentLoaded", () => {
|
|
|
40
40
|
// Footer FormIO Action
|
|
41
41
|
// Note: This is added here, as there is an issue with breadcrumbShorten() function.
|
|
42
42
|
// Will move this once that issue is fixed.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
/*
|
|
44
|
+
const footerFormio = document.getElementById("qg-feedback-toggle");
|
|
45
|
+
if (footerFormio) {
|
|
46
|
+
displayFeedbackForm();
|
|
47
|
+
}
|
|
48
|
+
*/
|
|
48
49
|
//Header search
|
|
49
|
-
let headerSearchButton = document.
|
|
50
|
-
"
|
|
50
|
+
let headerSearchButton = document.getElementById(
|
|
51
|
+
"qld-header-toggle-search-button",
|
|
51
52
|
);
|
|
52
53
|
if (headerSearchButton) {
|
|
53
|
-
|
|
54
|
-
.querySelector(".qld__main-nav__toggle-search")
|
|
55
|
-
.addEventListener("click", toggleSearch);
|
|
54
|
+
headerSearchButton.addEventListener("click", toggleSearch);
|
|
56
55
|
}
|
|
57
56
|
|
|
58
57
|
// Get all forms with the class 'site-search'
|