@openeuropa/bcl-theme-default 0.4230.202512021730 → 0.4360.202601141610
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/css/oe-bcl-ckeditor5.min.css +1 -1
- package/css/oe-bcl-ckeditor5.min.css.map +1 -1
- package/css/oe-bcl-default.css +61 -48
- package/css/oe-bcl-default.css.map +1 -1
- package/css/oe-bcl-default.min.css +1 -1
- package/css/oe-bcl-default.min.css.map +1 -1
- package/js/oe-bcl-default.bundle.js +112 -1
- package/js/oe-bcl-default.bundle.js.map +1 -1
- package/js/oe-bcl-default.bundle.min.js +1 -1
- package/js/oe-bcl-default.bundle.min.js.map +1 -1
- package/js/oe-bcl-default.esm.js +111 -1
- package/js/oe-bcl-default.esm.js.map +1 -1
- package/js/oe-bcl-default.esm.min.js +1 -1
- package/js/oe-bcl-default.esm.min.js.map +1 -1
- package/js/oe-bcl-default.umd.js +112 -1
- package/js/oe-bcl-default.umd.js.map +1 -1
- package/js/oe-bcl-default.umd.min.js +1 -1
- package/js/oe-bcl-default.umd.min.js.map +1 -1
- package/package.json +5 -5
- package/src/js/header/header.js +91 -0
- package/src/js/index.esm.js +2 -0
- package/src/js/index.umd.js +2 -0
- package/src/js/mega-menu/mega-menu.js +57 -0
- package/src/scss/_header.scss +6 -2
- package/src/scss/_mega-menu.scss +57 -58
- package/src/scss/base/_colors.scss +1 -0
- package/templates/bcl-accordion/accordion.html.twig +42 -43
- package/templates/bcl-alert/alert.html.twig +18 -18
- package/templates/bcl-badge/badge.html.twig +11 -12
- package/templates/bcl-banner/banner.html.twig +34 -34
- package/templates/bcl-base-templates/content-type.html.twig +63 -64
- package/templates/bcl-base-templates/listing-page.html.twig +31 -31
- package/templates/bcl-base-templates/sidebar-search.html.twig +10 -10
- package/templates/bcl-blockquote/blockquote.html.twig +17 -17
- package/templates/bcl-breadcrumb/breadcrumb.html.twig +24 -25
- package/templates/bcl-button/button.html.twig +24 -24
- package/templates/bcl-button-group/button-group.html.twig +25 -26
- package/templates/bcl-card/card.html.twig +98 -98
- package/templates/bcl-card-layout/card-layout.html.twig +34 -34
- package/templates/bcl-carousel/carousel.html.twig +64 -64
- package/templates/bcl-contact-form/contact-form.html.twig +1 -1
- package/templates/bcl-content-banner/content-banner.html.twig +37 -37
- package/templates/bcl-date-block/date-block.html.twig +26 -26
- package/templates/bcl-description-list/description-list-details.html.twig +6 -6
- package/templates/bcl-description-list/description-list-title.html.twig +11 -11
- package/templates/bcl-description-list/description-list.html.twig +44 -45
- package/templates/bcl-dropdown/dropdown.html.twig +48 -49
- package/templates/bcl-event/event.html.twig +7 -7
- package/templates/bcl-fact-figures/fact-figures.html.twig +34 -34
- package/templates/bcl-featured-media/featured-media.html.twig +42 -43
- package/templates/bcl-file/file-translations.html.twig +29 -29
- package/templates/bcl-file/file.html.twig +46 -46
- package/templates/bcl-footer/footer.html.twig +31 -31
- package/templates/bcl-form/form.html.twig +70 -70
- package/templates/bcl-form-input/form-input.html.twig +57 -58
- package/templates/bcl-gallery/gallery-item.html.twig +20 -20
- package/templates/bcl-gallery/gallery.html.twig +62 -63
- package/templates/bcl-glossary/glossary-detail.html.twig +19 -19
- package/templates/bcl-glossary/glossary-listing.html.twig +6 -6
- package/templates/bcl-group/group-landing.html.twig +69 -69
- package/templates/bcl-group/group.html.twig +19 -19
- package/templates/bcl-header/header.html.twig +71 -79
- package/templates/bcl-heading/heading.html.twig +13 -14
- package/templates/bcl-icon/icon.html.twig +10 -10
- package/templates/bcl-inpage-navigation/inpage-navigation.html.twig +20 -20
- package/templates/bcl-landing-page/landing-page.html.twig +33 -33
- package/templates/bcl-language-list/language-list-grid.html.twig +25 -25
- package/templates/bcl-language-list/language-list-modal.html.twig +52 -52
- package/templates/bcl-language-list/language-list.html.twig +33 -34
- package/templates/bcl-language-switcher/language-switcher.html.twig +12 -12
- package/templates/bcl-link/link.html.twig +24 -24
- package/templates/bcl-links-block/links-block.html.twig +29 -30
- package/templates/bcl-list-group/list-group.html.twig +43 -44
- package/templates/bcl-listing/listing.html.twig +88 -88
- package/templates/bcl-mega-menu/mega-menu-items.html.twig +18 -18
- package/templates/bcl-mega-menu/mega-menu-submenu.html.twig +27 -22
- package/templates/bcl-mega-menu/mega-menu.html.twig +37 -35
- package/templates/bcl-modal/modal.html.twig +17 -17
- package/templates/bcl-navbar/navbar.html.twig +35 -35
- package/templates/bcl-navigation/navigation.html.twig +106 -106
- package/templates/bcl-offcanvas/offcanvas.html.twig +33 -33
- package/templates/bcl-page/page.html.twig +27 -27
- package/templates/bcl-pagination/pagination-item.html.twig +22 -23
- package/templates/bcl-pagination/pagination.html.twig +59 -59
- package/templates/bcl-pagination-v2/pagination-item.html.twig +31 -32
- package/templates/bcl-pagination-v2/pagination.html.twig +79 -79
- package/templates/bcl-person/person.html.twig +12 -12
- package/templates/bcl-placeholder/placeholder.html.twig +14 -15
- package/templates/bcl-progress/progress.html.twig +16 -17
- package/templates/bcl-project/project-lists.html.twig +25 -25
- package/templates/bcl-project/project.html.twig +35 -35
- package/templates/bcl-project-status/project-contributions.html.twig +25 -25
- package/templates/bcl-project-status/project-status.html.twig +32 -34
- package/templates/bcl-recent-activities/recent-activities.html.twig +13 -13
- package/templates/bcl-search/search.html.twig +12 -12
- package/templates/bcl-search-form/search-form.html.twig +21 -21
- package/templates/bcl-select/select.html.twig +52 -53
- package/templates/bcl-spinner/spinner.html.twig +10 -10
- package/templates/bcl-subscription/subscription-modal.html.twig +7 -7
- package/templates/bcl-subscription/subscription.html.twig +3 -3
- package/templates/bcl-subscription-block/subscription-block.html.twig +14 -14
- package/templates/bcl-table/table.html.twig +61 -62
- package/templates/bcl-textarea/textarea.html.twig +44 -44
- package/templates/bcl-timeline/timeline-item.html.twig +12 -12
- package/templates/bcl-timeline/timeline.html.twig +42 -42
- package/templates/bcl-toasts/toasts.html.twig +56 -57
- package/templates/bcl-user/user-compact.html.twig +24 -24
- package/templates/bcl-user/user-terms.html.twig +6 -6
- package/templates/bcl-user/user.html.twig +117 -117
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
- attributes (drupal attrs)
|
|
15
15
|
#}
|
|
16
16
|
|
|
17
|
-
{
|
|
17
|
+
{%- set _title = title|default('') %}
|
|
18
18
|
{% set _title_tag = title_tag|default('h2') %}
|
|
19
19
|
{% set _title_link = title_link|default({}) %}
|
|
20
20
|
{% set _title_attributes = title_attributes ?: create_attribute() %}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
{% set _alignment = alignment|default('') %}
|
|
25
25
|
{% set _image_size = image_size|default('') %}
|
|
26
26
|
|
|
27
|
-
{
|
|
27
|
+
{%- set _classes = ['bcl-listing', 'bcl-listing--' ~ _variant] %}
|
|
28
28
|
{% set _cards = [] %}
|
|
29
29
|
{% set _card_layout = {
|
|
30
30
|
type: 'grid',
|
|
@@ -33,16 +33,16 @@
|
|
|
33
33
|
attributes: create_attribute(),
|
|
34
34
|
} %}
|
|
35
35
|
|
|
36
|
-
{
|
|
37
|
-
{
|
|
36
|
+
{%- if attributes is empty %}
|
|
37
|
+
{%- set attributes = create_attribute() %}
|
|
38
38
|
{% endif %}
|
|
39
39
|
|
|
40
|
-
{
|
|
40
|
+
{%- set attributes = attributes.addClass(_classes) -%}
|
|
41
41
|
|
|
42
42
|
<div {{ attributes }}>
|
|
43
43
|
|
|
44
|
-
{
|
|
45
|
-
{
|
|
44
|
+
{%- if _title is not empty %}
|
|
45
|
+
{%- include '@oe-bcl/bcl-heading/heading.html.twig' with {
|
|
46
46
|
title: _title,
|
|
47
47
|
title_tag: _title_tag,
|
|
48
48
|
title_link: _title_link,
|
|
@@ -50,37 +50,37 @@
|
|
|
50
50
|
} only %}
|
|
51
51
|
{% endif %}
|
|
52
52
|
|
|
53
|
-
{
|
|
54
|
-
{
|
|
55
|
-
{
|
|
56
|
-
{
|
|
57
|
-
{
|
|
58
|
-
{
|
|
59
|
-
{
|
|
60
|
-
{
|
|
61
|
-
{
|
|
62
|
-
{
|
|
63
|
-
{
|
|
64
|
-
{
|
|
65
|
-
{
|
|
66
|
-
{
|
|
67
|
-
{
|
|
68
|
-
{
|
|
69
|
-
{
|
|
70
|
-
{
|
|
71
|
-
{
|
|
72
|
-
title_attributes: _card_title_attributes.addClass(['
|
|
53
|
+
{%- if _items is not empty %}
|
|
54
|
+
{%- for _card in _items %}
|
|
55
|
+
{%- set _alignment_class = '' %}
|
|
56
|
+
{%- set _image_classes = _card.image.classes ?: '' %}
|
|
57
|
+
{%- set _start_col_classes = 'bcl-card-start-col mb-3 mb-lg-0' %}
|
|
58
|
+
{%- set _end_col_classes = 'col-12 col-md' %}
|
|
59
|
+
{%- if _image_size is not empty %}
|
|
60
|
+
{%- set _start_col_classes = _start_col_classes ~ ' bcl-size-' ~ _image_size %}
|
|
61
|
+
{%- endif %}
|
|
62
|
+
{%- if 'd-none' in _image_classes %}
|
|
63
|
+
{%- set _start_col_classes = _start_col_classes ~ ' d-none d-md-block' %}
|
|
64
|
+
{%- endif %}
|
|
65
|
+
{%- if _alignment is not empty %}
|
|
66
|
+
{%- set _alignment_class = ' align-self-' ~ _alignment %}
|
|
67
|
+
{%- endif %}
|
|
68
|
+
{%- set _card_classes = [] %}
|
|
69
|
+
{%- set _card_attributes = card.attributes ? card.attributes : create_attribute() %}
|
|
70
|
+
{%- set _card_title_attributes = card.title_attributes ? card.title_attributes : create_attribute() %}
|
|
71
|
+
{%- set _card = _card|merge({
|
|
72
|
+
title_attributes: _card_title_attributes.addClass(['h5'])
|
|
73
73
|
}) %}
|
|
74
74
|
|
|
75
|
-
{
|
|
76
|
-
{
|
|
75
|
+
{%- if _variant == 'default-1-col' or _variant == 'default-2-col' or _variant == 'default-3-col' %}
|
|
76
|
+
{%- set _card_classes = [
|
|
77
77
|
'listing-item',
|
|
78
78
|
'border-bottom',
|
|
79
79
|
'border-md-0',
|
|
80
80
|
'border-0',
|
|
81
81
|
] %}
|
|
82
|
-
{
|
|
83
|
-
{
|
|
82
|
+
{%- set _card_attributes = _card_attributes.addClass(_card_classes) %}
|
|
83
|
+
{%- set _card = _card|merge({
|
|
84
84
|
horizontal: true,
|
|
85
85
|
extra_classes_body: 'p-0 pb-md-0 pb-3',
|
|
86
86
|
attributes: _card_attributes,
|
|
@@ -89,108 +89,108 @@
|
|
|
89
89
|
right_col_classes: _end_col_classes ~ _alignment_class,
|
|
90
90
|
}
|
|
91
91
|
}) %}
|
|
92
|
-
|
|
93
|
-
{
|
|
94
|
-
{
|
|
92
|
+
|
|
93
|
+
{%- if _variant == 'default-2-col' %}
|
|
94
|
+
{%- set _card_layout = _card_layout|merge({
|
|
95
95
|
responsive_columns: 2,
|
|
96
96
|
}) %}
|
|
97
|
-
{
|
|
98
|
-
{
|
|
97
|
+
{%- elseif _variant == 'default-3-col' %}
|
|
98
|
+
{%- set _card_layout = _card_layout|merge({
|
|
99
99
|
attributes: _card_layout.attributes.addClass(['row-cols-md-2']),
|
|
100
100
|
responsive_columns: 3,
|
|
101
101
|
responsiveness: 'xl',
|
|
102
102
|
}) %}
|
|
103
|
-
{
|
|
104
|
-
{
|
|
103
|
+
{%- endif %}
|
|
104
|
+
{%- endif %}
|
|
105
105
|
|
|
106
|
-
{
|
|
107
|
-
{
|
|
106
|
+
{%- if _variant == 'highlight-1-col' %}
|
|
107
|
+
{%- set _card_classes = [
|
|
108
108
|
'listing-item--highlight',
|
|
109
109
|
'border-0',
|
|
110
110
|
'bg-lighter'
|
|
111
111
|
] %}
|
|
112
|
-
{
|
|
113
|
-
{
|
|
112
|
+
{%- set _card_attributes = _card_attributes.addClass(_card_classes) %}
|
|
113
|
+
{%- set _card = _card|merge({
|
|
114
114
|
wrapper_class: 'col',
|
|
115
115
|
attributes: _card_attributes,
|
|
116
116
|
}) %}
|
|
117
|
-
{
|
|
118
|
-
{
|
|
117
|
+
{%- if _card.image is defined and _card.image is not empty %}
|
|
118
|
+
{%- set _card = _card|merge({
|
|
119
119
|
extra_classes_body: "pt-0",
|
|
120
120
|
}) %}
|
|
121
|
-
{
|
|
122
|
-
{
|
|
121
|
+
{%- endif %}
|
|
122
|
+
{%- set _card_layout = _card_layout|merge({
|
|
123
123
|
cols_extra_classes: 'mt-4-5',
|
|
124
124
|
}) %}
|
|
125
|
-
{
|
|
126
|
-
{
|
|
127
|
-
{
|
|
128
|
-
{
|
|
129
|
-
{
|
|
130
|
-
{
|
|
125
|
+
{%- if _card.image is not empty %}
|
|
126
|
+
{%- set _image_classes = _card.image.classes ?: '' %}
|
|
127
|
+
{%- if not _alignment == 'center' %}
|
|
128
|
+
{%- set _image_classes = _image_classes ? _image_classes ~ ' mb-3' : 'mb-3' %}
|
|
129
|
+
{%- endif %}
|
|
130
|
+
{%- set _card = _card|merge({image: _card.image|merge({
|
|
131
131
|
classes: _image_classes,
|
|
132
132
|
})}) %}
|
|
133
|
-
{
|
|
133
|
+
{%- endif %}
|
|
134
134
|
|
|
135
|
-
{
|
|
135
|
+
{%- endif %}
|
|
136
136
|
|
|
137
|
-
{
|
|
138
|
-
{
|
|
137
|
+
{%- if _variant == 'highlight-2-col' or variant == 'highlight-3-col' %}
|
|
138
|
+
{%- set _card_classes = [
|
|
139
139
|
'listing-item--highlight',
|
|
140
140
|
'border-0',
|
|
141
141
|
'bg-lighter',
|
|
142
142
|
'h-100',
|
|
143
143
|
'rounded-2'
|
|
144
144
|
] %}
|
|
145
|
-
{
|
|
146
|
-
{
|
|
145
|
+
{%- set _card_attributes = _card_attributes.addClass(_card_classes) %}
|
|
146
|
+
{%- set _card = _card|merge({
|
|
147
147
|
wrapper_class: 'col',
|
|
148
148
|
attributes: _card_attributes,
|
|
149
149
|
}) %}
|
|
150
|
-
{
|
|
151
|
-
{
|
|
150
|
+
{%- if _card.image is defined and _card.image is not empty %}
|
|
151
|
+
{%- set _card = _card|merge({
|
|
152
152
|
extra_classes_body: 'pt-0',
|
|
153
153
|
}) %}
|
|
154
|
-
{
|
|
155
|
-
{
|
|
156
|
-
{
|
|
157
|
-
{
|
|
158
|
-
{
|
|
159
|
-
{
|
|
160
|
-
{
|
|
154
|
+
{%- endif %}
|
|
155
|
+
{%- if _card.image is not empty %}
|
|
156
|
+
{%- set _image_classes = _card.image.classes ?: '' %}
|
|
157
|
+
{%- if not _alignment == 'center' %}
|
|
158
|
+
{%- set _image_classes = _image_classes ? _image_classes ~ ' mb-3' : 'mb-3' %}
|
|
159
|
+
{%- endif %}
|
|
160
|
+
{%- set _card = _card|merge({image: _card.image|merge({
|
|
161
161
|
classes: _image_classes,
|
|
162
162
|
})}) %}
|
|
163
|
-
{
|
|
164
|
-
{
|
|
165
|
-
{
|
|
166
|
-
{
|
|
167
|
-
{
|
|
168
|
-
{
|
|
169
|
-
{
|
|
170
|
-
{
|
|
171
|
-
|
|
172
|
-
{
|
|
173
|
-
{
|
|
163
|
+
{%- endif %}
|
|
164
|
+
{%- set _card_layout = _card_layout|merge({ gutter: '4' }) %}
|
|
165
|
+
{%- if variant == 'highlight-2-col' %}
|
|
166
|
+
{%- set _card_layout = _card_layout|merge({ responsive_columns: 2 }) %}
|
|
167
|
+
{%- else %}
|
|
168
|
+
{%- set _card_layout = _card_layout|merge({ responsive_columns: 3 }) %}
|
|
169
|
+
{%- endif %}
|
|
170
|
+
{%- endif %}
|
|
171
|
+
|
|
172
|
+
{%- if _card.image is empty and _card.date is empty %}
|
|
173
|
+
{%- set _card = _card|merge({
|
|
174
174
|
horizontal: false,
|
|
175
175
|
}) %}
|
|
176
|
-
{
|
|
176
|
+
{%- endif %}
|
|
177
177
|
|
|
178
|
-
{
|
|
179
|
-
{
|
|
178
|
+
{%- set _cards = _cards|merge([_card]) %}
|
|
179
|
+
{%- endfor %}
|
|
180
180
|
{% endif %}
|
|
181
181
|
|
|
182
|
-
{
|
|
182
|
+
{%- include "@oe-bcl/bcl-card-layout/card-layout.html.twig" with _card_layout|merge({ items: _cards }) only %}
|
|
183
183
|
|
|
184
|
-
{
|
|
185
|
-
{
|
|
186
|
-
{
|
|
187
|
-
{
|
|
184
|
+
{%- if _link is not empty %}
|
|
185
|
+
{%- set _link_attributes = _link.attributes ? _link.attributes : create_attribute() %}
|
|
186
|
+
{%- set _link_attributes = _link_attributes.addClass(['mt-3-5', 'd-inline-block']) %}
|
|
187
|
+
{%- include '@oe-bcl/bcl-link/link.html.twig' with _link|merge({
|
|
188
188
|
attributes: _link_attributes,
|
|
189
189
|
icon: _link.icon|merge({
|
|
190
190
|
name: 'chevron-right',
|
|
191
191
|
size: 'xs',
|
|
192
192
|
}),
|
|
193
193
|
}) only %}
|
|
194
|
-
{% endif
|
|
194
|
+
{% endif -%}
|
|
195
195
|
</div>
|
|
196
|
-
|
|
196
|
+
{#--#}
|
|
@@ -2,31 +2,31 @@
|
|
|
2
2
|
{% set _items = items ?? [] %}
|
|
3
3
|
{% set _icon_path = icon_path ?? '' %}
|
|
4
4
|
{% set _level = level ?? 1 %}
|
|
5
|
-
{% set _see_all = see_all ?? null
|
|
5
|
+
{% set _see_all = see_all ?? null -%}
|
|
6
6
|
|
|
7
7
|
<ul class="bcl-mega-menu__items __level-{{ _level }}">
|
|
8
|
-
{
|
|
9
|
-
{
|
|
10
|
-
{
|
|
11
|
-
{
|
|
8
|
+
{%- for _item in _items %}
|
|
9
|
+
{%- set _li_attributes = _item.li_attributes ?? create_attribute() %}
|
|
10
|
+
{%- if _item.items is defined and _item.items is not empty %}
|
|
11
|
+
{#- This is a parent item. -#}
|
|
12
12
|
<li{{ _li_attributes.addClass('__parent') }}>
|
|
13
|
-
{
|
|
13
|
+
{%- include '@oe-bcl/bcl-mega-menu/mega-menu-submenu.html.twig' with _item|merge({
|
|
14
14
|
icon_path: _icon_path,
|
|
15
15
|
level: _level + 1,
|
|
16
|
-
}) only
|
|
16
|
+
}) only -%}
|
|
17
17
|
</li>
|
|
18
|
-
{
|
|
19
|
-
{
|
|
18
|
+
{%- else %}
|
|
19
|
+
{#- This is a leaf item. -#}
|
|
20
20
|
<li{{ _li_attributes.addClass('__leaf') }}>
|
|
21
|
-
{
|
|
22
|
-
{
|
|
21
|
+
{%- if _item.path is empty %}
|
|
22
|
+
{#- This is a nolink item. -#}
|
|
23
23
|
<span{{ _item.attributes ?? '' }}>{{ _item.label }}</span>
|
|
24
|
-
{
|
|
25
|
-
{
|
|
26
|
-
{
|
|
27
|
-
{
|
|
24
|
+
{%- else %}
|
|
25
|
+
{#- This is a link. #}
|
|
26
|
+
{%- include '@oe-bcl/bcl-link/link.html.twig' with _item only %}
|
|
27
|
+
{%- endif -%}
|
|
28
28
|
</li>
|
|
29
|
-
{
|
|
30
|
-
{
|
|
29
|
+
{%- endif %}
|
|
30
|
+
{%- endfor -%}
|
|
31
31
|
</ul>
|
|
32
|
-
|
|
32
|
+
{#--#}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
{% set _level = level ?? 2 %}
|
|
5
5
|
{% set _see_all = see_all ?? null %}
|
|
6
6
|
|
|
7
|
-
{
|
|
7
|
+
{%- set _trigger_id = _trigger.id|default('mm-trigger-' ~ random(10000)) %}
|
|
8
8
|
{% set _panel_id = 'mm-panel-' ~ _trigger_id %}
|
|
9
9
|
|
|
10
|
-
{
|
|
10
|
+
{%- set _trigger_attributes = _trigger.attributes ?? create_attribute() %}
|
|
11
11
|
{% set _trigger = _trigger|merge({
|
|
12
12
|
attributes: _trigger_attributes
|
|
13
13
|
.setAttribute('id', _trigger_id)
|
|
@@ -19,26 +19,24 @@
|
|
|
19
19
|
}) %}
|
|
20
20
|
{% include '@oe-bcl/bcl-button/button.html.twig' with _trigger only %}
|
|
21
21
|
|
|
22
|
-
{
|
|
22
|
+
{%- set _see_all_link = null %}
|
|
23
|
+
{# Prepare an optional "See all" link rendered outside the list. #}
|
|
23
24
|
{% if _see_all is not empty %}
|
|
24
|
-
{
|
|
25
|
-
{% set _see_all_label %}
|
|
25
|
+
{%- set _see_all_label -%}
|
|
26
26
|
<span>{{- _see_all.label -}}</span>
|
|
27
|
-
{
|
|
28
|
-
{
|
|
29
|
-
{
|
|
27
|
+
{%- endset %}
|
|
28
|
+
{%- set _see_all_attr = (_see_all.attributes is defined ? _see_all.attributes : create_attribute()) %}
|
|
29
|
+
{%- set _see_all_link = _see_all|merge({
|
|
30
30
|
label: _see_all_label,
|
|
31
31
|
icon: {
|
|
32
|
+
size: 'xs',
|
|
32
33
|
name: 'arrow-right',
|
|
33
34
|
path: _icon_path,
|
|
34
35
|
},
|
|
35
|
-
li_attributes: create_attribute()
|
|
36
|
-
.addClass('__see_all'),
|
|
37
36
|
attributes: _see_all_attr
|
|
38
37
|
.addClass(['see-all-button'])
|
|
39
38
|
.setAttribute('aria-label', 'See all items in ‘' ~ _trigger.label ~ '’')
|
|
40
39
|
}) %}
|
|
41
|
-
{% set _items = _items|merge([_see_all]) %}
|
|
42
40
|
{% endif %}
|
|
43
41
|
{% set submenu_attributes = create_attribute()
|
|
44
42
|
.setAttribute('id', _panel_id)
|
|
@@ -46,17 +44,24 @@
|
|
|
46
44
|
.setAttribute('role', 'group')
|
|
47
45
|
.setAttribute('aria-labelledby', _trigger_id)
|
|
48
46
|
.addClass('bcl-mega-menu__submenu', '__level-' ~ _level)
|
|
49
|
-
|
|
47
|
+
-%}
|
|
50
48
|
<div{{ submenu_attributes }}>
|
|
51
|
-
{
|
|
52
|
-
<div class="__header">
|
|
53
|
-
<p class="__label">{{ _trigger.label }}</p>
|
|
49
|
+
{%- if _trigger -%}
|
|
50
|
+
<div class="__header">{# -#}
|
|
51
|
+
<p class="__label">{{ _trigger.label }}</p>{# -#}
|
|
52
|
+
</div>
|
|
53
|
+
{%- endif %}
|
|
54
|
+
<div class="__submenu_body">
|
|
55
|
+
{%- include '@oe-bcl/bcl-mega-menu/mega-menu-items.html.twig' with {
|
|
56
|
+
items: _items,
|
|
57
|
+
icon_path: _icon_path,
|
|
58
|
+
level: _level,
|
|
59
|
+
} only -%}
|
|
60
|
+
{%- if _see_all_link -%}
|
|
61
|
+
<div class="__see_all">
|
|
62
|
+
{% include '@oe-bcl/bcl-link/link.html.twig' with _see_all_link only %}
|
|
63
|
+
</div>
|
|
64
|
+
{%- endif -%}
|
|
54
65
|
</div>
|
|
55
|
-
{% endif %}
|
|
56
|
-
{% include '@oe-bcl/bcl-mega-menu/mega-menu-items.html.twig' with {
|
|
57
|
-
items: _items,
|
|
58
|
-
icon_path: _icon_path,
|
|
59
|
-
level: _level,
|
|
60
|
-
} only %}
|
|
61
66
|
</div>
|
|
62
|
-
|
|
67
|
+
{#--#}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
- icon_path (string) (default: '')
|
|
18
18
|
#}
|
|
19
19
|
|
|
20
|
-
{
|
|
20
|
+
{%- set _id = id|default('dropdown-' ~ random(1000)) %}
|
|
21
21
|
{% set _link = link ?? false %}
|
|
22
22
|
{% set _trigger = trigger|default({}) %}
|
|
23
23
|
{% set _content_block = content_block|default('') %}
|
|
@@ -28,16 +28,16 @@
|
|
|
28
28
|
{% set _icon_path = icon_path|default('') %}
|
|
29
29
|
{% set _menu_id = 'mega-menu-' ~ _id %}
|
|
30
30
|
|
|
31
|
-
{
|
|
32
|
-
{
|
|
31
|
+
{%- if attributes is empty %}
|
|
32
|
+
{%- set attributes = create_attribute() %}
|
|
33
33
|
{% endif %}
|
|
34
34
|
|
|
35
|
-
{
|
|
35
|
+
{%- set _classes = ['bcl-mega-menu'] %}
|
|
36
36
|
|
|
37
|
-
{
|
|
37
|
+
{%- set attributes = attributes.addClass(_classes) %}
|
|
38
38
|
|
|
39
|
-
{
|
|
40
|
-
{
|
|
39
|
+
{%- if _trigger.attributes is empty %}
|
|
40
|
+
{%- set _trigger = _trigger|merge({
|
|
41
41
|
attributes: create_attribute()
|
|
42
42
|
}) %}
|
|
43
43
|
{% endif %}
|
|
@@ -49,19 +49,19 @@
|
|
|
49
49
|
.setAttribute('data-bs-toggle', 'dropdown')
|
|
50
50
|
.setAttribute('data-bs-auto-close', 'outside')
|
|
51
51
|
.setAttribute('id', _id)
|
|
52
|
-
})
|
|
52
|
+
}) -%}
|
|
53
53
|
|
|
54
54
|
<div {{ attributes }}>
|
|
55
|
-
{
|
|
55
|
+
{%- include '@oe-bcl/bcl-button/button.html.twig' with _trigger|merge({
|
|
56
56
|
variant: 'link',
|
|
57
57
|
clean_class: true,
|
|
58
58
|
}) only %}
|
|
59
|
-
{
|
|
60
|
-
<nav id="{{ _menu_id }}" class="bcl-mega-menu__container dropdown-menu" aria-labelledby="{{ _id }}" aria-label="Main mega menu">
|
|
59
|
+
{#- Mega menu panel. -#}
|
|
60
|
+
<nav id="{{ _menu_id }}" class="bcl-mega-menu__container dropdown-menu" aria-labelledby="{{ _id }}" aria-label="Main mega menu">{# -#}
|
|
61
61
|
<div class="container">
|
|
62
|
-
{
|
|
62
|
+
{#- Mobile back button. -#}
|
|
63
63
|
<div class="container d-lg-none bcl-mega-menu__back-button-block">
|
|
64
|
-
{
|
|
64
|
+
{%- include '@oe-bcl/bcl-button/button.html.twig' with {
|
|
65
65
|
label: _back_button_label,
|
|
66
66
|
icon_position: "before",
|
|
67
67
|
variant: 'link',
|
|
@@ -70,20 +70,20 @@
|
|
|
70
70
|
name: "arrow-left",
|
|
71
71
|
},
|
|
72
72
|
attributes: create_attribute().addClass(['back-button']).setAttribute('aria-label', 'Back to main menu')
|
|
73
|
-
} only
|
|
73
|
+
} only -%}
|
|
74
74
|
</div>
|
|
75
|
-
{
|
|
76
|
-
<div class="position-relative">
|
|
75
|
+
{#- Info/summary and submenu columns. -#}
|
|
76
|
+
<div class="position-relative">{# -#}
|
|
77
77
|
<div class="row">
|
|
78
|
-
{
|
|
79
|
-
{
|
|
80
|
-
<div class="col-md-12 col-xl-3 position-relative bcl-mega-menu__info">
|
|
78
|
+
{#- Content / summary column. #}
|
|
79
|
+
{%- if content_block is defined -%}
|
|
80
|
+
<div class="col-md-12 col-xl-3 position-relative bcl-mega-menu__info">{# -#}
|
|
81
81
|
<div class="content-block">
|
|
82
82
|
{%- block content_block -%}
|
|
83
83
|
{{ _content_block }}
|
|
84
84
|
{%- endblock -%}
|
|
85
85
|
{% if _content_link.path is not empty %}
|
|
86
|
-
{
|
|
86
|
+
{%- set _content_link = _content_link|merge({
|
|
87
87
|
icon: _content_link.icon|default({})|merge({
|
|
88
88
|
path: _icon_path
|
|
89
89
|
}),
|
|
@@ -91,22 +91,24 @@
|
|
|
91
91
|
? _content_link.attributes
|
|
92
92
|
: create_attribute()
|
|
93
93
|
).addClass('content-link')
|
|
94
|
-
})
|
|
94
|
+
}) -%}
|
|
95
95
|
<p class="m-0">{% include '@oe-bcl/bcl-link/link.html.twig' with _content_link only %}</p>
|
|
96
|
-
{
|
|
97
|
-
</div>
|
|
98
|
-
<div class="shadow-container">
|
|
99
|
-
<span class="shadow-bg"></span>
|
|
100
|
-
</div>
|
|
96
|
+
{%- endif -%}
|
|
97
|
+
</div>{# -#}
|
|
98
|
+
<div class="shadow-container">{# -#}
|
|
99
|
+
<span class="shadow-bg"></span>{# -#}
|
|
100
|
+
</div>{# -#}
|
|
101
101
|
</div>
|
|
102
|
-
{
|
|
103
|
-
{
|
|
102
|
+
{%- endif %}
|
|
103
|
+
{#- Submenu column. -#}
|
|
104
104
|
<div class="col-md-12 col-lg-4 col-xl-3 bcl-mega-menu__menu">
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
105
|
+
<div class="__submenu_body">
|
|
106
|
+
{% include '@oe-bcl/bcl-mega-menu/mega-menu-items.html.twig' %}
|
|
107
|
+
</div>{# -#}
|
|
108
|
+
</div>{# -#}
|
|
109
|
+
</div>{# -#}
|
|
110
|
+
</div>{# -#}
|
|
111
|
+
</div>{# -#}
|
|
112
|
+
</nav>{# -#}
|
|
111
113
|
</div>
|
|
112
|
-
|
|
114
|
+
{#--#}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
- footer
|
|
25
25
|
#}
|
|
26
26
|
|
|
27
|
-
{
|
|
27
|
+
{%- set _size = size|default('') %}
|
|
28
28
|
{% set _id = id|default('modal-' ~ random(10000)) %}
|
|
29
29
|
{% set _fullscreen_responsive = fullscreen_responsive|default('') %}
|
|
30
30
|
{% set _static_backdrop = static_backdrop ?? false %}
|
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
{% set _footer = footer|default('') %}
|
|
39
39
|
{% set _footer_attributes = footer_attributes ?: create_attribute() %}
|
|
40
40
|
|
|
41
|
-
{
|
|
41
|
+
{%- set _classes = ['modal', 'fade'] %}
|
|
42
42
|
|
|
43
|
-
{
|
|
44
|
-
{
|
|
43
|
+
{%- if attributes is empty %}
|
|
44
|
+
{%- set attributes = create_attribute() %}
|
|
45
45
|
{% endif %}
|
|
46
46
|
|
|
47
|
-
{
|
|
47
|
+
{%- set attributes = attributes
|
|
48
48
|
.setAttribute('id', _id)
|
|
49
49
|
.setAttribute('tabindex', '-1')
|
|
50
50
|
.setAttribute('aria-hidden', 'true')
|
|
@@ -52,41 +52,41 @@
|
|
|
52
52
|
.addClass(_classes)
|
|
53
53
|
%}
|
|
54
54
|
|
|
55
|
-
{
|
|
56
|
-
{
|
|
57
|
-
{% endif
|
|
55
|
+
{%- if _static_backdrop %}
|
|
56
|
+
{%- set attributes = attributes.setAttribute('data-bs-backdrop', 'static') %}
|
|
57
|
+
{% endif -%}
|
|
58
58
|
|
|
59
59
|
<div
|
|
60
60
|
{{ attributes }}
|
|
61
|
-
>
|
|
61
|
+
>{# -#}
|
|
62
62
|
<div class="modal-dialog
|
|
63
63
|
{{- _size ? ' modal-' ~ size -}}
|
|
64
64
|
{{- _fullscreen_responsive ? ' modal-fullscreen-' ~ _fullscreen_responsive ~ '-down' -}}
|
|
65
65
|
{{- _vertically_centered ? ' modal-dialog-centered' -}}
|
|
66
66
|
{{- _scrollable ? ' modal-dialog-scrollable' -}}"
|
|
67
|
-
>
|
|
67
|
+
>{# -#}
|
|
68
68
|
<div class="modal-content">
|
|
69
|
-
{
|
|
69
|
+
{%- if header is not empty -%}
|
|
70
70
|
<div
|
|
71
71
|
{{- _header_attributes.addClass(['modal-header']) -}}
|
|
72
72
|
>
|
|
73
73
|
{%- block header _header -%}
|
|
74
74
|
</div>
|
|
75
|
-
{
|
|
75
|
+
{%- endif %}
|
|
76
76
|
{%- block messages _messages -%}
|
|
77
77
|
<div
|
|
78
78
|
{{- _body_attributes.addClass(['modal-body']) -}}
|
|
79
79
|
>
|
|
80
80
|
{%- block body _body -%}
|
|
81
81
|
</div>
|
|
82
|
-
{
|
|
82
|
+
{%- if footer is not empty -%}
|
|
83
83
|
<div
|
|
84
84
|
{{- _footer_attributes.addClass(['modal-footer']) -}}
|
|
85
85
|
>
|
|
86
86
|
{%- block footer _footer -%}
|
|
87
87
|
</div>
|
|
88
|
-
{
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
88
|
+
{%- endif -%}
|
|
89
|
+
</div>{# -#}
|
|
90
|
+
</div>{# -#}
|
|
91
91
|
</div>
|
|
92
|
-
|
|
92
|
+
{#--#}
|