@openeuropa/bcl-theme-default 0.11.0 → 0.15.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/css/oe-bcl-default.css +1453 -17
- 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 +53 -21
- 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.min.js.map +1 -1
- package/js/oe-bcl-default.umd.js +61 -24
- 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/scss/_badge.scss +2 -1
- package/src/scss/_banners.scss +9 -7
- package/src/scss/_collapse.scss +8 -0
- package/src/scss/_header.scss +1 -0
- package/src/scss/_inpage-navigation.scss +19 -0
- package/src/scss/_tabs.scss +3 -0
- package/src/scss/_timeline.scss +78 -0
- package/src/scss/_utilities.scss +78 -0
- package/src/scss/_variables.scss +16 -9
- package/src/scss/oe-bcl-default.scss +4 -14
- package/templates/bcl-banner/banner.html.twig +64 -0
- package/templates/bcl-base-templates/content-type.html.twig +91 -0
- package/templates/bcl-base-templates/listing-page.html.twig +60 -0
- package/templates/{bcl-search/search-offcanvas.html.twig → bcl-base-templates/sidebar-search.html.twig} +0 -1
- package/templates/bcl-card/card.html.twig +42 -33
- package/templates/bcl-content-banner/content-banner.html.twig +103 -0
- package/templates/bcl-date-block/date-block.html.twig +42 -0
- package/templates/bcl-description-list/description-list.html.twig +110 -0
- package/templates/bcl-event/event.html.twig +41 -0
- package/templates/bcl-fact-figures/fact-figures.html.twig +115 -0
- package/templates/bcl-featured-media/featured-media.html.twig +49 -5
- package/templates/bcl-file/file.html.twig +205 -0
- package/templates/bcl-footer/footer.html.twig +1 -1
- package/templates/bcl-group/group-landing.html.twig +101 -0
- package/templates/bcl-group/group.html.twig +25 -0
- package/templates/bcl-header/header.html.twig +3 -3
- package/templates/bcl-inpage-navigation/inpage-navigation.html.twig +42 -0
- package/templates/bcl-landing-page/landing-page.html.twig +59 -0
- package/templates/bcl-link/link.html.twig +5 -0
- package/templates/bcl-links-block/links-block.html.twig +4 -1
- package/templates/bcl-listing/listing.html.twig +56 -35
- package/templates/bcl-page/page.html.twig +64 -0
- package/templates/bcl-recent-activities/recent-activities.html.twig +57 -0
- package/templates/bcl-timeline/timeline.html.twig +109 -0
- package/templates/bcl-toast/toasts.html.twig +3 -1
- package/templates/bcl-user/user-edit.html.twig +38 -0
- package/templates/{bcl-user-view → bcl-user}/user-view-compact.html.twig +2 -2
- package/templates/bcl-user/user-view.html.twig +96 -0
- package/templates/bcl-search/search.html.twig +0 -52
- package/templates/bcl-user-edit/edit-contents.html.twig +0 -32
- package/templates/bcl-user-edit/user-edit.html.twig +0 -18
- package/templates/bcl-user-listing/user-listing-offcanvas.html.twig +0 -8
- package/templates/bcl-user-listing/user-listing.html.twig +0 -47
- package/templates/bcl-user-view/user-view.html.twig +0 -105
|
@@ -3,21 +3,26 @@
|
|
|
3
3
|
{# Parameters:
|
|
4
4
|
- variant: (string) (default: "horizontal") options:
|
|
5
5
|
[ default-1-col, highlight-1-col, default-2-col, default-3-col, highlight-2-col, highlight-3-col ]
|
|
6
|
-
- title: (string) (default:
|
|
6
|
+
- title: (string) (default: "")
|
|
7
|
+
- title_tag: (string) (default: "h4")
|
|
7
8
|
- items: (array of objects of type card)
|
|
8
9
|
- link: (object of type link)
|
|
10
|
+
- alignment: (string) (default: '') options:
|
|
11
|
+
['start', 'end', 'center', 'baseline', 'stretch']
|
|
9
12
|
#}
|
|
10
13
|
|
|
11
14
|
{% set _items = items|default([]) %}
|
|
12
15
|
{% set _variant = variant|default('default-1-col') %}
|
|
13
16
|
{% set _title = title|default('') %}
|
|
17
|
+
{% set _title_tag = title_tag|default('h4') %}
|
|
18
|
+
{% set _alignment = alignment|default('') %}
|
|
14
19
|
{% set _link = link|default({}) %}
|
|
15
20
|
{% set _classes = ['bcl-listing', 'bcl-listing--' ~ _variant] %}
|
|
16
21
|
{% set _cards = [] %}
|
|
17
22
|
{% set _card_layout = {
|
|
18
23
|
type: 'grid',
|
|
19
|
-
|
|
20
|
-
|
|
24
|
+
responsiveness: 'md',
|
|
25
|
+
gutter: '4',
|
|
21
26
|
attributes: create_attribute(),
|
|
22
27
|
} %}
|
|
23
28
|
{% set attributes = attributes.addClass(_classes) %}
|
|
@@ -25,29 +30,45 @@
|
|
|
25
30
|
<div {{ attributes }}>
|
|
26
31
|
|
|
27
32
|
{% if _title is not empty %}
|
|
28
|
-
{% set _title_classes = 'fw-bold mb-
|
|
29
|
-
{
|
|
30
|
-
{
|
|
31
|
-
{
|
|
32
|
-
<h4 class="{{ _title_classes }}">
|
|
33
|
-
{{ _title }}
|
|
34
|
-
</h4>
|
|
33
|
+
{% set _title_classes = 'fw-bold mb-4' %}
|
|
34
|
+
<{{ _title_tag }} class="{{ _title_classes }}">
|
|
35
|
+
{{- _title -}}
|
|
36
|
+
</{{ _title_tag }}>
|
|
35
37
|
{% endif %}
|
|
36
38
|
|
|
37
39
|
{% if _items is not empty %}
|
|
38
40
|
{% for _card in _items %}
|
|
41
|
+
{% set _max_width = '' %}
|
|
42
|
+
{% set _image = {} %}
|
|
43
|
+
{% if _card.image is not empty %}
|
|
44
|
+
{% set _max_width = 'mw-listing-img' %}
|
|
45
|
+
{% set _image_classes = _card.image.classes ? _card.image.classes ~ " mb-3" : "mb-3" %}
|
|
46
|
+
{% set _card = _card|merge({image: _card.image|merge({
|
|
47
|
+
classes: _image_classes
|
|
48
|
+
})}) %}
|
|
49
|
+
{% elseif _card.date is not empty %}
|
|
50
|
+
{% set _max_width = 'mw-date mb-3' %}
|
|
51
|
+
{% endif %}
|
|
52
|
+
{% if _alignment is not empty %}
|
|
53
|
+
{% set _alignment = ' align-self-' ~ _alignment %}
|
|
54
|
+
{% endif %}
|
|
39
55
|
{% set _card_classes = [] %}
|
|
40
56
|
{% set _card_attributes = card.attributes ? card.attributes : create_attribute() %}
|
|
41
57
|
|
|
42
58
|
{% if _variant == 'default-1-col' %}
|
|
43
|
-
{% set _card_classes = [
|
|
59
|
+
{% set _card_classes = [
|
|
60
|
+
'listing-item',
|
|
61
|
+
'border-bottom',
|
|
62
|
+
'border-md-0',
|
|
63
|
+
'border-0',
|
|
64
|
+
] %}
|
|
44
65
|
{% set _card_attributes = _card_attributes.addClass(_card_classes) %}
|
|
45
66
|
{% set _card = _card|merge({
|
|
46
67
|
horizontal: true,
|
|
47
|
-
|
|
68
|
+
extra_classes_body: 'p-0 pb-md-0 pb-3',
|
|
48
69
|
horizontal_grid: {
|
|
49
|
-
left_col_classes: 'col-md-3 col-lg-2 rounded',
|
|
50
|
-
right_col_classes: 'col-md-9 col-lg-10',
|
|
70
|
+
left_col_classes: 'col-md-3 col-lg-2 rounded ' ~ _max_width ~ _alignment,
|
|
71
|
+
right_col_classes: 'col-md-9 col-lg-10' ~ _alignment,
|
|
51
72
|
},
|
|
52
73
|
attributes: _card_attributes,
|
|
53
74
|
}) %}
|
|
@@ -56,40 +77,38 @@
|
|
|
56
77
|
{% if _variant == 'default-2-col' or _variant == 'default-3-col' %}
|
|
57
78
|
{% set _card_classes = [
|
|
58
79
|
'listing-item',
|
|
59
|
-
'
|
|
60
|
-
'border-0'
|
|
80
|
+
'border-bottom',
|
|
81
|
+
'border-md-0',
|
|
82
|
+
'border-0',
|
|
61
83
|
] %}
|
|
62
84
|
{% set _card_attributes = _card_attributes.addClass(_card_classes) %}
|
|
63
85
|
{% set _card = _card|merge({
|
|
64
|
-
|
|
86
|
+
extra_classes_body: 'p-0 pb-md-0 pb-3',
|
|
65
87
|
horizontal: true,
|
|
66
88
|
attributes: _card_attributes,
|
|
67
89
|
}) %}
|
|
68
|
-
|
|
69
|
-
cols_extra_classes: "mt-4-5",
|
|
70
|
-
}) %}
|
|
90
|
+
|
|
71
91
|
{% if _variant == 'default-2-col' %}
|
|
72
92
|
{% set _card = _card|merge({
|
|
73
93
|
horizontal_grid: {
|
|
74
|
-
left_col_classes:
|
|
75
|
-
right_col_classes:
|
|
94
|
+
left_col_classes: 'col-xl-3 col-md-5 ' ~ _max_width ~ _alignment,
|
|
95
|
+
right_col_classes: 'col-xl-9 col-md-7' ~ _alignment,
|
|
76
96
|
},
|
|
77
97
|
}) %}
|
|
78
98
|
{% set _card_layout = _card_layout|merge({
|
|
79
|
-
gutter: 2,
|
|
80
99
|
responsive_columns: 2,
|
|
81
100
|
}) %}
|
|
82
101
|
{% else %}
|
|
83
102
|
{% set _card = _card|merge({
|
|
84
103
|
horizontal_grid: {
|
|
85
|
-
left_col_classes:
|
|
86
|
-
right_col_classes:
|
|
104
|
+
left_col_classes: 'col-lg-4 col-md-6 ' ~ _max_width ~ _alignment,
|
|
105
|
+
right_col_classes: 'col-lg-8 col-md-6' ~ _alignment,
|
|
87
106
|
},
|
|
88
107
|
}) %}
|
|
89
108
|
{% set _card_layout = _card_layout|merge({
|
|
90
|
-
|
|
109
|
+
attributes: _card_layout.attributes.addClass(['row-cols-md-2']),
|
|
91
110
|
responsive_columns: 3,
|
|
92
|
-
responsiveness: '
|
|
111
|
+
responsiveness: 'xl',
|
|
93
112
|
}) %}
|
|
94
113
|
{% endif %}
|
|
95
114
|
{% endif %}
|
|
@@ -98,32 +117,34 @@
|
|
|
98
117
|
{% set _card_classes = [
|
|
99
118
|
'listing-item--highlight',
|
|
100
119
|
'border-0',
|
|
101
|
-
'bg-
|
|
120
|
+
'bg-lighter'
|
|
102
121
|
] %}
|
|
103
122
|
{% set _card_attributes = _card_attributes.addClass(_card_classes) %}
|
|
104
123
|
{% set _card = _card|merge({
|
|
105
|
-
|
|
106
|
-
wrapper_class:
|
|
124
|
+
extra_classes_body: 'pb-4',
|
|
125
|
+
wrapper_class: 'col',
|
|
107
126
|
attributes: _card_attributes,
|
|
108
127
|
}) %}
|
|
109
128
|
{% set _card_layout = _card_layout|merge({
|
|
110
|
-
cols_extra_classes:
|
|
129
|
+
cols_extra_classes: 'mt-4-5',
|
|
111
130
|
}) %}
|
|
112
131
|
{% endif %}
|
|
113
132
|
|
|
114
133
|
{% if _variant == 'highlight-2-col' or variant == 'highlight-3-col' %}
|
|
115
134
|
{% set _card_classes = [
|
|
116
135
|
'listing-item--highlight',
|
|
117
|
-
'border-0',
|
|
136
|
+
'border-0',
|
|
137
|
+
'bg-lighter',
|
|
118
138
|
'h-100',
|
|
119
139
|
'rounded-2'
|
|
120
140
|
] %}
|
|
121
141
|
{% set _card_attributes = _card_attributes.addClass(_card_classes) %}
|
|
122
142
|
{% set _card = _card|merge({
|
|
123
|
-
wrapper_class:
|
|
124
|
-
|
|
143
|
+
wrapper_class: 'col',
|
|
144
|
+
extra_classes_body: 'pt-0',
|
|
125
145
|
attributes: _card_attributes,
|
|
126
146
|
}) %}
|
|
147
|
+
{% set _card_layout = _card_layout|merge({ gutter: '4' }) %}
|
|
127
148
|
{% if variant == 'highlight-2-col' %}
|
|
128
149
|
{% set _card_layout = _card_layout|merge({ responsive_columns: 2 }) %}
|
|
129
150
|
{% else %}
|
|
@@ -139,7 +160,7 @@
|
|
|
139
160
|
|
|
140
161
|
{% if _link is not empty %}
|
|
141
162
|
{% set _link_attributes = _link.attributes ? _link.attributes : create_attribute() %}
|
|
142
|
-
{% set _link_attributes = _link_attributes.addClass(['mt-3-5', 'd-block']) %}
|
|
163
|
+
{% set _link_attributes = _link_attributes.addClass(['mt-3-5', 'd-inline-block']) %}
|
|
143
164
|
{% if _variant == 'default-1-col' or _variant == 'default-2-col' or variant == 'default-3-col' %}
|
|
144
165
|
{% set _link_attributes = _link_attributes.addClass(['ps-3-5']) %}
|
|
145
166
|
{% endif %}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{% extends '@oe-bcl/bcl-base-templates/content-type.html.twig' %}
|
|
2
|
+
|
|
3
|
+
{% block sidebar %}
|
|
4
|
+
{% include '@oe-bcl/bcl-inpage-navigation/inpage-navigation.html.twig' with sidebar only %}
|
|
5
|
+
{% endblock %}
|
|
6
|
+
|
|
7
|
+
{% block content %}
|
|
8
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sit amet eleifend tortor. In facilisis eros vitae turpis ullamcorper,
|
|
9
|
+
a euismod dolor lacinia. Nam facilisis ipsum et sollicitudin imperdiet. Curabitur a efficitur ante. Phasellus non felis laoreet,
|
|
10
|
+
posuere ante ut, rhoncus tortor. Proin sed erat vel nisl luctus vulputate. Nunc tristique ultricies turpis, eu dictum enim ultrices vel.
|
|
11
|
+
Sed posuere at leo sit amet placerat. Sed dapibus viverra urna ac pretium. Praesent et laoreet erat, eget volutpat metus. Duis ac augue
|
|
12
|
+
sed tortor elementum dignissim in sit amet velit. Nullam nec viverra mi.
|
|
13
|
+
</p>
|
|
14
|
+
<h3 id="item-1" class="fw-bold my-4">Section 1</h3>
|
|
15
|
+
{% if featured_item %}
|
|
16
|
+
{% include '@oe-bcl/bcl-featured-media/featured-media.html.twig' with featured_item only %}
|
|
17
|
+
{% endif %}
|
|
18
|
+
|
|
19
|
+
{% if page_banner %}
|
|
20
|
+
{% include '@oe-bcl/bcl-banner/banner.html.twig' with page_banner only %}
|
|
21
|
+
{% endif %}
|
|
22
|
+
|
|
23
|
+
{% if listing %}
|
|
24
|
+
{% include '@oe-bcl/bcl-listing/listing.html.twig' with listing only %}
|
|
25
|
+
{% endif %}
|
|
26
|
+
|
|
27
|
+
<h3 id="item-2" class="fw-bold my-4">Section 2</h3>
|
|
28
|
+
|
|
29
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sit amet eleifend tortor. In facilisis eros vitae turpis ullamcorper,
|
|
30
|
+
a euismod dolor lacinia. Nam facilisis ipsum et sollicitudin imperdiet. Curabitur a efficitur ante. Phasellus non felis laoreet,
|
|
31
|
+
posuere ante ut, rhoncus tortor. Proin sed erat vel nisl luctus vulputate. Nunc tristique ultricies turpis, eu dictum enim ultrices vel.
|
|
32
|
+
Sed posuere at leo sit amet placerat. Sed dapibus viverra urna ac pretium. Praesent et laoreet erat, eget volutpat metus. Duis ac augue
|
|
33
|
+
sed tortor elementum dignissim in sit amet velit. Nullam nec viverra mi.
|
|
34
|
+
</p>
|
|
35
|
+
|
|
36
|
+
{% if blockquote %}
|
|
37
|
+
{% include '@oe-bcl/bcl-blockquote/blockquote.html.twig' with blockquote only %}
|
|
38
|
+
{% endif %}
|
|
39
|
+
{% if accordion %}
|
|
40
|
+
{% include '@oe-bcl/bcl-accordion/accordion.html.twig' with accordion only %}
|
|
41
|
+
{% endif %}
|
|
42
|
+
{% if timeline %}
|
|
43
|
+
{% include '@oe-bcl/bcl-timeline/timeline.html.twig' with timeline only %}
|
|
44
|
+
{% endif %}
|
|
45
|
+
|
|
46
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sit amet eleifend tortor. In facilisis eros vitae turpis ullamcorper,
|
|
47
|
+
a euismod dolor lacinia. Nam facilisis ipsum et sollicitudin imperdiet. Curabitur a efficitur ante. Phasellus non felis laoreet,
|
|
48
|
+
posuere ante ut, rhoncus tortor. Proin sed erat vel nisl luctus vulputate. Nunc tristique ultricies turpis, eu dictum enim ultrices vel.
|
|
49
|
+
Sed posuere at leo sit amet placerat. Sed dapibus viverra urna ac pretium. Praesent et laoreet erat, eget volutpat metus. Duis ac augue
|
|
50
|
+
sed tortor elementum dignissim in sit amet velit. Nullam nec viverra mi.
|
|
51
|
+
</p>
|
|
52
|
+
|
|
53
|
+
<h3 id="item-3" class="fw-bold my-4">Section 3</h3>
|
|
54
|
+
|
|
55
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sit amet eleifend tortor. In facilisis eros vitae turpis ullamcorper,
|
|
56
|
+
a euismod dolor lacinia. Nam facilisis ipsum et sollicitudin imperdiet. Curabitur a efficitur ante. Phasellus non felis laoreet,
|
|
57
|
+
posuere ante ut, rhoncus tortor. Proin sed erat vel nisl luctus vulputate. Nunc tristique ultricies turpis, eu dictum enim ultrices vel.
|
|
58
|
+
Sed posuere at leo sit amet placerat. Sed dapibus viverra urna ac pretium. Praesent et laoreet erat, eget volutpat metus. Duis ac augue
|
|
59
|
+
sed tortor elementum dignissim in sit amet velit. Nullam nec viverra mi.
|
|
60
|
+
</p>
|
|
61
|
+
|
|
62
|
+
{% include '@oe-bcl/bcl-file/file.html.twig' with files[0] only %}
|
|
63
|
+
{% include '@oe-bcl/bcl-file/file.html.twig' with files[1] only %}
|
|
64
|
+
{% endblock %}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{% spaceless %}
|
|
2
|
+
|
|
3
|
+
{# Parameters:
|
|
4
|
+
- activities (array of custom object) (default: [])
|
|
5
|
+
format: [
|
|
6
|
+
{
|
|
7
|
+
image: {
|
|
8
|
+
path: "",
|
|
9
|
+
alt: "",
|
|
10
|
+
class: "",
|
|
11
|
+
},
|
|
12
|
+
content: "",
|
|
13
|
+
meta: [
|
|
14
|
+
{
|
|
15
|
+
icon (icon object): {},
|
|
16
|
+
label: ""
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
...
|
|
21
|
+
]
|
|
22
|
+
#}
|
|
23
|
+
|
|
24
|
+
{% set _activities = activities|default([]) %}
|
|
25
|
+
|
|
26
|
+
<div
|
|
27
|
+
{{ attributes }}
|
|
28
|
+
>
|
|
29
|
+
{% if _activities is not empty and _activities is iterable %}
|
|
30
|
+
{% for _activity in _activities %}
|
|
31
|
+
<div class="d-flex bg-lighter py-3 px-3 px-md-3-5 mb-3-5">
|
|
32
|
+
{% if _activity.image is not empty %}
|
|
33
|
+
<div>
|
|
34
|
+
{{- _activity.image -}}
|
|
35
|
+
</div>
|
|
36
|
+
{% endif %}
|
|
37
|
+
{% if _activity.content is not empty and _activity.meta is not empty %}
|
|
38
|
+
<div>
|
|
39
|
+
{% if _activity.content is not empty %}
|
|
40
|
+
<p class="mb-2">{{- _activity.content -}}</p>
|
|
41
|
+
{% endif %}
|
|
42
|
+
{% if _activity.meta is not empty and _activity.meta is iterable %}
|
|
43
|
+
{% for _meta in _activity.meta %}
|
|
44
|
+
<p class="mb-0">
|
|
45
|
+
{% include '@oe-bcl/bcl-icon/icon.html.twig' with _meta.icon only %}
|
|
46
|
+
{{- _meta.label -}}
|
|
47
|
+
</p>
|
|
48
|
+
{% endfor %}
|
|
49
|
+
{% endif %}
|
|
50
|
+
</div>
|
|
51
|
+
{% endif %}
|
|
52
|
+
</div>
|
|
53
|
+
{% endfor %}
|
|
54
|
+
{% endif %}
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
{% endspaceless %}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
{% spaceless %}
|
|
2
|
+
|
|
3
|
+
{#
|
|
4
|
+
Parameters:
|
|
5
|
+
- "id": (integer) (default: random(1000))
|
|
6
|
+
- "toggle_collapsed": (string) (default: '')
|
|
7
|
+
- "toggle_expanded": (string) (default: '')
|
|
8
|
+
- "hide" (object): (default: undefined)
|
|
9
|
+
- "from": (integer) (default: items.length) Item index after which to start hiding timeline items
|
|
10
|
+
- "to": (integer) (default: items.length) Item index after which to resume displaying timeline items
|
|
11
|
+
- title: (string) (default: "")
|
|
12
|
+
- title_tag: (string) (default: "h4")
|
|
13
|
+
- "items" (array) (default: []):
|
|
14
|
+
- "id": (string) (default: '')
|
|
15
|
+
- "label": (string) (default: '')
|
|
16
|
+
- "title": (string) (default: '')
|
|
17
|
+
- "content": (block) (default: '')
|
|
18
|
+
- "icons_path" (string) (default: ''): file containing the svg icons
|
|
19
|
+
#}
|
|
20
|
+
|
|
21
|
+
{# Internal properties #}
|
|
22
|
+
|
|
23
|
+
{% set _id = id|default(random(1000)) %}
|
|
24
|
+
{% set _title = title|default('') %}
|
|
25
|
+
{% set _title_tag = title_tag|default('h4') %}
|
|
26
|
+
{% set _items = items|default([]) %}
|
|
27
|
+
{% set _icons_path = icons_path|default('') %}
|
|
28
|
+
{% set _toggle_collapsed = toggle_collapsed|default('') %}
|
|
29
|
+
{% set _toggle_expanded = toggle_expanded|default('') %}
|
|
30
|
+
{% set _hide_from = hide.from|default(items|length) %}
|
|
31
|
+
{% set _hide_to = hide.to|default(items|length) %}
|
|
32
|
+
{% set _toggler = false %}
|
|
33
|
+
|
|
34
|
+
{% set attributes = attributes.addClass('bcl-timeline') %}
|
|
35
|
+
|
|
36
|
+
{# Internal logic - Process properties #}
|
|
37
|
+
|
|
38
|
+
{% set _display_amount = items|length %}
|
|
39
|
+
{% set _hide_amount = 0 %}
|
|
40
|
+
{% set _bottom_amount = 0 %}
|
|
41
|
+
|
|
42
|
+
{% if _hide_from > 0 %}
|
|
43
|
+
{% if _hide_to > 0 %}
|
|
44
|
+
{% set _bottom_amount = _display_amount - _hide_to %}
|
|
45
|
+
{% else %}
|
|
46
|
+
{% set _bottom_amount = _hide_to|abs %}
|
|
47
|
+
{% endif %}
|
|
48
|
+
{% set _countbase = items|length - _bottom_amount %}
|
|
49
|
+
{% set _display_amount = _hide_from %}
|
|
50
|
+
{% set _hide_amount = _countbase - _display_amount %}
|
|
51
|
+
{% set _toggle_collapsed = _toggle_collapsed|replace({'%d': _hide_amount}) %}
|
|
52
|
+
{% set _toggle_expanded = _toggle_expanded|replace({'%d': _hide_amount}) %}
|
|
53
|
+
{% endif %}
|
|
54
|
+
|
|
55
|
+
{% if _title is not empty %}
|
|
56
|
+
{% set _title_classes = 'fw-bold mb-4' %}
|
|
57
|
+
<{{ _title_tag }} class="{{ _title_classes }}">
|
|
58
|
+
{{- _title -}}
|
|
59
|
+
</{{ _title_tag }}>
|
|
60
|
+
{% endif %}
|
|
61
|
+
|
|
62
|
+
{# Print the result #}
|
|
63
|
+
<ol {{ attributes }}>
|
|
64
|
+
{% if _items is not empty %}
|
|
65
|
+
{% for _item in _items %}
|
|
66
|
+
{# Decide on per item if it should display. #}
|
|
67
|
+
{% set extra_class = (loop.index > _display_amount and loop.revindex > _bottom_amount) ? "collapse collapse-#{_id}" %}
|
|
68
|
+
<li
|
|
69
|
+
{% if extra_class is not empty %}
|
|
70
|
+
class="{{ extra_class }}"
|
|
71
|
+
{% endif %}
|
|
72
|
+
{% if _item.id is defined and _item.id is not empty %}
|
|
73
|
+
id="{{ _item.id }}"
|
|
74
|
+
{% endif %}>
|
|
75
|
+
<h5>{{ _item.label }}</h5>
|
|
76
|
+
{% if _item.title is defined and _item.title is not empty %}
|
|
77
|
+
<h6>{{ _item.title }}</h6>
|
|
78
|
+
{% endif %}
|
|
79
|
+
{% if _item.content is defined and _item.content is not empty %}
|
|
80
|
+
<div>{{ _item.content }}</div>
|
|
81
|
+
{% endif %}
|
|
82
|
+
</li>
|
|
83
|
+
{# Display the show more button if required. #}
|
|
84
|
+
{% if (_hide_amount > 0 and loop.revindex == _bottom_amount + 1) or (_hide_amount > 0 and _hide_to == 0 and loop.revindex == 1) %}
|
|
85
|
+
{% set _toggler = true %}
|
|
86
|
+
<li class="bcl-timeline__item--toggle">
|
|
87
|
+
<button
|
|
88
|
+
aria-expanded="false"
|
|
89
|
+
data-bs-toggle="collapse"
|
|
90
|
+
data-bs-target=".collapse-{{ _id }}"
|
|
91
|
+
class="btn btn-light btn-md"
|
|
92
|
+
type="button"
|
|
93
|
+
>
|
|
94
|
+
<span class="label-collapsed">{{ _toggle_collapsed }}</span>
|
|
95
|
+
<span class="label-expanded">{{ _toggle_expanded }}</span>
|
|
96
|
+
{% include '@oe-bcl/bcl-icon/icon.html.twig' with {
|
|
97
|
+
name: 'chevron-down',
|
|
98
|
+
size: 'fluid',
|
|
99
|
+
path: _icons_path,
|
|
100
|
+
attributes: create_attribute().addClass('ms-2-5'),
|
|
101
|
+
} only %}
|
|
102
|
+
</button>
|
|
103
|
+
</li>
|
|
104
|
+
{% endif %}
|
|
105
|
+
{% endfor %}
|
|
106
|
+
{% endif %}
|
|
107
|
+
</ol>
|
|
108
|
+
|
|
109
|
+
{% endspaceless %}
|
|
@@ -93,7 +93,9 @@
|
|
|
93
93
|
{% endif %}
|
|
94
94
|
{% if _with_body_wrapper %}
|
|
95
95
|
<div
|
|
96
|
-
|
|
96
|
+
{% if _body_wrapper_classes %}
|
|
97
|
+
class="{{ _body_wrapper_classes }}"
|
|
98
|
+
{% endif %}
|
|
97
99
|
>
|
|
98
100
|
{% endif %}
|
|
99
101
|
<div class="toast-body">
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{% extends "@oe-bcl/bcl-base-templates/content-type.html.twig" %}
|
|
2
|
+
|
|
3
|
+
{% block content %}
|
|
4
|
+
<h2 class="fw-bold mb-3 mb-md-5 d-inline-block">Edit my profile</h2>
|
|
5
|
+
<div class="mb-4 float-lg-end">
|
|
6
|
+
{% include '@oe-bcl/bcl-link/link.html.twig' with profile_back only %}
|
|
7
|
+
</div>
|
|
8
|
+
{% include "@oe-bcl/bcl-navigation/navigation.html.twig" with navigation only %}
|
|
9
|
+
<div class="tab-content">
|
|
10
|
+
<div class="tab-pane fade show active" id="profile" role="tabpanel" aria-labelledby="profile-tab">
|
|
11
|
+
<div class="row">
|
|
12
|
+
<div class="offset-3 col-6 offset-lg-0 col-lg-2 mt-4 pt-3">
|
|
13
|
+
<img src="https://picsum.photos/seed/1002/400/400" class="img-fluid" alt="profile-image">
|
|
14
|
+
<div class="mt-3 d-grid">
|
|
15
|
+
{% include '@oe-bcl/bcl-form-input/form-input.html.twig' with image_upload_input only %}
|
|
16
|
+
{% include '@oe-bcl/bcl-button/button.html.twig' with remove_image_button only %}
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="col-12 col-lg-10">
|
|
20
|
+
<h3 class="fw-bold mt-4 mb-3 pt-3">Profile information</h3>
|
|
21
|
+
{% include '@oe-bcl/bcl-form/form.html.twig' with profile_information only %}
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="tab-pane fade" id="privacy" role="tabpanel" aria-labelledby="privacy-tab">
|
|
26
|
+
<h3 class="fw-bold pt-2 mt-4 mb-4">Privacy settings</h3>
|
|
27
|
+
{% include '@oe-bcl/bcl-form/form.html.twig' with privacy_settings only %}
|
|
28
|
+
<h3 class="fw-bold my-4">Public profile contents</h3>
|
|
29
|
+
<p class="mb-0">Select what information should be displayed to your profile.</p>
|
|
30
|
+
<p class="mb-4">Only people who have access to your data will be able to consult these informations.</p>
|
|
31
|
+
{% include '@oe-bcl/bcl-form/form.html.twig' with public_profile_content only %}
|
|
32
|
+
<h3 class="fw-bold my-4">Delete account</h3>
|
|
33
|
+
<p class="mb-0">Account deletion is permanent and cannot be undone.</p>
|
|
34
|
+
<p>If you delete your account, all content created by you (comments, articles, ...) will be anonymized.</p>
|
|
35
|
+
{% include '@oe-bcl/bcl-form/form.html.twig' with delete_account only %}
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
{% endblock %}
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
</div>
|
|
27
27
|
<div class="flex-grow-1 ms-3">
|
|
28
28
|
{% if name.link is not empty %}
|
|
29
|
-
<a href="{{ name.link }}" class="fs-5 text-
|
|
29
|
+
<a href="{{ name.link }}" class="fs-5 text-underline-hover mb-0">{{ name.text }}</a>
|
|
30
30
|
{% else %}
|
|
31
|
-
<p class="fs-5
|
|
31
|
+
<p class="fs-5 mb-0 text-primary">{{ name.text }}</p>
|
|
32
32
|
{% endif %}
|
|
33
33
|
<div class="d-flex flex-wrap">
|
|
34
34
|
{% for info in infos %}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{% extends "@oe-bcl/bcl-base-templates/content-type.html.twig" %}
|
|
2
|
+
|
|
3
|
+
{% block content %}
|
|
4
|
+
<div class="row">
|
|
5
|
+
<div class="col-12 col-md-10">
|
|
6
|
+
{% include '@oe-bcl/bcl-card/card.html.twig' with user only %}
|
|
7
|
+
</div>
|
|
8
|
+
<div class="col-12 col-md-2 text-end">
|
|
9
|
+
<div class="d-grid d-md-block">
|
|
10
|
+
{% include '@oe-bcl/bcl-button/button.html.twig' with edit_button only %}
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="my-3">
|
|
15
|
+
<h4 class="fw-bold mb-4">Personal information</h4>
|
|
16
|
+
<div class="row">
|
|
17
|
+
<div class="col-12 col-md-6">
|
|
18
|
+
<div class="row">
|
|
19
|
+
<div class="col-12 col-md-4">
|
|
20
|
+
<p class="mb-0">Gender:</p>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="col-12 col-md-8">
|
|
23
|
+
<p>Male</p>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
<div class="row">
|
|
27
|
+
<div class="col-12 col-md-4">
|
|
28
|
+
<p class="mb-0">Nationality:</p>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="col-12 col-md-8">
|
|
31
|
+
<p>German</p>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="row">
|
|
35
|
+
<div class="col-12 col-md-4">
|
|
36
|
+
<p class="mb-0">Date of birth:</p>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="col-12 col-md-8">
|
|
39
|
+
<p>22/01/1972</p>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<div class="col-12 col-md-6">
|
|
44
|
+
<div class="row">
|
|
45
|
+
<div class="col-12 col-md-4">
|
|
46
|
+
<p class="mb-0">Country:</p>
|
|
47
|
+
</div>
|
|
48
|
+
<div class="col-12 col-md-8">
|
|
49
|
+
<p>Germany</p>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="row">
|
|
53
|
+
<div class="col-12 col-md-4">
|
|
54
|
+
<p class="mb-0">City:</p>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="col-12 col-md-8">
|
|
57
|
+
<p>Düsseldorf</p>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="my-3">
|
|
64
|
+
<h4 class="fw-bold mb-4">Professional information</h4>
|
|
65
|
+
<div class="row">
|
|
66
|
+
<div class="col-12 col-md-6">
|
|
67
|
+
<div class="row">
|
|
68
|
+
<div class="col-12 col-md-4">
|
|
69
|
+
<p class="mb-0">Organisation:</p>
|
|
70
|
+
</div>
|
|
71
|
+
<div class="col-12 col-md-8">
|
|
72
|
+
<p>DG Test</p>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="row">
|
|
76
|
+
<div class="col-12 col-md-4">
|
|
77
|
+
<p class="mb-0">Position:</p>
|
|
78
|
+
</div>
|
|
79
|
+
<div class="col-12 col-md-8">
|
|
80
|
+
<p>Director</p>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="col-12 col-md-6">
|
|
85
|
+
<div class="row">
|
|
86
|
+
<div class="col-12 col-md-4">
|
|
87
|
+
<p class="mb-0">Working languages:</p>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="col-12 col-md-8">
|
|
90
|
+
<p>English, German</p>
|
|
91
|
+
</div>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
{% endblock %}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
{% spaceless %}
|
|
2
|
-
|
|
3
|
-
{% if data.header is defined %}
|
|
4
|
-
<header>
|
|
5
|
-
{% include '@oe-bcl/bcl-header/header.html.twig' with data.header only %}
|
|
6
|
-
</header>
|
|
7
|
-
{% endif %}
|
|
8
|
-
<main>
|
|
9
|
-
<div class="container mt-5">
|
|
10
|
-
<div class="row">
|
|
11
|
-
<div class="col-md-3">
|
|
12
|
-
{% include '@oe-bcl/bcl-search/search-offcanvas.html.twig' with data.offcanvas only %}
|
|
13
|
-
</div>
|
|
14
|
-
<div class="col-12 col-lg-9">
|
|
15
|
-
{% include '@oe-bcl/bcl-button/button.html.twig' with data.filter_button only %}
|
|
16
|
-
<div class="mb-4 clearfix">
|
|
17
|
-
<div class="float-end d-none d-md-flex align-items-baseline">
|
|
18
|
-
{% include '@oe-bcl/bcl-select/select.html.twig' with data.sort_select|merge({
|
|
19
|
-
extra_classes: "w-auto d-inline-block ms-2"
|
|
20
|
-
}) only %}
|
|
21
|
-
</div>
|
|
22
|
-
<h4 class="mb-4">Search results (18)</h4>
|
|
23
|
-
{% if data.badges is not empty and data.badges is iterable %}
|
|
24
|
-
{% for badge in data.badges %}
|
|
25
|
-
{% include '@oe-bcl/bcl-badge/badge.html.twig' with badge only %}
|
|
26
|
-
{% endfor %}
|
|
27
|
-
{% endif %}
|
|
28
|
-
</div>
|
|
29
|
-
<hr class="d-none d-md-block mt-4 mb-4-75"/>
|
|
30
|
-
<div class="d-md-none">
|
|
31
|
-
{% include '@oe-bcl/bcl-select/select.html.twig' with data.sort_select|merge({
|
|
32
|
-
extra_classes: "mb-4"
|
|
33
|
-
}) only %}
|
|
34
|
-
</div>
|
|
35
|
-
{% if data.cards is not empty and data.cards is iterable %}
|
|
36
|
-
{% for card in data.cards %}
|
|
37
|
-
{% include '@oe-bcl/bcl-card/card.html.twig' with card only %}
|
|
38
|
-
<hr class="d-md-none mb-4-5">
|
|
39
|
-
{% endfor %}
|
|
40
|
-
{% endif %}
|
|
41
|
-
{% include '@oe-bcl/bcl-pagination/pagination.html.twig' with data.pagination only %}
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
</div>
|
|
45
|
-
</main>
|
|
46
|
-
{% if data.footer is defined %}
|
|
47
|
-
<footer>
|
|
48
|
-
{% include '@oe-bcl/bcl-footer/footer.html.twig' with data.footer only %}
|
|
49
|
-
</footer>
|
|
50
|
-
{% endif %}
|
|
51
|
-
|
|
52
|
-
{% endspaceless %}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{% extends "@oe-bcl/bcl-navigation/navigation.html.twig" %}
|
|
2
|
-
|
|
3
|
-
{% block contents %}
|
|
4
|
-
<div class="tab-pane fade show active" id="profile" role="tabpanel" aria-labelledby="profile-tab">
|
|
5
|
-
<div class="row">
|
|
6
|
-
<div class="offset-3 col-6 offset-lg-0 col-lg-2 mt-4 pt-3">
|
|
7
|
-
<img src="https://picsum.photos/seed/1002/400/400" class="img-fluid" alt="profile-image">
|
|
8
|
-
<div class="mt-3 d-grid">
|
|
9
|
-
{% include '@oe-bcl/bcl-form-input/form-input.html.twig' with imageUploadInput only %}
|
|
10
|
-
{% include '@oe-bcl/bcl-button/button.html.twig' with removeImageButton only %}
|
|
11
|
-
</div>
|
|
12
|
-
</div>
|
|
13
|
-
<div class="col-12 col-lg-10">
|
|
14
|
-
<h3 class="fw-bold mt-4 mb-3 pt-3">Profile information</h3>
|
|
15
|
-
{% include '@oe-bcl/bcl-form/form.html.twig' with profileInformation only %}
|
|
16
|
-
</div>
|
|
17
|
-
</div>
|
|
18
|
-
</div>
|
|
19
|
-
<div class="tab-pane fade" id="privacy" role="tabpanel" aria-labelledby="privacy-tab">
|
|
20
|
-
<h3 class="fw-bold pt-2 mt-4 mb-4">Privacy settings</h3>
|
|
21
|
-
{% include '@oe-bcl/bcl-form/form.html.twig' with privacySettings only %}
|
|
22
|
-
<h3 class="fw-bold my-4">Public profile contents</h3>
|
|
23
|
-
<p class="mb-0">Select what information should be displayed to your profile.</p>
|
|
24
|
-
<p class="mb-4">Only people who have access to your data will be able to consult these informations.</p>
|
|
25
|
-
{% include '@oe-bcl/bcl-form/form.html.twig' with publicProfileContent only %}
|
|
26
|
-
<h3 class="fw-bold my-4">Delete account</h3>
|
|
27
|
-
<p class="mb-0">Account deletion is permanent and cannot be undone.</p>
|
|
28
|
-
<p>If you delete your account, all content created by you (comments, articles, ...) will be anonymized.</p>
|
|
29
|
-
{% include '@oe-bcl/bcl-form/form.html.twig' with deleteAccount only %}
|
|
30
|
-
</div>
|
|
31
|
-
|
|
32
|
-
{% endblock %}
|