@openeuropa/bcl-theme-default 0.20.0 → 0.23.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 (285) hide show
  1. package/css/oe-bcl-default.css +970 -410
  2. package/css/oe-bcl-default.css.map +1 -1
  3. package/css/oe-bcl-default.min.css +1 -1
  4. package/css/oe-bcl-default.min.css.map +1 -1
  5. package/icons/bcl-default-icons.svg +1 -1
  6. package/js/oe-bcl-default.bundle.js +242 -76
  7. package/js/oe-bcl-default.bundle.js.map +1 -1
  8. package/js/oe-bcl-default.bundle.min.js +1 -1
  9. package/js/oe-bcl-default.bundle.min.js.map +1 -1
  10. package/js/oe-bcl-default.esm.js +236 -75
  11. package/js/oe-bcl-default.esm.js.map +1 -1
  12. package/js/oe-bcl-default.esm.min.js +1 -1
  13. package/js/oe-bcl-default.esm.min.js.map +1 -1
  14. package/js/oe-bcl-default.umd.js +242 -76
  15. package/js/oe-bcl-default.umd.js.map +1 -1
  16. package/js/oe-bcl-default.umd.min.js +1 -1
  17. package/js/oe-bcl-default.umd.min.js.map +1 -1
  18. package/logos/ec/{logo-ec--mute.svg → dist/logo-ec--mute.svg} +0 -0
  19. package/logos/ec/{negative → dist/negative}/logo-ec--ar.svg +0 -0
  20. package/logos/ec/{negative → dist/negative}/logo-ec--bg.svg +0 -0
  21. package/logos/ec/{negative → dist/negative}/logo-ec--ca.svg +0 -0
  22. package/logos/ec/{negative → dist/negative}/logo-ec--cs.svg +0 -0
  23. package/logos/ec/{negative → dist/negative}/logo-ec--da.svg +0 -0
  24. package/logos/ec/{negative → dist/negative}/logo-ec--de.svg +0 -0
  25. package/logos/ec/{negative → dist/negative}/logo-ec--el.svg +0 -0
  26. package/logos/ec/{negative → dist/negative}/logo-ec--en.svg +0 -0
  27. package/logos/ec/{negative → dist/negative}/logo-ec--es.svg +0 -0
  28. package/logos/ec/{negative → dist/negative}/logo-ec--et.svg +0 -0
  29. package/logos/ec/{negative → dist/negative}/logo-ec--fi.svg +0 -0
  30. package/logos/ec/{negative → dist/negative}/logo-ec--fr.svg +0 -0
  31. package/logos/ec/{negative → dist/negative}/logo-ec--ga.svg +0 -0
  32. package/logos/ec/{negative → dist/negative}/logo-ec--hr.svg +0 -0
  33. package/logos/ec/{negative → dist/negative}/logo-ec--hu.svg +0 -0
  34. package/logos/ec/{negative → dist/negative}/logo-ec--is.svg +0 -0
  35. package/logos/ec/{negative → dist/negative}/logo-ec--it.svg +0 -0
  36. package/logos/ec/dist/negative/logo-ec--jp.svg +72 -0
  37. package/logos/ec/dist/negative/logo-ec--lb.svg +93 -0
  38. package/logos/ec/{negative → dist/negative}/logo-ec--lt.svg +0 -0
  39. package/logos/ec/{negative → dist/negative}/logo-ec--lv.svg +0 -0
  40. package/logos/ec/{negative → dist/negative}/logo-ec--mt.svg +0 -0
  41. package/logos/ec/{negative → dist/negative}/logo-ec--nl.svg +0 -0
  42. package/logos/ec/{negative → dist/negative}/logo-ec--no.svg +0 -0
  43. package/logos/ec/{negative → dist/negative}/logo-ec--pl.svg +0 -0
  44. package/logos/ec/{negative → dist/negative}/logo-ec--pt.svg +0 -0
  45. package/logos/ec/{negative → dist/negative}/logo-ec--ro.svg +0 -0
  46. package/logos/ec/dist/negative/logo-ec--ru.svg +91 -0
  47. package/logos/ec/{negative → dist/negative}/logo-ec--sk.svg +0 -0
  48. package/logos/ec/{negative → dist/negative}/logo-ec--sl.svg +0 -0
  49. package/logos/ec/{negative → dist/negative}/logo-ec--sv.svg +0 -0
  50. package/logos/ec/{negative → dist/negative}/logo-ec--tr.svg +0 -0
  51. package/logos/ec/dist/negative/logo-ec--uk.svg +90 -0
  52. package/logos/ec/dist/negative/logo-ec--zh.svg +72 -0
  53. package/logos/ec/{positive → dist/positive}/logo-ec--ar.svg +0 -0
  54. package/logos/ec/{positive → dist/positive}/logo-ec--bg.svg +0 -0
  55. package/logos/ec/{positive → dist/positive}/logo-ec--ca.svg +0 -0
  56. package/logos/ec/{positive → dist/positive}/logo-ec--cs.svg +0 -0
  57. package/logos/ec/{positive → dist/positive}/logo-ec--da.svg +0 -0
  58. package/logos/ec/{positive → dist/positive}/logo-ec--de.svg +0 -0
  59. package/logos/ec/{positive → dist/positive}/logo-ec--el.svg +0 -0
  60. package/logos/ec/{positive → dist/positive}/logo-ec--en.svg +0 -0
  61. package/logos/ec/{positive → dist/positive}/logo-ec--es.svg +0 -0
  62. package/logos/ec/{positive → dist/positive}/logo-ec--et.svg +0 -0
  63. package/logos/ec/{positive → dist/positive}/logo-ec--fi.svg +0 -0
  64. package/logos/ec/{positive → dist/positive}/logo-ec--fr.svg +0 -0
  65. package/logos/ec/{positive → dist/positive}/logo-ec--ga.svg +0 -0
  66. package/logos/ec/{positive → dist/positive}/logo-ec--hr.svg +0 -0
  67. package/logos/ec/{positive → dist/positive}/logo-ec--hu.svg +0 -0
  68. package/logos/ec/{positive → dist/positive}/logo-ec--is.svg +0 -0
  69. package/logos/ec/{positive → dist/positive}/logo-ec--it.svg +0 -0
  70. package/logos/ec/dist/positive/logo-ec--jp.svg +77 -0
  71. package/logos/ec/dist/positive/logo-ec--lb.svg +93 -0
  72. package/logos/ec/{positive → dist/positive}/logo-ec--lt.svg +0 -0
  73. package/logos/ec/{positive → dist/positive}/logo-ec--lv.svg +0 -0
  74. package/logos/ec/{positive → dist/positive}/logo-ec--mt.svg +0 -0
  75. package/logos/ec/{positive → dist/positive}/logo-ec--nl.svg +0 -0
  76. package/logos/ec/{positive → dist/positive}/logo-ec--no.svg +0 -0
  77. package/logos/ec/{positive → dist/positive}/logo-ec--pl.svg +0 -0
  78. package/logos/ec/{positive → dist/positive}/logo-ec--pt.svg +0 -0
  79. package/logos/ec/{positive → dist/positive}/logo-ec--ro.svg +0 -0
  80. package/logos/ec/dist/positive/logo-ec--ru.svg +91 -0
  81. package/logos/ec/{positive → dist/positive}/logo-ec--sk.svg +0 -0
  82. package/logos/ec/{positive → dist/positive}/logo-ec--sl.svg +0 -0
  83. package/logos/ec/{positive → dist/positive}/logo-ec--sv.svg +0 -0
  84. package/logos/ec/{positive → dist/positive}/logo-ec--tr.svg +0 -0
  85. package/logos/ec/dist/positive/logo-ec--uk.svg +90 -0
  86. package/logos/ec/dist/positive/logo-ec--zh.svg +77 -0
  87. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--ar.svg +0 -0
  88. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--bg.svg +0 -0
  89. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--ca.svg +0 -0
  90. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--cs.svg +0 -0
  91. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--da.svg +0 -0
  92. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--de.svg +0 -0
  93. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--el.svg +0 -0
  94. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--en.svg +0 -0
  95. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--es.svg +0 -0
  96. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--et.svg +0 -0
  97. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--fi.svg +0 -0
  98. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--fr.svg +0 -0
  99. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--ga.svg +0 -0
  100. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--hr.svg +0 -0
  101. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--hu.svg +0 -0
  102. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--is.svg +0 -0
  103. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--it.svg +0 -0
  104. package/logos/eu/dist/condensed-version/negative/logo-eu--jp.svg +17 -0
  105. package/logos/eu/dist/condensed-version/negative/logo-eu--lb.svg +19 -0
  106. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--lt.svg +0 -0
  107. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--lv.svg +0 -0
  108. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--mt.svg +0 -0
  109. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--nl.svg +0 -0
  110. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--no.svg +0 -0
  111. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--pl.svg +0 -0
  112. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--pt.svg +0 -0
  113. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--ro.svg +0 -0
  114. package/logos/eu/dist/condensed-version/negative/logo-eu--ru.svg +19 -0
  115. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--sk.svg +0 -0
  116. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--sl.svg +0 -0
  117. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--sv.svg +0 -0
  118. package/logos/eu/{condensed-version → dist/condensed-version}/negative/logo-eu--tr.svg +0 -0
  119. package/logos/eu/dist/condensed-version/negative/logo-eu--uk.svg +19 -0
  120. package/logos/eu/dist/condensed-version/negative/logo-eu--zh.svg +7 -0
  121. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--ar.svg +0 -0
  122. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--bg.svg +0 -0
  123. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--ca.svg +0 -0
  124. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--cs.svg +0 -0
  125. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--da.svg +0 -0
  126. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--de.svg +0 -0
  127. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--el.svg +0 -0
  128. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--en.svg +0 -0
  129. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--es.svg +0 -0
  130. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--et.svg +0 -0
  131. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--fi.svg +0 -0
  132. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--fr.svg +0 -0
  133. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--ga.svg +0 -0
  134. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--hr.svg +0 -0
  135. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--hu.svg +0 -0
  136. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--is.svg +0 -0
  137. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--it.svg +0 -0
  138. package/logos/eu/dist/condensed-version/positive/logo-eu--jp.svg +6 -0
  139. package/logos/eu/dist/condensed-version/positive/logo-eu--lb.svg +6 -0
  140. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--lt.svg +0 -0
  141. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--lv.svg +0 -0
  142. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--mt.svg +0 -0
  143. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--nl.svg +0 -0
  144. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--no.svg +0 -0
  145. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--pl.svg +0 -0
  146. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--pt.svg +0 -0
  147. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--ro.svg +0 -0
  148. package/logos/eu/dist/condensed-version/positive/logo-eu--ru.svg +6 -0
  149. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--sk.svg +0 -0
  150. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--sl.svg +0 -0
  151. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--sv.svg +0 -0
  152. package/logos/eu/{condensed-version → dist/condensed-version}/positive/logo-eu--tr.svg +0 -0
  153. package/logos/eu/dist/condensed-version/positive/logo-eu--uk.svg +6 -0
  154. package/logos/eu/dist/condensed-version/positive/logo-eu--zh.svg +6 -0
  155. package/logos/eu/{logo-eu--mute.svg → dist/logo-eu--mute.svg} +0 -0
  156. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--ar.svg +0 -0
  157. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--bg.svg +0 -0
  158. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--ca.svg +0 -0
  159. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--cs.svg +0 -0
  160. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--da.svg +0 -0
  161. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--de.svg +0 -0
  162. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--el.svg +0 -0
  163. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--en.svg +0 -0
  164. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--es.svg +0 -0
  165. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--et.svg +0 -0
  166. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--fi.svg +0 -0
  167. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--fr.svg +0 -0
  168. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--ga.svg +0 -0
  169. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--hr.svg +0 -0
  170. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--hu.svg +0 -0
  171. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--is.svg +0 -0
  172. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--it.svg +0 -0
  173. package/logos/eu/dist/standard-version/negative/logo-eu--jp.svg +9 -0
  174. package/logos/eu/dist/standard-version/negative/logo-eu--lb.svg +21 -0
  175. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--lt.svg +0 -0
  176. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--lv.svg +0 -0
  177. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--mt.svg +0 -0
  178. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--nl.svg +0 -0
  179. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--no.svg +0 -0
  180. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--pl.svg +0 -0
  181. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--pt.svg +0 -0
  182. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--ro.svg +0 -0
  183. package/logos/eu/dist/standard-version/negative/logo-eu--ru.svg +20 -0
  184. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--sk.svg +0 -0
  185. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--sl.svg +0 -0
  186. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--sv.svg +0 -0
  187. package/logos/eu/{standard-version → dist/standard-version}/negative/logo-eu--tr.svg +0 -0
  188. package/logos/eu/dist/standard-version/negative/logo-eu--uk.svg +21 -0
  189. package/logos/eu/dist/standard-version/negative/logo-eu--zh.svg +9 -0
  190. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--ar.svg +0 -0
  191. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--bg.svg +0 -0
  192. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--ca.svg +0 -0
  193. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--cs.svg +0 -0
  194. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--da.svg +0 -0
  195. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--de.svg +0 -0
  196. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--el.svg +0 -0
  197. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--en.svg +0 -0
  198. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--es.svg +0 -0
  199. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--et.svg +0 -0
  200. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--fi.svg +0 -0
  201. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--fr.svg +0 -0
  202. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--ga.svg +0 -0
  203. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--hr.svg +0 -0
  204. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--hu.svg +0 -0
  205. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--is.svg +0 -0
  206. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--it.svg +0 -0
  207. package/logos/eu/dist/standard-version/positive/logo-eu--jp.svg +8 -0
  208. package/logos/eu/dist/standard-version/positive/logo-eu--lb.svg +20 -0
  209. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--lt.svg +0 -0
  210. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--lv.svg +0 -0
  211. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--mt.svg +0 -0
  212. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--nl.svg +0 -0
  213. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--no.svg +0 -0
  214. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--pl.svg +0 -0
  215. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--pt.svg +0 -0
  216. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--ro.svg +0 -0
  217. package/logos/eu/dist/standard-version/positive/logo-eu--ru.svg +19 -0
  218. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--sk.svg +0 -0
  219. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--sl.svg +0 -0
  220. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--sv.svg +0 -0
  221. package/logos/eu/{standard-version → dist/standard-version}/positive/logo-eu--tr.svg +0 -0
  222. package/logos/eu/dist/standard-version/positive/logo-eu--uk.svg +20 -0
  223. package/logos/eu/dist/standard-version/positive/logo-eu--zh.svg +8 -0
  224. package/package.json +9 -9
  225. package/src/icons/icons.js +19 -0
  226. package/src/js/gallery/gallery.js +168 -0
  227. package/src/js/index.esm.js +2 -0
  228. package/src/js/index.umd.js +2 -0
  229. package/src/scss/_alert.scss +8 -0
  230. package/src/scss/_badge.scss +76 -58
  231. package/src/scss/_banners.scss +16 -0
  232. package/src/scss/_bcl-offcanvas.scss +7 -0
  233. package/src/scss/_carousel.scss +85 -0
  234. package/src/scss/_circular-progress-bar.scss +13 -11
  235. package/src/scss/_gallery.scss +269 -0
  236. package/src/scss/_inpage-navigation.scss +1 -2
  237. package/src/scss/_multiselect.scss +7 -7
  238. package/src/scss/_pagination.scss +8 -0
  239. package/src/scss/_search-form.scss +4 -2
  240. package/src/scss/base/_colors.scss +17 -6
  241. package/src/scss/base/_utilities.scss +10 -0
  242. package/src/scss/base/_variables.scss +4 -0
  243. package/src/scss/oe-bcl-default.scss +4 -0
  244. package/templates/bcl-alert/alert.html.twig +9 -1
  245. package/templates/bcl-badge/badge.html.twig +13 -9
  246. package/templates/bcl-banner/banner.html.twig +20 -9
  247. package/templates/bcl-base-templates/content-type.html.twig +3 -3
  248. package/templates/bcl-base-templates/listing-page.html.twig +30 -20
  249. package/templates/bcl-card/card.html.twig +57 -41
  250. package/templates/bcl-carousel/carousel.html.twig +26 -5
  251. package/templates/bcl-content-banner/content-banner.html.twig +53 -62
  252. package/templates/bcl-date-block/date-block.html.twig +29 -9
  253. package/templates/bcl-description-list/description-list.html.twig +14 -10
  254. package/templates/bcl-event/event.html.twig +2 -2
  255. package/templates/bcl-fact-figures/fact-figures.html.twig +31 -25
  256. package/templates/bcl-file/file.html.twig +22 -14
  257. package/templates/bcl-footer/footer.html.twig +3 -1
  258. package/templates/bcl-form/form.html.twig +10 -4
  259. package/templates/bcl-gallery/gallery.html.twig +207 -0
  260. package/templates/bcl-group/group-landing.html.twig +7 -7
  261. package/templates/bcl-group/group.html.twig +1 -1
  262. package/templates/bcl-heading/heading.html.twig +40 -0
  263. package/templates/bcl-inpage-navigation/inpage-navigation.html.twig +16 -8
  264. package/templates/bcl-landing-page/landing-page.html.twig +2 -2
  265. package/templates/bcl-links-block/links-block.html.twig +16 -6
  266. package/templates/bcl-listing/listing.html.twig +19 -9
  267. package/templates/bcl-modal/modal.html.twig +4 -1
  268. package/templates/bcl-offcanvas/offcanvas.html.twig +16 -19
  269. package/templates/bcl-page/page.html.twig +3 -3
  270. package/templates/bcl-pagination/pagination.html.twig +123 -9
  271. package/templates/bcl-person/person.html.twig +44 -0
  272. package/templates/bcl-progress/progress.html.twig +3 -0
  273. package/templates/bcl-project/project-lists.html.twig +70 -0
  274. package/templates/bcl-project/project.html.twig +51 -76
  275. package/templates/bcl-project-status/project-contributions.html.twig +56 -0
  276. package/templates/bcl-project-status/project-status.html.twig +14 -44
  277. package/templates/bcl-recent-activities/recent-activities.html.twig +9 -7
  278. package/templates/bcl-search/search.html.twig +9 -2
  279. package/templates/bcl-select/select.html.twig +10 -3
  280. package/templates/bcl-timeline/timeline.html.twig +22 -18
  281. package/templates/bcl-user/{user-view-compact.html.twig → user-compact.html.twig} +0 -0
  282. package/templates/bcl-user/user-terms.html.twig +11 -0
  283. package/templates/bcl-user/user.html.twig +129 -0
  284. package/templates/bcl-user/user-edit.html.twig +0 -38
  285. package/templates/bcl-user/user-view.html.twig +0 -86
@@ -0,0 +1,269 @@
1
+ .bcl-gallery {
2
+ .bcl-gallery__thumbnails {
3
+ border-radius: $border-radius;
4
+ overflow: hidden;
5
+ }
6
+
7
+ ul.bcl-gallery__grid {
8
+ list-style: none;
9
+ padding: 0;
10
+ margin-bottom: 0;
11
+ }
12
+
13
+ .bcl-gallery__item {
14
+ position: relative;
15
+ }
16
+
17
+ .bcl-gallery__item-overlay {
18
+ display: flex;
19
+ flex-direction: column;
20
+ justify-content: center;
21
+ align-items: center;
22
+ position: absolute;
23
+ top: 0;
24
+ left: 0;
25
+ width: 100%;
26
+ height: 100%;
27
+ padding: 0 map-get($spacers, 3);
28
+ transition: background-color 0.2s ease;
29
+ }
30
+
31
+ .bcl-gallery__item-play-icon {
32
+ background-color: rgba(0, 0, 0, 0.5);
33
+ display: flex;
34
+ justify-content: center;
35
+ align-items: center;
36
+ width: 32px;
37
+ height: 32px;
38
+ border-radius: $border-radius;
39
+ pointer-events: none;
40
+
41
+ .bi {
42
+ fill: $white;
43
+ }
44
+ }
45
+
46
+ .bcl-gallery__item-caption {
47
+ display: none;
48
+ color: $white;
49
+ text-align: center;
50
+ pointer-events: none;
51
+
52
+ h5 {
53
+ margin-bottom: 0;
54
+ }
55
+ }
56
+
57
+ .bcl-gallery__item-description {
58
+ display: none;
59
+ margin-top: map-get($spacers, 1);
60
+ }
61
+
62
+ ul.bcl-gallery__grid li:not(:last-child) {
63
+ margin-bottom: map-get($spacers, 2);
64
+ }
65
+
66
+ .bcl-gallery__thumbnails-collaspe {
67
+ ul.bcl-gallery__grid {
68
+ margin-top: map-get($spacers, 2);
69
+ }
70
+ }
71
+
72
+ .bcl-gallery__collapse {
73
+ &[aria-expanded="false"] {
74
+ .label-expanded {
75
+ display: none;
76
+ }
77
+ }
78
+ &[aria-expanded="true"] {
79
+ .label-collapsed {
80
+ display: none;
81
+ }
82
+ svg {
83
+ transform: rotate(180deg);
84
+ }
85
+ }
86
+ }
87
+
88
+ .bcl-gallery__mobile-view-more > span {
89
+ display: block;
90
+ & * {
91
+ pointer-events: none;
92
+ }
93
+ }
94
+
95
+ .carousel {
96
+ height: 100%;
97
+ width: 100%;
98
+ max-height: 500px;
99
+ }
100
+
101
+ .carousel-inner {
102
+ height: 100%;
103
+ }
104
+
105
+ .carousel-item {
106
+ position: relative;
107
+ height: 100%;
108
+ text-align: center;
109
+ z-index: 1;
110
+ }
111
+
112
+ .modal-content {
113
+ background: black;
114
+ justify-content: center;
115
+ }
116
+
117
+ .modal-title {
118
+ width: 35%;
119
+ color: white;
120
+ }
121
+
122
+ .carousel-pager {
123
+ display: flex;
124
+ justify-content: center;
125
+ color: white;
126
+ width: 30%;
127
+
128
+ span {
129
+ display: inline-block;
130
+ margin-right: 5px;
131
+ }
132
+ }
133
+
134
+ .modal-close {
135
+ display: flex;
136
+ justify-content: end;
137
+ width: 35%;
138
+
139
+ .btn-close {
140
+ filter: invert(100%);
141
+ opacity: 1;
142
+ }
143
+ }
144
+
145
+ .carousel-control-next,
146
+ .carousel-control-prev {
147
+ // avoid overlapping medias and make play button of the video accessible
148
+ top: 50%;
149
+ height: 20%;
150
+ transform: translateY(-50%);
151
+ }
152
+
153
+ iframe,
154
+ video {
155
+ width: 100%;
156
+ height: 100%;
157
+ aspect-ratio: 16 / 9;
158
+ max-width: 900px;
159
+ object-fit: contain;
160
+ }
161
+
162
+ img {
163
+ display: inline-block;
164
+ height: 100%;
165
+ width: 100%;
166
+ object-fit: contain;
167
+ }
168
+
169
+ /* lazyload */
170
+ img:not([src]):not([srcset]) {
171
+ visibility: hidden;
172
+ }
173
+
174
+ @keyframes lazy_spinner {
175
+ to {
176
+ transform: rotate(360deg);
177
+ }
178
+ }
179
+
180
+ .carousel-item:after {
181
+ content: "";
182
+ box-sizing: border-box;
183
+ position: absolute;
184
+ top: 50%;
185
+ left: 50%;
186
+ width: 20px;
187
+ height: 20px;
188
+ margin-top: -10px;
189
+ margin-left: -10px;
190
+ border-radius: 50%;
191
+ border: 2px solid #ccc;
192
+ border-top-color: #000;
193
+ animation: lazy_spinner 0.6s linear infinite;
194
+ z-index: -1;
195
+ }
196
+
197
+ @include media-breakpoint-up(sm) {
198
+ ul.bcl-gallery__grid {
199
+ display: grid;
200
+ grid-template-rows: 1fr 1fr 0;
201
+ grid-gap: map-get($spacers, 2);
202
+ grid-template-columns: repeat(4, 1fr);
203
+ margin-bottom: -#{map-get($spacers, 2)};
204
+ }
205
+
206
+ ul.bcl-gallery__grid li:not(:last-child) {
207
+ margin-bottom: 0;
208
+ }
209
+
210
+ ul.bcl-gallery__grid li:first-child {
211
+ grid-column: 1 / 3;
212
+ grid-row: 1 / 3;
213
+ }
214
+
215
+ .bcl-gallery__thumbnails-collaspe {
216
+ ul.bcl-gallery__grid {
217
+ margin-top: map-get($spacers, 2);
218
+ }
219
+ ul.bcl-gallery__grid:nth-child(odd) li:first-child {
220
+ grid-column: auto;
221
+ grid-row: auto;
222
+ }
223
+ ul.bcl-gallery__grid:nth-child(odd) li:last-child {
224
+ grid-column: 3 / 5;
225
+ grid-row: 1 / 3;
226
+ }
227
+ }
228
+
229
+ .bcl-gallery__item:hover {
230
+ .bcl-gallery__item-overlay {
231
+ background-color: rgba(0, 0, 0, 0.5);
232
+ }
233
+ .bcl-gallery__item-play-icon {
234
+ background-color: $white;
235
+
236
+ .bi {
237
+ fill: $black;
238
+ }
239
+ }
240
+ }
241
+
242
+ .modal-title,
243
+ .modal-close {
244
+ width: 45%;
245
+ }
246
+
247
+ .carousel-pager {
248
+ width: 10%;
249
+ }
250
+ }
251
+
252
+ @include media-breakpoint-up(md) {
253
+ .bcl-gallery__item:hover {
254
+ .bcl-gallery__item-caption {
255
+ display: block;
256
+ }
257
+
258
+ .bcl-gallery__item-play-icon + .bcl-gallery__item-caption {
259
+ margin-top: map-get($spacers, 2);
260
+ }
261
+ }
262
+ }
263
+
264
+ @include media-breakpoint-up(lg) {
265
+ .bcl-gallery__item-description {
266
+ display: block;
267
+ }
268
+ }
269
+ }
@@ -2,8 +2,7 @@
2
2
  top: map-get($spacers, 3); // needed for position-sticky
3
3
  background-color: $gray-100;
4
4
 
5
- h5 {
6
- font-weight: bold;
5
+ .bcl-heading {
7
6
  margin-bottom: 0;
8
7
  padding: map-get($spacers, "3-5");
9
8
  border-bottom: 1px solid $gray-300;
@@ -12,7 +12,8 @@ $multiselect-spacers: (
12
12
  "disabled-spacer": calc(map-get($spacers, 2) - 1px),
13
13
  "disabled-spacer-md": calc(map-get($spacers, 1) - 1px),
14
14
  "select-spacer": calc(map-get($spacers, 2) - 2px),
15
- "select-spacer-md": calc(map-get($spacers, 1) + 0.05rem),
15
+ "select-spacer-md": 0.075rem,
16
+ "select-spacer-start": 0.3rem,
16
17
  "badge-padding-x": map-get($spacers, 1),
17
18
  "badge-padding-y": map-get($spacers, 1),
18
19
  "add-margin-top": map-get($spacers, "2-5"),
@@ -55,9 +56,10 @@ select.multi-select {
55
56
  }
56
57
  }
57
58
  .ss-multi-selected {
59
+ border-color: $input-border-color;
58
60
  padding: map-get($multiselect-spacers, "select-spacer") 0
59
61
  map-get($multiselect-spacers, "select-spacer")
60
- map-get($multiselect-spacers, "select-spacer");
62
+ map-get($multiselect-spacers, "select-spacer-start");
61
63
  &.ss-disabled {
62
64
  .ss-values {
63
65
  .ss-value {
@@ -66,7 +68,8 @@ select.multi-select {
66
68
  }
67
69
  }
68
70
  .ss-add {
69
- margin-top: map-get($multiselect-spacers, "add-margin-top");
71
+ margin-top: 0;
72
+ align-self: center;
70
73
  }
71
74
  }
72
75
  }
@@ -112,10 +115,7 @@ select.multi-select {
112
115
  .ss-multi-selected {
113
116
  padding: map-get($multiselect-spacers, "select-spacer-md") 0
114
117
  map-get($multiselect-spacers, "select-spacer-md")
115
- map-get($multiselect-spacers, "select-spacer-md");
116
- .ss-add {
117
- margin-top: map-get($multiselect-spacers, "add-margin-top-md");
118
- }
118
+ map-get($multiselect-spacers, "select-spacer-start");
119
119
  }
120
120
  .ss-values {
121
121
  @include font-size(1rem);
@@ -0,0 +1,8 @@
1
+ .pagination {
2
+ .page-link {
3
+ // fix icons vertical alignment
4
+ display: flex;
5
+ height: 100%;
6
+ align-items: center;
7
+ }
8
+ }
@@ -1,9 +1,11 @@
1
+ @use "sass:math";
2
+
1
3
  // Search form Spacers
2
4
  $search-spacers: (
3
5
  "icon-spacer-left": map-get($spacers, 3),
4
- "icon-spacer-top": calc(($form-select-height - map-get($icon, "xs")) / 2),
6
+ "icon-spacer-top": math.div(($form-select-height - map-get($icon, "xs")), 2),
5
7
  "icon-spacer-top-md":
6
- calc(($form-select-height-md - map-get($icon, "xs")) / 2),
8
+ math.div(($form-select-height-md - map-get($icon, "xs")), 2),
7
9
  "submit-spacer-right": map-get($spacers, 3),
8
10
  );
9
11
 
@@ -1,12 +1,23 @@
1
1
  // Custom theme colors
2
2
 
3
- $primary: #0a58ca;
4
- $secondary: #801f4f;
5
- $info: #087990;
6
- $danger: #b02a37;
7
- $warning: #ffc107;
8
- $success: #198754;
3
+ $primary: #253ebe;
4
+ $secondary: #70254a;
5
+ $info: #0d768b;
6
+ $danger: #a51f2c;
7
+ $warning: #ffba07;
8
+ $success: #09854c;
9
9
  $light: #f8f9fa;
10
10
  $dark: #212529;
11
11
 
12
12
  $text-muted: #495057;
13
+
14
+ $link-visited: #6b22b5;
15
+
16
+ // Color variants scales
17
+
18
+ // Tables
19
+ $table-hover-bg-factor: 0.1;
20
+
21
+ // Alerts
22
+ $alert-bg-scale: -90%;
23
+ $alert-border-scale: -80%;
@@ -24,6 +24,7 @@ $utilities: map-merge(
24
24
  map-get(map-get($utilities, "max-width"), "values"),
25
25
  (
26
26
  date: 7.5rem,
27
+ col-date: calc(7.5rem + var(--#{$variable-prefix}gutter-x)),
27
28
  "listing-img": 10rem,
28
29
  )
29
30
  ),
@@ -62,6 +63,7 @@ $utilities: map-merge(
62
63
  )
63
64
  );
64
65
 
66
+ /* stylelint-disable no-descending-specificity */
65
67
  a {
66
68
  text-underline-offset: 2px;
67
69
 
@@ -80,7 +82,15 @@ a {
80
82
  text-decoration: underline;
81
83
  }
82
84
  }
85
+
86
+ &:visited {
87
+ color: $link-visited;
88
+ &:hover {
89
+ color: shade-color($link-visited, 20%);
90
+ }
91
+ }
83
92
  }
93
+ /* stylelint-enable no-descending-specificity */
84
94
 
85
95
  svg {
86
96
  fill: currentColor;
@@ -10,6 +10,8 @@ $yellow-50: tint-color($yellow, 90%);
10
10
  $green-50: tint-color($green, 90%);
11
11
  $cyan-50: tint-color($cyan, 90%);
12
12
 
13
+ $zindex-dropdown: 1055;
14
+
13
15
  // Override theme-color "light"
14
16
  $theme-colors: map-merge(
15
17
  $theme-colors,
@@ -75,6 +77,8 @@ $accordion-border-color: $gray-300;
75
77
  $badge-font-weight: $font-weight-normal; // 400
76
78
  $badge-font-size: 1.125rem; // 18px
77
79
  $badge-font-size-desktop: 1rem; // 16px
80
+ $badge-active-box-shadow: $btn-active-box-shadow;
81
+ $badge-focus-width: $btn-focus-width;
78
82
 
79
83
  // banners
80
84
  $banner-content-border-color: $primary;
@@ -52,6 +52,7 @@
52
52
  @import "@openeuropa/bcl-bootstrap/scss/utilities/api";
53
53
 
54
54
  // Custom styles
55
+ @import "@openeuropa/bcl-theme-default/src/scss/alert";
55
56
  @import "@openeuropa/bcl-theme-default/src/scss/button";
56
57
  @import "@openeuropa/bcl-theme-default/src/scss/collapse";
57
58
  @import "@openeuropa/bcl-theme-default/src/scss/circular-progress-bar";
@@ -71,3 +72,6 @@
71
72
  @import "@openeuropa/bcl-theme-default/src/scss/timeline";
72
73
  @import "@openeuropa/bcl-theme-default/src/scss/inpage-navigation";
73
74
  @import "@openeuropa/bcl-theme-default/src/scss/language-list";
75
+ @import "@openeuropa/bcl-theme-default/src/scss/carousel";
76
+ @import "@openeuropa/bcl-theme-default/src/scss/gallery";
77
+ @import "@openeuropa/bcl-theme-default/src/scss/pagination";
@@ -37,6 +37,14 @@
37
37
  {% set _classes = _classes|merge(['fade', 'show']) %}
38
38
  {% endif %}
39
39
 
40
+ {% set _classes = _classes|merge(['text-dark']) %}
41
+
42
+ {% set _icon_classes = ['flex-shrink-0 me-3 mt-1 align-self-start' ] %}
43
+
44
+ {% if _variant != 'light' %}
45
+ {% set _icon_classes = _icon_classes|merge(['text-' ~ _variant]) %}
46
+ {% endif %}
47
+
40
48
  {% if attributes is empty %}
41
49
  {% set attributes = create_attribute() %}
42
50
  {% endif %}
@@ -49,7 +57,7 @@
49
57
  name: _icon_name ?: _icon_names[_variant],
50
58
  size: 's',
51
59
  path: _icon_path,
52
- attributes: create_attribute().addClass(['flex-shrink-0 me-3 mt-1 align-self-start']),
60
+ attributes: create_attribute().addClass(_icon_classes),
53
61
  } only %}
54
62
  {% endif %}
55
63
  <div class="alert-content flex-grow-1">
@@ -33,22 +33,25 @@
33
33
  {% set _classes = _classes|merge([ 'bg-' ~ _background]) %}
34
34
  {% endif %}
35
35
 
36
- {% if _background in ['light', 'warning'] %}
37
- {% set _classes = _classes|merge(['text-dark']) %}
38
- {% endif %}
39
-
40
36
  {% if attributes is empty %}
41
37
  {% set attributes = create_attribute() %}
42
38
  {% endif %}
43
39
 
40
+ {%- if _url is not empty -%}
41
+ {% set attributes = attributes.setAttribute('title', _title).setAttribute('href', _url) %}
42
+ {%- endif -%}
43
+
44
44
  {% set attributes = attributes.addClass(_classes) %}
45
45
 
46
46
  {%- if _url is not empty -%}
47
- <a href="{{ _url }}" title="{{ _title }}">
47
+ <a
48
+ {{ attributes }}
49
+ >
50
+ {%- else -%}
51
+ <span
52
+ {{ attributes }}
53
+ >
48
54
  {%- endif -%}
49
- <span
50
- {{ attributes }}
51
- >
52
55
  {%- if _assistive_text is not empty -%}
53
56
  <span class="visually-hidden">
54
57
  {{- _assistive_text -}}
@@ -63,9 +66,10 @@
63
66
  } only %}
64
67
  </span>
65
68
  {%- endif -%}
66
- </span>
67
69
  {%- if _url is not empty -%}
68
70
  </a>
71
+ {%- else -%}
72
+ </span>
69
73
  {%- endif -%}
70
74
 
71
75
  {% endspaceless %}
@@ -3,6 +3,8 @@
3
3
  {# Parameters:
4
4
  - title: (string) (default: "")
5
5
  - title_tag: (string) (default: "div")
6
+ - title_link: (link object) (default: {})
7
+ - title_attributes (drupal attrs)
6
8
  - description: (string) (default: "")
7
9
  - link: (link object) (default: {}): predefined structure for Link component
8
10
  - image: (string) <img> tag
@@ -14,6 +16,8 @@
14
16
 
15
17
  {% set _title = title|default('') %}
16
18
  {% set _title_tag = title_tag|default('div') %}
19
+ {% set _title_link = title_link|default({}) %}
20
+ {% set _title_attributes = title_attributes ?: create_attribute() %}
17
21
  {% set _description = description|default('') %}
18
22
  {% set _link = link|default({}) %}
19
23
  {% set _image = image|default('') %}
@@ -28,11 +32,13 @@
28
32
  {% set _content_class = _content_class ~ " " ~ _content_classes %}
29
33
  {% endif %}
30
34
 
31
- {% set _title_classes = "display-6" %}
35
+ {% set _title_classes = ['display-6'] %}
32
36
  {% if _description is not empty or _link is not empty %}
33
- {% set _title_classes = _title_classes ~ " mb-3" %}
37
+ {% set _title_classes = _title_classes|merge(['mb-3']) %}
34
38
  {% endif %}
35
39
 
40
+ {% set _title_attributes = _title_attributes.addClass(_title_classes) %}
41
+
36
42
  {% set _classes = [
37
43
  'bcl-banner',
38
44
  _shade ? 'shade',
@@ -53,14 +59,19 @@
53
59
  {% endif %}
54
60
  <div class="container">
55
61
  <div class="{{ _content_class }}">
56
- {% if _title is not empty %}
57
- <{{ _title_tag }} class="{{ _title_classes }}">{{ _title }}</{{ _title_tag }}>
58
- {% if _description is not empty %}
59
- <p class="mb-4">{{ _description }}</p>
60
- {% endif %}
61
- {% if _link.path %}
62
- {% include '@oe-bcl/bcl-link/link.html.twig' with _link only %}
62
+ {% if _title is not empty %}
63
+ {% include '@oe-bcl/bcl-heading/heading.html.twig' with {
64
+ title: _title,
65
+ title_tag: _title_tag,
66
+ title_link: _title_link,
67
+ attributes: _title_attributes,
68
+ } only %}
63
69
  {% endif %}
70
+ {% if _description is not empty %}
71
+ <p class="mb-4">{{ _description }}</p>
72
+ {% endif %}
73
+ {% if _link.path %}
74
+ {% include '@oe-bcl/bcl-link/link.html.twig' with _link only %}
64
75
  {% endif %}
65
76
  </div>
66
77
  </div>
@@ -116,6 +116,9 @@
116
116
  {% block related %}
117
117
  {{ related }}
118
118
  {% endblock %}
119
+ {% block share %}
120
+ {{ share }}
121
+ {% endblock %}
119
122
  </div>
120
123
  </div>
121
124
  </main>
@@ -123,9 +126,6 @@
123
126
  {% block feedback %}
124
127
  {{ feedback }}
125
128
  {% endblock %}
126
- {% block share %}
127
- {{ share }}
128
- {% endblock %}
129
129
 
130
130
  {% if _with_footer %}
131
131
  {% include '@oe-bcl/bcl-footer/footer.html.twig' with footer only %}
@@ -1,53 +1,63 @@
1
1
  {#
2
2
  Parameters:
3
+ - title: (string) (default: '')
4
+ - title_tag: (string) (default: 'h2')
5
+ - title_link: (link object) (default: {})
6
+ - title_attributes (drupal attrs)
3
7
  - listing (object) (default: {})
4
8
  - pagination (object) (default: {})
5
9
  - sidebar (object) (default: '')
6
- - page_title (string) (default: '')
7
10
  #}
8
11
 
9
12
  {% extends "@oe-bcl/bcl-base-templates/content-type.html.twig" %}
10
13
 
14
+ {% set _title = title|default('') %}
15
+ {% set _title_tag = title_tag|default('h2') %}
16
+ {% set _title_link = title_link|default({}) %}
17
+ {% set _title_attributes = title_attributes ?: create_attribute() %}
11
18
  {% set _listing = listing|default({}) %}
12
19
  {% set _pagination = pagination|default({}) %}
13
20
  {% set _search = search|default({}) %}
14
21
  {% set _sidebar = sidebar|default({}) %}
15
- {% set _page_title = page_title|default({}) %}
22
+
23
+ {% set _title_attributes = _title_attributes ?: create_attribute() %}
16
24
 
17
25
  {% block content_top %}
18
26
  {% include '@oe-bcl/bcl-button/button.html.twig' with filter_button only %}
19
27
  <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 %}
28
+ <div class="col-md-6 col-lg-8 align-self-center">
29
+ {% if _title is not empty %}
30
+ {% include '@oe-bcl/bcl-heading/heading.html.twig' with {
31
+ title: _title ~ ' (' ~ listing.items.length ~ ')',
32
+ title_tag: _title_tag,
33
+ title_link: _title_link,
34
+ attributes: _title_attributes.addClass(['mb-0', 'text-capitalize']),
35
+ } only %}
35
36
  {% endif %}
36
37
  </div>
38
+ {% if badges is not empty and badges is iterable %}
39
+ <div class="col-md-12 order-md-2 mt-3">
40
+ {% for badge in badges %}
41
+ {% include '@oe-bcl/bcl-badge/badge.html.twig' with badge|merge({
42
+ attributes: create_attribute().addClass(["mb-2", "me-2"])
43
+ }) only %}
44
+ {% endfor %}
45
+ </div>
46
+ {% endif %}
37
47
  <div class="col-md-6 col-lg-4 mt-3 mt-md-0">
38
48
  <div class="float-md-end d-md-flex align-items-center mb-4 mb-md-0">
39
49
  {% include '@oe-bcl/bcl-select/select.html.twig' with sort_select|merge({
40
- attributes: create_attribute().addClass(['ms-md-2 mb-2']),
50
+ attributes: create_attribute().addClass(['ms-md-2']),
41
51
  }) only %}
42
52
  </div>
43
53
  </div>
44
54
  </div>
45
- <hr class="d-none d-md-block mb-4"/>
55
+ <hr class="d-none d-md-block mb-4-75"/>
46
56
  {% endblock %}
47
57
 
48
58
  {% block content %}
49
59
  {% if _listing is not empty %}
50
- {% include '@oe-bcl/bcl-listing/listing.html.twig' with _listing %}
60
+ {% include '@oe-bcl/bcl-listing/listing.html.twig' with _listing only %}
51
61
  {% endif %}
52
62
  {% endblock %}
53
63