@openeuropa/bcl-theme-joinup 1.4.0 → 1.5.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/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.4.0",
5
+ "version": "1.5.0",
6
6
  "description": "OE - BCL theme joinup",
7
7
  "scripts": {
8
8
  "align-templates": "lerna --scope \"@openeuropa/bcl-twig-templates\" run prepublish",
@@ -28,10 +28,10 @@
28
28
  "@ecl/resources-eu-logo": "3.7.1",
29
29
  "@ecl/resources-flag-icons": "3.7.1",
30
30
  "@fontsource/roboto": "4.5.8",
31
- "@openeuropa/bcl-bootstrap": "^1.4.0",
32
- "@openeuropa/bcl-builder": "^1.4.0",
33
- "@openeuropa/bcl-theme-default": "^1.4.0",
34
- "@openeuropa/bcl-twig-templates": "^1.4.0",
31
+ "@openeuropa/bcl-bootstrap": "^1.5.0",
32
+ "@openeuropa/bcl-builder": "^1.5.0",
33
+ "@openeuropa/bcl-theme-default": "^1.5.0",
34
+ "@openeuropa/bcl-twig-templates": "^1.5.0",
35
35
  "copyfiles": "2.4.1",
36
36
  "cross-env": "7.0.3",
37
37
  "flag-icons": "6.9.2",
@@ -56,5 +56,5 @@
56
56
  "design-system",
57
57
  "twig"
58
58
  ],
59
- "gitHead": "0271b344c41999ea181851f229385df1d539047b"
59
+ "gitHead": "7707e40523c6a3d4c719c80388f2df50fa6b7896"
60
60
  }
@@ -7,7 +7,9 @@ Parameters:
7
7
  - title_link: (link object) (default: {})
8
8
  - title_attributes (drupal attrs)
9
9
  - links: (link[]) (default: [])
10
- - id (string) (default: bcl-inpage-navigation-random(10))
10
+ - id (string) (default: bcl-inpage-navigation-random(100))
11
+ - dropdown_id (string) (default: bcl-inpage-navigation-dropdown-random(100))
12
+ - icon_path (string) (default: '')
11
13
  - attributes (drupal attrs)
12
14
  #}
13
15
 
@@ -16,7 +18,9 @@ Parameters:
16
18
  {% set _title_link = title_link|default({}) %}
17
19
  {% set _title_attributes = title_attributes ?: create_attribute() %}
18
20
  {% set _links = links|default([]) %}
19
- {% set _id = id|default('bcl-inpage-navigation-' ~ random(10)) %}
21
+ {% set _id = id|default('bcl-inpage-navigation-' ~ random(100)) %}
22
+ {% set _icon_path = icon_path|default('') %}
23
+ {% set _dropdown_id = dropdown_id|default('bcl-inpage-navigation-dropdown' ~ random(100)) %}
20
24
 
21
25
  {% if attributes is empty %}
22
26
  {% set attributes = create_attribute() %}
@@ -24,19 +28,36 @@ Parameters:
24
28
 
25
29
  {% set attributes = attributes.addClass(['bcl-inpage-navigation', 'position-sticky']).setAttribute('id', _id) %}
26
30
  {% set title_attributes = _title_attributes.addClass('mb-0') %}
31
+ {% set _title_content %}
32
+ {{ _title }}
33
+ {%- include '@oe-bcl/bcl-icon/icon.html.twig' with {
34
+ name: 'chevron-down',
35
+ size: 's',
36
+ path: _icon_path,
37
+ } only -%}
38
+ {% endset %}
27
39
 
28
40
  <nav {{ attributes }}>
41
+ {% set trigger_attributes = create_attribute()
42
+ .setAttribute('aria-expanded', 'false')
43
+ .setAttribute('type', 'button')
44
+ .setAttribute('id', _dropdown_id)
45
+ .setAttribute('data-bs-toggle', 'dropdown')
46
+ .addClass(['dropdown-toggle']) %}
29
47
  {% include '@oe-bcl/bcl-heading/heading.html.twig' with {
30
- title: _title,
48
+ title: _title_content,
31
49
  title_tag: _title_tag,
32
50
  title_link: _title_link,
33
- attributes: _title_attributes.addClass('mb-0'),
34
- } only %}
35
- {% include '@oe-bcl/bcl-navigation/navigation.html.twig' with {
36
- 'pills': true,
37
- 'vertical': true,
38
- 'items': _links,
51
+ attributes: _title_attributes
52
+ .merge(trigger_attributes),
39
53
  } only %}
54
+ <div class="dropdown-menu" aria-labelledby="{{ _dropdown_id }}">
55
+ {% include '@oe-bcl/bcl-navigation/navigation.html.twig' with {
56
+ 'pills': true,
57
+ 'vertical': true,
58
+ 'items': _links,
59
+ } only %}
60
+ </div>
40
61
  </nav>
41
62
 
42
63
  {% endapply %}
@@ -29,6 +29,7 @@
29
29
  }
30
30
  - icon_path (string) (default: '')
31
31
  - attributes (drupal attrs)
32
+ - list_attributes (drupal attrs)
32
33
  #}
33
34
 
34
35
  {% set _size = size|default('') %}
@@ -102,19 +103,23 @@
102
103
 
103
104
  {% set _internal_items = _internal_items|merge([_next, _last]) %}
104
105
 
105
- {% if attributes is empty %}
106
- {% set attributes = create_attribute() %}
106
+ {% if list_attributes is empty %}
107
+ {% set list_attributes = create_attribute() %}
107
108
  {% endif %}
108
109
 
109
- {% set _classes = ['pagination'] %}
110
+ {% set list_attributes = list_attributes.addClass('pagination') %}
110
111
  {% if _size is not empty %}
111
- {% set _classes = _classes|merge(['pagination-' ~ _size]) %}
112
+ {% set list_attributes = list_attributes.addClass('pagination-' ~ _size) %}
112
113
  {% endif %}
113
114
  {% if _variant is not empty %}
114
- {% set _classes = _classes|merge(['pagination--' ~ _variant]) %}
115
+ {% set list_attributes = list_attributes.addClass('pagination--' ~ _variant) %}
115
116
  {% endif %}
116
117
  {% if _alignment is not empty %}
117
- {% set _classes = _classes|merge(['justify-content-' ~ _alignment]) %}
118
+ {% set list_attributes = list_attributes.addClass('justify-content-' ~ _alignment) %}
119
+ {% endif %}
120
+
121
+ {% if attributes is empty %}
122
+ {% set attributes = create_attribute() %}
118
123
  {% endif %}
119
124
 
120
125
  {% set attributes = attributes.setAttribute('role', 'navigation') %}
@@ -127,10 +132,8 @@
127
132
  {% set attributes = attributes.setAttribute('aria-label', aria_label) %}
128
133
  {% endif %}
129
134
 
130
- <nav
131
- {{ attributes }}
132
- >
133
- <ul class="{{ _classes|join(' ') }}">
135
+ <nav{{ attributes }}>
136
+ <ul{{ list_attributes }}>
134
137
  {% if _internal_items is not empty and _internal_items is iterable %}
135
138
  {% for _item in _internal_items %}
136
139
  {% if _item is not empty %}