@qld-gov-au/qgds-bootstrap5 2.0.4 → 2.0.6
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/.esbuild/helpers/scssOverrideTheme.js +40 -0
- package/.esbuild/plugins/qgds-plugin-handlebar-partial-builder.js +4 -0
- package/.storybook/dynamicThemeDecorator.js +159 -0
- package/.storybook/main.js +8 -0
- package/.storybook/preview.js +19 -0
- package/README.md +26 -18
- package/dist/README.md +26 -18
- 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/css/qld.bootstrap.legacy.css +2 -0
- package/dist/assets/css/qld.bootstrap.legacy.css.map +7 -0
- package/dist/assets/js/handlebars.init.min.js +1 -1
- package/dist/assets/node/handlebars.init.min.js +1 -1
- package/dist/components/bs5/head/head.hbs +1 -1
- package/dist/package.json +6 -2
- package/esbuild.js +40 -10
- package/package.json +6 -2
- package/src/components/bs5/accordion/accordion.scss +3 -3
- package/src/components/bs5/button/button.scss +25 -45
- package/src/components/bs5/callout/callout.stories.js +15 -21
- package/src/components/bs5/card/card--icon-list-footer.stories.js +171 -0
- package/src/components/bs5/card/card.scss +20 -5
- package/src/components/bs5/footer/footer.scss +3 -7
- package/src/components/bs5/header/header.scss +8 -0
- package/src/components/bs5/pageLayout/pageLayout.stories.js +2 -2
- package/src/components/bs5/pagination/pagination.scss +290 -274
- package/src/components/bs5/pagination/pagination.stories.js +18 -33
- package/src/components/bs5/searchInput/searchInput.test.js +21 -5
- package/src/components/bs5/textbox/textInput.scss +55 -39
- package/src/components/bs5/video/video.scss +41 -27
- package/src/css/main.legacy.scss +19 -0
- package/src/css/main.scss +17 -0
- package/src/css/qld-tokens-legacy.scss +94 -0
- package/src/css/qld-tokens.scss +110 -0
- package/src/css/qld-variables.scss +43 -29
- package/src/css/readme.md +6 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// Blockquote.stories.js
|
|
2
|
-
import { Pagination } from
|
|
3
|
-
import defaultdata from
|
|
2
|
+
import { Pagination } from "./Pagination.js";
|
|
3
|
+
import defaultdata from "./pagination.data.json";
|
|
4
4
|
|
|
5
5
|
export default {
|
|
6
|
-
tags: [
|
|
7
|
-
title:
|
|
6
|
+
tags: ["autodocs"],
|
|
7
|
+
title: "3. Components/Pagination",
|
|
8
8
|
render: (args) => new Pagination(args).html,
|
|
9
|
-
|
|
9
|
+
|
|
10
10
|
parameters: {
|
|
11
11
|
docs: {
|
|
12
12
|
controls: {
|
|
13
|
-
exclude: [
|
|
13
|
+
exclude: ["previous", "next", "pages"],
|
|
14
14
|
hideNoControlsWarning: true,
|
|
15
15
|
},
|
|
16
16
|
},
|
|
@@ -25,24 +25,20 @@ export const Default = {
|
|
|
25
25
|
args: defaultdata,
|
|
26
26
|
};
|
|
27
27
|
|
|
28
|
-
|
|
29
28
|
/**
|
|
30
29
|
* Pagination when used inside a <code>.light</code> container
|
|
31
30
|
*/
|
|
32
31
|
|
|
33
32
|
export const Light = {
|
|
34
|
-
|
|
35
33
|
args: defaultdata,
|
|
36
34
|
|
|
37
35
|
parameters: {
|
|
38
36
|
backgrounds: {
|
|
39
|
-
default:
|
|
40
|
-
values: [
|
|
41
|
-
{ name: 'Light', value: 'var(--qld-light-background)' },
|
|
42
|
-
],
|
|
37
|
+
default: "Light",
|
|
38
|
+
values: [{ name: "Light", value: "var(--qld-light-background)" }],
|
|
43
39
|
},
|
|
44
40
|
},
|
|
45
|
-
|
|
41
|
+
|
|
46
42
|
decorators: [
|
|
47
43
|
(Story) => {
|
|
48
44
|
return `
|
|
@@ -54,25 +50,22 @@ export const Light = {
|
|
|
54
50
|
],
|
|
55
51
|
};
|
|
56
52
|
|
|
57
|
-
|
|
58
|
-
|
|
59
53
|
/**
|
|
60
54
|
* Pagination when used inside a <code>.light-alternative</code> container
|
|
61
55
|
*/
|
|
62
56
|
|
|
63
57
|
export const LightAlternative = {
|
|
64
|
-
|
|
65
58
|
args: defaultdata,
|
|
66
59
|
|
|
67
60
|
parameters: {
|
|
68
61
|
backgrounds: {
|
|
69
|
-
default:
|
|
62
|
+
default: "Light Alternative",
|
|
70
63
|
values: [
|
|
71
|
-
{ name:
|
|
64
|
+
{ name: "Light Alternative", value: "var(--qld-light-alt-background)" },
|
|
72
65
|
],
|
|
73
66
|
},
|
|
74
67
|
},
|
|
75
|
-
|
|
68
|
+
|
|
76
69
|
decorators: [
|
|
77
70
|
(Story) => {
|
|
78
71
|
return `
|
|
@@ -84,25 +77,20 @@ export const LightAlternative = {
|
|
|
84
77
|
],
|
|
85
78
|
};
|
|
86
79
|
|
|
87
|
-
|
|
88
|
-
|
|
89
80
|
/**
|
|
90
81
|
* Pagination when used inside a <code>.dark</code> container
|
|
91
82
|
*/
|
|
92
83
|
|
|
93
84
|
export const Dark = {
|
|
94
|
-
|
|
95
85
|
args: defaultdata,
|
|
96
86
|
|
|
97
87
|
parameters: {
|
|
98
88
|
backgrounds: {
|
|
99
|
-
default:
|
|
100
|
-
values: [
|
|
101
|
-
{ name: 'Dark', value: 'var(--qld-primary)' },
|
|
102
|
-
],
|
|
89
|
+
default: "Dark",
|
|
90
|
+
values: [{ name: "Dark", value: "var(--qld-dark-background)" }],
|
|
103
91
|
},
|
|
104
92
|
},
|
|
105
|
-
|
|
93
|
+
|
|
106
94
|
decorators: [
|
|
107
95
|
(Story) => {
|
|
108
96
|
return `
|
|
@@ -114,24 +102,22 @@ export const Dark = {
|
|
|
114
102
|
],
|
|
115
103
|
};
|
|
116
104
|
|
|
117
|
-
|
|
118
105
|
/**
|
|
119
106
|
* Pagination when used inside a <code>.dark-alt</code> container
|
|
120
107
|
*/
|
|
121
108
|
|
|
122
109
|
export const DarkAlternative = {
|
|
123
|
-
|
|
124
110
|
args: defaultdata,
|
|
125
111
|
|
|
126
112
|
parameters: {
|
|
127
113
|
backgrounds: {
|
|
128
|
-
default:
|
|
114
|
+
default: "Dark Alternative",
|
|
129
115
|
values: [
|
|
130
|
-
{ name:
|
|
116
|
+
{ name: "Dark Alternative", value: "var(--qld-dark-alt-background)" },
|
|
131
117
|
],
|
|
132
118
|
},
|
|
133
119
|
},
|
|
134
|
-
|
|
120
|
+
|
|
135
121
|
decorators: [
|
|
136
122
|
(Story) => {
|
|
137
123
|
return `
|
|
@@ -142,4 +128,3 @@ export const DarkAlternative = {
|
|
|
142
128
|
},
|
|
143
129
|
],
|
|
144
130
|
};
|
|
145
|
-
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { expect, it, describe, test, beforeEach } from "vitest";
|
|
1
|
+
import { expect, it, describe, test, beforeEach, afterEach } from "vitest";
|
|
2
2
|
import { JSDOM } from "jsdom";
|
|
3
3
|
import { SearchInput } from "./SearchInput.js";
|
|
4
4
|
import mockData from "./searchInput.data.json";
|
|
@@ -63,12 +63,15 @@ describe("SearchInput", () => {
|
|
|
63
63
|
d = dom.window.document;
|
|
64
64
|
window = dom.window;
|
|
65
65
|
|
|
66
|
-
// Wait for scripts to execute
|
|
67
|
-
await waitFor();
|
|
66
|
+
// Wait for scripts to execute and DOM to be fully ready
|
|
67
|
+
await waitFor(100);
|
|
68
|
+
|
|
69
|
+
// Additional wait to ensure all scripts are fully initialized
|
|
70
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
68
71
|
|
|
69
72
|
form = d.querySelector(".site-search");
|
|
70
|
-
searchInput = form
|
|
71
|
-
suggestions = form
|
|
73
|
+
searchInput = form?.querySelector(".qld-search-input input");
|
|
74
|
+
suggestions = form?.querySelector(".suggestions");
|
|
72
75
|
|
|
73
76
|
// Ensure elements exist
|
|
74
77
|
if (!form || !searchInput || !suggestions) {
|
|
@@ -76,6 +79,19 @@ describe("SearchInput", () => {
|
|
|
76
79
|
}
|
|
77
80
|
});
|
|
78
81
|
|
|
82
|
+
afterEach(() => {
|
|
83
|
+
// Clean up DOM and prevent memory leaks
|
|
84
|
+
if (dom) {
|
|
85
|
+
dom.window.close();
|
|
86
|
+
dom = null;
|
|
87
|
+
d = null;
|
|
88
|
+
window = null;
|
|
89
|
+
form = null;
|
|
90
|
+
searchInput = null;
|
|
91
|
+
suggestions = null;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
|
|
79
95
|
it("Renders as expected", () => {
|
|
80
96
|
const SearchInputComponent = new SearchInput(mockData);
|
|
81
97
|
expect(SearchInputComponent.html).toMatchSnapshot();
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
|
|
36
36
|
&:disabled {
|
|
37
37
|
cursor: not-allowed;
|
|
38
|
-
opacity: .5;
|
|
38
|
+
opacity: 0.5;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
|
|
54
54
|
&.field-required {
|
|
55
55
|
&:before {
|
|
56
|
-
content:
|
|
56
|
+
content: " *";
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -64,10 +64,10 @@
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
* + .qld-hint-text,
|
|
68
|
+
* + .qld-input-error,
|
|
69
|
+
* + .qld-input-success,
|
|
70
|
+
* + .date-container {
|
|
71
71
|
margin-top: 8px;
|
|
72
72
|
}
|
|
73
73
|
|
|
@@ -79,10 +79,10 @@
|
|
|
79
79
|
margin-bottom: 0.5rem;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
* + p.qld-input-error,
|
|
83
|
+
* + span.qld-input-error,
|
|
84
|
+
* + p.qld-input-success,
|
|
85
|
+
* + span.qld-input-success {
|
|
86
86
|
font-size: 1rem;
|
|
87
87
|
line-height: 1.5;
|
|
88
88
|
display: flex;
|
|
@@ -119,25 +119,25 @@ span.qld-input-error {
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
|
|
122
|
-
.qld-hint-text+select,
|
|
123
|
-
.qld-hint-text+input,
|
|
124
|
-
.qld-hint-text+textarea,
|
|
125
|
-
.sq-form-question-note+select,
|
|
126
|
-
.sq-form-question-note+input,
|
|
127
|
-
.sq-form-question-note+textarea {
|
|
122
|
+
.qld-hint-text + select,
|
|
123
|
+
.qld-hint-text + input,
|
|
124
|
+
.qld-hint-text + textarea,
|
|
125
|
+
.sq-form-question-note + select,
|
|
126
|
+
.sq-form-question-note + input,
|
|
127
|
+
.sq-form-question-note + textarea {
|
|
128
128
|
margin-top: 0.5rem;
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
.qld-input-success+input[type=text],
|
|
132
|
-
.qld-input-error+input[type=text],
|
|
133
|
-
.qld-input-success+input[type=email],
|
|
134
|
-
.qld-input-error+input[type=email],
|
|
135
|
-
.qld-input-success+input[type=date],
|
|
136
|
-
.qld-input-error+input[type=date],
|
|
137
|
-
.qld-input-success
|
|
138
|
-
.qld-input-error
|
|
139
|
-
.qld-input-success+textarea,
|
|
140
|
-
.qld-input-error+textarea {
|
|
131
|
+
.qld-input-success + input[type="text"],
|
|
132
|
+
.qld-input-error + input[type="text"],
|
|
133
|
+
.qld-input-success + input[type="email"],
|
|
134
|
+
.qld-input-error + input[type="email"],
|
|
135
|
+
.qld-input-success + input[type="date"],
|
|
136
|
+
.qld-input-error + input[type="date"],
|
|
137
|
+
.qld-input-success + .qld-text-input,
|
|
138
|
+
.qld-input-error + .qld-text-input,
|
|
139
|
+
.qld-input-success + textarea,
|
|
140
|
+
.qld-input-error + textarea {
|
|
141
141
|
margin-top: 8px;
|
|
142
142
|
margin-top: 0.5rem;
|
|
143
143
|
}
|
|
@@ -172,7 +172,9 @@ select.qld-select.qld-input-success:not(:focus) {
|
|
|
172
172
|
|
|
173
173
|
&.disabled,
|
|
174
174
|
&:disabled {
|
|
175
|
-
background-color: var(
|
|
175
|
+
background-color: var(
|
|
176
|
+
--#{$prefix}color-default-color-light-background-default-shade
|
|
177
|
+
);
|
|
176
178
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23636363' d='M4.251 181.1C7.392 177.7 11.69 175.1 16 175.1c3.891 0 7.781 1.406 10.86 4.25l197.1 181.1l197.1-181.1c6.5-6 16.64-5.625 22.61 .9062c6 6.5 5.594 16.59-.8906 22.59l-208 192c-6.156 5.688-15.56 5.688-21.72 0l-208-192C-1.343 197.7-1.749 187.6 4.251 181.1z'/%3E%3C/svg%3E");
|
|
177
179
|
}
|
|
178
180
|
|
|
@@ -204,7 +206,6 @@ select.qld-select.qld-input-success:not(:focus) {
|
|
|
204
206
|
}
|
|
205
207
|
|
|
206
208
|
@include media-breakpoint-up(md) {
|
|
207
|
-
|
|
208
209
|
input.qld-field-width-1-quarter,
|
|
209
210
|
select.qld-field-width-1-quarter {
|
|
210
211
|
max-width: $qld-fluid-width-1-quarter;
|
|
@@ -222,41 +223,56 @@ select.qld-select.qld-input-success:not(:focus) {
|
|
|
222
223
|
}
|
|
223
224
|
|
|
224
225
|
.dark {
|
|
225
|
-
.form-control.qld-text-input:not(:hover):not(:focus):not(
|
|
226
|
+
.form-control.qld-text-input:not(:hover):not(:focus):not(
|
|
227
|
+
.qld-input-error
|
|
228
|
+
):not(.qld-input-success)::-webkit-input-placeholder {
|
|
226
229
|
color: $qld-hint-text-color-muted;
|
|
227
230
|
}
|
|
228
231
|
|
|
229
|
-
.form-control.qld-text-input:not(:hover):not(:focus):not(
|
|
232
|
+
.form-control.qld-text-input:not(:hover):not(:focus):not(
|
|
233
|
+
.qld-input-error
|
|
234
|
+
):not(.qld-input-success)::-moz-placeholder {
|
|
230
235
|
color: $qld-hint-text-color-muted;
|
|
231
236
|
}
|
|
232
237
|
|
|
233
|
-
.form-control.qld-text-input:not(:hover):not(:focus):not(
|
|
238
|
+
.form-control.qld-text-input:not(:hover):not(:focus):not(
|
|
239
|
+
.qld-input-error
|
|
240
|
+
):not(.qld-input-success)::-ms-placeholder {
|
|
234
241
|
color: $qld-hint-text-color-muted;
|
|
235
242
|
}
|
|
236
243
|
|
|
237
|
-
.form-control.qld-text-input:not(:hover):not(:focus):not(
|
|
244
|
+
.form-control.qld-text-input:not(:hover):not(:focus):not(
|
|
245
|
+
.qld-input-error
|
|
246
|
+
):not(.qld-input-success)::placeholder {
|
|
238
247
|
color: $qld-hint-text-color-muted;
|
|
239
248
|
}
|
|
240
249
|
|
|
241
|
-
.form-control.qld-text-input:hover:not(:focus):not(.qld-input-error):not(
|
|
250
|
+
.form-control.qld-text-input:hover:not(:focus):not(.qld-input-error):not(
|
|
251
|
+
.qld-input-success
|
|
252
|
+
)::-webkit-input-placeholder {
|
|
242
253
|
color: $qld-white;
|
|
243
254
|
}
|
|
244
255
|
|
|
245
|
-
.form-control.qld-text-input:hover:not(:focus):not(.qld-input-error):not(
|
|
256
|
+
.form-control.qld-text-input:hover:not(:focus):not(.qld-input-error):not(
|
|
257
|
+
.qld-input-success
|
|
258
|
+
)::-moz-placeholder {
|
|
246
259
|
color: $qld-white;
|
|
247
260
|
}
|
|
248
261
|
|
|
249
|
-
.form-control.qld-text-input:hover:not(:focus):not(.qld-input-error):not(
|
|
262
|
+
.form-control.qld-text-input:hover:not(:focus):not(.qld-input-error):not(
|
|
263
|
+
.qld-input-success
|
|
264
|
+
)::-ms-placeholder {
|
|
250
265
|
color: $qld-white;
|
|
251
266
|
}
|
|
252
267
|
|
|
253
|
-
.form-control.qld-text-input:hover:not(:focus):not(.qld-input-error):not(
|
|
268
|
+
.form-control.qld-text-input:hover:not(:focus):not(.qld-input-error):not(
|
|
269
|
+
.qld-input-success
|
|
270
|
+
)::placeholder {
|
|
254
271
|
color: $qld-white;
|
|
255
272
|
}
|
|
256
273
|
}
|
|
257
274
|
|
|
258
275
|
.dark {
|
|
259
|
-
|
|
260
276
|
.qld-text-input {
|
|
261
277
|
border-color: $qld-dark-alt-border;
|
|
262
278
|
background-color: var(--qld-dark-background);
|
|
@@ -265,7 +281,7 @@ select.qld-select.qld-input-success:not(:focus) {
|
|
|
265
281
|
&:hover {
|
|
266
282
|
color: $qld-white;
|
|
267
283
|
background-color: $qld-color-dark-background--shade;
|
|
268
|
-
border-color: $
|
|
284
|
+
border-color: $color-default-color-dark-action-primary-hover;
|
|
269
285
|
}
|
|
270
286
|
|
|
271
287
|
&:focus {
|
|
@@ -293,4 +309,4 @@ select.qld-select.qld-input-success:not(:focus) {
|
|
|
293
309
|
.form-style-filled {
|
|
294
310
|
background-color: $qld-color-dark-background--shade;
|
|
295
311
|
}
|
|
296
|
-
}
|
|
312
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// QGDS QOL Video Component
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
// Video variables.
|
|
5
4
|
|
|
6
5
|
$video-icon-color: $qld-dark-text;
|
|
@@ -19,10 +18,10 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
19
18
|
.video {
|
|
20
19
|
--#{$prefix}video-border-radius: 0.25rem;
|
|
21
20
|
--#{$prefix}video-nav-bg: var(--#{$prefix}light-action-primary);
|
|
22
|
-
--#{$prefix}video-nav-bg-rgb:
|
|
21
|
+
--#{$prefix}video-nav-bg-rgb: 0, 94, 184;
|
|
23
22
|
--#{$prefix}video-nav-bg-hover: var(--#{$prefix}light-action-primary-hover);
|
|
24
|
-
--#{$prefix}video-nav-bg-hover-rgb: 0, 62,
|
|
25
|
-
--#{$prefix}video-nav-bg-opacity: .9;
|
|
23
|
+
--#{$prefix}video-nav-bg-hover-rgb: 0, 62, 150;
|
|
24
|
+
--#{$prefix}video-nav-bg-opacity: 0.9;
|
|
26
25
|
--#{$prefix}video-nav-color: var(--#{$prefix}dark-text);
|
|
27
26
|
--#{$prefix}video-play-icon: #{escape-svg($video-play-icon)};
|
|
28
27
|
--#{$prefix}video-play-icon-size: 2rem;
|
|
@@ -33,13 +32,12 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
33
32
|
.dark &,
|
|
34
33
|
.dark-alt & {
|
|
35
34
|
--#{$prefix}video-nav-bg: var(--#{$prefix}dark-action-primary);
|
|
36
|
-
--#{$prefix}video-nav-bg-rgb:
|
|
35
|
+
--#{$prefix}video-nav-bg-rgb: 132, 211, 255;
|
|
37
36
|
--#{$prefix}video-nav-bg-hover: var(--#{$prefix}dark-action-primary-hover);
|
|
38
|
-
--#{$prefix}video-nav-bg-hover-rgb:
|
|
37
|
+
--#{$prefix}video-nav-bg-hover-rgb: 166, 247, 255;
|
|
39
38
|
--#{$prefix}video-nav-color: var(--#{$prefix}dark-action-text);
|
|
40
39
|
--#{$prefix}video-play-icon: #{escape-svg($video-play-icon-dark)};
|
|
41
40
|
--#{$prefix}video-clock-icon: #{escape-svg($video-clock-icon-dark)};
|
|
42
|
-
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
43
|
|
|
@@ -47,7 +45,9 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
47
45
|
.video {
|
|
48
46
|
padding: 0px;
|
|
49
47
|
border-radius: var(--#{$prefix}video-border-radius);
|
|
50
|
-
box-shadow:
|
|
48
|
+
box-shadow:
|
|
49
|
+
0px 2px 6px 2px rgba(0, 0, 0, 0.15),
|
|
50
|
+
0px 1px 2px rgba(0, 0, 0, 0.3);
|
|
51
51
|
display: grid;
|
|
52
52
|
grid-template-rows: 1fr;
|
|
53
53
|
grid-template-areas: "video" "description" "transcript";
|
|
@@ -63,7 +63,6 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
63
63
|
outline: 3px solid var(--#{$prefix}focus);
|
|
64
64
|
outline-offset: 2px;
|
|
65
65
|
}
|
|
66
|
-
|
|
67
66
|
}
|
|
68
67
|
|
|
69
68
|
&-thumbnail,
|
|
@@ -77,8 +76,12 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
77
76
|
width: 100%;
|
|
78
77
|
overflow: clip;
|
|
79
78
|
border: 0;
|
|
80
|
-
-webkit-transition:
|
|
81
|
-
|
|
79
|
+
-webkit-transition:
|
|
80
|
+
opacity 0.25s ease-out,
|
|
81
|
+
z-index 0.3s 0s ease-out;
|
|
82
|
+
transition:
|
|
83
|
+
opacity 0.25s ease-out,
|
|
84
|
+
z-index 0.3s 0s ease-out;
|
|
82
85
|
}
|
|
83
86
|
|
|
84
87
|
&-thumbnail {
|
|
@@ -94,17 +97,21 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
94
97
|
left: 0;
|
|
95
98
|
width: 100%;
|
|
96
99
|
height: 100%;
|
|
97
|
-
-webkit-transition: opacity .25s ease-in-out;
|
|
98
|
-
transition: opacity .25s ease-in-out;
|
|
100
|
+
-webkit-transition: opacity 0.25s ease-in-out;
|
|
101
|
+
transition: opacity 0.25s ease-in-out;
|
|
99
102
|
}
|
|
100
103
|
|
|
101
|
-
&:hover,
|
|
104
|
+
&:hover,
|
|
105
|
+
&:focus {
|
|
102
106
|
&:before {
|
|
103
|
-
opacity: .15;
|
|
107
|
+
opacity: 0.15;
|
|
104
108
|
}
|
|
105
109
|
|
|
106
110
|
.video-nav {
|
|
107
|
-
background-color: rgba(
|
|
111
|
+
background-color: rgba(
|
|
112
|
+
var(--#{$prefix}video-nav-bg-hover-rgb),
|
|
113
|
+
var(--#{$prefix}video-nav-bg-opacity)
|
|
114
|
+
);
|
|
108
115
|
|
|
109
116
|
.video-watch {
|
|
110
117
|
background-color: var(--#{$prefix}video-nav-bg-hover);
|
|
@@ -116,7 +123,7 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
116
123
|
|
|
117
124
|
.video-thumbnail-image {
|
|
118
125
|
&:before {
|
|
119
|
-
opacity: .15;
|
|
126
|
+
opacity: 0.15;
|
|
120
127
|
}
|
|
121
128
|
}
|
|
122
129
|
}
|
|
@@ -140,8 +147,8 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
140
147
|
left: 0;
|
|
141
148
|
width: 100%;
|
|
142
149
|
height: 100%;
|
|
143
|
-
-webkit-transition: opacity .25s ease-in-out;
|
|
144
|
-
transition: opacity .25s ease-in-out;
|
|
150
|
+
-webkit-transition: opacity 0.25s ease-in-out;
|
|
151
|
+
transition: opacity 0.25s ease-in-out;
|
|
145
152
|
}
|
|
146
153
|
}
|
|
147
154
|
}
|
|
@@ -179,7 +186,10 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
179
186
|
display: flex;
|
|
180
187
|
left: 0;
|
|
181
188
|
bottom: 0;
|
|
182
|
-
background-color: rgba(
|
|
189
|
+
background-color: rgba(
|
|
190
|
+
var(--#{$prefix}video-nav-bg-rgb),
|
|
191
|
+
var(--#{$prefix}video-nav-bg-opacity)
|
|
192
|
+
);
|
|
183
193
|
border-top-right-radius: 0.75rem;
|
|
184
194
|
overflow: clip;
|
|
185
195
|
font-weight: 400;
|
|
@@ -188,8 +198,12 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
188
198
|
|
|
189
199
|
&-nav,
|
|
190
200
|
&-watch {
|
|
191
|
-
-webkit-transition:
|
|
192
|
-
|
|
201
|
+
-webkit-transition:
|
|
202
|
+
background-color 0.25s ease-in-out,
|
|
203
|
+
text-decoration-color 0.25s ease-in-out;
|
|
204
|
+
transition:
|
|
205
|
+
background-color 0.25s ease-in-out,
|
|
206
|
+
text-decoration-color 0.25s ease-in-out;
|
|
193
207
|
}
|
|
194
208
|
|
|
195
209
|
&-duration,
|
|
@@ -206,7 +220,7 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
206
220
|
display: inline-block;
|
|
207
221
|
vertical-align: middle;
|
|
208
222
|
margin-left: -2rem;
|
|
209
|
-
margin-right: .5rem;
|
|
223
|
+
margin-right: 0.5rem;
|
|
210
224
|
}
|
|
211
225
|
}
|
|
212
226
|
|
|
@@ -229,12 +243,12 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
229
243
|
}
|
|
230
244
|
}
|
|
231
245
|
|
|
232
|
-
|
|
233
|
-
|
|
234
246
|
&-description {
|
|
235
247
|
padding: 0.75rem 1rem;
|
|
236
248
|
grid-area: description;
|
|
237
|
-
p,
|
|
249
|
+
p,
|
|
250
|
+
ul,
|
|
251
|
+
ol {
|
|
238
252
|
&:last-child {
|
|
239
253
|
margin-bottom: 0;
|
|
240
254
|
}
|
|
@@ -246,7 +260,7 @@ $video-clock-icon-dark: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/20
|
|
|
246
260
|
grid-area: transcript;
|
|
247
261
|
&-item {
|
|
248
262
|
&,
|
|
249
|
-
&:last-of-type
|
|
263
|
+
&:last-of-type > .accordion-header .accordion-button.collapsed {
|
|
250
264
|
border-bottom-right-radius: var(--#{$prefix}video-border-radius);
|
|
251
265
|
border-bottom-left-radius: var(--#{$prefix}video-border-radius);
|
|
252
266
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// Legacy Theme Entry Point
|
|
2
|
+
//
|
|
3
|
+
// This file compiles the stylesheet using the legacy (pre-October 2025) theme.
|
|
4
|
+
//
|
|
5
|
+
// It works by loading variables from `qld-tokens-legacy.scss` and creating a
|
|
6
|
+
// `$qld-tokens` SASS map. This map is then consumed by the main application
|
|
7
|
+
// (`main.scss`) to override the default theme tokens.
|
|
8
|
+
|
|
9
|
+
@use "sass:meta";
|
|
10
|
+
|
|
11
|
+
//Legacy Masterbrand "tokens" (Pre October 2025)
|
|
12
|
+
@use "./qld-tokens-legacy";
|
|
13
|
+
@import "./qld-tokens-legacy";
|
|
14
|
+
|
|
15
|
+
//Map to $qld-tokens sass map
|
|
16
|
+
$qld-tokens: meta.module-variables("qld-tokens-legacy");
|
|
17
|
+
|
|
18
|
+
// Continue with full main.scss entry file
|
|
19
|
+
@import "./main.scss";
|
package/src/css/main.scss
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
// Guidelines for this setup: https://getbootstrap.com/docs/5.3/customize/sass/
|
|
2
2
|
|
|
3
|
+
@use "sass:meta";
|
|
4
|
+
|
|
5
|
+
//
|
|
6
|
+
// Default Theme Token Setup
|
|
7
|
+
//
|
|
8
|
+
// This block establishes the default theme by creating a SASS map named `$qld-tokens`.
|
|
9
|
+
//
|
|
10
|
+
// 1. It loads variables from the default `qld-tokens.scss` file.
|
|
11
|
+
// 2. It converts these variables into the `$qld-tokens` map.
|
|
12
|
+
// 3. The `!default` flag is the core of the theming system: it allows an upstream
|
|
13
|
+
// entry point (e.g., `main.legacy.scss`) to define its own `$qld-tokens` map
|
|
14
|
+
// first, which will be used instead of these defaults.
|
|
15
|
+
//
|
|
16
|
+
@use "./qld-tokens";
|
|
17
|
+
@import "./qld-tokens";
|
|
18
|
+
$qld-tokens: meta.module-variables("qld-tokens") !default;
|
|
19
|
+
|
|
3
20
|
// External fonts
|
|
4
21
|
@import url("https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;700&family=Noto+Sans:wght@400;600;900&display=swap");
|
|
5
22
|
$font-family-sans-serif:
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// Static copy of Masterbrand color tokens V1.0
|
|
2
|
+
// Original generated on Thu, 13 Jun 2024 02:52:12 GMT
|
|
3
|
+
|
|
4
|
+
$core-default-color-neutral-black: #131212 !default;
|
|
5
|
+
$core-default-color-neutral-darkest: #222020 !default;
|
|
6
|
+
$core-default-color-neutral-darker: #444444 !default;
|
|
7
|
+
$core-default-color-neutral-dark: #78797e !default;
|
|
8
|
+
$core-default-color-neutral-light: #e0e0e0 !default;
|
|
9
|
+
$core-default-color-neutral-lighter: #ebebeb !default;
|
|
10
|
+
$core-default-color-neutral-lightest: #f5f5f5 !default;
|
|
11
|
+
$core-default-color-neutral-white: #ffffff !default;
|
|
12
|
+
$core-default-color-status-caution-default: #ffcc2c !default;
|
|
13
|
+
$core-default-color-status-caution-darker: #b38800 !default;
|
|
14
|
+
$core-default-color-status-caution-lighter: #fff2c9 !default;
|
|
15
|
+
$core-default-color-status-caution-lightest: #fffaea !default;
|
|
16
|
+
$core-default-color-status-info-default: #0085b3 !default;
|
|
17
|
+
$core-default-color-status-info-darker: #006a8f !default;
|
|
18
|
+
$core-default-color-status-info-lighter: #e5eef5 !default;
|
|
19
|
+
$core-default-color-status-info-lightest: #eff4f9 !default;
|
|
20
|
+
$core-default-color-status-error-default: #e22339 !default;
|
|
21
|
+
$core-default-color-status-error-darker: #8a1220 !default;
|
|
22
|
+
$core-default-color-status-error-lighter: #fdf0f0 !default;
|
|
23
|
+
$core-default-color-status-error-lightest: #fff6f6 !default;
|
|
24
|
+
$core-default-color-status-success-default: #339d37 !default;
|
|
25
|
+
$core-default-color-status-success-darker: #0a690d !default;
|
|
26
|
+
$core-default-color-status-success-lighter: #f2faf4 !default;
|
|
27
|
+
$core-default-color-status-success-lightest: #f7fbf8 !default;
|
|
28
|
+
$core-default-color-status-underline-light: #ffffffb8 !default;
|
|
29
|
+
$core-default-color-status-underline-dark: #03213fb8 !default;
|
|
30
|
+
$core-default-color-brand-primary-dark-blue: #05325f !default;
|
|
31
|
+
$core-default-color-brand-primary-sapphire-blue: #09549f !default;
|
|
32
|
+
$core-default-color-brand-primary-light-blue: #0085b3 !default;
|
|
33
|
+
$core-default-color-brand-primary-light-green: #6bbe27 !default;
|
|
34
|
+
$core-default-color-brand-secondary-darkgreen: #008635 !default;
|
|
35
|
+
$core-default-color-brand-secondary-golden-yellow: #ffe500 !default;
|
|
36
|
+
$core-default-color-brand-other-modern-maroon: #a70240 !default;
|
|
37
|
+
$core-default-color-brand-other-gov-maroon: #771e32 !default;
|
|
38
|
+
$core-default-color-code-green: #6bbe27 !default;
|
|
39
|
+
$core-default-color-code-light-blue: #a7e5ff !default;
|
|
40
|
+
$core-default-color-code-violet: #c88df7 !default;
|
|
41
|
+
$core-default-color-code-muted: #c0d7ec !default;
|
|
42
|
+
$core-default-color-contained-layout-background: #09549f !default;
|
|
43
|
+
$core-default-color-contained-layout-background-dark: #09549f !default;
|
|
44
|
+
$color-default-color-light-background-default: #ffffff !default;
|
|
45
|
+
$color-default-color-light-background-default-shade: #f5f5f5 !default;
|
|
46
|
+
$color-default-color-light-background-light: #eff4f9 !default;
|
|
47
|
+
$color-default-color-light-background-light-shade: #e5eef5 !default;
|
|
48
|
+
$color-default-color-light-background-alt: #e8e8e8 !default;
|
|
49
|
+
$color-default-color-light-background-alt-shade: #e0e0e0 !default;
|
|
50
|
+
$color-default-color-light-border-default: #ebebeb !default;
|
|
51
|
+
$color-default-color-light-border-light: #ccddee !default;
|
|
52
|
+
$color-default-color-light-border-alt: #7a7a7a !default;
|
|
53
|
+
$color-default-color-light-action-primary: #09549f !default;
|
|
54
|
+
$color-default-color-light-action-primary-hover: #003e7d !default;
|
|
55
|
+
$color-default-color-light-action-secondary: #008635 !default;
|
|
56
|
+
$color-default-color-light-action-secondary-hover: #005b23 !default;
|
|
57
|
+
$color-default-color-light-link-on-action: #ffffff !default;
|
|
58
|
+
$color-default-color-light-link-default: #09549f !default;
|
|
59
|
+
$color-default-color-light-link-visited: #551a8b !default;
|
|
60
|
+
$color-default-color-light-accent-design-accent: #6bbe27 !default;
|
|
61
|
+
$color-default-color-light-focus-default: #0085b3 !default;
|
|
62
|
+
$color-default-color-light-underline-default: #3f7ab4 !default;
|
|
63
|
+
$color-default-color-light-underline-default-hover: #09549f !default;
|
|
64
|
+
$color-default-color-light-underline-visited: #8b63b0 !default;
|
|
65
|
+
$color-default-color-light-underline-visited-hover: #551a8b !default;
|
|
66
|
+
$color-default-color-light-text-default: #414141 !default;
|
|
67
|
+
$color-default-color-light-text-lighter: #636363 !default;
|
|
68
|
+
$color-default-color-light-text-heading: #04284c !default;
|
|
69
|
+
$color-default-color-light-site-title: #022a50 !default;
|
|
70
|
+
$color-default-color-light-crest-fill: #1d1d1d !default;
|
|
71
|
+
$color-default-color-dark-background-default: #09549f !default;
|
|
72
|
+
$color-default-color-dark-background-default-shade: #04498f !default;
|
|
73
|
+
$color-default-color-dark-background-alt: #05325f !default;
|
|
74
|
+
$color-default-color-dark-background-alt-shade: #052c53 !default;
|
|
75
|
+
$color-default-color-dark-border-default: #1d9ac6 !default;
|
|
76
|
+
$color-default-color-dark-border-alt: #09acfe !default;
|
|
77
|
+
$color-default-color-dark-action-primary: #78ba00 !default;
|
|
78
|
+
$color-default-color-dark-action-primary-hover: #add33f !default;
|
|
79
|
+
$color-default-color-dark-action-secondary: #ffe500 !default;
|
|
80
|
+
$color-default-color-dark-action-secondary-hover: #ffef60 !default;
|
|
81
|
+
$color-default-color-dark-link-default: #ffffff !default;
|
|
82
|
+
$color-default-color-dark-link-visited: #e1bbee !default;
|
|
83
|
+
$color-default-color-dark-link-on-action: #121940 !default;
|
|
84
|
+
$color-default-color-dark-accent-design-accent: #6bbe27 !default;
|
|
85
|
+
$color-default-color-dark-focus-default: #01b0e5 !default;
|
|
86
|
+
$color-default-color-dark-underline-default: #b5cce2 !default;
|
|
87
|
+
$color-default-color-dark-underline-default-hover: #ffffff !default;
|
|
88
|
+
$color-default-color-dark-underline-visited: #e1c2ff !default;
|
|
89
|
+
$color-default-color-dark-underline-visited-hover: #ee11bb !default;
|
|
90
|
+
$color-default-color-dark-text-default: #ffffff !default;
|
|
91
|
+
$color-default-color-dark-text-lighter: #deebf9 !default;
|
|
92
|
+
$color-default-color-dark-text-heading: #ffffff !default;
|
|
93
|
+
$color-default-color-dark-site-title: #ffffff !default;
|
|
94
|
+
$color-default-color-dark-crest-fill: #ffffff !default;
|