@ecl/site-header 5.0.0-alpha.1 → 5.0.0-alpha.11
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/README.md +25 -4
- package/{_site-header-language-switcher.scss → _site-header-dropdown.scss} +30 -15
- package/package.json +13 -13
- package/site-header-ec.scss +82 -48
- package/site-header-eu.scss +73 -29
- package/site-header-language-switcher.html.twig +0 -3
- package/site-header-print.scss +20 -5
- package/site-header.html.twig +230 -141
- package/site-header.js +326 -172
package/site-header-eu.scss
CHANGED
|
@@ -11,7 +11,7 @@ $theme: null !default;
|
|
|
11
11
|
$site-header: null !default;
|
|
12
12
|
$language-list: null !default;
|
|
13
13
|
|
|
14
|
-
@use 'site-header-
|
|
14
|
+
@use 'site-header-dropdown' with (
|
|
15
15
|
$theme: $theme,
|
|
16
16
|
$language-switcher: map.get($site-header, 'language-switcher'),
|
|
17
17
|
$language-list: $language-list
|
|
@@ -37,7 +37,7 @@ $language-list: null !default;
|
|
|
37
37
|
background: transparent;
|
|
38
38
|
box-shadow: none;
|
|
39
39
|
display: flex;
|
|
40
|
-
min-height: map.get($site-header, 'logo-height-
|
|
40
|
+
min-height: map.get($site-header, 'logo-height-s');
|
|
41
41
|
top: var(--s-m);
|
|
42
42
|
padding: 0;
|
|
43
43
|
position: absolute;
|
|
@@ -69,8 +69,8 @@ $language-list: null !default;
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
.ecl-menu__open,
|
|
73
|
+
.ecl-mega-menu__open {
|
|
74
74
|
top: 8px;
|
|
75
75
|
|
|
76
76
|
.ecl-link__icon:last-of-type {
|
|
@@ -78,21 +78,11 @@ $language-list: null !default;
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
&.ecl-site-header-with-logo-m .ecl-menu__open,
|
|
82
|
-
&.ecl-site-header-with-logo-m .ecl-mega-menu__open {
|
|
83
|
-
top: 14px;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
&.ecl-site-header-with-logo-l .ecl-menu__open,
|
|
87
|
-
&.ecl-site-header-with-logo-l .ecl-mega-menu__open {
|
|
88
|
-
top: 20px;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
81
|
/* stylelint-disable no-descending-specificity */
|
|
92
82
|
.ecl-menu__open,
|
|
93
83
|
.ecl-mega-menu__open,
|
|
94
|
-
.ecl-menu[
|
|
95
|
-
.ecl-mega-menu[
|
|
84
|
+
.ecl-menu[data-expanded] .ecl-menu__open,
|
|
85
|
+
.ecl-mega-menu[data-expanded] .ecl-mega-menu__open {
|
|
96
86
|
align-items: center;
|
|
97
87
|
border: 1px solid transparent;
|
|
98
88
|
box-sizing: border-box;
|
|
@@ -117,8 +107,8 @@ $language-list: null !default;
|
|
|
117
107
|
margin-inline-start: var(--s-m);
|
|
118
108
|
}
|
|
119
109
|
|
|
120
|
-
.ecl-menu[
|
|
121
|
-
.ecl-mega-menu[
|
|
110
|
+
.ecl-menu[data-expanded] .ecl-menu__open,
|
|
111
|
+
.ecl-mega-menu[data-expanded] .ecl-mega-menu__open {
|
|
122
112
|
background-color: var(--c-p-20);
|
|
123
113
|
}
|
|
124
114
|
/* stylelint-enable no-descending-specificity */
|
|
@@ -156,14 +146,6 @@ $language-list: null !default;
|
|
|
156
146
|
display: block;
|
|
157
147
|
height: map.get($site-header, 'logo-height-s');
|
|
158
148
|
max-width: 100%;
|
|
159
|
-
|
|
160
|
-
&.ecl-site-header__logo-image--m {
|
|
161
|
-
height: map.get($site-header, 'logo-height-m');
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
&.ecl-site-header__logo-image--l {
|
|
165
|
-
height: map.get($site-header, 'logo-height-l');
|
|
166
|
-
}
|
|
167
149
|
}
|
|
168
150
|
|
|
169
151
|
.ecl-site-header__action {
|
|
@@ -188,7 +170,7 @@ $language-list: null !default;
|
|
|
188
170
|
.ecl-search-form__text-input {
|
|
189
171
|
box-sizing: border-box;
|
|
190
172
|
flex-grow: 0;
|
|
191
|
-
height:
|
|
173
|
+
height: 2.75rem;
|
|
192
174
|
width: 100%;
|
|
193
175
|
}
|
|
194
176
|
}
|
|
@@ -218,7 +200,7 @@ $language-list: null !default;
|
|
|
218
200
|
width: 100%;
|
|
219
201
|
|
|
220
202
|
&::before {
|
|
221
|
-
@include site-header-
|
|
203
|
+
@include site-header-dropdown.arrow-up;
|
|
222
204
|
|
|
223
205
|
left: auto;
|
|
224
206
|
right: var(--ecl-login-arrow-position);
|
|
@@ -229,6 +211,7 @@ $language-list: null !default;
|
|
|
229
211
|
}
|
|
230
212
|
}
|
|
231
213
|
|
|
214
|
+
.ecl-site-header__custom-action-toggle,
|
|
232
215
|
.ecl-site-header__language-selector,
|
|
233
216
|
.ecl-site-header__login-toggle,
|
|
234
217
|
.ecl-site-header__search-toggle {
|
|
@@ -238,19 +221,46 @@ $language-list: null !default;
|
|
|
238
221
|
font: var(--f-ui-m);
|
|
239
222
|
justify-content: center;
|
|
240
223
|
|
|
224
|
+
&.ecl-link {
|
|
225
|
+
color: var(--c-d);
|
|
226
|
+
border-radius: 4px;
|
|
227
|
+
text-decoration: none;
|
|
228
|
+
|
|
229
|
+
&:focus-visible {
|
|
230
|
+
outline: none;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.ecl-link__label {
|
|
234
|
+
margin: 0;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
241
238
|
&:active,
|
|
242
239
|
&[aria-expanded='true'] {
|
|
243
240
|
background-color: var(--c-p-20);
|
|
244
241
|
}
|
|
245
242
|
}
|
|
246
243
|
|
|
244
|
+
.ecl-site-header__custom-action-toggle {
|
|
245
|
+
.ecl-link__icon-container {
|
|
246
|
+
.ecl-site-header__icon {
|
|
247
|
+
margin-inline-end: 0;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
.ecl-indicator:not(:empty) {
|
|
252
|
+
left: -18px;
|
|
253
|
+
right: auto;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
247
257
|
.ecl-site-header__search--active {
|
|
248
258
|
display: flex;
|
|
249
259
|
margin-top: var(--s-m);
|
|
250
260
|
|
|
251
261
|
@include breakpoints.down('m') {
|
|
252
262
|
&::before {
|
|
253
|
-
@include site-header-
|
|
263
|
+
@include site-header-dropdown.arrow-up;
|
|
254
264
|
|
|
255
265
|
left: auto;
|
|
256
266
|
right: var(--ecl-search-arrow-position);
|
|
@@ -275,6 +285,7 @@ $language-list: null !default;
|
|
|
275
285
|
margin-top: var(--s-m);
|
|
276
286
|
}
|
|
277
287
|
|
|
288
|
+
.ecl-site-header__custom-action-icon,
|
|
278
289
|
.ecl-site-header__language-icon {
|
|
279
290
|
align-items: center;
|
|
280
291
|
display: flex;
|
|
@@ -314,6 +325,7 @@ $language-list: null !default;
|
|
|
314
325
|
// stylelint-enable plugin/selector-bem-pattern
|
|
315
326
|
|
|
316
327
|
@include breakpoints.down('m') {
|
|
328
|
+
.ecl-site-header__custom-action-toggle,
|
|
317
329
|
.ecl-site-header__login-toggle,
|
|
318
330
|
.ecl-site-header__search-toggle,
|
|
319
331
|
.ecl-site-header__language-selector {
|
|
@@ -321,6 +333,16 @@ $language-list: null !default;
|
|
|
321
333
|
line-height: 0;
|
|
322
334
|
padding: calc(var(--s-xs) - 1px) 0;
|
|
323
335
|
|
|
336
|
+
&.ecl-link {
|
|
337
|
+
.ecl-link__label {
|
|
338
|
+
display: none;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.ecl-link__icon-container {
|
|
343
|
+
margin-inline-start: 0;
|
|
344
|
+
}
|
|
345
|
+
|
|
324
346
|
.ecl-icon {
|
|
325
347
|
height: 1.5rem;
|
|
326
348
|
width: 1.5rem;
|
|
@@ -330,6 +352,15 @@ $language-list: null !default;
|
|
|
330
352
|
|
|
331
353
|
/* stylelint-disable-next-line order/order */
|
|
332
354
|
@include breakpoints.up('s') {
|
|
355
|
+
.ecl-site-header__logo-image {
|
|
356
|
+
height: map.get($site-header, 'logo-height-m');
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
.ecl-site-header .ecl-menu__open,
|
|
360
|
+
.ecl-site-header .ecl-mega-menu__open {
|
|
361
|
+
top: 14px;
|
|
362
|
+
}
|
|
363
|
+
|
|
333
364
|
.ecl-site-header__logo-link {
|
|
334
365
|
flex-grow: 0;
|
|
335
366
|
}
|
|
@@ -403,6 +434,10 @@ $language-list: null !default;
|
|
|
403
434
|
margin-inline-end: 0;
|
|
404
435
|
}
|
|
405
436
|
|
|
437
|
+
.ecl-site-header__site-name--mobile-only {
|
|
438
|
+
display: none;
|
|
439
|
+
}
|
|
440
|
+
|
|
406
441
|
.ecl-site-header__container {
|
|
407
442
|
align-items: flex-end;
|
|
408
443
|
flex-direction: row;
|
|
@@ -421,6 +456,14 @@ $language-list: null !default;
|
|
|
421
456
|
.ecl-site-header__logo-image {
|
|
422
457
|
display: block;
|
|
423
458
|
|
|
459
|
+
&.ecl-site-header__logo-image--s {
|
|
460
|
+
height: map.get($site-header, 'logo-height-s');
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
&.ecl-site-header__logo-image--m {
|
|
464
|
+
height: map.get($site-header, 'logo-height-m');
|
|
465
|
+
}
|
|
466
|
+
|
|
424
467
|
&.ecl-site-header__logo-image--l {
|
|
425
468
|
height: map.get($site-header, 'logo-height-lg-l');
|
|
426
469
|
}
|
|
@@ -457,6 +500,7 @@ $language-list: null !default;
|
|
|
457
500
|
}
|
|
458
501
|
}
|
|
459
502
|
|
|
503
|
+
.ecl-site-header__custom-action-toggle,
|
|
460
504
|
.ecl-site-header__login-toggle,
|
|
461
505
|
.ecl-site-header__language-selector {
|
|
462
506
|
.ecl-site-header__icon {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
{#
|
|
4
4
|
Parameters:
|
|
5
|
-
- "icon_path" (string) (default: ''): URL to icons file
|
|
6
5
|
- "language_selector" (associative array) (default: predefined structure): Language switcher settings. format:
|
|
7
6
|
{
|
|
8
7
|
"href": (string) (default: ''): URL for switcher
|
|
@@ -37,7 +36,6 @@
|
|
|
37
36
|
{# Default variables #}
|
|
38
37
|
|
|
39
38
|
{% set _language_selector = language_selector|default({}) %}
|
|
40
|
-
{% set _icon_path = icon_path|default('') %}
|
|
41
39
|
{% set _label = _language_selector.label|default('') %}
|
|
42
40
|
|
|
43
41
|
{# Internal logic - Process properties #}
|
|
@@ -62,7 +60,6 @@
|
|
|
62
60
|
<span class="ecl-site-header__language-icon">
|
|
63
61
|
{% include '@ecl/icon/icon.html.twig' with {
|
|
64
62
|
icon: {
|
|
65
|
-
path: _icon_path,
|
|
66
63
|
name: 'global',
|
|
67
64
|
size: 's'
|
|
68
65
|
},
|
package/site-header-print.scss
CHANGED
|
@@ -7,12 +7,22 @@
|
|
|
7
7
|
|
|
8
8
|
// Exposed variables
|
|
9
9
|
$theme: null !default;
|
|
10
|
+
$site-header: null !default;
|
|
11
|
+
|
|
12
|
+
.ecl-site-header .ecl-site-header__background {
|
|
13
|
+
background-image: none;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.ecl-site-header__top {
|
|
17
|
+
display: flex;
|
|
18
|
+
justify-content: center;
|
|
19
|
+
}
|
|
10
20
|
|
|
11
21
|
.ecl-site-header__logo-image {
|
|
12
|
-
height:
|
|
22
|
+
height: auto;
|
|
13
23
|
margin-bottom: map.get($theme, 'spacing-print', 's');
|
|
14
24
|
margin-top: map.get($theme, 'spacing-print', 'm');
|
|
15
|
-
width:
|
|
25
|
+
width: 6.65cm;
|
|
16
26
|
}
|
|
17
27
|
|
|
18
28
|
.ecl-site-header__action {
|
|
@@ -20,11 +30,11 @@ $theme: null !default;
|
|
|
20
30
|
}
|
|
21
31
|
|
|
22
32
|
.ecl-site-header__banner-top {
|
|
23
|
-
color: var(--c-d);
|
|
24
|
-
font: map.get($theme, 'font-
|
|
33
|
+
color: var(--cm-on-surface-brand, var(--c-d));
|
|
34
|
+
font: map.get($theme, 'font-print', 'm');
|
|
25
35
|
|
|
26
36
|
.ecl-link {
|
|
27
|
-
color: var(--c-d);
|
|
37
|
+
color: var(--cm-on-surface-brand, var(--c-d));
|
|
28
38
|
}
|
|
29
39
|
|
|
30
40
|
.ecl-link::after {
|
|
@@ -33,6 +43,7 @@ $theme: null !default;
|
|
|
33
43
|
}
|
|
34
44
|
|
|
35
45
|
.ecl-site-header__banner {
|
|
46
|
+
color: map.get($site-header, 'banner-text-color');
|
|
36
47
|
font: map.get($theme, 'font-print', '3xl');
|
|
37
48
|
font-family: var(--ecl-font-family-print-alt);
|
|
38
49
|
font-weight: map.get($theme, 'font-weight-print', 'bold');
|
|
@@ -46,3 +57,7 @@ $theme: null !default;
|
|
|
46
57
|
.ecl-site-header__logo-image-mobile {
|
|
47
58
|
display: none;
|
|
48
59
|
}
|
|
60
|
+
|
|
61
|
+
.ecl-site-header__notification .ecl-notification {
|
|
62
|
+
width: 100%;
|
|
63
|
+
}
|