@qhealth-design-system/core 1.16.5 → 1.17.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/.storybook/assets/storybook.css +1 -1
- package/.storybook/globals.js +10 -0
- package/CHANGELOG.md +2 -0
- package/package.json +1 -1
- package/src/components/_global/css/cta_links/component.scss +107 -14
- package/src/components/_global/css/forms/control_inputs/component.scss +65 -77
- package/src/components/_global/css/link_columns/component.scss +2 -2
- package/src/components/_global/html/scripts.html +0 -2
- package/src/components/_global/js/cta_links/global.js +33 -0
- package/src/components/_global/js/global.js +175 -138
- package/src/components/_global/js/tabs/global.js +6 -2
- package/src/components/banner_advanced/html/component.hbs +1 -1
- package/src/components/breadcrumbs/js/global.js +17 -4
- package/src/components/card_feature/html/component.hbs +1 -1
- package/src/components/card_multi_action/html/component.hbs +1 -1
- package/src/components/card_single_action/css/component.scss +38 -47
- package/src/components/card_single_action/html/component.hbs +1 -1
- package/src/components/code/css/component.scss +72 -73
- package/src/components/code/html/component.hbs +62 -19
- package/src/components/code/js/global.js +102 -86
- package/src/components/footer/css/component.scss +2 -4
- package/src/components/footer/html/component.hbs +11 -8
- package/src/components/header/css/component.scss +11 -11
- package/src/components/header/html/component.hbs +3 -3
- package/src/components/header/js/global.js +58 -65
- package/src/components/in_page_navigation/js/global.js +34 -31
- package/src/components/internal_navigation/js/global.js +13 -3
- package/src/components/main_navigation/css/component.scss +79 -13
- package/src/components/main_navigation/html/component.hbs +5 -5
- package/src/components/main_navigation/js/global.js +94 -115
- package/src/components/mega_main_navigation/css/component.scss +27 -14
- package/src/components/mega_main_navigation/html/component.hbs +5 -5
- package/src/components/mega_main_navigation/js/global.js +50 -55
- package/src/components/page_alert/css/component.scss +141 -179
- package/src/data/site.json +3 -3
- package/src/html/component-card_feature.html +74 -487
- package/src/html/component-card_single_action.html +219 -1175
- package/src/html/component-forms.html +202 -67
- package/src/stories/Checkboxes/Checkboxes.js +41 -0
- package/src/stories/Checkboxes/Checkboxes.mdx +45 -0
- package/src/stories/Checkboxes/Checkboxes.stories.js +209 -0
- package/src/stories/RadioButtons/RadioButtons.js +41 -0
- package/src/stories/RadioButtons/RadioButtons.mdx +45 -0
- package/src/stories/RadioButtons/RadioButtons.stories.js +209 -0
- package/src/styles/imports/mixins.scss +5 -43
package/.storybook/globals.js
CHANGED
|
@@ -67,4 +67,14 @@ export const figmaLinks = {
|
|
|
67
67
|
file: "https://www.figma.com/design/qKsxl3ogIlBp7dafgxXuCA/QGDS-UI-kit?node-id=23167-395563",
|
|
68
68
|
ds: "https://www.designsystem.qld.gov.au/components/link-columns-link-list",
|
|
69
69
|
},
|
|
70
|
+
checkboxes: {
|
|
71
|
+
design: "https://www.figma.com/design/qKsxl3ogIlBp7dafgxXuCA/QGDS-UI-kit?node-id=11056-321348&p=f",
|
|
72
|
+
file: "https://www.figma.com/design/qKsxl3ogIlBp7dafgxXuCA/QGDS-UI-kit?node-id=23167-395569",
|
|
73
|
+
ds: "https://www.designsystem.qld.gov.au/components/checkboxes",
|
|
74
|
+
},
|
|
75
|
+
radioButtons: {
|
|
76
|
+
design: "https://www.figma.com/design/qKsxl3ogIlBp7dafgxXuCA/QGDS-UI-kit?node-id=11056-321347&p=f",
|
|
77
|
+
file: "https://www.figma.com/design/qKsxl3ogIlBp7dafgxXuCA/QGDS-UI-kit?node-id=23167-395570",
|
|
78
|
+
ds: "https://www.designsystem.qld.gov.au/components/radio-buttons",
|
|
79
|
+
},
|
|
70
80
|
};
|
package/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -92,27 +92,120 @@ a.qld__cta-link {
|
|
|
92
92
|
|
|
93
93
|
.qld__cta-link.qld__cta-link--view-all,
|
|
94
94
|
a.qld__cta-link.qld__cta-link--view-all {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
display: inline-block;
|
|
96
|
+
position: relative;
|
|
97
|
+
@include QLD-space(padding-right, 2.5rem);
|
|
98
|
+
|
|
99
|
+
.qld__cta-link--view-all-icon--wrapper {
|
|
100
|
+
display: block;
|
|
101
|
+
min-height: 32px;
|
|
102
|
+
line-height: 32px;
|
|
98
103
|
}
|
|
99
104
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
105
|
+
&::before,
|
|
106
|
+
&::after,
|
|
107
|
+
.qld__cta-link--view-all-icon--wrapper::before {
|
|
108
|
+
// TODO: Remove this mask-image override after work is done for regular cta links.
|
|
109
|
+
mask-image: none;
|
|
110
|
+
@include QLD-space(margin, 0 0.5unit 0 0.5unit);
|
|
111
|
+
content: "";
|
|
112
|
+
position: absolute;
|
|
113
|
+
display: inline-block;
|
|
114
|
+
box-sizing: border-box;
|
|
115
|
+
border-bottom: 0.125rem solid;
|
|
116
|
+
transition: border-color 0.3s ease;
|
|
117
|
+
border-color: var(--QLD-color-light__action--secondary);
|
|
118
|
+
transition: margin 0.2s ease;
|
|
119
|
+
z-index: 1;
|
|
120
|
+
right: 0.5rem;
|
|
121
|
+
background-color: transparent;
|
|
122
|
+
|
|
123
|
+
.qld__body--dark &,
|
|
124
|
+
.qld__body--dark-alt &,
|
|
125
|
+
.qld__main-nav--dark &,
|
|
126
|
+
.qld__main-nav--dark-alt & {
|
|
127
|
+
border-color: var(--QLD-color-dark__action--secondary);
|
|
103
128
|
}
|
|
104
129
|
}
|
|
105
130
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
131
|
+
&::before {
|
|
132
|
+
width: 0.7rem;
|
|
133
|
+
top: 14.5px;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
&::after {
|
|
137
|
+
transform: rotate(315deg);
|
|
138
|
+
width: 0.5rem;
|
|
139
|
+
top: 0.72rem;
|
|
140
|
+
height: 0.5rem;
|
|
141
|
+
border-right: 0.125rem solid var(--QLD-color-light__action--secondary);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
> .qld__cta-link--view-all-icon--wrapper::before {
|
|
145
|
+
border: 2px solid var(--QLD-color-light__action--secondary);
|
|
146
|
+
width: 1.5rem;
|
|
147
|
+
height: 1.5rem;
|
|
148
|
+
top: 3.5px;
|
|
149
|
+
right: 1px;
|
|
150
|
+
border-radius: 50%;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
&:hover,
|
|
154
|
+
&:focus {
|
|
155
|
+
&::before,
|
|
156
|
+
&::after,
|
|
157
|
+
.qld__cta-link--view-all-icon--wrapper::before {
|
|
158
|
+
@include QLD-space(margin, 0 0 0 1unit);
|
|
159
|
+
border-color: var(--QLD-color-light__action--secondary-hover);
|
|
160
|
+
background-color: transparent;
|
|
161
|
+
|
|
162
|
+
.qld__body--dark &,
|
|
163
|
+
.qld__body--dark-alt &,
|
|
164
|
+
.qld__main-nav--dark &,
|
|
165
|
+
.qld__main-nav--dark-alt & {
|
|
166
|
+
border-color: var(--QLD-color-dark__action--secondary-hover);
|
|
167
|
+
}
|
|
111
168
|
}
|
|
169
|
+
}
|
|
112
170
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
171
|
+
// CTA view all link within menus
|
|
172
|
+
.qld__main-nav &,
|
|
173
|
+
.qld__main-nav--mega & {
|
|
174
|
+
@include QLD-media("lg", "down") {
|
|
175
|
+
&::before,
|
|
176
|
+
&::after,
|
|
177
|
+
.qld__cta-link--view-all-icon--wrapper::before {
|
|
178
|
+
left: 0;
|
|
179
|
+
@include QLD-space(margin, 0.65unit 0 0 5unit);
|
|
180
|
+
}
|
|
181
|
+
&::before {
|
|
182
|
+
top: 13.5px;
|
|
183
|
+
width: 0.5rem;
|
|
184
|
+
margin-left: 5.475rem;
|
|
185
|
+
}
|
|
186
|
+
&::after {
|
|
187
|
+
top: 0.66rem;
|
|
188
|
+
margin-left: 5.55rem;
|
|
189
|
+
}
|
|
190
|
+
.qld__cta-link--view-all-icon--wrapper::before {
|
|
191
|
+
left: 2px;
|
|
192
|
+
width: 1.4rem;
|
|
193
|
+
height: 1.4rem;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
&:hover,
|
|
197
|
+
&:focus {
|
|
198
|
+
&::before,
|
|
199
|
+
&::after,
|
|
200
|
+
.qld__cta-link--view-all-icon--wrapper::before {
|
|
201
|
+
@include QLD-space(margin, 0.65unit 0 0 5.25unit);
|
|
202
|
+
}
|
|
203
|
+
&::before {
|
|
204
|
+
margin-left: 5.75rem;
|
|
205
|
+
}
|
|
206
|
+
&::after {
|
|
207
|
+
margin-left: 5.8rem;
|
|
208
|
+
}
|
|
116
209
|
}
|
|
117
210
|
}
|
|
118
211
|
}
|
|
@@ -16,19 +16,18 @@ input[type="checkbox"],
|
|
|
16
16
|
@include QLD-space(padding-left, 2.5unit);
|
|
17
17
|
font-weight: 400;
|
|
18
18
|
|
|
19
|
-
&:before
|
|
20
|
-
&:after {
|
|
19
|
+
&:before {
|
|
21
20
|
@include QLD-space(width, 2unit);
|
|
22
21
|
@include QLD-space(height, 2unit);
|
|
23
22
|
visibility: visible;
|
|
24
|
-
content: "
|
|
23
|
+
content: "";
|
|
25
24
|
display: block;
|
|
26
25
|
position: absolute;
|
|
27
26
|
box-sizing: border-box;
|
|
28
|
-
background-repeat: no-repeat;
|
|
29
27
|
z-index: 9;
|
|
30
28
|
@include QLD-space(left, 0unit);
|
|
31
29
|
border: $QLD-border-width-default solid transparent;
|
|
30
|
+
border-color: var(--QLD-color-light__border--alt);
|
|
32
31
|
top: 0;
|
|
33
32
|
|
|
34
33
|
.qld__control-input--small & {
|
|
@@ -36,11 +35,6 @@ input[type="checkbox"],
|
|
|
36
35
|
@include QLD-space(height, 1.25unit);
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
|
-
&:before {
|
|
40
|
-
background-color: transparent;
|
|
41
|
-
border-color: var(--QLD-color-light__border--alt);
|
|
42
|
-
background-image: none !important;
|
|
43
|
-
}
|
|
44
38
|
|
|
45
39
|
&:after {
|
|
46
40
|
z-index: 101;
|
|
@@ -54,18 +48,34 @@ input[type="checkbox"],
|
|
|
54
48
|
}
|
|
55
49
|
}
|
|
56
50
|
|
|
57
|
-
//
|
|
51
|
+
// Hover
|
|
58
52
|
&:hover:not([disabled]) {
|
|
59
53
|
+ label:before {
|
|
60
54
|
background-color: $QLD-color-neutral--lightest;
|
|
61
55
|
}
|
|
62
56
|
}
|
|
63
57
|
|
|
64
|
-
//
|
|
65
|
-
&:checked {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
58
|
+
// Normal checked
|
|
59
|
+
&:checked + label::after {
|
|
60
|
+
transition: border-color 0.3s ease;
|
|
61
|
+
content: "";
|
|
62
|
+
position: absolute;
|
|
63
|
+
width: 1rem;
|
|
64
|
+
height: 0.55rem;
|
|
65
|
+
transform: rotate(-45deg);
|
|
66
|
+
border: none;
|
|
67
|
+
border-bottom: 0.25rem solid;
|
|
68
|
+
border-left: 0.25rem solid;
|
|
69
|
+
top: 0.6rem;
|
|
70
|
+
left: 0.5rem;
|
|
71
|
+
|
|
72
|
+
.qld__control-input--small & {
|
|
73
|
+
width: 0.7rem;
|
|
74
|
+
height: 0.35rem;
|
|
75
|
+
border-bottom-width: 0.15rem;
|
|
76
|
+
border-left-width: 0.15rem;
|
|
77
|
+
top: 0.375rem;
|
|
78
|
+
left: 0.275rem;
|
|
69
79
|
}
|
|
70
80
|
}
|
|
71
81
|
|
|
@@ -78,11 +88,11 @@ input[type="checkbox"],
|
|
|
78
88
|
outline-offset: 2px;
|
|
79
89
|
}
|
|
80
90
|
|
|
81
|
-
//
|
|
91
|
+
// Disabled
|
|
82
92
|
&:disabled {
|
|
83
93
|
+ label:before {
|
|
84
94
|
opacity: 0.3;
|
|
85
|
-
background-color:
|
|
95
|
+
background-color: $QLD-color-neutral--black__opacity-10;
|
|
86
96
|
}
|
|
87
97
|
|
|
88
98
|
+ label {
|
|
@@ -91,8 +101,7 @@ input[type="checkbox"],
|
|
|
91
101
|
}
|
|
92
102
|
|
|
93
103
|
&:checked + label:after {
|
|
94
|
-
opacity: 0.5;
|
|
95
|
-
@include QLD-getControlShape("checkbox", "foreground", var(--QLD-color-light__text--lighter));
|
|
104
|
+
opacity: 0.5;
|
|
96
105
|
}
|
|
97
106
|
}
|
|
98
107
|
|
|
@@ -113,25 +122,16 @@ input[type="checkbox"],
|
|
|
113
122
|
.qld__body--dark &,
|
|
114
123
|
.qld__body--dark-alt & {
|
|
115
124
|
+ label:before {
|
|
116
|
-
// background-color: transparent;
|
|
117
125
|
border-color: var(--QLD-color-dark__heading);
|
|
118
|
-
background-image: none !important;
|
|
119
126
|
}
|
|
120
127
|
|
|
121
|
-
//
|
|
128
|
+
// Hover
|
|
122
129
|
&:hover {
|
|
123
130
|
+ label:before {
|
|
124
131
|
background-color: var(--QLD-color-dark__background--shade);
|
|
125
132
|
}
|
|
126
133
|
}
|
|
127
134
|
|
|
128
|
-
// normal checked
|
|
129
|
-
&:checked {
|
|
130
|
-
+ label:after {
|
|
131
|
-
@include QLD-getControlShape("checkbox", "foreground", #ffffff);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
135
|
// Focus
|
|
136
136
|
&:focus + label:before,
|
|
137
137
|
&.qld__input--valid:focus + label:before,
|
|
@@ -140,7 +140,7 @@ input[type="checkbox"],
|
|
|
140
140
|
box-shadow: none;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
//
|
|
143
|
+
// Disabled
|
|
144
144
|
&:disabled {
|
|
145
145
|
+ label:before {
|
|
146
146
|
background-color: transparent;
|
|
@@ -153,8 +153,6 @@ input[type="checkbox"],
|
|
|
153
153
|
|
|
154
154
|
&:checked + label:after {
|
|
155
155
|
opacity: 0.5;
|
|
156
|
-
|
|
157
|
-
@include QLD-getControlShape("checkbox", "foreground", #ffffff);
|
|
158
156
|
}
|
|
159
157
|
}
|
|
160
158
|
|
|
@@ -184,20 +182,19 @@ input[type="radio"],
|
|
|
184
182
|
@include QLD-space(line-height, 2unit);
|
|
185
183
|
@include QLD-space(padding-left, 2.5unit);
|
|
186
184
|
|
|
187
|
-
&:before
|
|
188
|
-
&:after {
|
|
185
|
+
&:before {
|
|
189
186
|
width: 30px;
|
|
190
187
|
height: 30px;
|
|
191
188
|
visibility: visible;
|
|
192
|
-
content: "
|
|
189
|
+
content: "";
|
|
193
190
|
display: block;
|
|
194
191
|
position: absolute;
|
|
195
192
|
box-sizing: border-box;
|
|
196
|
-
background-repeat: no-repeat;
|
|
197
193
|
z-index: 100;
|
|
198
194
|
@include QLD-space(left, 0unit);
|
|
199
195
|
border: $QLD-border-width-default solid transparent;
|
|
200
196
|
border-radius: 50%;
|
|
197
|
+
border-color: var(--QLD-color-light__border--alt);
|
|
201
198
|
top: 0;
|
|
202
199
|
|
|
203
200
|
.qld__control-input--small & {
|
|
@@ -206,12 +203,6 @@ input[type="radio"],
|
|
|
206
203
|
}
|
|
207
204
|
}
|
|
208
205
|
|
|
209
|
-
&:before {
|
|
210
|
-
background-color: transparent;
|
|
211
|
-
border-color: var(--QLD-color-light__border--alt);
|
|
212
|
-
background-image: none !important;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
206
|
&:after {
|
|
216
207
|
z-index: 101;
|
|
217
208
|
}
|
|
@@ -224,17 +215,34 @@ input[type="radio"],
|
|
|
224
215
|
}
|
|
225
216
|
}
|
|
226
217
|
|
|
227
|
-
//
|
|
218
|
+
// Hover
|
|
228
219
|
&:hover {
|
|
229
220
|
+ label:before {
|
|
230
221
|
background-color: $QLD-color-neutral--lightest;
|
|
231
222
|
}
|
|
232
223
|
}
|
|
233
224
|
|
|
234
|
-
//
|
|
235
|
-
&:checked
|
|
225
|
+
// Normal checked
|
|
226
|
+
&:checked,
|
|
227
|
+
&:checked:disabled {
|
|
236
228
|
+ label:after {
|
|
237
|
-
|
|
229
|
+
transition: border-color 0.3s ease;
|
|
230
|
+
content: "";
|
|
231
|
+
position: absolute;
|
|
232
|
+
display: inline-block;
|
|
233
|
+
box-sizing: border-box;
|
|
234
|
+
width: 0.75rem;
|
|
235
|
+
height: 0.75rem;
|
|
236
|
+
border-radius: 50%;
|
|
237
|
+
top: 5px;
|
|
238
|
+
left: 5px;
|
|
239
|
+
border: 10px solid;
|
|
240
|
+
|
|
241
|
+
.qld__control-input--small & {
|
|
242
|
+
top: 4px;
|
|
243
|
+
left: 4px;
|
|
244
|
+
border-width: 6.5px;
|
|
245
|
+
}
|
|
238
246
|
}
|
|
239
247
|
}
|
|
240
248
|
|
|
@@ -247,11 +255,11 @@ input[type="radio"],
|
|
|
247
255
|
outline-offset: 2px;
|
|
248
256
|
}
|
|
249
257
|
|
|
250
|
-
//
|
|
258
|
+
// Disabled
|
|
251
259
|
&:disabled {
|
|
252
260
|
+ label:before {
|
|
253
261
|
opacity: 0.3;
|
|
254
|
-
background-color:
|
|
262
|
+
background-color: $QLD-color-neutral--black__opacity-10;
|
|
255
263
|
}
|
|
256
264
|
|
|
257
265
|
+ label {
|
|
@@ -260,8 +268,7 @@ input[type="radio"],
|
|
|
260
268
|
}
|
|
261
269
|
|
|
262
270
|
&:checked + label:after {
|
|
263
|
-
opacity: 0.5;
|
|
264
|
-
@include QLD-getControlShape("radio", "foreground", #636363);
|
|
271
|
+
opacity: 0.5;
|
|
265
272
|
}
|
|
266
273
|
}
|
|
267
274
|
|
|
@@ -282,38 +289,26 @@ input[type="radio"],
|
|
|
282
289
|
+ label:before {
|
|
283
290
|
background-color: transparent;
|
|
284
291
|
border-color: var(--QLD-color-dark__heading);
|
|
285
|
-
background-image: none !important;
|
|
286
292
|
}
|
|
287
293
|
|
|
288
|
-
//
|
|
294
|
+
// Hover
|
|
289
295
|
&:hover {
|
|
290
296
|
+ label:before {
|
|
291
297
|
background-color: var(--QLD-color-dark__background--shade);
|
|
292
298
|
}
|
|
293
299
|
}
|
|
294
300
|
|
|
295
|
-
// normal checked
|
|
296
|
-
&:checked {
|
|
297
|
-
+ label:after {
|
|
298
|
-
@include QLD-getControlShape("radio", "foreground", #ffffff);
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
|
|
302
301
|
// Focus
|
|
303
302
|
&:focus + label:before {
|
|
304
303
|
@include QLD-outline("dark", false);
|
|
305
304
|
box-shadow: none;
|
|
306
305
|
}
|
|
307
306
|
|
|
308
|
-
//
|
|
307
|
+
// Disabled
|
|
309
308
|
&:disabled {
|
|
310
|
-
&:checked + label:after {
|
|
311
|
-
@include QLD-getControlShape("radio", "foreground", var(--QLD-color-light__text--lighter));
|
|
312
|
-
}
|
|
313
|
-
|
|
314
309
|
+ label:before {
|
|
315
310
|
opacity: 0.3;
|
|
316
|
-
background-color:
|
|
311
|
+
background-color: $QLD-color-neutral--black__opacity-10;
|
|
317
312
|
}
|
|
318
313
|
|
|
319
314
|
+ label {
|
|
@@ -322,21 +317,14 @@ input[type="radio"],
|
|
|
322
317
|
}
|
|
323
318
|
|
|
324
319
|
&:checked + label:after {
|
|
325
|
-
opacity: 0.5;
|
|
326
|
-
@include QLD-getControlShape("radio", "foreground", #ffffff);
|
|
320
|
+
opacity: 0.5;
|
|
327
321
|
}
|
|
328
322
|
}
|
|
329
323
|
}
|
|
330
324
|
}
|
|
331
325
|
|
|
332
|
-
//
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
&:before,
|
|
338
|
-
&:after {
|
|
339
|
-
display: none !important;
|
|
340
|
-
}
|
|
341
|
-
}
|
|
326
|
+
// Ensure the groups have space between elements
|
|
327
|
+
.qld__radio-buttons > div,
|
|
328
|
+
.qld__checkboxes > div {
|
|
329
|
+
margin-top: 0.5rem;
|
|
342
330
|
}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
position: relative;
|
|
27
27
|
flex: 0 0 100%;
|
|
28
28
|
|
|
29
|
-
a {
|
|
29
|
+
a:not(.qld__cta-link) {
|
|
30
30
|
@include QLD-underline("light", "noUnderline");
|
|
31
31
|
&:before {
|
|
32
32
|
content: "";
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
&:hover {
|
|
88
|
-
a {
|
|
88
|
+
a:not(:visited) {
|
|
89
89
|
color: var(--QLD-color-light__link);
|
|
90
90
|
}
|
|
91
91
|
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
<script src="https://sdk.datastore.squiz.cloud/js/sdk-simulator.js"></script>
|
|
2
2
|
|
|
3
|
-
<script src="https://kit.fontawesome.com/fb2f2d4cd6.js" crossorigin="anonymous"></script>
|
|
4
|
-
|
|
5
3
|
<script src="externals/handlebars.min-v4.7.8.js"></script>
|
|
6
4
|
<script src="externals/componentPreview.js"></script>
|
|
7
5
|
<script src="js/helpers.js"></script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
(function () {
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
var ctaLinks = {};
|
|
5
|
+
|
|
6
|
+
ctaLinks.init = function () {
|
|
7
|
+
document.querySelectorAll(".qld__cta-link.qld__cta-link--view-all").forEach((ctaLink) => {
|
|
8
|
+
const viewAllIconWrapperClass = "qld__cta-link--view-all-icon--wrapper";
|
|
9
|
+
|
|
10
|
+
// First check that the cta is not already wrapped
|
|
11
|
+
if (ctaLink.querySelector("." + viewAllIconWrapperClass)) return;
|
|
12
|
+
|
|
13
|
+
// Remove and store text content
|
|
14
|
+
const ctaLinkText = ctaLink.textContent;
|
|
15
|
+
ctaLink.textContent = "";
|
|
16
|
+
|
|
17
|
+
// Create wrapper span for the text
|
|
18
|
+
const wrapper = document.createElement("span");
|
|
19
|
+
wrapper.classList.add(viewAllIconWrapperClass);
|
|
20
|
+
wrapper.textContent = ctaLinkText;
|
|
21
|
+
|
|
22
|
+
// Insert wrapper
|
|
23
|
+
ctaLink.appendChild(wrapper);
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// Make cta links available to public
|
|
28
|
+
QLD.ctaLinks = ctaLinks;
|
|
29
|
+
|
|
30
|
+
document.addEventListener("DOMContentLoaded", function () {
|
|
31
|
+
QLD.ctaLinks.init();
|
|
32
|
+
});
|
|
33
|
+
})();
|