@qld-gov-au/qgds-bootstrap5 1.1.20 → 1.1.21
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/.storybook/main.js +46 -41
- package/.storybook/preview.js +96 -94
- package/dist/assets/components/bs5/callToAction/callToAction.hbs +9 -0
- package/dist/assets/components/bs5/head/head.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 +1 -1
- package/dist/assets/js/handlebars.helpers.bundle.js.map +3 -3
- package/dist/assets/js/handlebars.helpers.js +33 -0
- package/dist/assets/js/handlebars.init.min.js +42 -34
- package/dist/assets/js/handlebars.init.min.js.map +4 -4
- package/dist/assets/js/handlebars.partials.js +2 -0
- package/dist/assets/node/handlebars.init.min.js +29 -1
- package/dist/assets/node/handlebars.init.min.js.map +3 -3
- package/dist/components/bs5/callToAction/callToAction.hbs +9 -0
- package/dist/components/bs5/head/head.hbs +1 -1
- package/dist/components/handlebars.helpers.js +33 -0
- package/dist/components/handlebars.partials.js +2 -0
- package/dist/package.json +2 -2
- package/dist/sample-data/callToAction/callToAction.data.json +10 -0
- package/package.json +2 -2
- package/src/components/bs5/callToAction/callToAction.data.json +10 -0
- package/src/components/bs5/callToAction/callToAction.hbs +9 -0
- package/src/components/bs5/callToAction/callToAction.js +12 -0
- package/src/components/bs5/callToAction/callToAction.mdx +16 -0
- package/src/components/bs5/callToAction/callToAction.scss +93 -0
- package/src/components/bs5/callToAction/callToAction.stories.js +134 -0
- package/src/components/bs5/video/video.stories.js +23 -22
- package/src/css/main.scss +1 -0
- package/src/css/qld-print.scss +13 -0
- package/src/js/handlebars.helpers.js +33 -0
- package/src/js/handlebars.partials.js +2 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
<!-- VERSION_DETAILS={"project_id":"@qld-gov-au/qgds-bootstrap5","version":"1.1.
|
|
2
|
+
<!-- VERSION_DETAILS={"project_id":"@qld-gov-au/qgds-bootstrap5","version":"1.1.21","branch":"HEAD","tag":"v1.1.21","commit":"a3f1a8cf0304d6c7f562866d133b170b491e720c","majorVersion":"v1"} -->
|
|
3
3
|
|
|
4
4
|
{{! Select environment, used verbatium if not using predefind key
|
|
5
5
|
cdn := PROD|STAGING|BETA|TEST|DEV|???
|
|
@@ -181,6 +181,39 @@ export default function handlebarsHelpers(handlebars) {
|
|
|
181
181
|
}
|
|
182
182
|
return durationString;
|
|
183
183
|
});
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Used to get class names added to an element based on their boolean values in an array
|
|
187
|
+
* @param {string} names - Comma-separated list of class names to check for
|
|
188
|
+
* @param {array} array - Array of objects to check for true values
|
|
189
|
+
* @returns {string} - Space-separated list of class names that have true values
|
|
190
|
+
*/
|
|
191
|
+
handlebars.registerHelper('getClassNames', function(names, array) {
|
|
192
|
+
// Split the comma-separated string of names into an array
|
|
193
|
+
let nameList = names.split(',').map(name => name.trim());
|
|
194
|
+
|
|
195
|
+
// Create an array to hold the names that have true values
|
|
196
|
+
let matchedItems = [];
|
|
197
|
+
|
|
198
|
+
for (let i = 0; i < nameList.length; i++) {
|
|
199
|
+
let name = nameList[i];
|
|
200
|
+
// Check if any item in the array matches the name and is true
|
|
201
|
+
for (let j = 0; j < array.length; j++) {
|
|
202
|
+
if (array[j][name] === true) {
|
|
203
|
+
matchedItems.push(name); // Add to matchedItems if found and true
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// If we found any matched items, return them as a space-separated string
|
|
210
|
+
if (matchedItems.length > 0) {
|
|
211
|
+
return matchedItems.join(' ');
|
|
212
|
+
} else {
|
|
213
|
+
return "";
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
|
|
184
217
|
}
|
|
185
218
|
|
|
186
219
|
if(typeof(Handlebars) !== 'undefined') {
|
|
@@ -7,6 +7,7 @@ import blockquote from "../components/bs5/blockquote/blockquote.hbs?raw";
|
|
|
7
7
|
import breadcrumbs from "../components/bs5/breadcrumbs/breadcrumbs.hbs?raw";
|
|
8
8
|
import breadcrumbsWrapper from "../components/bs5/breadcumbsWrapper/breadcrumbsWrapper.hbs?raw";
|
|
9
9
|
import button from "../components/bs5/button/button.hbs?raw";
|
|
10
|
+
import callToAction from "../components/bs5/callToAction/callToAction.hbs?raw";
|
|
10
11
|
import callout from "../components/bs5/callout/callout.hbs?raw";
|
|
11
12
|
import card from "../components/bs5/card/card.hbs?raw";
|
|
12
13
|
import contentFooter from "../components/bs5/contentFooter/contentFooter.hbs?raw";
|
|
@@ -55,6 +56,7 @@ export default function handlebarsPartials(handlebars) {
|
|
|
55
56
|
handlebars.registerPartial("breadcrumbs", breadcrumbs);
|
|
56
57
|
handlebars.registerPartial("breadcrumbsWrapper", breadcrumbsWrapper);
|
|
57
58
|
handlebars.registerPartial("button", button);
|
|
59
|
+
handlebars.registerPartial("callToAction", callToAction);
|
|
58
60
|
handlebars.registerPartial("callout", callout);
|
|
59
61
|
handlebars.registerPartial("card", card);
|
|
60
62
|
handlebars.registerPartial("contentFooter", contentFooter);
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qld-gov-au/qgds-bootstrap5",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.21",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -62,7 +62,6 @@
|
|
|
62
62
|
"@storybook/theming": "^8.4.2",
|
|
63
63
|
"@stylistic/eslint-plugin-js": "2.1.0",
|
|
64
64
|
"@vitejs/plugin-vue": "5.2.1",
|
|
65
|
-
"@whitespace/storybook-addon-html": "^6.1.1",
|
|
66
65
|
"autoprefixer": "^10.4.20",
|
|
67
66
|
"chai": "^5.2.0",
|
|
68
67
|
"chalk": "^5.3.0",
|
|
@@ -90,6 +89,7 @@
|
|
|
90
89
|
"sass": "^1.80.4",
|
|
91
90
|
"selenium-webdriver": "^4.29.0",
|
|
92
91
|
"storybook": "^8.4.2",
|
|
92
|
+
"storybook-addon-deep-controls": "^0.9.2",
|
|
93
93
|
"vite": "^5.4.6",
|
|
94
94
|
"watch": "^0.13.0"
|
|
95
95
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@qld-gov-au/qgds-bootstrap5",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.21",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -62,7 +62,6 @@
|
|
|
62
62
|
"@storybook/theming": "^8.4.2",
|
|
63
63
|
"@stylistic/eslint-plugin-js": "2.1.0",
|
|
64
64
|
"@vitejs/plugin-vue": "5.2.1",
|
|
65
|
-
"@whitespace/storybook-addon-html": "^6.1.1",
|
|
66
65
|
"autoprefixer": "^10.4.20",
|
|
67
66
|
"chai": "^5.2.0",
|
|
68
67
|
"chalk": "^5.3.0",
|
|
@@ -90,6 +89,7 @@
|
|
|
90
89
|
"sass": "^1.80.4",
|
|
91
90
|
"selenium-webdriver": "^4.29.0",
|
|
92
91
|
"storybook": "^8.4.2",
|
|
92
|
+
"storybook-addon-deep-controls": "^0.9.2",
|
|
93
93
|
"vite": "^5.4.6",
|
|
94
94
|
"watch": "^0.13.0"
|
|
95
95
|
},
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import Component from "../../../js/QGDSComponent.js";
|
|
2
|
+
import template from "./callToAction.hbs?raw";
|
|
3
|
+
|
|
4
|
+
export class CallToAction {
|
|
5
|
+
// Use the global Component class to create a new instance of the Accordion component.
|
|
6
|
+
// A data object, containing the Handlebars placeholder replacement strings, should be provided as an argument.
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
constructor(data = {}) {
|
|
10
|
+
return new Component(template, data);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Canvas, Meta, Story } from "@storybook/blocks"
|
|
2
|
+
import * as CallToActionStories from "./callToAction.stories"
|
|
3
|
+
|
|
4
|
+
<Meta of={CallToActionStories} />
|
|
5
|
+
|
|
6
|
+
# CallToAction
|
|
7
|
+
<Canvas>
|
|
8
|
+
<Story of={CallToActionStories.Default} />
|
|
9
|
+
</Canvas>
|
|
10
|
+
|
|
11
|
+
## Design resources
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
- [Component library (Figma)](https://www.figma.com/design/qKsxl3ogIlBp7dafgxXuCA/QGDS-UI-kit?node-id=23167-395565&t=TIV8Ku0uZZw4wtEa-0)
|
|
15
|
+
- [Master component file (Figma)](https://www.figma.com/design/qKsxl3ogIlBp7dafgxXuCA/QGDS-UI-kit?node-id=11056-321367&p=f&t=PtLTzZO7iSzsq4Qn-0)
|
|
16
|
+
- [Design System website](https://www.designsystem.qld.gov.au/components/call-to-action-cta)
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// QGDS QOL CallTOAction
|
|
2
|
+
|
|
3
|
+
.qld-cta-link {
|
|
4
|
+
--cta-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M443.7 266.8l-165.9 176C274.5 446.3 269.1 448 265.5 448c-3.986 0-7.988-1.375-11.16-4.156c-6.773-5.938-7.275-16.06-1.118-22.59L393.9 272H16.59c-9.171 0-16.59-7.155-16.59-15.1S7.421 240 16.59 240h377.3l-140.7-149.3c-6.157-6.531-5.655-16.66 1.118-22.59c6.789-5.906 17.27-5.469 23.45 1.094l165.9 176C449.4 251.3 449.4 260.7 443.7 266.8z'/%3E%3C/svg%3E");
|
|
5
|
+
--link-colour: var(--qld-light-action-primary );
|
|
6
|
+
--icon-colour: var(--qld-light-action-secondary);
|
|
7
|
+
--icon-colour-hover: var(--qld-light-action-secondary-hover);
|
|
8
|
+
|
|
9
|
+
color: var(--link-colour);
|
|
10
|
+
text-decoration-color: var(--link-colour);
|
|
11
|
+
display: flex;
|
|
12
|
+
width: fit-content;
|
|
13
|
+
justify-content: space-between;
|
|
14
|
+
align-self: flex-start;
|
|
15
|
+
font-size: 1.25rem;
|
|
16
|
+
font-weight: 600;
|
|
17
|
+
line-height: 2rem;
|
|
18
|
+
|
|
19
|
+
&.small {
|
|
20
|
+
font-size: .875rem;
|
|
21
|
+
line-height: 1rem;
|
|
22
|
+
.icon{
|
|
23
|
+
&::after{
|
|
24
|
+
zoom: .7;
|
|
25
|
+
mask-position: 0;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.icon {
|
|
31
|
+
&::after {
|
|
32
|
+
content: "";
|
|
33
|
+
display: inline-block;
|
|
34
|
+
width: 1.25rem;
|
|
35
|
+
height: 1.5rem;
|
|
36
|
+
mask-image: var(--cta-icon);
|
|
37
|
+
mask-repeat: no-repeat;
|
|
38
|
+
mask-position: 0 .25rem;
|
|
39
|
+
background-color: var(--icon-colour);
|
|
40
|
+
margin-inline: .5rem;
|
|
41
|
+
transition: margin 0.3s ease;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
&:hover {
|
|
46
|
+
.icon {
|
|
47
|
+
&::after {
|
|
48
|
+
background-color: var(--icon-colour-hover);
|
|
49
|
+
margin-inline-start: 1rem;
|
|
50
|
+
margin-inline-end: 0;
|
|
51
|
+
transition: margin 0.3s ease;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.view-all {
|
|
58
|
+
.icon {
|
|
59
|
+
&::after {
|
|
60
|
+
--cta-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M283.3 148.7c-6.25-6.25-16.38-6.25-22.62 0s-6.25 16.38 0 22.62L329.4 240H144C135.2 240 128 247.2 128 256s7.156 16 16 16h185.4l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.62s16.38 6.25 22.62 0l96-96C382.4 264.2 384 260.1 384 256s-1.562-8.188-4.688-11.31L283.3 148.7zM256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 480c-123.5 0-224-100.5-224-224s100.5-224 224-224s224 100.5 224 224S379.5 480 256 480z'/%3E%3C/svg%3E");
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.light, .alt {
|
|
66
|
+
.qld-cta-link {
|
|
67
|
+
--link-colour: var(--qld-light-action-primary);
|
|
68
|
+
--icon-colour: var(--qld-light-action-secondary);
|
|
69
|
+
--icon-colour-hover: var(--qld-light-action-secondary-hover);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.dark, .dark-alt {
|
|
74
|
+
.qld-cta-link {
|
|
75
|
+
--link-colour: var(--qld-dark-text);
|
|
76
|
+
--icon-colour: var(--qld-dark-action-secondary);
|
|
77
|
+
--icon-colour-hover: var(--qld-dark-action-secondary-hover);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
li .qld-cta-link {
|
|
82
|
+
width: auto;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
a[aria-disabled="true"] {
|
|
86
|
+
pointer-events: none;
|
|
87
|
+
color: var(--qld-dark-grey-muted);
|
|
88
|
+
.icon {
|
|
89
|
+
&::after {
|
|
90
|
+
background-color: var(--qld-dark-grey-muted);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file callToAction.stories.js
|
|
3
|
+
* @description Storybook configuration file for the CallToAction component.
|
|
4
|
+
* @module callToAction.stories
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { CallToAction } from "./callToAction.js";
|
|
8
|
+
import defaultdata from "./callToAction.data.json";
|
|
9
|
+
|
|
10
|
+
export default {
|
|
11
|
+
tags: ["autodocs"],
|
|
12
|
+
title: "3. Components/CallToAction",
|
|
13
|
+
args: defaultdata,
|
|
14
|
+
render: (args) => {
|
|
15
|
+
return `
|
|
16
|
+
<div class="container">
|
|
17
|
+
<div class="row">
|
|
18
|
+
<div class="col">
|
|
19
|
+
${new CallToAction({...args, label: 'View All'}).html}
|
|
20
|
+
</div>
|
|
21
|
+
<div class="col">
|
|
22
|
+
${new CallToAction({...args, label: 'Label', "class": [{"small": false}, {"view-all": false}]}).html}
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
`
|
|
27
|
+
},
|
|
28
|
+
parameters: {
|
|
29
|
+
design: {
|
|
30
|
+
name: "QGDS Figma Reference",
|
|
31
|
+
type: "figma",
|
|
32
|
+
url: "https://www.figma.com/design/qKsxl3ogIlBp7dafgxXuCA/QGDS-UI-kit?node-id=11056-321367&p=f&t=v3sxViBgYUUmwplL-0",
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Call To Action - Default
|
|
39
|
+
*/
|
|
40
|
+
export const Default = {
|
|
41
|
+
args: defaultdata,
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Call To Action - Light
|
|
46
|
+
* */
|
|
47
|
+
export const Light = {
|
|
48
|
+
parameters: {
|
|
49
|
+
backgrounds: {
|
|
50
|
+
default: 'Light',
|
|
51
|
+
values: [
|
|
52
|
+
{ name: 'Light', value: 'var(--qld-light-background)' },
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
decorators: [
|
|
57
|
+
(Story) => {
|
|
58
|
+
return `
|
|
59
|
+
<div class="light">
|
|
60
|
+
${Story()}
|
|
61
|
+
</div>
|
|
62
|
+
`;
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Call To Action - Light-Alt
|
|
69
|
+
* */
|
|
70
|
+
export const LightAlt = {
|
|
71
|
+
parameters: {
|
|
72
|
+
backgrounds: {
|
|
73
|
+
default: 'LightAlt',
|
|
74
|
+
values: [
|
|
75
|
+
{ name: 'LightAlt', value: 'var(--qld-light-alt-background)' },
|
|
76
|
+
],
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
decorators: [
|
|
80
|
+
(Story) => {
|
|
81
|
+
return `
|
|
82
|
+
<div class="light-alt">
|
|
83
|
+
${Story()}
|
|
84
|
+
</div>
|
|
85
|
+
`;
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Call To Action - Dark
|
|
92
|
+
* */
|
|
93
|
+
export const Dark = {
|
|
94
|
+
parameters: {
|
|
95
|
+
backgrounds: {
|
|
96
|
+
default: 'Dark',
|
|
97
|
+
values: [
|
|
98
|
+
{ name: 'Dark', value: 'var(--qld-dark-background)' },
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
decorators: [
|
|
103
|
+
(Story) => {
|
|
104
|
+
return `
|
|
105
|
+
<div class="dark">
|
|
106
|
+
${Story()}
|
|
107
|
+
</div>
|
|
108
|
+
`;
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Call To Action - Dark-Alt
|
|
115
|
+
* */
|
|
116
|
+
export const DarkAlt = {
|
|
117
|
+
parameters: {
|
|
118
|
+
backgrounds: {
|
|
119
|
+
default: 'DarkAlt',
|
|
120
|
+
values: [
|
|
121
|
+
{ name: 'DarkAlt', value: 'var(--qld-dark-alt-background)' },
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
decorators: [
|
|
126
|
+
(Story) => {
|
|
127
|
+
return `
|
|
128
|
+
<div class="dark-alt">
|
|
129
|
+
${Story()}
|
|
130
|
+
</div>
|
|
131
|
+
`;
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// video.stories.js
|
|
2
|
-
import { Video } from
|
|
3
|
-
import defaultdata from
|
|
2
|
+
import { Video } from "./Video.js";
|
|
3
|
+
import defaultdata from "./video.data.json";
|
|
4
4
|
|
|
5
5
|
// include accordion for transcript
|
|
6
6
|
import { Accordion } from "../accordion/Accordion.js";
|
|
7
7
|
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
9
|
* Set default arguments for the Video component,
|
|
10
10
|
* which is based on YouTube arguments.
|
|
11
11
|
*/
|
|
@@ -50,9 +50,18 @@ export default {
|
|
|
50
50
|
"Half page": "col-6",
|
|
51
51
|
},
|
|
52
52
|
},
|
|
53
|
-
|
|
53
|
+
|
|
54
|
+
"urlParams.autoplay": {
|
|
55
|
+
name: "Autoplay",
|
|
56
|
+
control: {
|
|
57
|
+
type: "boolean",
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
"urlParams.controls": {
|
|
62
|
+
name: "Video controls",
|
|
54
63
|
control: {
|
|
55
|
-
type: "
|
|
64
|
+
type: "boolean",
|
|
56
65
|
},
|
|
57
66
|
},
|
|
58
67
|
},
|
|
@@ -92,7 +101,7 @@ export const Vimeo = {
|
|
|
92
101
|
|
|
93
102
|
/**
|
|
94
103
|
* Custom video
|
|
95
|
-
*/
|
|
104
|
+
*/
|
|
96
105
|
export const Custom = {
|
|
97
106
|
args: defaultdata.custom,
|
|
98
107
|
};
|
|
@@ -103,10 +112,8 @@ export const Custom = {
|
|
|
103
112
|
export const Light = {
|
|
104
113
|
parameters: {
|
|
105
114
|
backgrounds: {
|
|
106
|
-
default:
|
|
107
|
-
values: [
|
|
108
|
-
{ name: 'Light', value: 'var(--qld-light-background)' },
|
|
109
|
-
],
|
|
115
|
+
default: "Light",
|
|
116
|
+
values: [{ name: "Light", value: "var(--qld-light-background)" }],
|
|
110
117
|
},
|
|
111
118
|
},
|
|
112
119
|
decorators: [
|
|
@@ -126,10 +133,8 @@ export const Light = {
|
|
|
126
133
|
export const Alternative = {
|
|
127
134
|
parameters: {
|
|
128
135
|
backgrounds: {
|
|
129
|
-
default:
|
|
130
|
-
values: [
|
|
131
|
-
{ name: 'Alternative', value: 'var(--qld-light-grey-alt)' },
|
|
132
|
-
],
|
|
136
|
+
default: "Alternative",
|
|
137
|
+
values: [{ name: "Alternative", value: "var(--qld-light-grey-alt)" }],
|
|
133
138
|
},
|
|
134
139
|
},
|
|
135
140
|
decorators: [
|
|
@@ -149,10 +154,8 @@ export const Alternative = {
|
|
|
149
154
|
export const Dark = {
|
|
150
155
|
parameters: {
|
|
151
156
|
backgrounds: {
|
|
152
|
-
default:
|
|
153
|
-
values: [
|
|
154
|
-
{ name: 'Dark', value: 'var(--qld-brand-primary)' },
|
|
155
|
-
],
|
|
157
|
+
default: "Dark",
|
|
158
|
+
values: [{ name: "Dark", value: "var(--qld-brand-primary)" }],
|
|
156
159
|
},
|
|
157
160
|
},
|
|
158
161
|
decorators: [
|
|
@@ -172,10 +175,8 @@ export const Dark = {
|
|
|
172
175
|
export const DarkAlternative = {
|
|
173
176
|
parameters: {
|
|
174
177
|
backgrounds: {
|
|
175
|
-
default:
|
|
176
|
-
values: [
|
|
177
|
-
{ name: 'Dark alternative', value: 'var(--qld-dark-blue)' },
|
|
178
|
-
],
|
|
178
|
+
default: "Dark alternative",
|
|
179
|
+
values: [{ name: "Dark alternative", value: "var(--qld-dark-blue)" }],
|
|
179
180
|
},
|
|
180
181
|
},
|
|
181
182
|
decorators: [
|
package/src/css/main.scss
CHANGED
|
@@ -84,6 +84,7 @@ $enable-dark-mode: true;
|
|
|
84
84
|
@import "../components/bs5/button/button";
|
|
85
85
|
@import "../components/bs5/callout/callout";
|
|
86
86
|
@import "../components/bs5/card/card";
|
|
87
|
+
@import "../components/bs5/callToAction/callToAction";
|
|
87
88
|
@import "../components/bs5/correctincorrect/correctincorrect";
|
|
88
89
|
@import "../components/bs5/dateinput/dateinput";
|
|
89
90
|
@import "../components/bs5/formcheck/formcheck";
|
package/src/css/qld-print.scss
CHANGED
|
@@ -380,4 +380,17 @@
|
|
|
380
380
|
|
|
381
381
|
.no-print {
|
|
382
382
|
@extend .d-print-none;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
@media only print {
|
|
386
|
+
.qld-cta-link {
|
|
387
|
+
color: #000 !important;
|
|
388
|
+
|
|
389
|
+
.icon::after {
|
|
390
|
+
background-image: none !important;
|
|
391
|
+
content: " > " !important;
|
|
392
|
+
border: none !important;
|
|
393
|
+
transform: rotate(0deg) !important;
|
|
394
|
+
}
|
|
395
|
+
}
|
|
383
396
|
}
|
|
@@ -181,6 +181,39 @@ export default function handlebarsHelpers(handlebars) {
|
|
|
181
181
|
}
|
|
182
182
|
return durationString;
|
|
183
183
|
});
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Used to get class names added to an element based on their boolean values in an array
|
|
187
|
+
* @param {string} names - Comma-separated list of class names to check for
|
|
188
|
+
* @param {array} array - Array of objects to check for true values
|
|
189
|
+
* @returns {string} - Space-separated list of class names that have true values
|
|
190
|
+
*/
|
|
191
|
+
handlebars.registerHelper('getClassNames', function(names, array) {
|
|
192
|
+
// Split the comma-separated string of names into an array
|
|
193
|
+
let nameList = names.split(',').map(name => name.trim());
|
|
194
|
+
|
|
195
|
+
// Create an array to hold the names that have true values
|
|
196
|
+
let matchedItems = [];
|
|
197
|
+
|
|
198
|
+
for (let i = 0; i < nameList.length; i++) {
|
|
199
|
+
let name = nameList[i];
|
|
200
|
+
// Check if any item in the array matches the name and is true
|
|
201
|
+
for (let j = 0; j < array.length; j++) {
|
|
202
|
+
if (array[j][name] === true) {
|
|
203
|
+
matchedItems.push(name); // Add to matchedItems if found and true
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// If we found any matched items, return them as a space-separated string
|
|
210
|
+
if (matchedItems.length > 0) {
|
|
211
|
+
return matchedItems.join(' ');
|
|
212
|
+
} else {
|
|
213
|
+
return "";
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
|
|
184
217
|
}
|
|
185
218
|
|
|
186
219
|
if(typeof(Handlebars) !== 'undefined') {
|
|
@@ -7,6 +7,7 @@ import blockquote from "../components/bs5/blockquote/blockquote.hbs?raw";
|
|
|
7
7
|
import breadcrumbs from "../components/bs5/breadcrumbs/breadcrumbs.hbs?raw";
|
|
8
8
|
import breadcrumbsWrapper from "../components/bs5/breadcumbsWrapper/breadcrumbsWrapper.hbs?raw";
|
|
9
9
|
import button from "../components/bs5/button/button.hbs?raw";
|
|
10
|
+
import callToAction from "../components/bs5/callToAction/callToAction.hbs?raw";
|
|
10
11
|
import callout from "../components/bs5/callout/callout.hbs?raw";
|
|
11
12
|
import card from "../components/bs5/card/card.hbs?raw";
|
|
12
13
|
import contentFooter from "../components/bs5/contentFooter/contentFooter.hbs?raw";
|
|
@@ -55,6 +56,7 @@ export default function handlebarsPartials(handlebars) {
|
|
|
55
56
|
handlebars.registerPartial("breadcrumbs", breadcrumbs);
|
|
56
57
|
handlebars.registerPartial("breadcrumbsWrapper", breadcrumbsWrapper);
|
|
57
58
|
handlebars.registerPartial("button", button);
|
|
59
|
+
handlebars.registerPartial("callToAction", callToAction);
|
|
58
60
|
handlebars.registerPartial("callout", callout);
|
|
59
61
|
handlebars.registerPartial("card", card);
|
|
60
62
|
handlebars.registerPartial("contentFooter", contentFooter);
|