@ecl/site-header 5.0.0-alpha.4 → 5.0.0-alpha.5
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 +1 -0
- package/package.json +13 -13
- package/site-header-ec.scss +19 -9
- package/site-header-eu.scss +24 -25
- package/site-header.html.twig +2 -1
- package/site-header.js +6 -2
package/README.md
CHANGED
|
@@ -16,6 +16,7 @@ npm install --save @ecl/site-header
|
|
|
16
16
|
- **"logo"** (associative array) (default: predefined structure): Logo image settings. format:
|
|
17
17
|
- "title" (string) (default: ''): Logo title attribute.
|
|
18
18
|
- "alt" (string) (default: ''): Logo alt attribute.
|
|
19
|
+
- "breakpoint": (string) (default: 's') Expected value in EU is "l"
|
|
19
20
|
- "href" (string) (default: ''): Logo URL.
|
|
20
21
|
- "src_desktop" (string) (default: ''): Desktop logo image file path
|
|
21
22
|
- "src_mobile" (string) (default: ''): Mobile logo image file path for EU only
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@ecl/site-header",
|
|
3
3
|
"author": "European Commission",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
|
-
"version": "5.0.0-alpha.
|
|
5
|
+
"version": "5.0.0-alpha.5",
|
|
6
6
|
"description": "ECL Site Header",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
@@ -10,20 +10,20 @@
|
|
|
10
10
|
"main": "site-header.js",
|
|
11
11
|
"module": "site-header.js",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@ecl/button": "5.0.0-alpha.
|
|
14
|
-
"@ecl/dom-utils": "5.0.0-alpha.
|
|
15
|
-
"@ecl/grid": "5.0.0-alpha.
|
|
16
|
-
"@ecl/icon": "5.0.0-alpha.
|
|
17
|
-
"@ecl/link": "5.0.0-alpha.
|
|
18
|
-
"@ecl/menu": "5.0.0-alpha.
|
|
19
|
-
"@ecl/notification": "5.0.0-alpha.
|
|
20
|
-
"@ecl/picture": "5.0.0-alpha.
|
|
21
|
-
"@ecl/search-form": "5.0.0-alpha.
|
|
13
|
+
"@ecl/button": "5.0.0-alpha.5",
|
|
14
|
+
"@ecl/dom-utils": "5.0.0-alpha.5",
|
|
15
|
+
"@ecl/grid": "5.0.0-alpha.5",
|
|
16
|
+
"@ecl/icon": "5.0.0-alpha.5",
|
|
17
|
+
"@ecl/link": "5.0.0-alpha.5",
|
|
18
|
+
"@ecl/menu": "5.0.0-alpha.5",
|
|
19
|
+
"@ecl/notification": "5.0.0-alpha.5",
|
|
20
|
+
"@ecl/picture": "5.0.0-alpha.5",
|
|
21
|
+
"@ecl/search-form": "5.0.0-alpha.5",
|
|
22
22
|
"focus-trap": "7.6.4"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@ecl/resources-ec-logo": "5.0.0-alpha.
|
|
26
|
-
"@ecl/resources-eu-logo": "5.0.0-alpha.
|
|
25
|
+
"@ecl/resources-ec-logo": "5.0.0-alpha.5",
|
|
26
|
+
"@ecl/resources-eu-logo": "5.0.0-alpha.5"
|
|
27
27
|
},
|
|
28
28
|
"repository": {
|
|
29
29
|
"type": "git",
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"design-system",
|
|
40
40
|
"twig"
|
|
41
41
|
],
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "47fe59d4f5dc0921874036ebf5b3c47b086fbe14"
|
|
43
43
|
}
|
package/site-header-ec.scss
CHANGED
|
@@ -23,7 +23,7 @@ $language-list: null !default;
|
|
|
23
23
|
z-index: map.get($theme, 'z-index', 'modal');
|
|
24
24
|
|
|
25
25
|
.ecl-site-header__inner {
|
|
26
|
-
box-shadow: var(--sh-
|
|
26
|
+
box-shadow: var(--sh-2);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
.ecl-site-header__background {
|
|
@@ -53,7 +53,7 @@ $language-list: null !default;
|
|
|
53
53
|
.ecl-menu__open,
|
|
54
54
|
.ecl-mega-menu__open {
|
|
55
55
|
position: relative;
|
|
56
|
-
top: calc(-1 * var(--s-
|
|
56
|
+
top: calc(-1 * var(--s-xl));
|
|
57
57
|
z-index: 54;
|
|
58
58
|
}
|
|
59
59
|
|
|
@@ -74,7 +74,7 @@ $language-list: null !default;
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
.ecl-site-header__header {
|
|
77
|
-
box-shadow: var(--sh-
|
|
77
|
+
box-shadow: var(--sh-2);
|
|
78
78
|
position: relative;
|
|
79
79
|
z-index: 54;
|
|
80
80
|
}
|
|
@@ -123,7 +123,6 @@ $language-list: null !default;
|
|
|
123
123
|
.ecl-site-header__action {
|
|
124
124
|
align-self: flex-end;
|
|
125
125
|
display: flex;
|
|
126
|
-
padding-bottom: var(--s-2xs);
|
|
127
126
|
|
|
128
127
|
.ecl-button {
|
|
129
128
|
box-sizing: border-box;
|
|
@@ -170,7 +169,7 @@ $language-list: null !default;
|
|
|
170
169
|
.ecl-site-header__login-box,
|
|
171
170
|
.ecl-site-header__search {
|
|
172
171
|
background-color: map.get($theme, 'color', 'white');
|
|
173
|
-
box-shadow: var(--sh-
|
|
172
|
+
box-shadow: var(--sh-3);
|
|
174
173
|
box-sizing: border-box;
|
|
175
174
|
color: var(--c-d);
|
|
176
175
|
display: none;
|
|
@@ -253,7 +252,7 @@ $language-list: null !default;
|
|
|
253
252
|
background-color: map.get($site-header, 'banner-background');
|
|
254
253
|
color: map.get($site-header, 'banner-text-color');
|
|
255
254
|
display: block;
|
|
256
|
-
font: var(--f-
|
|
255
|
+
font: var(--f-2xl);
|
|
257
256
|
min-height: 1.75rem;
|
|
258
257
|
padding: var(--s-m) 0;
|
|
259
258
|
|
|
@@ -298,6 +297,17 @@ $menu-top: calc(44px + 2 * var(--s-xs));
|
|
|
298
297
|
top: $menu-top;
|
|
299
298
|
}
|
|
300
299
|
|
|
300
|
+
@include breakpoints.up('s') {
|
|
301
|
+
.ecl-site-header__logo-image {
|
|
302
|
+
height: map.get($site-header, 'logo-height-lg-m');
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
.ecl-site-header .ecl-mega-menu__open,
|
|
306
|
+
.ecl-site-header .ecl-menu__open {
|
|
307
|
+
top: calc(-1 * var(--s-s));
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
|
|
301
311
|
@include breakpoints.down('m') {
|
|
302
312
|
.ecl-site-header__login-toggle,
|
|
303
313
|
.ecl-site-header__search-toggle,
|
|
@@ -334,7 +344,7 @@ $menu-top: calc(44px + 2 * var(--s-xs));
|
|
|
334
344
|
|
|
335
345
|
@include breakpoints.up('l') {
|
|
336
346
|
.ecl-site-header {
|
|
337
|
-
box-shadow: var(--sh-
|
|
347
|
+
box-shadow: var(--sh-2);
|
|
338
348
|
|
|
339
349
|
.ecl-site-header__cta {
|
|
340
350
|
align-self: center;
|
|
@@ -350,7 +360,7 @@ $menu-top: calc(44px + 2 * var(--s-xs));
|
|
|
350
360
|
width: 100%;
|
|
351
361
|
|
|
352
362
|
.ecl-menu__mega {
|
|
353
|
-
box-shadow: var(--sh-
|
|
363
|
+
box-shadow: var(--sh-2);
|
|
354
364
|
}
|
|
355
365
|
}
|
|
356
366
|
|
|
@@ -497,7 +507,7 @@ $menu-top: calc(44px + 2 * var(--s-xs));
|
|
|
497
507
|
|
|
498
508
|
.ecl-site-header__banner {
|
|
499
509
|
box-shadow: none;
|
|
500
|
-
font: var(--f-
|
|
510
|
+
font: var(--f-3xl);
|
|
501
511
|
min-height: 0;
|
|
502
512
|
padding: 0;
|
|
503
513
|
|
package/site-header-eu.scss
CHANGED
|
@@ -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 {
|
|
@@ -330,6 +312,15 @@ $language-list: null !default;
|
|
|
330
312
|
|
|
331
313
|
/* stylelint-disable-next-line order/order */
|
|
332
314
|
@include breakpoints.up('s') {
|
|
315
|
+
.ecl-site-header__logo-image {
|
|
316
|
+
height: map.get($site-header, 'logo-height-m');
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
.ecl-site-header .ecl-menu__open,
|
|
320
|
+
.ecl-site-header .ecl-mega-menu__open {
|
|
321
|
+
top: 14px;
|
|
322
|
+
}
|
|
323
|
+
|
|
333
324
|
.ecl-site-header__logo-link {
|
|
334
325
|
flex-grow: 0;
|
|
335
326
|
}
|
|
@@ -421,6 +412,14 @@ $language-list: null !default;
|
|
|
421
412
|
.ecl-site-header__logo-image {
|
|
422
413
|
display: block;
|
|
423
414
|
|
|
415
|
+
&.ecl-site-header__logo-image--s {
|
|
416
|
+
height: map.get($site-header, 'logo-height-s');
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
&.ecl-site-header__logo-image--m {
|
|
420
|
+
height: map.get($site-header, 'logo-height-m');
|
|
421
|
+
}
|
|
422
|
+
|
|
424
423
|
&.ecl-site-header__logo-image--l {
|
|
425
424
|
height: map.get($site-header, 'logo-height-lg-l');
|
|
426
425
|
}
|
package/site-header.html.twig
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
{
|
|
14
14
|
"title": (string) (default: ''): Logo title attribute.
|
|
15
15
|
"alt": (string) (default: ''): Logo alt attribute.
|
|
16
|
+
"breakpoint": (string) (default: 's') Breakpoint where to switch the logo displayed. Expected value in EU is "l"
|
|
16
17
|
"href": (string) (default: ''): Logo URL.
|
|
17
18
|
"src_desktop": (string) (default: ''): Desktop logo image file path
|
|
18
19
|
"src_mobile": (string) (default: ''): Mobile logo image file path for EU only
|
|
@@ -220,7 +221,7 @@
|
|
|
220
221
|
{# Logo #}
|
|
221
222
|
{% if _logo is not empty and _logo.src_desktop is not empty %}
|
|
222
223
|
{% set _label %}
|
|
223
|
-
{% set _picture = { sources: [{ src: _logo.src_desktop, media: '
|
|
224
|
+
{% set _picture = { sources: [{ src: _logo.src_desktop, media: _logo.breakpoint|default('s') }] } %}
|
|
224
225
|
{% if _logo.src_mobile is defined and _logo.src_mobile is not empty %}
|
|
225
226
|
{% set _picture = _picture|merge({
|
|
226
227
|
img: {
|
package/site-header.js
CHANGED
|
@@ -561,7 +561,9 @@ export class SiteHeader {
|
|
|
561
561
|
if (loginRect.x === 0) {
|
|
562
562
|
const loginToggleRect = this.loginToggle.getBoundingClientRect();
|
|
563
563
|
const arrowPosition =
|
|
564
|
-
|
|
564
|
+
document.documentElement.clientWidth -
|
|
565
|
+
loginToggleRect.right +
|
|
566
|
+
loginToggleRect.width / 2;
|
|
565
567
|
|
|
566
568
|
this.loginBox.style.setProperty(
|
|
567
569
|
'--ecl-login-arrow-position',
|
|
@@ -575,7 +577,9 @@ export class SiteHeader {
|
|
|
575
577
|
if (searchRect.x === 0) {
|
|
576
578
|
const searchToggleRect = this.searchToggle.getBoundingClientRect();
|
|
577
579
|
const arrowPosition =
|
|
578
|
-
|
|
580
|
+
document.documentElement.clientWidth -
|
|
581
|
+
searchToggleRect.right +
|
|
582
|
+
searchToggleRect.width / 2;
|
|
579
583
|
|
|
580
584
|
this.searchForm.style.setProperty(
|
|
581
585
|
'--ecl-search-arrow-position',
|