@openeuropa/bcl-theme-default 0.15.0 → 0.16.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/bcl-builder.config.js +4 -0
- package/css/oe-bcl-default.css +152 -29
- 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/icons/icons-flag.svg +1 -0
- package/package.json +6 -5
- package/src/scss/_badge.scss +15 -0
- package/src/scss/_bcl-offcanvas.scss +4 -4
- package/src/scss/_footer.scss +16 -7
- package/src/scss/_header.scss +68 -18
- package/src/scss/_inpage-navigation.scss +1 -1
- package/src/scss/_multiselect.scss +3 -2
- package/src/scss/_variables.scss +11 -6
- package/templates/bcl-badge/badge.html.twig +9 -1
- package/templates/bcl-base-templates/content-type.html.twig +35 -10
- package/templates/bcl-base-templates/listing-page.html.twig +24 -21
- package/templates/bcl-breadcrumb/breadcrumb.html.twig +2 -2
- package/templates/bcl-card/card.html.twig +18 -18
- package/templates/bcl-footer/footer.html.twig +3 -1
- package/templates/bcl-group/group.html.twig +6 -4
- package/templates/bcl-header/header.html.twig +13 -4
- package/templates/bcl-inpage-navigation/inpage-navigation.html.twig +1 -1
- package/templates/bcl-links-block/links-block.html.twig +2 -2
- package/templates/bcl-listing/listing.html.twig +21 -13
- package/templates/bcl-navbar/navbar.html.twig +22 -20
- package/templates/bcl-navigation/navigation.html.twig +135 -110
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@openeuropa/bcl-theme-default",
|
|
3
3
|
"author": "European Commission",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.16.0",
|
|
6
6
|
"description": "OE - BCL theme default",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "npm-run-all build:*",
|
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
"prepublish": "npm run build"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
|
-
"@
|
|
17
|
-
"@openeuropa/bcl-
|
|
18
|
-
"@openeuropa/bcl-
|
|
16
|
+
"@ecl/resources-flag-icons": "3.1.3",
|
|
17
|
+
"@openeuropa/bcl-bootstrap": "^0.16.0",
|
|
18
|
+
"@openeuropa/bcl-builder": "^0.16.0",
|
|
19
|
+
"@openeuropa/bcl-twig-templates": "^0.16.0",
|
|
19
20
|
"copyfiles": "2.4.1",
|
|
20
21
|
"cross-env": "7.0.3",
|
|
21
22
|
"glob": "7.2.0",
|
|
@@ -39,5 +40,5 @@
|
|
|
39
40
|
"design-system",
|
|
40
41
|
"twig"
|
|
41
42
|
],
|
|
42
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "39a52d25c36789a0c4712b0f6e55cbc5cbbedcb5"
|
|
43
44
|
}
|
package/src/scss/_badge.scss
CHANGED
|
@@ -83,3 +83,18 @@ a {
|
|
|
83
83
|
font-size: 0.75em; // Default size in Bootstrap
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
|
+
|
|
87
|
+
@each $color, $value in $theme-colors {
|
|
88
|
+
.badge-outline-#{$color} {
|
|
89
|
+
border: $border-width solid $value;
|
|
90
|
+
color: $value !important;
|
|
91
|
+
background: transparent !important;
|
|
92
|
+
.icon--close {
|
|
93
|
+
background: $value;
|
|
94
|
+
color: $white;
|
|
95
|
+
@if $color == light {
|
|
96
|
+
color: $black;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
@media screen and (min-width: 992px) {
|
|
1
|
+
@include media-breakpoint-up(lg) {
|
|
4
2
|
.bcl-offcanvas {
|
|
5
3
|
position: relative;
|
|
6
4
|
width: auto;
|
|
7
|
-
visibility: visible !important;
|
|
5
|
+
visibility: visible !important; // stylelint-disable-line declaration-no-important
|
|
8
6
|
border: none;
|
|
9
7
|
transform: none;
|
|
8
|
+
|
|
10
9
|
.offcanvas-body {
|
|
11
10
|
overflow: visible;
|
|
12
11
|
}
|
|
13
12
|
}
|
|
13
|
+
|
|
14
14
|
.bcl-offcanvas + .offcanvas-backdrop {
|
|
15
15
|
display: none;
|
|
16
16
|
}
|
package/src/scss/_footer.scss
CHANGED
|
@@ -2,17 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
$footer-border-color: #adb5bd !default;
|
|
4
4
|
|
|
5
|
-
.bcl-footer {
|
|
6
|
-
background: $
|
|
5
|
+
.bcl-footer--neutral {
|
|
6
|
+
background: $gray-600;
|
|
7
|
+
a,
|
|
8
|
+
p {
|
|
9
|
+
color: $white;
|
|
10
|
+
}
|
|
7
11
|
}
|
|
8
12
|
|
|
9
|
-
.bcl-footer
|
|
10
|
-
|
|
13
|
+
.bcl-footer--eu,
|
|
14
|
+
.eu__footer {
|
|
15
|
+
background: $eu-light-blue;
|
|
11
16
|
}
|
|
12
17
|
|
|
13
|
-
.bcl-footer
|
|
14
|
-
.
|
|
15
|
-
|
|
18
|
+
.bcl-footer--ec,
|
|
19
|
+
.ec__footer {
|
|
20
|
+
background: $ec-blue;
|
|
21
|
+
a,
|
|
22
|
+
p {
|
|
23
|
+
color: $white;
|
|
24
|
+
}
|
|
16
25
|
}
|
|
17
26
|
|
|
18
27
|
.bcl-footer *[class*="border-"] {
|
package/src/scss/_header.scss
CHANGED
|
@@ -21,14 +21,11 @@ $header-link-active-background: #003776 !default;
|
|
|
21
21
|
padding-bottom: map-get($spacers, 3);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
.bcl-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
.ec__header .bcl-header__project,
|
|
30
|
-
.ec__header .bcl-header__navbar {
|
|
31
|
-
background: $header-background;
|
|
24
|
+
.bcl-header--neutral {
|
|
25
|
+
.bcl-header__project,
|
|
26
|
+
.bcl-header__navbar {
|
|
27
|
+
background: $gray-600;
|
|
28
|
+
}
|
|
32
29
|
}
|
|
33
30
|
|
|
34
31
|
.bcl-navbar-header {
|
|
@@ -39,8 +36,20 @@ $header-link-active-background: #003776 !default;
|
|
|
39
36
|
color: $eu-blue;
|
|
40
37
|
}
|
|
41
38
|
|
|
42
|
-
.bcl-header
|
|
43
|
-
|
|
39
|
+
.bcl-header--ec,
|
|
40
|
+
.ec__header {
|
|
41
|
+
.bcl-header__project,
|
|
42
|
+
.bcl-header__navbar {
|
|
43
|
+
background: $header-background;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.nav-link {
|
|
47
|
+
color: $ec-blue;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.bcl-header:not(.bcl-header--neutral) .bcl-header__project {
|
|
52
|
+
padding-top: map-get($spacers, 3);
|
|
44
53
|
}
|
|
45
54
|
|
|
46
55
|
.bcl-header__navbar .navbar-nav .nav-link {
|
|
@@ -77,7 +86,7 @@ $header-link-active-background: #003776 !default;
|
|
|
77
86
|
transform: translate(-11px, 5px);
|
|
78
87
|
}
|
|
79
88
|
|
|
80
|
-
.bcl-header__project
|
|
89
|
+
.bcl-header__project .bcl-header__site-name {
|
|
81
90
|
display: inline-block;
|
|
82
91
|
margin-bottom: 0;
|
|
83
92
|
font-size: 1.3rem;
|
|
@@ -97,6 +106,12 @@ $header-link-active-background: #003776 !default;
|
|
|
97
106
|
background: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
|
|
98
107
|
}
|
|
99
108
|
|
|
109
|
+
@media only screen and (max-width: 400px) {
|
|
110
|
+
.bcl-header--neutral .bcl-header__project-logo {
|
|
111
|
+
display: none;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
100
115
|
@include media-breakpoint-down(sm) {
|
|
101
116
|
.bcl-header .navbar:first-child .nav-link {
|
|
102
117
|
padding: 0.5rem 0.4rem;
|
|
@@ -104,48 +119,83 @@ $header-link-active-background: #003776 !default;
|
|
|
104
119
|
}
|
|
105
120
|
|
|
106
121
|
@include media-breakpoint-up(md) {
|
|
107
|
-
.
|
|
108
|
-
|
|
122
|
+
.bcl-header--ec,
|
|
123
|
+
.ec__header {
|
|
124
|
+
.navbar-brand img {
|
|
125
|
+
width: 180px;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
@include media-breakpoint-down(lg) {
|
|
131
|
+
.bcl-header__project {
|
|
132
|
+
min-height: map-get($spacers, 5);
|
|
133
|
+
padding-top: map-get($spacers, 3);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.bcl-header nav + nav {
|
|
137
|
+
min-height: map-get($spacers, 5);
|
|
138
|
+
|
|
139
|
+
.navbar-toggler {
|
|
140
|
+
position: static;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.container {
|
|
144
|
+
justify-content: right;
|
|
145
|
+
}
|
|
109
146
|
}
|
|
110
147
|
}
|
|
111
148
|
|
|
112
149
|
@include media-breakpoint-up(lg) {
|
|
113
150
|
.bcl-header__project.light,
|
|
151
|
+
.bcl-header--ec .bcl-header__project.light,
|
|
114
152
|
.ec__header .bcl-header__project.light {
|
|
115
153
|
background: $white;
|
|
116
154
|
}
|
|
117
|
-
|
|
155
|
+
|
|
156
|
+
.bcl-header__site-name {
|
|
118
157
|
padding-left: map-get($spacers, 4);
|
|
119
158
|
font-weight: 500;
|
|
120
159
|
}
|
|
121
|
-
|
|
160
|
+
|
|
161
|
+
.bcl-header__project.light .bcl-header__site-name {
|
|
122
162
|
color: $black;
|
|
123
163
|
}
|
|
164
|
+
|
|
124
165
|
.bcl-header .navbar-toggler {
|
|
125
166
|
position: relative;
|
|
126
167
|
right: 0;
|
|
127
168
|
bottom: 0;
|
|
128
169
|
}
|
|
170
|
+
|
|
129
171
|
.bcl-header .navbar-brand img {
|
|
130
172
|
width: auto;
|
|
131
173
|
}
|
|
174
|
+
|
|
132
175
|
.bcl-header__navbar .navbar-collapse {
|
|
133
176
|
padding-bottom: 0;
|
|
134
177
|
}
|
|
178
|
+
|
|
135
179
|
.bcl-header__navbar .nav-link.active {
|
|
136
180
|
padding-top: $spacer;
|
|
137
181
|
padding-bottom: $spacer;
|
|
138
182
|
margin-top: -#{map-get($spacers, 2)};
|
|
139
183
|
margin-bottom: -#{map-get($spacers, 2)};
|
|
140
184
|
}
|
|
185
|
+
|
|
141
186
|
.bcl-header__navbar .dropdown-menu {
|
|
142
187
|
z-index: 1050; // Make sure dropdown overlaps the search offcanvas
|
|
143
188
|
}
|
|
144
|
-
|
|
189
|
+
|
|
190
|
+
.bcl-header:not(.bcl-header--neutral) .bcl-header__project {
|
|
145
191
|
padding-bottom: map-get($spacers, 3);
|
|
146
192
|
}
|
|
147
|
-
|
|
148
|
-
|
|
193
|
+
|
|
194
|
+
.bcl-header--ec,
|
|
195
|
+
.ec__header {
|
|
196
|
+
.navbar-brand img {
|
|
197
|
+
width: 285px;
|
|
198
|
+
}
|
|
149
199
|
}
|
|
150
200
|
}
|
|
151
201
|
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
no-descending-specificity,
|
|
4
4
|
function-calc-no-unspaced-operator,
|
|
5
5
|
*/
|
|
6
|
-
@use "slim-select/src/slim-select/slimselect.scss" with
|
|
7
|
-
|
|
6
|
+
@use "slim-select/src/slim-select/slimselect.scss" with (
|
|
7
|
+
$primary-color: $primary
|
|
8
|
+
);
|
|
8
9
|
|
|
9
10
|
// Multiselect Spacers
|
|
10
11
|
$multiselect-spacers: (
|
package/src/scss/_variables.scss
CHANGED
|
@@ -61,12 +61,10 @@ $spacers-extended: (
|
|
|
61
61
|
$spacers: map-merge($spacers, $spacers-extended);
|
|
62
62
|
$gutters: $spacers;
|
|
63
63
|
|
|
64
|
-
//
|
|
65
|
-
$
|
|
66
|
-
$
|
|
67
|
-
$
|
|
68
|
-
$form-select-height: 3rem !default;
|
|
69
|
-
$form-select-height-md: 2.375rem !default;
|
|
64
|
+
// accordion
|
|
65
|
+
$accordion-button-active-color: $accordion-button-color;
|
|
66
|
+
$accordion-button-active-bg: $lighter;
|
|
67
|
+
$accordion-border-color: $gray-300;
|
|
70
68
|
|
|
71
69
|
// Badges
|
|
72
70
|
$badge-font-weight: $font-weight-normal; // 400
|
|
@@ -75,3 +73,10 @@ $badge-font-size-desktop: 1rem; // 16px
|
|
|
75
73
|
|
|
76
74
|
// banners
|
|
77
75
|
$banner-content-border-color: $primary;
|
|
76
|
+
|
|
77
|
+
// Forms
|
|
78
|
+
$form-check-input-size-lg: $form-check-input-width + 0.3em !default;
|
|
79
|
+
$form-font-size: $font-size-base !default;
|
|
80
|
+
$form-font-size-lg: $font-size-base + 0.25rem !default;
|
|
81
|
+
$form-select-height: 3rem !default;
|
|
82
|
+
$form-select-height-md: 2.375rem !default;
|
|
@@ -8,13 +8,15 @@
|
|
|
8
8
|
- dismissible (boolean) (default: false)
|
|
9
9
|
- assistive_text (string) (default: '')
|
|
10
10
|
- rounded_pill (boolean) (default: false)
|
|
11
|
+
- outline (boolean) (default: false)
|
|
11
12
|
- icons_path (string) (default: '')
|
|
12
13
|
#}
|
|
13
14
|
|
|
14
15
|
{% set _rounded_pill = rounded_pill|default(false) %}
|
|
16
|
+
{% set _outline = outline|default(false) %}
|
|
15
17
|
{% set _background = background|default('primary') %}
|
|
16
18
|
{% set _label = label|default('') %}
|
|
17
|
-
{% set _classes = ['badge'
|
|
19
|
+
{% set _classes = ['badge'] %}
|
|
18
20
|
{% set _url = url|default('') %}
|
|
19
21
|
{% set _icons_path = icons_path|default('') %}
|
|
20
22
|
{% set _title = title|default(_label) %}
|
|
@@ -25,6 +27,12 @@
|
|
|
25
27
|
{% set _classes = _classes|merge(['rounded-pill']) %}
|
|
26
28
|
{% endif %}
|
|
27
29
|
|
|
30
|
+
{% if _outline %}
|
|
31
|
+
{% set _classes = _classes|merge([ 'badge-outline-' ~ _background]) %}
|
|
32
|
+
{% else %}
|
|
33
|
+
{% set _classes = _classes|merge([ 'bg-' ~ _background]) %}
|
|
34
|
+
{% endif %}
|
|
35
|
+
|
|
28
36
|
{% if _background in ['light', 'warning', 'info'] %}
|
|
29
37
|
{% set _classes = _classes|merge(['text-dark']) %}
|
|
30
38
|
{% endif %}
|
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
- with_footer (boolean) (default: false)
|
|
7
7
|
- with_banner (boolean) (default: false)
|
|
8
8
|
- with_sidebar (boolean) (default: false)
|
|
9
|
-
-
|
|
9
|
+
- sidebar_size (string) (default: 'normal')
|
|
10
|
+
options: ['normal', 'large']
|
|
11
|
+
- landing (boolean) (default: false)
|
|
10
12
|
- content_type (string) (default: '')
|
|
11
13
|
- attributes (drupal attrs)
|
|
12
14
|
|
|
@@ -25,15 +27,34 @@
|
|
|
25
27
|
{% set _with_footer = footer|default(false) %}
|
|
26
28
|
{% set _with_banner = banner|default(false) %}
|
|
27
29
|
{% set _with_sidebar = sidebar|default(false) %}
|
|
28
|
-
{% set
|
|
30
|
+
{% set _sidebar_size = sidebar_size|default('normal') %}
|
|
31
|
+
{% set _landing = landing|default(false) %}
|
|
29
32
|
{% set _content_type = content_type|default('') %}
|
|
30
33
|
{% set _classes = ['bcl-node-type'] %}
|
|
31
|
-
{% set _col_classes = { left: 'col-md-3', right: 'col-12 col-md-9' } %}
|
|
32
34
|
|
|
33
|
-
{% if
|
|
34
|
-
{% set _col_classes = {
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
{% if _with_sidebar %}
|
|
36
|
+
{% set _col_classes = {
|
|
37
|
+
left: [
|
|
38
|
+
'col-12',
|
|
39
|
+
],
|
|
40
|
+
right: [
|
|
41
|
+
'col-12',
|
|
42
|
+
],
|
|
43
|
+
} %}
|
|
44
|
+
|
|
45
|
+
{% if _sidebar_size == 'normal' %}
|
|
46
|
+
{% set _col_classes = _col_classes|merge({
|
|
47
|
+
left: _col_classes.left|merge(['col-lg-3']),
|
|
48
|
+
right: _col_classes.right|merge(['col-lg-9', 'col-xxl-8']),
|
|
49
|
+
}) %}
|
|
50
|
+
{% endif %}
|
|
51
|
+
|
|
52
|
+
{% if _sidebar_size == 'large' %}
|
|
53
|
+
{% set _col_classes = _col_classes|merge({
|
|
54
|
+
left: _col_classes.left|merge(['col-lg-4']),
|
|
55
|
+
right: _col_classes.right|merge(['col-lg-8']),
|
|
56
|
+
}) %}
|
|
57
|
+
{% endif %}
|
|
37
58
|
{% endif %}
|
|
38
59
|
|
|
39
60
|
{% if _content_type is not empty %}
|
|
@@ -54,12 +75,16 @@
|
|
|
54
75
|
<div class="container mt-md-4-75 mt-4">
|
|
55
76
|
<div class="row">
|
|
56
77
|
{% if _with_sidebar %}
|
|
57
|
-
<div class="{{ _col_classes.left }}">
|
|
78
|
+
<div class="{{ _col_classes.left|join(' ') }}">
|
|
58
79
|
{% block sidebar %}{% endblock %}
|
|
59
80
|
</div>
|
|
60
|
-
<div class="{{ _col_classes.right }}">
|
|
81
|
+
<div class="{{ _col_classes.right|join(' ') }}">
|
|
61
82
|
{% else %}
|
|
62
|
-
|
|
83
|
+
{% if _landing %}
|
|
84
|
+
<div class="col-12">
|
|
85
|
+
{% else %}
|
|
86
|
+
<div class="col-12 col-lg-10 col-xl-9 col-xxl-8">
|
|
87
|
+
{% endif %}
|
|
63
88
|
{% endif %}
|
|
64
89
|
{% block content_top %}
|
|
65
90
|
{{ content_top }}
|
|
@@ -16,30 +16,33 @@
|
|
|
16
16
|
|
|
17
17
|
{% block content_top %}
|
|
18
18
|
{% include '@oe-bcl/bcl-button/button.html.twig' with filter_button only %}
|
|
19
|
-
<div class="
|
|
20
|
-
<div class="
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
<div class="row">
|
|
20
|
+
<div class="col-md-6 col-lg-8">
|
|
21
|
+
<h4>
|
|
22
|
+
<span class="text-capitalize">
|
|
23
|
+
{{- _page_title -}}
|
|
24
|
+
</span>
|
|
25
|
+
({{ listing.items.length }})
|
|
26
|
+
</h4>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="col-md-12 order-md-2 mt-3 mt-md-1">
|
|
29
|
+
{% if badges is not empty and badges is iterable %}
|
|
30
|
+
{% for badge in badges %}
|
|
31
|
+
{% include '@oe-bcl/bcl-badge/badge.html.twig' with badge|merge({
|
|
32
|
+
attributes: create_attribute().addClass(["mb-2", "me-2"])
|
|
33
|
+
}) only %}
|
|
34
|
+
{% endfor %}
|
|
35
|
+
{% endif %}
|
|
36
|
+
</div>
|
|
37
|
+
<div class="col-md-6 col-lg-4 mt-3 mt-md-0">
|
|
38
|
+
<div class="float-md-end d-md-flex align-items-center mb-4 mb-md-0">
|
|
39
|
+
{% include '@oe-bcl/bcl-select/select.html.twig' with sort_select|merge({
|
|
40
|
+
attributes: create_attribute().addClass(['ms-md-2 mb-2']),
|
|
41
|
+
}) only %}
|
|
42
|
+
</div>
|
|
24
43
|
</div>
|
|
25
|
-
<h4 class="mb-4">
|
|
26
|
-
<span class="text-capitalize">
|
|
27
|
-
{{- _page_title -}}
|
|
28
|
-
</span>
|
|
29
|
-
({{ listing.items.length }})
|
|
30
|
-
</h4>
|
|
31
|
-
{% if badges is not empty and badges is iterable %}
|
|
32
|
-
{% for badge in badges %}
|
|
33
|
-
{% include '@oe-bcl/bcl-badge/badge.html.twig' with badge only %}
|
|
34
|
-
{% endfor %}
|
|
35
|
-
{% endif %}
|
|
36
44
|
</div>
|
|
37
45
|
<hr class="d-none d-md-block mb-4"/>
|
|
38
|
-
<div class="d-md-none">
|
|
39
|
-
{% include '@oe-bcl/bcl-select/select.html.twig' with sort_select|merge({
|
|
40
|
-
extra_classes: 'mb-4',
|
|
41
|
-
}) only %}
|
|
42
|
-
</div>
|
|
43
46
|
{% endblock %}
|
|
44
47
|
|
|
45
48
|
{% block content %}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
class="{{ _classes }}"
|
|
19
19
|
>
|
|
20
20
|
{% for _link in _links %}
|
|
21
|
-
{% set _segment_classes = 'breadcrumb-item d-none d-md-block' %}
|
|
21
|
+
{% set _segment_classes = 'breadcrumb-item d-none d-md-block' %}
|
|
22
22
|
{% if loop.revindex == 2 %}
|
|
23
23
|
{% set _segment_classes = 'breadcrumb-item' %}
|
|
24
24
|
{% endif %}
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
{% endif %}
|
|
30
30
|
<li
|
|
31
31
|
class="{{ _segment_classes }}"
|
|
32
|
-
{{ _segment_attrs }}
|
|
32
|
+
{{ _segment_attrs|raw }}
|
|
33
33
|
>
|
|
34
34
|
{%- if _link.path -%}
|
|
35
35
|
{% if loop.revindex == 2 %}
|
|
@@ -155,24 +155,6 @@
|
|
|
155
155
|
<div class='{{ _horizontal_grid.right_col_classes }}'>
|
|
156
156
|
{% endif %}
|
|
157
157
|
<div class='{{ _body_classes }}'>
|
|
158
|
-
{%- if _badges is not empty and _badges is iterable -%}
|
|
159
|
-
<div class="mb-3">
|
|
160
|
-
{% for _badge in _badges %}
|
|
161
|
-
{% if _badge.attributes is empty %}
|
|
162
|
-
{% set _badge = _badge|merge({
|
|
163
|
-
attributes: create_attribute()
|
|
164
|
-
}) %}
|
|
165
|
-
{% endif %}
|
|
166
|
-
{% if not loop.last %}
|
|
167
|
-
{% set _badge = _badge|merge({
|
|
168
|
-
attributes: _badge.attributes.addClass('me-2')
|
|
169
|
-
})
|
|
170
|
-
%}
|
|
171
|
-
{% endif %}
|
|
172
|
-
{% include '@oe-bcl/bcl-badge/badge.html.twig' with _badge only %}
|
|
173
|
-
{% endfor %}
|
|
174
|
-
</div>
|
|
175
|
-
{%- endif -%}
|
|
176
158
|
{%- if _title is not empty -%}
|
|
177
159
|
{% set _title_tag = _title.tag ?? 'h5' %}
|
|
178
160
|
<{{ _title_tag }}
|
|
@@ -202,6 +184,24 @@
|
|
|
202
184
|
{%- if _content is not empty -%}
|
|
203
185
|
{{- _content -}}
|
|
204
186
|
{%- endif -%}
|
|
187
|
+
{%- if _badges is not empty and _badges is iterable -%}
|
|
188
|
+
<div class="mt-2-5">
|
|
189
|
+
{% for _badge in _badges %}
|
|
190
|
+
{% if _badge.attributes is empty %}
|
|
191
|
+
{% set _badge = _badge|merge({
|
|
192
|
+
attributes: create_attribute()
|
|
193
|
+
}) %}
|
|
194
|
+
{% endif %}
|
|
195
|
+
{% if not loop.last %}
|
|
196
|
+
{% set _badge = _badge|merge({
|
|
197
|
+
attributes: _badge.attributes.addClass('me-2')
|
|
198
|
+
})
|
|
199
|
+
%}
|
|
200
|
+
{% endif %}
|
|
201
|
+
{% include '@oe-bcl/bcl-badge/badge.html.twig' with _badge only %}
|
|
202
|
+
{% endfor %}
|
|
203
|
+
</div>
|
|
204
|
+
{%- endif -%}
|
|
205
205
|
</div>
|
|
206
206
|
{% if _horizontal %}
|
|
207
207
|
</div>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{% spaceless %}
|
|
2
2
|
|
|
3
3
|
{# Parameters:
|
|
4
|
+
- variant (string) (default: 'neutral')
|
|
4
5
|
- rows (default: []) - Array of predefined objects - format:
|
|
5
6
|
[
|
|
6
7
|
{
|
|
@@ -30,12 +31,13 @@
|
|
|
30
31
|
]
|
|
31
32
|
#}
|
|
32
33
|
|
|
34
|
+
{% set _variant = variant|default('neutral') %}
|
|
33
35
|
{% set _rows = rows|default([]) %}
|
|
34
36
|
|
|
35
37
|
{% if attributes is empty %}
|
|
36
38
|
{% set attributes = create_attribute() %}
|
|
37
39
|
{% endif %}
|
|
38
|
-
{% set attributes = attributes.addClass('bcl-footer') %}
|
|
40
|
+
{% set attributes = attributes.addClass(['bcl-footer', 'bcl-footer--' ~ _variant]) %}
|
|
39
41
|
|
|
40
42
|
<footer
|
|
41
43
|
{{ attributes }}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{% extends "@oe-bcl/bcl-base-templates/listing-page.html.twig" %}
|
|
2
2
|
|
|
3
3
|
{% block banner %}
|
|
4
|
-
|
|
4
|
+
<div class="container mt-4 mt-md-5">
|
|
5
|
+
<div class="col-xxl-11">
|
|
5
6
|
<div class="p-md-3-5 pt-3 bg-lighter d-md-flex n-mx-container">
|
|
6
7
|
<h2 class="mb-0 d-inline-block fw-bold">{{ banner.title }}</h2>
|
|
7
8
|
{% if banner.actions is not empty and banner.actions is iterable %}
|
|
@@ -18,8 +19,9 @@
|
|
|
18
19
|
</div>
|
|
19
20
|
{% endif %}
|
|
20
21
|
</div>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
{% if navigation is not empty %}
|
|
23
|
+
{% include '@oe-bcl/bcl-navigation/navigation.html.twig' with navigation only %}
|
|
24
|
+
{% endif %}
|
|
24
25
|
</div>
|
|
26
|
+
</div>
|
|
25
27
|
{% endblock %}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{% spaceless %}
|
|
2
2
|
|
|
3
3
|
{# Parameters:
|
|
4
|
+
- variant (string) (default: 'neutral')
|
|
4
5
|
- navbar (Navbar object) (default: {})
|
|
5
6
|
- project_logo (object) (default: {})
|
|
6
7
|
format: {
|
|
@@ -15,9 +16,11 @@
|
|
|
15
16
|
- modals (Array of modal objects) (default: [])
|
|
16
17
|
#}
|
|
17
18
|
|
|
19
|
+
{% set _variant = variant|default('neutral') %}
|
|
18
20
|
{% set _navbar = navbar|default({}) %}
|
|
19
21
|
{% set _project_logo = project_logo|default({}) %}
|
|
20
22
|
{% set _site_name = site_name|default('') %}
|
|
23
|
+
{% set _site_name_classes = 'bcl-header__site-name' %}
|
|
21
24
|
{% set _head = head|default({}) %}
|
|
22
25
|
{% set _breadcrumbs = breadcrumbs|default({}) %}
|
|
23
26
|
{% set _modals = modals|default([]) %}
|
|
@@ -27,7 +30,11 @@
|
|
|
27
30
|
{% set attributes = create_attribute() %}
|
|
28
31
|
{% endif %}
|
|
29
32
|
|
|
30
|
-
{% set attributes = attributes.addClass(
|
|
33
|
+
{% set attributes = attributes.addClass(['bcl-header', 'bcl-header--' ~ _variant]) %}
|
|
34
|
+
|
|
35
|
+
{% if site_name_classes is not empty %}
|
|
36
|
+
{% set _site_name_classes = _site_name_classes ~ ' ' ~ site_name_classes %}
|
|
37
|
+
{% endif %}
|
|
31
38
|
|
|
32
39
|
{% set _project_classes = 'bcl-header__project' %}
|
|
33
40
|
{% if _light is not empty %}
|
|
@@ -43,8 +50,8 @@
|
|
|
43
50
|
{% endif %}
|
|
44
51
|
|
|
45
52
|
<!-- project name -->
|
|
53
|
+
{% if _project_logo is not empty or _site_name is not empty %}
|
|
46
54
|
<div class="{{ _project_classes }}">
|
|
47
|
-
{% if _project_logo is not empty or _site_name is not empty %}
|
|
48
55
|
<div class="container">
|
|
49
56
|
{% if _project_logo is not empty %}
|
|
50
57
|
<img
|
|
@@ -60,11 +67,13 @@
|
|
|
60
67
|
/>
|
|
61
68
|
{% endif %}
|
|
62
69
|
{% if _site_name is not empty %}
|
|
63
|
-
{{
|
|
70
|
+
<div class="{{ _site_name_classes }}">
|
|
71
|
+
{{- _site_name -}}
|
|
72
|
+
</div>
|
|
64
73
|
{% endif %}
|
|
65
74
|
</div>
|
|
66
|
-
{% endif %}
|
|
67
75
|
</div>
|
|
76
|
+
{% endif %}
|
|
68
77
|
|
|
69
78
|
<!-- navbar -->
|
|
70
79
|
{% if _navbar is not empty %}
|
|
@@ -14,7 +14,7 @@ Parameters:
|
|
|
14
14
|
{% set _content = content|default('') %}
|
|
15
15
|
{% set _id = id|default('bcl-inpage-navigation-' ~ random(5)) %}
|
|
16
16
|
{% set _full_layout = full_layout|default(false) %}
|
|
17
|
-
{% set attributes = attributes.addClass('position-sticky').setAttribute('id', _id) %}
|
|
17
|
+
{% set attributes = attributes.addClass(['bcl-inpage-navigation', 'position-sticky']).setAttribute('id', _id) %}
|
|
18
18
|
|
|
19
19
|
{# Print the result #}
|
|
20
20
|
{% if _full_layout %}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
{% set _background = background|default("gray") %}
|
|
14
14
|
{% set _variant = variant|default("vertical") %}
|
|
15
15
|
{% set _title = title|default("") %}
|
|
16
|
-
{% set _title_tag = title_tag|default("
|
|
16
|
+
{% set _title_tag = title_tag|default("h4") %}
|
|
17
17
|
{% set _links = links|default([])%}
|
|
18
18
|
|
|
19
19
|
{% if attributes is empty %}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
{% set attributes = attributes.addClass(["bg-light", "px-4", "py-3"]) %}
|
|
25
25
|
{% endif %}
|
|
26
26
|
|
|
27
|
-
<div
|
|
27
|
+
<div
|
|
28
28
|
{{ attributes }}
|
|
29
29
|
>
|
|
30
30
|
{% if _title is not empty %}
|