@openeuropa/bcl-theme-joinup 1.10.8 → 1.10.9

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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@openeuropa/bcl-theme-joinup",
3
3
  "author": "European Commission",
4
4
  "license": "EUPL-1.2",
5
- "version": "1.10.8",
5
+ "version": "1.10.9",
6
6
  "description": "OE - BCL theme joinup",
7
7
  "scripts": {
8
8
  "align-templates": "lerna --scope \"@openeuropa/bcl-twig-templates\" run prepublish",
@@ -28,15 +28,15 @@
28
28
  "@ecl/resources-eu-logo": "3.7.1",
29
29
  "@ecl/resources-flag-icons": "3.7.1",
30
30
  "@fontsource/roboto": "5.2.8",
31
- "@openeuropa/bcl-bootstrap": "^1.10.8",
32
- "@openeuropa/bcl-builder": "^1.10.8",
33
- "@openeuropa/bcl-theme-default": "^1.10.8",
34
- "@openeuropa/bcl-twig-templates": "^1.10.8",
31
+ "@openeuropa/bcl-bootstrap": "^1.10.9",
32
+ "@openeuropa/bcl-builder": "^1.10.9",
33
+ "@openeuropa/bcl-theme-default": "^1.10.9",
34
+ "@openeuropa/bcl-twig-templates": "^1.10.9",
35
35
  "@rollup/plugin-replace": "6.0.2",
36
36
  "copyfiles": "2.4.1",
37
37
  "cross-env": "10.1.0",
38
38
  "flag-icons": "6.9.2",
39
- "glob": "11.0.3",
39
+ "glob": "11.1.0",
40
40
  "npm-run-all": "4.1.5",
41
41
  "slim-select": "1.27.1"
42
42
  },
@@ -57,5 +57,5 @@
57
57
  "design-system",
58
58
  "twig"
59
59
  ],
60
- "gitHead": "9c2e64443ae179948cbf748c41d438af7a0f2421"
60
+ "gitHead": "cb9864341bfc98404071520d61568bd18e17e1fe"
61
61
  }
@@ -23,6 +23,7 @@ import ScrollSpy from "@openeuropa/bcl-bootstrap/js/src/scrollspy-legacy";
23
23
  import Tab from "@openeuropa/bcl-bootstrap/js/src/tab";
24
24
  import Toast from "@openeuropa/bcl-bootstrap/js/src/toast";
25
25
  import Tooltip from "@openeuropa/bcl-bootstrap/js/src/tooltip";
26
+ import Header from "@openeuropa/bcl-theme-default/src/js/header/header";
26
27
 
27
28
  export {
28
29
  Alert,
@@ -43,4 +44,5 @@ export {
43
44
  Tab,
44
45
  Toast,
45
46
  Tooltip,
47
+ Header,
46
48
  };
@@ -23,6 +23,7 @@ import ScrollSpy from "@openeuropa/bcl-bootstrap/js/src/scrollspy-legacy";
23
23
  import Tab from "@openeuropa/bcl-bootstrap/js/src/tab";
24
24
  import Toast from "@openeuropa/bcl-bootstrap/js/src/toast";
25
25
  import Tooltip from "@openeuropa/bcl-bootstrap/js/src/tooltip";
26
+ import Header from "@openeuropa/bcl-theme-default/src/js/header/header";
26
27
 
27
28
  export default {
28
29
  Alert,
@@ -43,4 +44,5 @@ export default {
43
44
  Tab,
44
45
  Toast,
45
46
  Tooltip,
47
+ Header,
46
48
  };
@@ -139,7 +139,7 @@
139
139
  {% endif %}
140
140
  </div>
141
141
  {% set download_attributes = create_attribute()
142
- .setAttribute('download', 'true')
142
+ .setAttribute('download', true)
143
143
  .setAttribute('target', '_blank')
144
144
  .addClass(['standalone', 'align-self-center', 'd-inline-block', 'mt-1', 'mt-md-0', 'flex-shrink-0']) %}
145
145
  {% set _download = _download|merge({
@@ -17,6 +17,8 @@
17
17
  - language_modal (object) (default: {})
18
18
  - light (boolean) (default: false)
19
19
  - modals (modal[]) (default: [])
20
+ - toggler_attributes (drupal attrs)
21
+ - icon_path (string) (default: '')
20
22
  - attributes (drupal attrs)
21
23
  #}
22
24
 
@@ -30,6 +32,8 @@
30
32
  {% set _breadcrumbs = breadcrumbs|default({}) %}
31
33
  {% set _language_modal = language_modal|default({}) %}
32
34
  {% set _light = light ?? false %}
35
+ {% set _toggler_attributes = toggler_attributes ?: create_attribute() %}
36
+ {% set _icon_path = icon_path|default('') %}
33
37
  {% set _modals = modals|default([]) %}
34
38
 
35
39
  {% set _site_name_classes = 'bcl-header__site-name' %}
@@ -38,7 +42,7 @@
38
42
  {% set attributes = create_attribute() %}
39
43
  {% endif %}
40
44
 
41
- {% set attributes = attributes.addClass(['bcl-header', 'bcl-header--' ~ _variant]) %}
45
+ {% set attributes = attributes.addClass(['bcl-header', 'bcl-header--' ~ _variant, 'shadow-sm']) %}
42
46
 
43
47
  {% if site_name_classes is not empty %}
44
48
  {% set _site_name_classes = _site_name_classes ~ ' ' ~ site_name_classes %}
@@ -49,6 +53,33 @@
49
53
  {% set _project_classes = _project_classes ~ ' light' %}
50
54
  {% endif %}
51
55
 
56
+ {% set toggler_attributes = _toggler_attributes.addClass(['bcl-navbar-toggler', 'd-lg-none'])
57
+ .setAttribute('type', 'button')
58
+ .setAttribute('data-bs-toggle', 'collapse')
59
+ .setAttribute('data-bs-target', '#' ~ navbar_id)
60
+ .setAttribute('aria-controls', navbar_id)
61
+ .setAttribute('aria-expanded', 'false')
62
+ %}
63
+
64
+ {% set navbar_toggle_button %}
65
+ <button
66
+ {{ toggler_attributes }}
67
+ >
68
+ {% include '@oe-bcl/bcl-icon/icon.html.twig' with {
69
+ name: 'list',
70
+ size: 'fluid',
71
+ path: _icon_path,
72
+ attributes: create_attribute().addClass(['default-icon']),
73
+ } only %}
74
+ {% include '@oe-bcl/bcl-icon/icon.html.twig' with {
75
+ name: 'x',
76
+ size: 'fluid',
77
+ path: _icon_path,
78
+ attributes: create_attribute().addClass(['active-icon']),
79
+ } only %}
80
+ </button>
81
+ {% endset %}
82
+
52
83
  <header
53
84
  {{ attributes }}
54
85
  >
@@ -70,54 +101,16 @@
70
101
  {% endfor %}
71
102
  </a>
72
103
  {% endif %}
73
- <button
74
- class="navbar-toggler bcl-navbar-toggler"
75
- type="button"
76
- data-bs-toggle="collapse"
77
- data-bs-target='#{{ _navbar_id }}'
78
- aria-controls='{{ _navbar_id }}'
79
- aria-expanded="false"
80
- aria-label="Toggle navigation"
81
- >
82
- <span class="navbar-toggler-icon"></span>
83
- </button>
104
+ {{ navbar_toggle_button }}
84
105
  </div>
85
106
  </nav>
86
107
 
87
-
88
- <!-- project name -->
89
- {% if _project_logo is not empty or _site_name is not empty %}
90
- <div class="{{ _project_classes }}">
108
+ <!-- site name -->
109
+ <div class="bcl-header__site-name" id="site-name-heading">
91
110
  <div class="container">
92
- {% if _project_link is not empty %}
93
- <a
94
- href="{{ _project_link }}"
95
- >
96
- {% endif %}
97
- {% if _project_logo is not empty %}
98
- <img
99
- {% if _project_logo.path is not empty %}
100
- src="{{ _project_logo.path }}"
101
- {% endif %}
102
- {% if _project_logo.alt is not empty %}
103
- alt="{{ _project_logo.alt }}"
104
- {% endif %}
105
- {% if _project_logo.classes is not empty %}
106
- class="{{ _project_logo.classes }}"
107
- {% endif %}
108
- />
109
- {% endif %}
110
- {% if _site_name is not empty %}
111
- <span class="{{ _site_name_classes }}">
112
- {{- _site_name -}}
113
- </span>
114
- {% endif %}
115
- {% if _project_link is not empty %}
116
- </a>
117
- {% endif %}
111
+ <span class="h5 py-3-5 border-top-subtle mb-0 d-block">{{ _site_name }}</span>
118
112
  </div>
119
113
  </div>
120
- {% endif %}
121
114
 
122
115
  <!-- navbar -->
123
116
  {% if _navbar is not empty %}
@@ -126,15 +119,15 @@
126
119
  attributes: create_attribute().addClass('bcl-header__navbar collapse navbar-collapse').setAttribute('id', _navbar_id).setAttribute('aria-label', 'Main Navigation'),
127
120
  }) only %}
128
121
  {% endif %}
129
-
130
- <!-- breadcrumbs -->
131
- {% if _breadcrumbs is not empty %}
132
- <div class="container">
133
- {% include '@oe-bcl/bcl-breadcrumb/breadcrumb.html.twig' with _breadcrumbs only %}
134
- </div>
135
- {% endif %}
136
122
  </header>
137
123
 
124
+ <!-- breadcrumbs -->
125
+ {% if _breadcrumbs is not empty %}
126
+ <div class="container">
127
+ {% include '@oe-bcl/bcl-breadcrumb/breadcrumb.html.twig' with _breadcrumbs only %}
128
+ </div>
129
+ {% endif %}
130
+
138
131
  {% for modal in _modals %}
139
132
  {% include '@oe-bcl/bcl-modal/modal.html.twig' with modal only %}
140
133
  {% endfor %}
@@ -56,7 +56,7 @@
56
56
  {% endif %}
57
57
  {% set _link = _link|merge({
58
58
  clean_class: true,
59
- attributes: _link.attributes.addClass(['pb-3', 'd-inline-block', 'standalone'])
59
+ attributes: _link.attributes.addClass(['mb-3', 'd-inline-block', 'standalone'])
60
60
  }) %}
61
61
  {% set _list_item_classes = 'list-unstyled' %}
62
62
  {% if _variant == 'horizontal' %}
@@ -21,30 +21,28 @@
21
21
  }) %}
22
22
  {% include '@oe-bcl/bcl-button/button.html.twig' with _trigger only %}
23
23
 
24
- {# Add an optional "See all" link as last item. #}
24
+ {% set _see_all_link = null %}
25
+ {# Prepare an optional "See all" link rendered outside the list. #}
25
26
  {% if _see_all is not empty %}
26
- {# Wrap the label for an ellipsis. #}
27
27
  {% set _see_all_label %}
28
28
  <span>{{- _see_all.label -}}</span>
29
29
  {% endset %}
30
30
  {% set _see_all_attr = (_see_all.attributes is defined ? _see_all.attributes : create_attribute()) %}
31
- {% set _see_all = _see_all|merge({
31
+ {% set _see_all_link = _see_all|merge({
32
32
  label: _see_all_label,
33
33
  icon: {
34
+ size: 'xs',
34
35
  name: 'arrow-right',
35
36
  path: _icon_path,
36
37
  },
37
- li_attributes: create_attribute()
38
- .addClass('__see_all'),
39
38
  attributes: _see_all_attr
40
39
  .addClass(['see-all-button'])
41
40
  .setAttribute('aria-label', 'See all items in ‘' ~ _trigger.label ~ '’')
42
41
  }) %}
43
- {% set _items = _items|merge([_see_all]) %}
44
42
  {% endif %}
45
43
  {% set submenu_attributes = create_attribute()
46
44
  .setAttribute('id', _panel_id)
47
- .setAttribute('hidden', '')
45
+ .setAttribute('hidden', true)
48
46
  .setAttribute('role', 'group')
49
47
  .setAttribute('aria-labelledby', _trigger_id)
50
48
  .addClass('bcl-mega-menu__submenu', '__level-' ~ _level)
@@ -60,6 +58,11 @@
60
58
  icon_path: _icon_path,
61
59
  level: _level,
62
60
  } only %}
61
+ {% if _see_all_link %}
62
+ <div class="__see_all">
63
+ {% include '@oe-bcl/bcl-link/link.html.twig' with _see_all_link only %}
64
+ </div>
65
+ {% endif %}
63
66
  </div>
64
67
 
65
68
  {% endapply %}
@@ -7,7 +7,8 @@
7
7
  - fullscreen_responsive (string) (default: '')
8
8
  options: sm, md, lg, xl, xxl
9
9
  - static_backdrop (boolean) (default: false)
10
- - verticaly_centered (boolean) (default: false)
10
+ - vertically_centered (boolean) (default: false)
11
+ - verticaly_centered (boolean) (default: false) // deprecated typo
11
12
  - scrollable (boolean) (default: false)
12
13
  - header (block) (default: '')
13
14
  - messages (block) (default: '')
@@ -29,7 +30,7 @@
29
30
  {% set _id = id|default('modal-' ~ random(10000)) %}
30
31
  {% set _fullscreen_responsive = fullscreen_responsive|default('') %}
31
32
  {% set _static_backdrop = static_backdrop ?? false %}
32
- {% set _verticaly_centered = verticaly_centered ?? false %}
33
+ {% set _vertically_centered = vertically_centered ?? verticaly_centered ?? false %}
33
34
  {% set _scrollable = scrollable ?? false %}
34
35
  {% set _header = header|default('') %}
35
36
  {% set _header_attributes = header_attributes ?: create_attribute() %}
@@ -63,7 +64,7 @@
63
64
  <div class="modal-dialog
64
65
  {{- _size ? ' modal-' ~ size -}}
65
66
  {{- _fullscreen_responsive ? ' modal-fullscreen-' ~ _fullscreen_responsive ~ '-down' -}}
66
- {{- _verticaly_centered ? ' modal-dialog-centered' -}}
67
+ {{- _vertically_centered ? ' modal-dialog-centered' -}}
67
68
  {{- _scrollable ? ' modal-dialog-scrollable' -}}"
68
69
  >
69
70
  <div class="modal-content">