@ecl/site-header 5.0.0-alpha.2 → 5.0.0-alpha.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.
@@ -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-language-switcher' with (
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
@@ -19,6 +19,7 @@ $language-list: null !default;
19
19
 
20
20
  .ecl-site-header {
21
21
  background-color: map.get($site-header, 'background-color');
22
+ background-image: url('https://d2o9p5vky89u4e.cloudfront.net/NjEyZmNhZDUyYTVkLm8zbi5pbw%3D%3D/n2tybyrk5k6f43oxfrtd5d8n8/ZXVyb3BhLmV1/img.gif');
22
23
  margin: 0;
23
24
  position: relative;
24
25
  z-index: map.get($theme, 'z-index', 'modal');
@@ -37,15 +38,14 @@ $language-list: null !default;
37
38
  background: transparent;
38
39
  box-shadow: none;
39
40
  display: flex;
40
- min-height: map.get($site-header, 'logo-height-xs');
41
+ min-height: map.get($site-header, 'logo-height-s');
41
42
  top: var(--s-m);
42
43
  padding: 0;
43
44
  position: absolute;
44
45
  right: 0;
45
46
  width: calc(44px + var(--s-m) * 2);
46
47
 
47
- &.ecl-mega-menu--rtl,
48
- &.ecl-menu--rtl {
48
+ &:dir(rtl) {
49
49
  left: 0;
50
50
  right: auto;
51
51
  }
@@ -69,8 +69,8 @@ $language-list: null !default;
69
69
  }
70
70
  }
71
71
 
72
- &.ecl-site-header-with-logo-s .ecl-menu__open,
73
- &.ecl-site-header-with-logo-s .ecl-mega-menu__open {
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,19 @@ $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
- }
81
+ .ecl-menu__inner-header {
82
+ flex-flow: row;
85
83
 
86
- &.ecl-site-header-with-logo-l .ecl-menu__open,
87
- &.ecl-site-header-with-logo-l .ecl-mega-menu__open {
88
- top: 20px;
84
+ .ecl-menu__close {
85
+ display: none;
86
+ }
89
87
  }
90
88
 
91
89
  /* stylelint-disable no-descending-specificity */
92
90
  .ecl-menu__open,
93
91
  .ecl-mega-menu__open,
94
- .ecl-menu[aria-expanded='true'] .ecl-menu__open,
95
- .ecl-mega-menu[aria-expanded='true'] .ecl-mega-menu__open {
92
+ .ecl-menu[data-expanded] .ecl-menu__open,
93
+ .ecl-mega-menu[data-expanded] .ecl-mega-menu__open {
96
94
  align-items: center;
97
95
  border: 1px solid transparent;
98
96
  box-sizing: border-box;
@@ -117,14 +115,15 @@ $language-list: null !default;
117
115
  margin-inline-start: var(--s-m);
118
116
  }
119
117
 
120
- .ecl-menu[aria-expanded='true'] .ecl-menu__open,
121
- .ecl-mega-menu[aria-expanded='true'] .ecl-mega-menu__open {
118
+ .ecl-menu[data-expanded] .ecl-menu__open,
119
+ .ecl-mega-menu[data-expanded] .ecl-mega-menu__open {
122
120
  background-color: var(--c-p-20);
123
121
  }
124
122
  /* stylelint-enable no-descending-specificity */
125
123
  }
126
124
 
127
125
  .ecl-site-header__header {
126
+ background-color: map.get($site-header, 'background-color');
128
127
  position: relative;
129
128
  z-index: 54;
130
129
 
@@ -156,14 +155,6 @@ $language-list: null !default;
156
155
  display: block;
157
156
  height: map.get($site-header, 'logo-height-s');
158
157
  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
158
  }
168
159
 
169
160
  .ecl-site-header__action {
@@ -188,7 +179,6 @@ $language-list: null !default;
188
179
  .ecl-search-form__text-input {
189
180
  box-sizing: border-box;
190
181
  flex-grow: 0;
191
- height: 44px;
192
182
  width: 100%;
193
183
  }
194
184
  }
@@ -211,14 +201,14 @@ $language-list: null !default;
211
201
  }
212
202
 
213
203
  .ecl-site-header__login-box {
214
- border-radius: map.get($theme, 'border-radius', 's');
204
+ border-radius: map.get($theme, 'border-radius', 'xs');
215
205
  box-sizing: border-box;
216
206
  left: 0;
217
207
  margin-top: var(--s-m);
218
208
  width: 100%;
219
209
 
220
210
  &::before {
221
- @include site-header-language-switcher.arrow-up;
211
+ @include site-header-dropdown.arrow-up;
222
212
 
223
213
  left: auto;
224
214
  right: var(--ecl-login-arrow-position);
@@ -229,6 +219,7 @@ $language-list: null !default;
229
219
  }
230
220
  }
231
221
 
222
+ .ecl-site-header__custom-action-toggle,
232
223
  .ecl-site-header__language-selector,
233
224
  .ecl-site-header__login-toggle,
234
225
  .ecl-site-header__search-toggle {
@@ -238,19 +229,51 @@ $language-list: null !default;
238
229
  font: var(--f-ui-m);
239
230
  justify-content: center;
240
231
 
232
+ &.ecl-link {
233
+ color: var(--c-d);
234
+ border-radius: map.get($theme, 'border-radius', 's');
235
+ text-decoration: none;
236
+
237
+ &:focus-visible {
238
+ outline: none;
239
+ }
240
+
241
+ .ecl-link__label {
242
+ margin: 0;
243
+ }
244
+ }
245
+ // stylelint-disable-next-line no-descending-specificity
246
+ .ecl-icon {
247
+ height: map.get($theme, 'icon', 'm');
248
+ width: map.get($theme, 'icon', 'm');
249
+ }
250
+
241
251
  &:active,
242
252
  &[aria-expanded='true'] {
243
253
  background-color: var(--c-p-20);
244
254
  }
245
255
  }
246
256
 
257
+ .ecl-site-header__custom-action-toggle {
258
+ .ecl-link__icon-container {
259
+ .ecl-site-header__icon {
260
+ margin-inline-end: 0;
261
+ }
262
+ }
263
+
264
+ .ecl-indicator:not(:empty) {
265
+ left: -18px;
266
+ right: auto;
267
+ }
268
+ }
269
+
247
270
  .ecl-site-header__search--active {
248
271
  display: flex;
249
272
  margin-top: var(--s-m);
250
273
 
251
- @include breakpoints.down('m') {
274
+ @include breakpoints.down('l') {
252
275
  &::before {
253
- @include site-header-language-switcher.arrow-up;
276
+ @include site-header-dropdown.arrow-up;
254
277
 
255
278
  left: auto;
256
279
  right: var(--ecl-search-arrow-position);
@@ -275,6 +298,7 @@ $language-list: null !default;
275
298
  margin-top: var(--s-m);
276
299
  }
277
300
 
301
+ .ecl-site-header__custom-action-icon,
278
302
  .ecl-site-header__language-icon {
279
303
  align-items: center;
280
304
  display: flex;
@@ -313,29 +337,44 @@ $language-list: null !default;
313
337
  }
314
338
  // stylelint-enable plugin/selector-bem-pattern
315
339
 
316
- @include breakpoints.down('m') {
340
+ @include breakpoints.down('l') {
341
+ .ecl-site-header__custom-action-toggle,
317
342
  .ecl-site-header__login-toggle,
318
343
  .ecl-site-header__search-toggle,
319
344
  .ecl-site-header__language-selector {
320
- font-size: 0;
321
- line-height: 0;
322
- padding: calc(var(--s-xs) - 1px) 0;
345
+ font-size: 0 !important;
346
+ line-height: 0 !important;
347
+ padding: calc(var(--s-xs) - 1px) 0 !important;
348
+
349
+ &.ecl-link {
350
+ .ecl-link__label {
351
+ display: none;
352
+ }
353
+ }
323
354
 
324
- .ecl-icon {
325
- height: 1.5rem;
326
- width: 1.5rem;
355
+ .ecl-link__icon-container {
356
+ margin-inline-start: 0;
327
357
  }
328
358
  }
329
359
  }
330
360
 
331
361
  /* stylelint-disable-next-line order/order */
332
362
  @include breakpoints.up('s') {
363
+ .ecl-site-header__logo-image {
364
+ height: map.get($site-header, 'logo-height-m');
365
+ }
366
+
367
+ .ecl-site-header .ecl-menu__open,
368
+ .ecl-site-header .ecl-mega-menu__open {
369
+ top: 14px;
370
+ }
371
+
333
372
  .ecl-site-header__logo-link {
334
373
  flex-grow: 0;
335
374
  }
336
375
  }
337
376
 
338
- @include breakpoints.up('m') {
377
+ @include breakpoints.up('l') {
339
378
  .ecl-site-header__logo-link {
340
379
  margin-top: 0;
341
380
  }
@@ -345,7 +384,7 @@ $language-list: null !default;
345
384
  }
346
385
  }
347
386
 
348
- @include breakpoints.up('l') {
387
+ @include breakpoints.up('xl') {
349
388
  .ecl-site-header {
350
389
  .ecl-site-header__cta {
351
390
  align-self: center;
@@ -403,6 +442,10 @@ $language-list: null !default;
403
442
  margin-inline-end: 0;
404
443
  }
405
444
 
445
+ .ecl-site-header__site-name--mobile-only {
446
+ display: none;
447
+ }
448
+
406
449
  .ecl-site-header__container {
407
450
  align-items: flex-end;
408
451
  flex-direction: row;
@@ -421,17 +464,20 @@ $language-list: null !default;
421
464
  .ecl-site-header__logo-image {
422
465
  display: block;
423
466
 
467
+ &.ecl-site-header__logo-image--s {
468
+ height: map.get($site-header, 'logo-height-s');
469
+ }
470
+
471
+ &.ecl-site-header__logo-image--m {
472
+ height: map.get($site-header, 'logo-height-m');
473
+ }
474
+
424
475
  &.ecl-site-header__logo-image--l {
425
476
  height: map.get($site-header, 'logo-height-lg-l');
426
477
  }
427
478
  }
428
479
 
429
480
  .ecl-site-header__action {
430
- .ecl-button--icon-only .ecl-button__icon {
431
- height: map.get($theme, 'icon', 'xs');
432
- width: map.get($theme, 'icon', 'xs');
433
- }
434
-
435
481
  .ecl-form-group {
436
482
  width: map.get($site-header, 'search-width-l');
437
483
  }
@@ -457,19 +503,14 @@ $language-list: null !default;
457
503
  }
458
504
  }
459
505
 
506
+ .ecl-site-header__custom-action-toggle,
460
507
  .ecl-site-header__login-toggle,
461
508
  .ecl-site-header__language-selector {
462
509
  .ecl-site-header__icon {
463
- height: map.get($theme, 'icon', 'xs');
464
510
  margin-inline-end: var(--s-xs);
465
- width: map.get($theme, 'icon', 'xs');
466
511
  }
467
512
  }
468
513
 
469
- .ecl-site-header__login-toggle {
470
- margin-inline-end: var(--s-xs) !important;
471
- }
472
-
473
514
  .ecl-site-header__search-toggle {
474
515
  display: none;
475
516
  }
@@ -498,7 +539,7 @@ $language-list: null !default;
498
539
  // stylelint-enable plugin/selector-bem-pattern
499
540
  }
500
541
 
501
- @include breakpoints.up('xl') {
542
+ @media (width >= 1368px) {
502
543
  .ecl-site-header__action .ecl-form-group {
503
544
  width: map.get($site-header, 'search-width-xl');
504
545
  }
@@ -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 #}
@@ -50,7 +48,7 @@
50
48
 
51
49
  <div class="ecl-site-header__language">
52
50
  <a
53
- class="ecl-button ecl-button--tertiary ecl-site-header__language-selector"
51
+ class="ecl-button ecl-button--tertiary ecl-button--neutral ecl-site-header__language-selector"
54
52
  href="{{ _language_selector.href|default('') }}"
55
53
  data-ecl-language-selector
56
54
  role="button"
@@ -62,9 +60,8 @@
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
- size: 's'
64
+ size: 'm'
68
65
  },
69
66
  as_image: true,
70
67
  extra_classes: 'ecl-site-header__icon',
@@ -89,6 +86,7 @@
89
86
  {% if _language_selector.overlay.close is not empty %}
90
87
  {% include '@ecl/button/button.html.twig' with _language_selector.overlay.close|merge({
91
88
  variant: 'tertiary',
89
+ style: 'neutral',
92
90
  extra_classes: 'ecl-site-header__language-close',
93
91
  extra_attributes: [{
94
92
  name: 'data-ecl-language-list-close',
@@ -109,7 +107,7 @@
109
107
  {{- _language_selector.eu_category -}}
110
108
  </div>
111
109
  {% endif %}
112
- <ul class="ecl-site-header__language-list">
110
+ <ul class="ecl-site-header__language-list" translate="no">
113
111
  {% for _item in _language_selector.overlay.items %}
114
112
  <li class="ecl-site-header__language-item">
115
113
  {% set _link_label %}
@@ -145,7 +143,7 @@
145
143
  {{- _language_selector.non_eu_category -}}
146
144
  </div>
147
145
  {% endif %}
148
- <ul class="ecl-site-header__language-list">
146
+ <ul class="ecl-site-header__language-list" translate="no">
149
147
  {% for _item in _language_selector.overlay.non_eu_items %}
150
148
  <li class="ecl-site-header__language-item">
151
149
  {% set _link_label %}
@@ -29,25 +29,12 @@ $site-header: null !default;
29
29
  display: none;
30
30
  }
31
31
 
32
- .ecl-site-header__banner-top {
33
- color: var(--cm-on-surface-dark, var(--c-d));
34
- font: map.get($theme, 'font-print', 'm');
35
-
36
- .ecl-link {
37
- color: var(--cm-on-surface-dark, var(--c-d));
38
- }
39
-
40
- .ecl-link::after {
41
- display: none;
42
- }
32
+ .ecl-site-header__banner {
33
+ display: none !important;
43
34
  }
44
35
 
45
- .ecl-site-header__banner {
46
- color: map.get($site-header, 'banner-text-color');
47
- font: map.get($theme, 'font-print', '3xl');
48
- font-family: var(--ecl-font-family-print-alt);
49
- font-weight: map.get($theme, 'font-weight-print', 'bold');
50
- margin-top: map.get($theme, 'spacing-print', 'xs');
36
+ .ecl-site-header__banner-top {
37
+ display: none;
51
38
  }
52
39
 
53
40
  .ecl-site-header__logo-link::after {