@openeuropa/bcl-theme-default 0.14.0 → 0.18.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.
Files changed (74) hide show
  1. package/bcl-builder.config.js +4 -0
  2. package/css/oe-bcl-default.css +252 -46
  3. package/css/oe-bcl-default.css.map +1 -1
  4. package/css/oe-bcl-default.min.css +1 -1
  5. package/css/oe-bcl-default.min.css.map +1 -1
  6. package/icons/bcl-default-icons.svg +1 -0
  7. package/icons/icons-flag.svg +1 -0
  8. package/js/slimselect.min.js +1 -1
  9. package/package.json +7 -6
  10. package/src/scss/_badge.scss +15 -0
  11. package/src/scss/_bcl-offcanvas.scss +4 -4
  12. package/src/scss/_footer.scss +19 -7
  13. package/src/scss/_header.scss +90 -18
  14. package/src/scss/_inpage-navigation.scss +1 -1
  15. package/src/scss/_multiselect.scss +3 -2
  16. package/src/scss/_utilities.scss +1 -1
  17. package/src/scss/_variables.scss +16 -7
  18. package/src/scss/oe-bcl-default.scss +1 -0
  19. package/templates/bcl-accordion/accordion.html.twig +9 -0
  20. package/templates/bcl-alert/alert.html.twig +4 -0
  21. package/templates/bcl-badge/badge.html.twig +9 -1
  22. package/templates/bcl-banner/banner.html.twig +12 -5
  23. package/templates/bcl-base-templates/content-type.html.twig +48 -20
  24. package/templates/bcl-base-templates/listing-page.html.twig +26 -21
  25. package/templates/bcl-blockquote/blockquote.html.twig +4 -0
  26. package/templates/bcl-breadcrumb/breadcrumb.html.twig +6 -2
  27. package/templates/bcl-button/button.html.twig +8 -2
  28. package/templates/bcl-button-group/button-group.html.twig +4 -0
  29. package/templates/bcl-card/card.html.twig +24 -20
  30. package/templates/bcl-card-layout/card-layout.html.twig +4 -0
  31. package/templates/bcl-carousel/carousel.html.twig +4 -0
  32. package/templates/bcl-content-banner/content-banner.html.twig +33 -8
  33. package/templates/bcl-date-block/date-block.html.twig +4 -0
  34. package/templates/bcl-description-list/description-list.html.twig +37 -8
  35. package/templates/bcl-event/event.html.twig +41 -0
  36. package/templates/bcl-fact-figures/fact-figures.html.twig +15 -7
  37. package/templates/bcl-featured-media/featured-media.html.twig +53 -5
  38. package/templates/bcl-file/file.html.twig +19 -4
  39. package/templates/bcl-footer/footer.html.twig +4 -1
  40. package/templates/bcl-form/form.html.twig +4 -0
  41. package/templates/bcl-group/group-landing.html.twig +101 -0
  42. package/templates/bcl-group/group.html.twig +27 -0
  43. package/templates/bcl-header/header.html.twig +11 -2
  44. package/templates/bcl-inpage-navigation/inpage-navigation.html.twig +14 -1
  45. package/templates/bcl-landing-page/landing-page.html.twig +46 -52
  46. package/templates/bcl-links-block/links-block.html.twig +5 -2
  47. package/templates/bcl-list-group/list-group.html.twig +6 -0
  48. package/templates/bcl-listing/listing.html.twig +29 -16
  49. package/templates/bcl-navbar/navbar.html.twig +22 -20
  50. package/templates/bcl-navigation/navigation.html.twig +141 -111
  51. package/templates/bcl-offcanvas/offcanvas.html.twig +4 -0
  52. package/templates/bcl-page/page.html.twig +64 -0
  53. package/templates/bcl-pagination/pagination.html.twig +13 -1
  54. package/templates/bcl-placeholder/placeholder.html.twig +43 -0
  55. package/templates/bcl-progress/progress.html.twig +5 -0
  56. package/templates/bcl-recent-activities/recent-activities.html.twig +4 -0
  57. package/templates/bcl-search/search.html.twig +10 -40
  58. package/templates/bcl-search-form/search-form.html.twig +52 -0
  59. package/templates/bcl-select/select.html.twig +6 -0
  60. package/templates/bcl-table/table.html.twig +4 -0
  61. package/templates/bcl-timeline/timeline.html.twig +16 -1
  62. package/templates/bcl-toast/toasts.html.twig +5 -0
  63. package/templates/bcl-user/user-edit.html.twig +38 -0
  64. package/templates/{bcl-user-view → bcl-user}/user-view-compact.html.twig +5 -1
  65. package/templates/bcl-user/user-view.html.twig +96 -0
  66. package/templates/bcl-group-landing/group-landing.html.twig +0 -106
  67. package/templates/bcl-group-landing-listing/group-landing-listing-offcanvas.html.twig +0 -8
  68. package/templates/bcl-group-landing-listing/group-landing-listing.html.twig +0 -69
  69. package/templates/bcl-search/search-offcanvas.html.twig +0 -8
  70. package/templates/bcl-user-edit/edit-contents.html.twig +0 -32
  71. package/templates/bcl-user-edit/user-edit.html.twig +0 -19
  72. package/templates/bcl-user-listing/user-listing-offcanvas.html.twig +0 -8
  73. package/templates/bcl-user-listing/user-listing.html.twig +0 -45
  74. package/templates/bcl-user-view/user-view.html.twig +0 -106
@@ -2,27 +2,30 @@
2
2
 
3
3
  {#
4
4
  Parameters:
5
+ - "title" (string) (default: '')
6
+ - "title_tag" (string) (default: 'h2')
5
7
  - "variant" (string) (default: '') options:
6
8
  [ default, block ]
9
+ - "display_icons" (boolean) (default: true)
7
10
  - "items" (array) (default: []):
8
11
  - "icon" (associate array) (default: { size: 'm' })
9
12
  - "subtitle" (string) (default: '')
10
13
  - "title" (string) (default: '')
11
14
  - "description" (string) (default:'')
12
- - "display_icons" (boolean) (default: true)
13
15
  - "grid_columns" (int) (default: 1)
16
+ - "responsiveness" (string) (default: 'md')
17
+ - "responsive_columns" (integer) (default: 3)
14
18
  - "gutter" (int) (default: 4)
15
- - "equal_height" (boolean) (default: true)
19
+ - "equal_height" (boolean) (default: false)
16
20
  - "cols_extra_classes" (string) (default: '')
17
- - "responsiveness" (string) (default: 'md')
18
21
  - "icons_path" (string) (default: '')
19
22
  - "link_more" (object of type link) (default {})
20
-
21
23
  #}
22
24
 
23
25
  {# Parameters #}
24
26
 
25
27
  {% set _title = title|default('') %}
28
+ {% set _title_tag = title_tag|default('h2') %}
26
29
  {% set _variant = variant|default('default') %}
27
30
  {% set _css_classes = ['bcl-fact-figures', 'bcl-fact-figures--' ~ _variant] %}
28
31
  {% set _display_icons = display_icons ?? true %}
@@ -57,11 +60,16 @@
57
60
  {% if _equal_height %}
58
61
  {% set _cols_classes = _cols_classes ~ ' h-100' %}
59
62
  {% endif %}
63
+ {% if attributes is empty %}
64
+ {% set attributes = create_attribute() %}
65
+ {% endif %}
66
+
60
67
  {% set attributes = attributes.addClass(_css_classes) %}
61
68
 
62
69
  <div {{ attributes }}>
63
70
  {% if _title is not empty %}
64
- <h4 class="fw-bold">{{ _title }}</h4>
71
+ {% set _title_classes = 'fw-bold' %}
72
+ <{{ _title_tag }} class="{{ _title_classes }}">{{ _title }}</{{ _title_tag }}>
65
73
  {% endif %}
66
74
  <div
67
75
  {% if _wrapper_classes is not empty %}
@@ -82,9 +90,9 @@
82
90
  {% include '@oe-bcl/bcl-icon/icon.html.twig' with _item.icon only %}
83
91
  {% endif %}
84
92
  {% if _item.title is defined and _item.title is not empty %}
85
- <h3 class="text-capitalize fw-bold mt-2">
93
+ <h4 class="text-capitalize fw-bold mt-2">
86
94
  {{- _item.title -}}
87
- </h3>
95
+ </h4>
88
96
  {% endif %}
89
97
  {% if _item.subtitle is defined and _item.subtitle is not empty %}
90
98
  <h5 class="fw-bold">
@@ -1,10 +1,16 @@
1
1
  {% spaceless %}
2
2
 
3
3
  {# Parameters:
4
+ - with_text (boolean) (default: false)
5
+ - title: (string) (default: '')
6
+ - title_tag: (string) (default: 'h2')
4
7
  - image: (string) (default: "")
5
8
  - poster_image: (string) (default: "")
6
9
  - content: (string) (default: "")
10
+ - wrapper_classes: (default: '')
7
11
  - content_classes: (string) (default: "")
12
+ - read_more (object) (default: {})
13
+ - description (string) (default: '')
8
14
  - ratio: (string) (default: "16x9")
9
15
  - options ["1x1", "4x3", "16x9", "21x9"]
10
16
  - sources: (array of sources) (default: []) format: [
@@ -26,15 +32,51 @@
26
32
  - "embedded_media"
27
33
  #}
28
34
 
35
+ {% set _title = title|default('') %}
36
+ {% set _title_tag = title_tag|default('h2') %}
37
+ {% set _with_text = with_text|default(false) %}
38
+ {% set _wrapper_classes = 'bcl-featured-item' %}
39
+ {% set _description = description|default('') %}
29
40
  {% set _embedded_media = embedded_media|default('') %}
30
- {% set _image = image|default("") %}
31
- {% set _poster_image = poster_image|default("") %}
32
- {% set _content = content|default("") %}
33
- {% set _content_classes = content_classes|default("") %}
34
- {% set _ratio = ratio|default("16x9") %}
41
+ {% set _image = image|default('') %}
42
+ {% set _poster_image = poster_image|default('') %}
43
+ {% set _content = content|default('') %}
44
+ {% set _alignment = alignment|default('right') %}
45
+ {% set _content_classes = content_classes|default('') %}
46
+ {% set _ratio = ratio|default('16x9') %}
35
47
  {% set _sources = sources|default([]) %}
36
48
  {% set _tracks = tracks|default([]) %}
49
+ {% set _col_classes = 'col-12 col-md-6' %}
50
+ {% set _read_more = read_more|default({}) %}
37
51
 
52
+ {% if wrapper_classes is defined and wrapper_classes is not empty %}
53
+ {% set _wrapper_classes = _wrapper_classes ~ ' ' ~ wrapper_classes %}
54
+ {% endif %}
55
+
56
+ {% if attributes is empty %}
57
+ {% set attributes = create_attribute() %}
58
+ {% endif %}
59
+
60
+ {% if _with_text %}
61
+ <div class="{{ _wrapper_classes }}">
62
+
63
+ {% if _title is not empty %}
64
+ {% set _title_classes = 'fw-bold mb-4' %}
65
+ <{{ _title_tag }} class="{{ _title_classes }}">
66
+ {{- _title -}}
67
+ </{{ _title_tag }}>
68
+ {% endif %}
69
+
70
+ <div class="row">
71
+ <div class="{{ _col_classes }} order-{{ _alignment == "right" ? '1' : '2' }}">
72
+ {{- _description|default('') -}}
73
+
74
+ {% if _read_more is not empty %}
75
+ {% include '@oe-bcl/bcl-link/link.html.twig' with _read_more only %}
76
+ {% endif %}
77
+ </div>
78
+ <div class="{{ _col_classes }} order-{{ _alignment == "right" ? '2' : '1' }}">
79
+ {% endif %}
38
80
 
39
81
  <figure
40
82
  {{ attributes }}
@@ -79,4 +121,10 @@
79
121
  {% endif %}
80
122
  </figure>
81
123
 
124
+ {% if _with_text %}
125
+ </div>
126
+ </div>
127
+ </div>
128
+ {% endif %}
129
+
82
130
  {% endspaceless %}
@@ -2,8 +2,10 @@
2
2
 
3
3
  {#
4
4
  Parameters:
5
- - icon (icon Object) (default: {})
6
5
  - title (string) (default: '')
6
+ - title_tag (string) (default: 'h2')
7
+ - item_title (string) (default: '')
8
+ - icon (icon Object) (default: {})
7
9
  - text (string) (default: '')
8
10
  - content (string) (default: '')
9
11
  - image (object) (default: {}) - format: {
@@ -34,6 +36,8 @@
34
36
 
35
37
  {% set _icon = icon|default({}) %}
36
38
  {% set _title = title|default('') %}
39
+ {% set _title_tag = title_tag|default('h2') %}
40
+ {% set _item_title = item_title|default('') %}
37
41
  {% set _text = text|default('') %}
38
42
  {% set _content = content|default('') %}
39
43
  {% set _image = image|default({}) %}
@@ -53,6 +57,17 @@
53
57
  }) %}
54
58
  {% endif %}
55
59
 
60
+ {% if attributes is empty %}
61
+ {% set attributes = create_attribute() %}
62
+ {% endif %}
63
+
64
+ {% if _title is not empty %}
65
+ {% set _title_classes = 'fw-bold mb-4' %}
66
+ <{{ _title_tag }} class="{{ _title_classes }}">
67
+ {{- _title -}}
68
+ </{{ _title_tag }}>
69
+ {% endif %}
70
+
56
71
  {% if _variant == 'card' %}
57
72
  {% set attributes = attributes.addClass(['border', 'rounded-bottom']) %}
58
73
  {% set _image = _image|merge({
@@ -67,7 +82,7 @@
67
82
  },
68
83
  badges: _badges,
69
84
  title: {
70
- content: _title,
85
+ content: _item_title,
71
86
  },
72
87
  text: {
73
88
  content: _text,
@@ -94,8 +109,8 @@
94
109
  {% endif %}
95
110
  <div class="{{ _container_classes }}">
96
111
  <div class="flex-grow-1">
97
- {% if _title is not empty and _variant == 'default' %}
98
- <p class="fw-bold m-0">{{ _title }}</p>
112
+ {% if _item_title is not empty and _variant == 'default' %}
113
+ <p class="fw-bold m-0">{{ _item_title }}</p>
99
114
  {% endif %}
100
115
  {% if _language is not empty or _meta is not empty %}
101
116
  <small class="fw-bold m-0">
@@ -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,14 @@
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
+
41
+ {% set attributes = attributes.addClass(['bcl-footer', 'bcl-footer--' ~ _variant]) %}
39
42
 
40
43
  <footer
41
44
  {{ attributes }}
@@ -23,6 +23,10 @@
23
23
  {% set _items = items|default([]) %}
24
24
  {% set _submit = submit|default({}) %}
25
25
 
26
+ {% if attributes is empty %}
27
+ {% set attributes = create_attribute() %}
28
+ {% endif %}
29
+
26
30
  <form
27
31
  {{ attributes }}
28
32
  >
@@ -0,0 +1,101 @@
1
+ {% extends "@oe-bcl/bcl-base-templates/content-type.html.twig" %}
2
+
3
+ {% block banner %}
4
+ <div class="container">
5
+ {% if banner is not empty %}
6
+ <div class="mt-4 mt-md-5">
7
+ {% if banner.image is not empty %}
8
+ <img
9
+ src="{{ banner.image.path }}"
10
+ {% if banner.image.alt is not empty %}
11
+ alt="{{ banner.image.alt }}"
12
+ {% endif %}
13
+ {% if banner.image.class is not empty %}
14
+ class="{{ banner.image.class }}"
15
+ {% endif %}
16
+ />
17
+ {% endif %}
18
+ {% if banner.title is not empty %}
19
+ <div class="p-md-3-5 pt-3 bg-lighter d-md-flex n-mx-container">
20
+ <h2 class="mb-0 d-inline-block fw-bold">{{ banner.title }}</h2>
21
+ {% if banner.actions is not empty and banner.actions is iterable %}
22
+ <div class="d-grid d-md-block ms-auto">
23
+ {% for _action in banner.actions %}
24
+ {% if _action.type == "link" %}
25
+ {% include '@oe-bcl/bcl-link/link.html.twig' with _action only %}
26
+ {% elseif _action.type == "button" %}
27
+ {% include '@oe-bcl/bcl-button/button.html.twig' with _action only %}
28
+ {% elseif _action.type == "dropdown" %}
29
+ {% include '@oe-bcl/bcl-dropdown/dropdown.html.twig' with _action only %}
30
+ {% endif %}
31
+ {% endfor %}
32
+ </div>
33
+ {% endif %}
34
+ </div>
35
+ {% endif %}
36
+ </div>
37
+ {% endif %}
38
+ {% include '@oe-bcl/bcl-navigation/navigation.html.twig' with navigation only %}
39
+ {% if banner_description is not empty and contact is not empty %}
40
+ {% include '@oe-bcl/bcl-link/link.html.twig' with banner_description.collapse_trigger only %}
41
+ <div class="collapse d-md-block" id="banner-description">
42
+ <div class="row mt-md-4 mb-md-5 pb-md-5">
43
+ <div class="col-md-8">
44
+ <div class="ps-md-3">
45
+ {% if banner_description.metas is not empty and banner_description.metas is iterable %}
46
+ <div class="d-block">
47
+ {% for _meta in banner_description.metas %}
48
+ <p class="mb-0 me-4 d-inline-block text-muted">
49
+ {% include '@oe-bcl/bcl-icon/icon.html.twig' with _meta.icon only %}
50
+ {{- _meta.label -}}
51
+ </p>
52
+ {% endfor %}
53
+ </div>
54
+ {% endif %}
55
+ {{ banner_description.content }}
56
+ </div>
57
+ </div>
58
+ <div class="col-md-4">
59
+ <h4 class="mb-3 pb-2">{{ contact.title }}</h4>
60
+ {% if contact.profiles is not empty and contact.profiles is iterable %}
61
+ {% for _profile in contact.profiles %}
62
+ {% include '@oe-bcl/bcl-user/user-view-compact.html.twig' with _profile only %}
63
+ {% endfor %}
64
+ {% endif %}
65
+ {% if contact.more_link is not empty %}
66
+ {% include '@oe-bcl/bcl-link/link.html.twig' with contact.more_link only %}
67
+ {% endif %}
68
+ </div>
69
+ </div>
70
+ </div>
71
+ {% endif %}
72
+ </div>
73
+ {% endblock %}
74
+
75
+ {% block content %}
76
+ {% if recent is not empty and members is not empty %}
77
+ <div class="row mt-3">
78
+ <div class="col-md-8">
79
+ <h4 class="mb-4 pb-2">{{ recent.title }}</h4>
80
+ {% include '@oe-bcl/bcl-recent-activities/recent-activities.html.twig' with recent.block_data only %}
81
+ </div>
82
+ <div class="col-md-4">
83
+ <h4 class="mt-4 mt-md-0 mb-4 pb-2">{{ members.title}}</h4>
84
+ {% if members.profiles is not empty and members.profiles is iterable %}
85
+ {% for _profile in members.profiles %}
86
+ {% include '@oe-bcl/bcl-user/user-view-compact.html.twig' with _profile only %}
87
+ {% endfor %}
88
+ {% endif %}
89
+ {% if members.more_link is not empty %}
90
+ {% include '@oe-bcl/bcl-link/link.html.twig' with members.more_link only %}
91
+ {% endif %}
92
+ </div>
93
+ </div>
94
+ {% endif %}
95
+ {% if contributions is not empty %}
96
+ <h4 class="my-4 pt-3 pb-2">{{ contributions.title}}</h4>
97
+ {% if contributions.listing is not empty %}
98
+ {% include '@oe-bcl/bcl-listing/listing.html.twig' with contributions.listing only %}
99
+ {% endif %}
100
+ {% endif %}
101
+ {% endblock %}
@@ -0,0 +1,27 @@
1
+ {% extends "@oe-bcl/bcl-base-templates/listing-page.html.twig" %}
2
+
3
+ {% block banner %}
4
+ <div class="container mt-4 mt-md-5">
5
+ <div class="col-xxl-11">
6
+ <div class="p-md-3-5 pt-3 bg-lighter d-md-flex n-mx-container">
7
+ <h2 class="mb-0 d-inline-block fw-bold">{{ banner.title }}</h2>
8
+ {% if banner.actions is not empty and banner.actions is iterable %}
9
+ <div class="d-grid d-md-block ms-auto">
10
+ {% for _action in banner.actions %}
11
+ {% if _action.type == "link" %}
12
+ {% include '@oe-bcl/bcl-link/link.html.twig' with _action only %}
13
+ {% elseif _action.type == "button" %}
14
+ {% include '@oe-bcl/bcl-button/button.html.twig' with _action only %}
15
+ {% elseif _action.type == "dropdown" %}
16
+ {% include '@oe-bcl/bcl-dropdown/dropdown.html.twig' with _action only %}
17
+ {% endif %}
18
+ {% endfor %}
19
+ </div>
20
+ {% endif %}
21
+ </div>
22
+ {% if navigation is not empty %}
23
+ {% include '@oe-bcl/bcl-navigation/navigation.html.twig' with navigation only %}
24
+ {% endif %}
25
+ </div>
26
+ </div>
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("bcl-header") %}
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 %}
@@ -60,7 +67,9 @@
60
67
  />
61
68
  {% endif %}
62
69
  {% if _site_name is not empty %}
63
- {{ _site_name }}
70
+ <div class="{{ _site_name_classes }}">
71
+ {{- _site_name -}}
72
+ </div>
64
73
  {% endif %}
65
74
  </div>
66
75
  </div>
@@ -3,6 +3,7 @@
3
3
  {#
4
4
  Parameters:
5
5
  - "title": (string) (default: '')
6
+ - "full_layout": (boolean) (default: false)
6
7
  - "links": (array of link objects) (default: [])
7
8
  - "content": (string) (default: '')
8
9
  #}
@@ -11,11 +12,21 @@ Parameters:
11
12
  {% set _title = title|default('') %}
12
13
  {% set _links = links|default([]) %}
13
14
  {% set _content = content|default('') %}
15
+ {% set _id = id|default('bcl-inpage-navigation-' ~ random(5)) %}
16
+ {% set _full_layout = full_layout|default(false) %}
17
+
18
+ {% if attributes is empty %}
19
+ {% set attributes = create_attribute() %}
20
+ {% endif %}
21
+
22
+ {% set attributes = attributes.addClass(['bcl-inpage-navigation', 'position-sticky']).setAttribute('id', _id) %}
14
23
 
15
24
  {# Print the result #}
25
+ {% if _full_layout %}
16
26
  <div class="row">
17
27
  <div class="col-md-3 d-none d-md-block">
18
- <nav class="position-sticky" id="bcl-inpage-navigation">
28
+ {% endif %}
29
+ <nav {{ attributes }}>
19
30
  {% if _title is defined and _title is not empty %}
20
31
  <h5>{{ _title }}</h5>
21
32
  {% endif %}
@@ -25,10 +36,12 @@ Parameters:
25
36
  'items': _links,
26
37
  } only %}
27
38
  </nav>
39
+ {% if _full_layout %}
28
40
  </div>
29
41
  <div class="col-md-9">
30
42
  {{ _content }}
31
43
  </div>
32
44
  </div>
45
+ {% endif %}
33
46
 
34
47
  {% endspaceless %}
@@ -1,65 +1,59 @@
1
- {% spaceless %}
1
+ {% extends "@oe-bcl/bcl-base-templates/content-type.html.twig" %}
2
2
 
3
- {% if data.header is defined %}
4
- {% include '@oe-bcl/bcl-header/header.html.twig' with data.header only %}
5
- {% endif %}
3
+ {% block banner %}
4
+ {% if banner is defined %}
5
+ {% include '@oe-bcl/bcl-banner/banner.html.twig' with banner only %}
6
+ {% endif %}
7
+ {% endblock %}
6
8
 
7
- {% if data.main_banner is defined %}
8
- {% include '@oe-bcl/bcl-banner/banner.html.twig' with data.main_banner only %}
9
- {% endif %}
9
+ {% block content %}
10
10
 
11
11
  <div class="container">
12
-
13
- {% if data.featured_section is defined %}
14
- <div class="my-4">
15
- <h2 class="mb-4 fw-bold">{{ data.featured_section.title }}</h2>
16
- <div class="row">
17
- <div class="col-12 col-md-6">
18
- {{ data.featured_section.content }}
19
- </div>
20
- <div class="col-12 col-md-6">
21
- {% include '@oe-bcl/bcl-featured-media/featured-media.html.twig' with data.featured_section.featured_media only %}
12
+ {% if featured_section is defined %}
13
+ <div class="my-4">
14
+ <h2 class="mb-4 fw-bold">{{ featured_section.title }}</h2>
15
+ <div class="row">
16
+ <div class="col-12 col-md-6">
17
+ {{ featured_section.content }}
18
+ </div>
19
+ <div class="col-12 col-md-6">
20
+ {% include '@oe-bcl/bcl-featured-media/featured-media.html.twig' with featured_section.featured_media only %}
21
+ </div>
22
22
  </div>
23
23
  </div>
24
- </div>
25
- {% endif %}
26
-
27
- {% if data.listing_section is defined %}
28
- <div class="my-4">
29
- {% include '@oe-bcl/bcl-listing/listing.html.twig' with data.listing_section only %}
30
- </div>
31
- {% endif %}
24
+ {% endif %}
32
25
 
33
- {% if data.inpage_banner is defined %}
34
- <div class="my-4">
35
- {% include '@oe-bcl/bcl-banner/banner.html.twig' with data.inpage_banner only %}
36
- </div>
37
- {% endif %}
26
+ {% if listing_section is defined %}
27
+ <div class="my-4">
28
+ {% include '@oe-bcl/bcl-listing/listing.html.twig' with listing_section only %}
29
+ </div>
30
+ {% endif %}
38
31
 
39
- {% if data.activity_featured is defined %}
40
- <div class="my-4">
41
- <h2 class="mb-4 fw-bold">{{ data.activity_featured.title }}</h2>
42
- <div class="row">
43
- <div class="col-12 col-md-6">
44
- {{ data.activity_featured.content }}
45
- </div>
46
- <div class="col-12 col-md-6">
47
- {% include '@oe-bcl/bcl-featured-media/featured-media.html.twig' with data.activity_featured.featured_media only %}
32
+ {% if inpage_banner is defined %}
33
+ <div class="my-4">
34
+ {% include '@oe-bcl/bcl-banner/banner.html.twig' with inpage_banner only %}
35
+ </div>
36
+ {% endif %}
37
+
38
+ {% if activity_featured is defined %}
39
+ <div class="my-4">
40
+ <h2 class="mb-4 fw-bold">{{ activity_featured.title }}</h2>
41
+ <div class="row">
42
+ <div class="col-12 col-md-6">
43
+ {{ activity_featured.content }}
44
+ </div>
45
+ <div class="col-12 col-md-6">
46
+ {% include '@oe-bcl/bcl-featured-media/featured-media.html.twig' with activity_featured.featured_media only %}
47
+ </div>
48
48
  </div>
49
49
  </div>
50
- </div>
51
- {% endif %}
52
-
53
- {% if data.activity_listing is defined %}
54
- <div class="my-4">
55
- {% include '@oe-bcl/bcl-listing/listing.html.twig' with data.activity_listing only %}
56
- </div>
57
- {% endif %}
50
+ {% endif %}
58
51
 
52
+ {% if activity_listing is defined %}
53
+ <div class="my-4">
54
+ {% include '@oe-bcl/bcl-listing/listing.html.twig' with activity_listing only %}
55
+ </div>
56
+ {% endif %}
59
57
  </div>
60
58
 
61
- {% if data.footer is defined %}
62
- {% include '@oe-bcl/bcl-footer/footer.html.twig' with data.footer only %}
63
- {% endif %}
64
-
65
- {% endspaceless %}
59
+ {% endblock %}
@@ -6,12 +6,14 @@
6
6
  - variant: (string) (default: "vertical")
7
7
  - options ["vertical", "horizontal"]
8
8
  - title: (string) (default: "")
9
+ - title_tag: (string) (default: "h2")
9
10
  - links (array of link objects) (default: [])
10
11
  #}
11
12
 
12
13
  {% set _background = background|default("gray") %}
13
14
  {% set _variant = variant|default("vertical") %}
14
15
  {% set _title = title|default("") %}
16
+ {% set _title_tag = title_tag|default("h2") %}
15
17
  {% set _links = links|default([])%}
16
18
 
17
19
  {% if attributes is empty %}
@@ -22,11 +24,12 @@
22
24
  {% set attributes = attributes.addClass(["bg-light", "px-4", "py-3"]) %}
23
25
  {% endif %}
24
26
 
25
- <div
27
+ <div
26
28
  {{ attributes }}
27
29
  >
28
30
  {% if _title is not empty %}
29
- <h5 class="fw-bold pb-3 mb-3 border-bottom">{{ _title }}</h5>
31
+ {% set _title_classes = 'fw-bold pb-3 mb-3 border-bottom' %}
32
+ <{{ _title_tag }} class="{{ _title_classes }}">{{ _title }}</{{ _title_tag }}>
30
33
  {% endif %}
31
34
  {% if _links is not empty and _links is iterable %}
32
35
  <ul class="ps-0 mb-0">
@@ -32,6 +32,7 @@
32
32
  {% set _type = type|default('unordered') %}
33
33
  {% set _items = items|default([]) %}
34
34
  {% set _classes = ['list-group'] %}
35
+
35
36
  {% if _flush %}
36
37
  {% set _classes = _classes|merge(['list-group-flush']) %}
37
38
  {% endif %}
@@ -41,6 +42,11 @@
41
42
  {% if _horizontal is not empty %}
42
43
  {% set _classes = _classes|merge(['list-group-' ~ _horizontal]) %}
43
44
  {% endif %}
45
+
46
+ {% if attributes is empty %}
47
+ {% set attributes = create_attribute() %}
48
+ {% endif %}
49
+
44
50
  {% if _id is not empty %}
45
51
  {% set attributes = attributes.setAttribute('id', _id) %}
46
52
  {% endif %}