@openeuropa/bcl-twig-templates 0.4298.202511051800 → 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/package.json +67 -67
- package/templates/bcl-accordion/accordion.html.twig +42 -46
- package/templates/bcl-alert/alert.html.twig +18 -21
- package/templates/bcl-badge/badge.html.twig +11 -15
- package/templates/bcl-banner/banner.html.twig +34 -37
- package/templates/bcl-base-templates/content-type.html.twig +63 -67
- 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 -20
- package/templates/bcl-breadcrumb/breadcrumb.html.twig +24 -28
- package/templates/bcl-button/button.html.twig +24 -27
- package/templates/bcl-button-group/button-group.html.twig +25 -29
- package/templates/bcl-card/card.html.twig +98 -101
- package/templates/bcl-card-layout/card-layout.html.twig +34 -37
- package/templates/bcl-carousel/carousel.html.twig +64 -67
- package/templates/bcl-contact-form/contact-form.html.twig +1 -1
- package/templates/bcl-content-banner/content-banner.html.twig +37 -40
- package/templates/bcl-date-block/date-block.html.twig +26 -29
- package/templates/bcl-description-list/description-list-details.html.twig +6 -9
- package/templates/bcl-description-list/description-list-title.html.twig +11 -14
- package/templates/bcl-description-list/description-list.html.twig +44 -48
- package/templates/bcl-dropdown/dropdown.html.twig +48 -52
- package/templates/bcl-event/event.html.twig +7 -7
- package/templates/bcl-fact-figures/fact-figures.html.twig +34 -37
- package/templates/bcl-featured-media/featured-media.html.twig +42 -46
- package/templates/bcl-file/file-translations.html.twig +29 -32
- package/templates/bcl-file/file.html.twig +47 -50
- package/templates/bcl-footer/footer.html.twig +31 -34
- package/templates/bcl-form/form.html.twig +70 -73
- package/templates/bcl-form-input/form-input.html.twig +57 -61
- package/templates/bcl-gallery/gallery-item.html.twig +20 -23
- package/templates/bcl-gallery/gallery.html.twig +62 -66
- 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 -82
- package/templates/bcl-heading/heading.html.twig +13 -17
- package/templates/bcl-icon/icon.html.twig +10 -13
- package/templates/bcl-inpage-navigation/inpage-navigation.html.twig +20 -23
- package/templates/bcl-landing-page/landing-page.html.twig +33 -33
- package/templates/bcl-language-list/language-list-grid.html.twig +25 -28
- package/templates/bcl-language-list/language-list-modal.html.twig +52 -52
- package/templates/bcl-language-list/language-list.html.twig +33 -37
- package/templates/bcl-language-switcher/language-switcher.html.twig +12 -15
- package/templates/bcl-link/link.html.twig +24 -27
- package/templates/bcl-links-block/links-block.html.twig +30 -34
- package/templates/bcl-list-group/list-group.html.twig +43 -47
- package/templates/bcl-listing/listing.html.twig +88 -91
- package/templates/bcl-mega-menu/mega-menu-items.html.twig +18 -21
- package/templates/bcl-mega-menu/mega-menu-submenu.html.twig +28 -26
- package/templates/bcl-mega-menu/mega-menu.html.twig +37 -38
- package/templates/bcl-modal/modal.html.twig +21 -23
- package/templates/bcl-navbar/navbar.html.twig +35 -38
- package/templates/bcl-navigation/navigation.html.twig +105 -110
- package/templates/bcl-offcanvas/offcanvas.html.twig +33 -36
- package/templates/bcl-page/page.html.twig +27 -27
- package/templates/bcl-pagination/pagination-item.html.twig +22 -26
- package/templates/bcl-pagination/pagination.html.twig +59 -62
- package/templates/bcl-pagination-v2/pagination-item.html.twig +31 -35
- package/templates/bcl-pagination-v2/pagination.html.twig +79 -82
- package/templates/bcl-person/person.html.twig +12 -12
- package/templates/bcl-placeholder/placeholder.html.twig +14 -18
- package/templates/bcl-progress/progress.html.twig +16 -20
- package/templates/bcl-project/project-lists.html.twig +25 -29
- package/templates/bcl-project/project.html.twig +35 -35
- package/templates/bcl-project-status/project-contributions.html.twig +25 -28
- package/templates/bcl-project-status/project-status.html.twig +32 -37
- package/templates/bcl-recent-activities/recent-activities.html.twig +13 -16
- package/templates/bcl-search/search.html.twig +12 -12
- package/templates/bcl-search-form/search-form.html.twig +21 -24
- package/templates/bcl-select/select.html.twig +52 -56
- package/templates/bcl-spinner/spinner.html.twig +10 -13
- 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 -17
- package/templates/bcl-table/table.html.twig +61 -65
- package/templates/bcl-textarea/textarea.html.twig +44 -47
- package/templates/bcl-timeline/timeline-item.html.twig +12 -15
- package/templates/bcl-timeline/timeline.html.twig +42 -45
- package/templates/bcl-toasts/toasts.html.twig +56 -60
- package/templates/bcl-user/user-compact.html.twig +24 -27
- package/templates/bcl-user/user-terms.html.twig +6 -6
- package/templates/bcl-user/user.html.twig +117 -117
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
{% apply spaceless %}
|
|
2
|
-
|
|
3
1
|
{# Parameters:
|
|
4
2
|
- id (string) (default: dropdown-random(1000))
|
|
5
3
|
- link (boolean) (default: false) - sets trigger to link, default is button
|
|
@@ -19,7 +17,7 @@
|
|
|
19
17
|
- icon_path (string) (default: '')
|
|
20
18
|
#}
|
|
21
19
|
|
|
22
|
-
{
|
|
20
|
+
{%- set _id = id|default('dropdown-' ~ random(1000)) %}
|
|
23
21
|
{% set _link = link ?? false %}
|
|
24
22
|
{% set _trigger = trigger|default({}) %}
|
|
25
23
|
{% set _content_block = content_block|default('') %}
|
|
@@ -30,16 +28,16 @@
|
|
|
30
28
|
{% set _icon_path = icon_path|default('') %}
|
|
31
29
|
{% set _menu_id = 'mega-menu-' ~ _id %}
|
|
32
30
|
|
|
33
|
-
{
|
|
34
|
-
{
|
|
31
|
+
{%- if attributes is empty %}
|
|
32
|
+
{%- set attributes = create_attribute() %}
|
|
35
33
|
{% endif %}
|
|
36
34
|
|
|
37
|
-
{
|
|
35
|
+
{%- set _classes = ['bcl-mega-menu'] %}
|
|
38
36
|
|
|
39
|
-
{
|
|
37
|
+
{%- set attributes = attributes.addClass(_classes) %}
|
|
40
38
|
|
|
41
|
-
{
|
|
42
|
-
{
|
|
39
|
+
{%- if _trigger.attributes is empty %}
|
|
40
|
+
{%- set _trigger = _trigger|merge({
|
|
43
41
|
attributes: create_attribute()
|
|
44
42
|
}) %}
|
|
45
43
|
{% endif %}
|
|
@@ -51,19 +49,19 @@
|
|
|
51
49
|
.setAttribute('data-bs-toggle', 'dropdown')
|
|
52
50
|
.setAttribute('data-bs-auto-close', 'outside')
|
|
53
51
|
.setAttribute('id', _id)
|
|
54
|
-
})
|
|
52
|
+
}) -%}
|
|
55
53
|
|
|
56
54
|
<div {{ attributes }}>
|
|
57
|
-
{
|
|
55
|
+
{%- include '@oe-bcl/bcl-button/button.html.twig' with _trigger|merge({
|
|
58
56
|
variant: 'link',
|
|
59
57
|
clean_class: true,
|
|
60
58
|
}) only %}
|
|
61
|
-
{
|
|
62
|
-
<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">{# -#}
|
|
63
61
|
<div class="container">
|
|
64
|
-
{
|
|
62
|
+
{#- Mobile back button. -#}
|
|
65
63
|
<div class="container d-lg-none bcl-mega-menu__back-button-block">
|
|
66
|
-
{
|
|
64
|
+
{%- include '@oe-bcl/bcl-button/button.html.twig' with {
|
|
67
65
|
label: _back_button_label,
|
|
68
66
|
icon_position: "before",
|
|
69
67
|
variant: 'link',
|
|
@@ -72,20 +70,20 @@
|
|
|
72
70
|
name: "arrow-left",
|
|
73
71
|
},
|
|
74
72
|
attributes: create_attribute().addClass(['back-button']).setAttribute('aria-label', 'Back to main menu')
|
|
75
|
-
} only
|
|
73
|
+
} only -%}
|
|
76
74
|
</div>
|
|
77
|
-
{
|
|
78
|
-
<div class="position-relative">
|
|
75
|
+
{#- Info/summary and submenu columns. -#}
|
|
76
|
+
<div class="position-relative">{# -#}
|
|
79
77
|
<div class="row">
|
|
80
|
-
{
|
|
81
|
-
{
|
|
82
|
-
<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">{# -#}
|
|
83
81
|
<div class="content-block">
|
|
84
82
|
{%- block content_block -%}
|
|
85
83
|
{{ _content_block }}
|
|
86
84
|
{%- endblock -%}
|
|
87
85
|
{% if _content_link.path is not empty %}
|
|
88
|
-
{
|
|
86
|
+
{%- set _content_link = _content_link|merge({
|
|
89
87
|
icon: _content_link.icon|default({})|merge({
|
|
90
88
|
path: _icon_path
|
|
91
89
|
}),
|
|
@@ -93,23 +91,24 @@
|
|
|
93
91
|
? _content_link.attributes
|
|
94
92
|
: create_attribute()
|
|
95
93
|
).addClass('content-link')
|
|
96
|
-
})
|
|
94
|
+
}) -%}
|
|
97
95
|
<p class="m-0">{% include '@oe-bcl/bcl-link/link.html.twig' with _content_link only %}</p>
|
|
98
|
-
{
|
|
99
|
-
</div>
|
|
100
|
-
<div class="shadow-container">
|
|
101
|
-
<span class="shadow-bg"></span>
|
|
102
|
-
</div>
|
|
96
|
+
{%- endif -%}
|
|
97
|
+
</div>{# -#}
|
|
98
|
+
<div class="shadow-container">{# -#}
|
|
99
|
+
<span class="shadow-bg"></span>{# -#}
|
|
100
|
+
</div>{# -#}
|
|
103
101
|
</div>
|
|
104
|
-
{
|
|
105
|
-
{
|
|
102
|
+
{%- endif %}
|
|
103
|
+
{#- Submenu column. -#}
|
|
106
104
|
<div class="col-md-12 col-lg-4 col-xl-3 bcl-mega-menu__menu">
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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>{# -#}
|
|
113
113
|
</div>
|
|
114
|
-
|
|
115
|
-
{% endapply %}
|
|
114
|
+
{#--#}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
{% apply spaceless %}
|
|
2
|
-
|
|
3
1
|
{# Parameters:
|
|
4
2
|
- size (string) default('')
|
|
5
3
|
options: sm, lg, xl, fullscreen
|
|
@@ -7,7 +5,8 @@
|
|
|
7
5
|
- fullscreen_responsive (string) (default: '')
|
|
8
6
|
options: sm, md, lg, xl, xxl
|
|
9
7
|
- static_backdrop (boolean) (default: false)
|
|
10
|
-
-
|
|
8
|
+
- vertically_centered (boolean) (default: false)
|
|
9
|
+
- verticaly_centered (boolean) (default: false) // deprecated typo
|
|
11
10
|
- scrollable (boolean) (default: false)
|
|
12
11
|
- header (block) (default: '')
|
|
13
12
|
- messages (block) (default: '')
|
|
@@ -25,11 +24,11 @@
|
|
|
25
24
|
- footer
|
|
26
25
|
#}
|
|
27
26
|
|
|
28
|
-
{
|
|
27
|
+
{%- set _size = size|default('') %}
|
|
29
28
|
{% set _id = id|default('modal-' ~ random(10000)) %}
|
|
30
29
|
{% set _fullscreen_responsive = fullscreen_responsive|default('') %}
|
|
31
30
|
{% set _static_backdrop = static_backdrop ?? false %}
|
|
32
|
-
{% set
|
|
31
|
+
{% set _vertically_centered = vertically_centered ?? verticaly_centered ?? false %}
|
|
33
32
|
{% set _scrollable = scrollable ?? false %}
|
|
34
33
|
{% set _header = header|default('') %}
|
|
35
34
|
{% set _header_attributes = header_attributes ?: create_attribute() %}
|
|
@@ -39,13 +38,13 @@
|
|
|
39
38
|
{% set _footer = footer|default('') %}
|
|
40
39
|
{% set _footer_attributes = footer_attributes ?: create_attribute() %}
|
|
41
40
|
|
|
42
|
-
{
|
|
41
|
+
{%- set _classes = ['modal', 'fade'] %}
|
|
43
42
|
|
|
44
|
-
{
|
|
45
|
-
{
|
|
43
|
+
{%- if attributes is empty %}
|
|
44
|
+
{%- set attributes = create_attribute() %}
|
|
46
45
|
{% endif %}
|
|
47
46
|
|
|
48
|
-
{
|
|
47
|
+
{%- set attributes = attributes
|
|
49
48
|
.setAttribute('id', _id)
|
|
50
49
|
.setAttribute('tabindex', '-1')
|
|
51
50
|
.setAttribute('aria-hidden', 'true')
|
|
@@ -53,42 +52,41 @@
|
|
|
53
52
|
.addClass(_classes)
|
|
54
53
|
%}
|
|
55
54
|
|
|
56
|
-
{
|
|
57
|
-
{
|
|
58
|
-
{% endif
|
|
55
|
+
{%- if _static_backdrop %}
|
|
56
|
+
{%- set attributes = attributes.setAttribute('data-bs-backdrop', 'static') %}
|
|
57
|
+
{% endif -%}
|
|
59
58
|
|
|
60
59
|
<div
|
|
61
60
|
{{ attributes }}
|
|
62
|
-
>
|
|
61
|
+
>{# -#}
|
|
63
62
|
<div class="modal-dialog
|
|
64
63
|
{{- _size ? ' modal-' ~ size -}}
|
|
65
64
|
{{- _fullscreen_responsive ? ' modal-fullscreen-' ~ _fullscreen_responsive ~ '-down' -}}
|
|
66
|
-
{{-
|
|
65
|
+
{{- _vertically_centered ? ' modal-dialog-centered' -}}
|
|
67
66
|
{{- _scrollable ? ' modal-dialog-scrollable' -}}"
|
|
68
|
-
>
|
|
67
|
+
>{# -#}
|
|
69
68
|
<div class="modal-content">
|
|
70
|
-
{
|
|
69
|
+
{%- if header is not empty -%}
|
|
71
70
|
<div
|
|
72
71
|
{{- _header_attributes.addClass(['modal-header']) -}}
|
|
73
72
|
>
|
|
74
73
|
{%- block header _header -%}
|
|
75
74
|
</div>
|
|
76
|
-
{
|
|
75
|
+
{%- endif %}
|
|
77
76
|
{%- block messages _messages -%}
|
|
78
77
|
<div
|
|
79
78
|
{{- _body_attributes.addClass(['modal-body']) -}}
|
|
80
79
|
>
|
|
81
80
|
{%- block body _body -%}
|
|
82
81
|
</div>
|
|
83
|
-
{
|
|
82
|
+
{%- if footer is not empty -%}
|
|
84
83
|
<div
|
|
85
84
|
{{- _footer_attributes.addClass(['modal-footer']) -}}
|
|
86
85
|
>
|
|
87
86
|
{%- block footer _footer -%}
|
|
88
87
|
</div>
|
|
89
|
-
{
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
88
|
+
{%- endif -%}
|
|
89
|
+
</div>{# -#}
|
|
90
|
+
</div>{# -#}
|
|
92
91
|
</div>
|
|
93
|
-
|
|
94
|
-
{% endapply %}
|
|
92
|
+
{#--#}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
{% apply spaceless %}
|
|
2
|
-
|
|
3
1
|
{# Parameters:
|
|
4
2
|
- collapse_id (string) (default: '')
|
|
5
3
|
- background (string) (default: '')
|
|
@@ -26,7 +24,7 @@
|
|
|
26
24
|
- right
|
|
27
25
|
#}
|
|
28
26
|
|
|
29
|
-
{
|
|
27
|
+
{%- set _collapse_id = collapse_id|default('') %}
|
|
30
28
|
{% set _background = background|default('') %}
|
|
31
29
|
{% set _brand = brand|default({}) %}
|
|
32
30
|
{% set _navigation = navigation|default({}) %}
|
|
@@ -35,48 +33,48 @@
|
|
|
35
33
|
{% set _color_set = color_set|default('light') %}
|
|
36
34
|
{% set _disable_collapse = disable_collapse ?? false %}
|
|
37
35
|
|
|
38
|
-
{
|
|
36
|
+
{%- set _classes = ['navbar', 'navbar-expand-' ~ _expand] %}
|
|
39
37
|
{% if _background is not empty %}
|
|
40
|
-
{
|
|
38
|
+
{%- set _classes = _classes|merge(['bg-' ~ _background]) %}
|
|
41
39
|
{% endif %}
|
|
42
40
|
{% if _color_set is not empty %}
|
|
43
|
-
{
|
|
41
|
+
{%- set _classes = _classes|merge(['navbar-' ~ _color_set]) %}
|
|
44
42
|
{% endif %}
|
|
45
43
|
|
|
46
|
-
{
|
|
47
|
-
{
|
|
44
|
+
{%- if attributes is empty %}
|
|
45
|
+
{%- set attributes = create_attribute() %}
|
|
48
46
|
{% endif %}
|
|
49
47
|
|
|
50
|
-
{
|
|
48
|
+
{%- set attributes = attributes.addClass(_classes) -%}
|
|
51
49
|
|
|
52
50
|
<nav
|
|
53
51
|
{{ attributes }}
|
|
54
|
-
>
|
|
52
|
+
>{# -#}
|
|
55
53
|
<div class='container'>
|
|
56
|
-
{
|
|
57
|
-
{
|
|
54
|
+
{%- block branding %}
|
|
55
|
+
{%- if _brand is not empty -%}
|
|
58
56
|
<a class='navbar-brand' href='{{ _brand.link }}'>
|
|
59
|
-
{
|
|
57
|
+
{%- for logo in _brand.logos -%}
|
|
60
58
|
<img
|
|
61
59
|
src='{{ logo.src }}'
|
|
62
60
|
{% if logo.alt is not empty %}
|
|
63
61
|
alt='{{ logo.alt }}'
|
|
64
62
|
{% endif %}
|
|
65
|
-
{
|
|
63
|
+
{%- if logo.class is not empty %}
|
|
66
64
|
class='{{ logo.class }}'
|
|
67
65
|
{% endif %}
|
|
68
66
|
/>
|
|
69
|
-
{
|
|
67
|
+
{%- endfor %}
|
|
70
68
|
{%- if _brand.label is defined -%}
|
|
71
69
|
<div class="h5 ms-4-5 d-none d-lg-inline-block">
|
|
72
70
|
{{- _brand.label -}}
|
|
73
71
|
</div>
|
|
74
|
-
{
|
|
72
|
+
{%- endif -%}
|
|
75
73
|
</a>
|
|
76
|
-
{
|
|
77
|
-
{
|
|
74
|
+
{%- endif %}
|
|
75
|
+
{%- endblock %}
|
|
78
76
|
|
|
79
|
-
{
|
|
77
|
+
{%- if not _disable_collapse -%}
|
|
80
78
|
<button
|
|
81
79
|
class="navbar-toggler"
|
|
82
80
|
type="button"
|
|
@@ -85,25 +83,24 @@
|
|
|
85
83
|
aria-controls='{{ _collapse_id }}'
|
|
86
84
|
aria-expanded="false"
|
|
87
85
|
aria-label="Toggle navigation"
|
|
88
|
-
>
|
|
89
|
-
<span class="navbar-toggler-icon"></span>
|
|
90
|
-
</button>
|
|
86
|
+
>{# -#}
|
|
87
|
+
<span class="navbar-toggler-icon"></span>{# -#}
|
|
88
|
+
</button>{# -#}
|
|
91
89
|
<div class="collapse navbar-collapse" id='{{ _collapse_id }}'>
|
|
92
|
-
{
|
|
93
|
-
{
|
|
94
|
-
{
|
|
95
|
-
{
|
|
96
|
-
{
|
|
97
|
-
{
|
|
98
|
-
{
|
|
99
|
-
{
|
|
100
|
-
{
|
|
101
|
-
{
|
|
102
|
-
{
|
|
103
|
-
{
|
|
90
|
+
{%- endif %}
|
|
91
|
+
{%- block navigation %}
|
|
92
|
+
{%- if _navigation is not empty %}
|
|
93
|
+
{%- include '@oe-bcl/bcl-navigation/navigation.html.twig' with _navigation only %}
|
|
94
|
+
{%- endif %}
|
|
95
|
+
{%- endblock %}
|
|
96
|
+
{%- block right %}
|
|
97
|
+
{%- if _form is not empty %}
|
|
98
|
+
{%- include '@oe-bcl/bcl-form/form.html.twig' with _form only %}
|
|
99
|
+
{%- endif %}
|
|
100
|
+
{%- endblock %}
|
|
101
|
+
{%- if not _disable_collapse -%}
|
|
104
102
|
</div>
|
|
105
|
-
{
|
|
106
|
-
</div>
|
|
103
|
+
{%- endif -%}
|
|
104
|
+
</div>{# -#}
|
|
107
105
|
</nav>
|
|
108
|
-
|
|
109
|
-
{% endapply %}
|
|
106
|
+
{#--#}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{% import _self as navigation %}
|
|
2
|
-
{% apply spaceless %}
|
|
3
2
|
|
|
4
|
-
{
|
|
3
|
+
{#- Parameters:
|
|
5
4
|
- id (string) (default: '')
|
|
6
5
|
- pills (boolean) (default: false)
|
|
7
6
|
- tabs (boolean) (default: false) - If tabs is set to true, the nav should also be set to true for accessibility reasons
|
|
@@ -25,120 +24,119 @@
|
|
|
25
24
|
- attributes (drupal attrs)
|
|
26
25
|
#}
|
|
27
26
|
|
|
28
|
-
{
|
|
27
|
+
{#- Define main macro #}
|
|
29
28
|
{% macro render(items, pills, tabs, tabs_content, vertical, full_width, alignment, id, nav, navbar, attributes) %}
|
|
30
|
-
{
|
|
31
|
-
{% import _self as navigation %}
|
|
29
|
+
{%- import _self as navigation %}
|
|
32
30
|
|
|
33
|
-
{
|
|
34
|
-
{
|
|
35
|
-
{
|
|
36
|
-
{
|
|
37
|
-
{
|
|
38
|
-
{
|
|
39
|
-
{
|
|
40
|
-
{
|
|
41
|
-
{
|
|
42
|
-
{
|
|
31
|
+
{%- set _id = id|default('') %}
|
|
32
|
+
{%- set _pills = pills ?? false %}
|
|
33
|
+
{%- set _tabs = tabs ?? false %}
|
|
34
|
+
{%- set _vertical = vertical ?? false %}
|
|
35
|
+
{%- set _full_width = full_width ?? false %}
|
|
36
|
+
{%- set _alignment = alignment|default('') %}
|
|
37
|
+
{%- set _tabs_content = tabs_content ?? false %}
|
|
38
|
+
{%- set _nav = nav ?? false %}
|
|
39
|
+
{%- set _navbar = navbar ?? false %}
|
|
40
|
+
{%- set _items = items|default([]) %}
|
|
43
41
|
|
|
44
|
-
{
|
|
45
|
-
{
|
|
46
|
-
{
|
|
47
|
-
{
|
|
48
|
-
{
|
|
49
|
-
{
|
|
50
|
-
{
|
|
51
|
-
{
|
|
52
|
-
{
|
|
53
|
-
{
|
|
54
|
-
{
|
|
55
|
-
{
|
|
56
|
-
{
|
|
57
|
-
{
|
|
58
|
-
{
|
|
59
|
-
{
|
|
60
|
-
{
|
|
61
|
-
{
|
|
62
|
-
{
|
|
63
|
-
{
|
|
42
|
+
{%- if _navbar %}
|
|
43
|
+
{%- set _classes = ['navbar-nav'] %}
|
|
44
|
+
{%- else %}
|
|
45
|
+
{%- set _classes = ['nav'] %}
|
|
46
|
+
{%- endif %}
|
|
47
|
+
{%- if _pills %}
|
|
48
|
+
{%- set _classes = _classes|merge(['nav-pills']) %}
|
|
49
|
+
{%- endif %}
|
|
50
|
+
{%- if _tabs %}
|
|
51
|
+
{%- set _classes = _classes|merge(['nav-tabs']) %}
|
|
52
|
+
{%- endif %}
|
|
53
|
+
{%- if _vertical %}
|
|
54
|
+
{%- set _classes = _classes|merge(['flex-column']) %}
|
|
55
|
+
{%- endif %}
|
|
56
|
+
{%- if _full_width %}
|
|
57
|
+
{%- set _classes = _classes|merge(['nav-fill']) %}
|
|
58
|
+
{%- endif %}
|
|
59
|
+
{%- if _alignment is not empty %}
|
|
60
|
+
{%- set _classes = _classes|merge(['justify-content-' ~ _alignment]) %}
|
|
61
|
+
{%- endif %}
|
|
64
62
|
|
|
65
|
-
{
|
|
66
|
-
{
|
|
67
|
-
{
|
|
63
|
+
{%- if attributes is empty %}
|
|
64
|
+
{%- set attributes = create_attribute() %}
|
|
65
|
+
{%- endif %}
|
|
68
66
|
|
|
69
|
-
{
|
|
70
|
-
{
|
|
71
|
-
{
|
|
67
|
+
{%- if _id is not empty %}
|
|
68
|
+
{%- set attributes = attributes.setAttribute('id', _id) %}
|
|
69
|
+
{%- endif %}
|
|
72
70
|
|
|
73
|
-
{
|
|
74
|
-
{
|
|
75
|
-
{
|
|
76
|
-
{
|
|
71
|
+
{%- if _tabs %}
|
|
72
|
+
{%- set attributes = attributes.setAttribute('role', 'tablist') %}
|
|
73
|
+
{%- endif %}
|
|
74
|
+
{%- set attributes = attributes.addClass(_classes) %}
|
|
77
75
|
|
|
78
|
-
{
|
|
76
|
+
{%- if _nav -%}
|
|
79
77
|
<nav
|
|
80
78
|
{{ attributes }}
|
|
81
79
|
>
|
|
82
|
-
{
|
|
80
|
+
{%- else -%}
|
|
83
81
|
<ul
|
|
84
82
|
{{ attributes }}
|
|
85
83
|
>
|
|
86
|
-
{
|
|
87
|
-
{
|
|
88
|
-
{
|
|
89
|
-
{
|
|
90
|
-
{
|
|
91
|
-
{
|
|
92
|
-
{
|
|
93
|
-
{
|
|
94
|
-
{
|
|
95
|
-
{
|
|
96
|
-
{
|
|
97
|
-
{
|
|
98
|
-
{
|
|
99
|
-
{
|
|
100
|
-
{
|
|
101
|
-
{
|
|
102
|
-
{
|
|
103
|
-
{
|
|
84
|
+
{%- endif %}
|
|
85
|
+
{%- if _items is not empty and _items is iterable %}
|
|
86
|
+
{%- for _item in items %}
|
|
87
|
+
{%- set _nav_class = 'nav-item' %}
|
|
88
|
+
{%- if _item.dropdown %}
|
|
89
|
+
{%- set _nav_class = _nav_class ~ ' dropdown' %}
|
|
90
|
+
{%- set _item = _item|merge({remove_wrapper: true}) %}
|
|
91
|
+
{%- endif %}
|
|
92
|
+
{%- if _item.dropdown or _item.mega_menu %}
|
|
93
|
+
{%- set _item_classes = [] %}
|
|
94
|
+
{%- else %}
|
|
95
|
+
{%- set _item_classes = ['nav-link'] %}
|
|
96
|
+
{%- endif %}
|
|
97
|
+
{%- if _item.active %}
|
|
98
|
+
{%- set _item_classes = _item_classes|merge(['active']) %}
|
|
99
|
+
{%- endif %}
|
|
100
|
+
{%- if _item.attributes is empty %}
|
|
101
|
+
{%- set _item = _item|merge({
|
|
104
102
|
attributes: create_attribute()
|
|
105
103
|
}) %}
|
|
106
|
-
{
|
|
107
|
-
{
|
|
104
|
+
{%- endif %}
|
|
105
|
+
{%- set _item = _item|merge({
|
|
108
106
|
attributes: _item.attributes.addClass(_item_classes),
|
|
109
107
|
clean_class: true}) %}
|
|
110
|
-
{
|
|
108
|
+
{%- if not _nav -%}
|
|
111
109
|
<li
|
|
112
110
|
class="{{ _nav_class }}"
|
|
113
111
|
{% if _tabs %}
|
|
114
112
|
role="tab"
|
|
115
113
|
{% endif %}
|
|
116
114
|
>
|
|
117
|
-
{
|
|
118
|
-
{
|
|
115
|
+
{%- elseif _tabs and _item.dropdown is not defined %}
|
|
116
|
+
{%- set _item = _item|merge({
|
|
119
117
|
attributes: _item.attributes.setAttribute("role", "tab"),
|
|
120
|
-
})
|
|
118
|
+
})
|
|
121
119
|
%}
|
|
122
|
-
{
|
|
123
|
-
{
|
|
124
|
-
{
|
|
125
|
-
{
|
|
120
|
+
{%- endif %}
|
|
121
|
+
{%- if _item.dropdown is defined %}
|
|
122
|
+
{%- if _tabs %}
|
|
123
|
+
{%- set _item = _item|merge({
|
|
126
124
|
inside_navigation: true,
|
|
127
125
|
trigger: _item.trigger|merge({
|
|
128
126
|
attributes: _item.trigger.attributes.setAttribute("role", "tab"),
|
|
129
127
|
}),
|
|
130
128
|
}) %}
|
|
131
|
-
{
|
|
132
|
-
{
|
|
133
|
-
{
|
|
134
|
-
{
|
|
135
|
-
{
|
|
136
|
-
{
|
|
137
|
-
{
|
|
138
|
-
{
|
|
139
|
-
{
|
|
140
|
-
{
|
|
141
|
-
{{ navigation.render(
|
|
129
|
+
{%- endif %}
|
|
130
|
+
{%- include '@oe-bcl/bcl-dropdown/dropdown.html.twig' with _item only %}
|
|
131
|
+
{%- elseif _item.button is defined %}
|
|
132
|
+
{%- include '@oe-bcl/bcl-button/button.html.twig' with _item only %}
|
|
133
|
+
{%- elseif _item.mega_menu is defined %}
|
|
134
|
+
{%- include '@oe-bcl/bcl-mega-menu/mega-menu.html.twig' with _item only %}
|
|
135
|
+
{%- else %}
|
|
136
|
+
{%- include '@oe-bcl/bcl-link/link.html.twig' with _item only %}
|
|
137
|
+
{%- endif %}
|
|
138
|
+
{%- if _item.navigation is defined and _item.navigation.items is not empty and _item.navigation.items is iterable %}
|
|
139
|
+
{{- navigation.render(
|
|
142
140
|
_item.navigation.items,
|
|
143
141
|
_item.navigation.pills,
|
|
144
142
|
_item.navigation.tabs,
|
|
@@ -151,39 +149,36 @@
|
|
|
151
149
|
_item.navigation.navbar,
|
|
152
150
|
_item.navigation.attributes
|
|
153
151
|
) }}
|
|
154
|
-
{
|
|
155
|
-
{
|
|
152
|
+
{%- endif %}
|
|
153
|
+
{%- if not _nav -%}
|
|
156
154
|
</li>
|
|
157
|
-
{
|
|
158
|
-
{
|
|
159
|
-
{
|
|
160
|
-
{
|
|
155
|
+
{%- endif %}
|
|
156
|
+
{%- endfor %}
|
|
157
|
+
{%- endif %}
|
|
158
|
+
{%- if _nav -%}
|
|
161
159
|
</nav>
|
|
162
|
-
{
|
|
160
|
+
{%- else -%}
|
|
163
161
|
</ul>
|
|
164
|
-
{
|
|
165
|
-
{
|
|
162
|
+
{%- endif %}
|
|
163
|
+
{%- if _tabs_content -%}
|
|
166
164
|
<div class="tab-content">
|
|
167
165
|
{%- block contents -%}
|
|
168
166
|
{% if _items is not empty and _items is iterable %}
|
|
169
|
-
{
|
|
170
|
-
{
|
|
171
|
-
{
|
|
172
|
-
{
|
|
173
|
-
{
|
|
174
|
-
{
|
|
167
|
+
{%- for _item in _items %}
|
|
168
|
+
{%- if _item.content is not empty %}
|
|
169
|
+
{%- set _content_class = 'tab-pane fade' %}
|
|
170
|
+
{%- if _item.active %}
|
|
171
|
+
{%- set _content_class = _content_class ~ ' show active' %}
|
|
172
|
+
{%- endif -%}
|
|
175
173
|
<div class="{{ _content_class }}" id="{{ _item.target }}" role="tabpanel" aria-labelledby="{{ _item.id }}">
|
|
176
174
|
{{- _item.content -}}
|
|
177
175
|
</div>
|
|
178
|
-
{
|
|
179
|
-
{
|
|
180
|
-
{
|
|
176
|
+
{%- endif %}
|
|
177
|
+
{%- endfor %}
|
|
178
|
+
{%- endif %}
|
|
181
179
|
{%- endblock -%}
|
|
182
180
|
</div>
|
|
183
|
-
{
|
|
184
|
-
{
|
|
185
|
-
{% endmacro %}
|
|
186
|
-
|
|
187
|
-
{{ navigation.render(items, pills, tabs, tabs_content, vertical, full_width, alignment, id, nav, navbar, attributes) }}
|
|
181
|
+
{%- endif %}
|
|
182
|
+
{%- endmacro %}
|
|
188
183
|
|
|
189
|
-
{
|
|
184
|
+
{{- navigation.render(items, pills, tabs, tabs_content, vertical, full_width, alignment, id, nav, navbar, attributes) -}}
|