@openeuropa/bcl-theme-default 0.18.0 → 0.21.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 (265) hide show
  1. package/bcl-builder.config.js +21 -4
  2. package/css/oe-bcl-default.css +1314 -422
  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 -1
  7. package/icons/icons-flag.svg +1 -1
  8. package/js/oe-bcl-default.bundle.js +357 -146
  9. package/js/oe-bcl-default.bundle.js.map +1 -1
  10. package/js/oe-bcl-default.bundle.min.js +1 -1
  11. package/js/oe-bcl-default.bundle.min.js.map +1 -1
  12. package/js/oe-bcl-default.esm.js +236 -75
  13. package/js/oe-bcl-default.esm.js.map +1 -1
  14. package/js/oe-bcl-default.esm.min.js +1 -1
  15. package/js/oe-bcl-default.esm.min.js.map +1 -1
  16. package/js/oe-bcl-default.umd.js +357 -146
  17. package/js/oe-bcl-default.umd.js.map +1 -1
  18. package/js/oe-bcl-default.umd.min.js +1 -1
  19. package/js/oe-bcl-default.umd.min.js.map +1 -1
  20. package/logos/ec/logo-ec--mute.svg +52 -0
  21. package/logos/ec/negative/logo-ec--ar.svg +83 -0
  22. package/logos/ec/negative/logo-ec--bg.svg +59 -0
  23. package/logos/ec/negative/logo-ec--ca.svg +88 -0
  24. package/logos/ec/negative/logo-ec--cs.svg +86 -0
  25. package/logos/ec/negative/logo-ec--da.svg +91 -0
  26. package/logos/ec/negative/logo-ec--de.svg +93 -0
  27. package/logos/ec/negative/logo-ec--el.svg +89 -0
  28. package/logos/ec/negative/logo-ec--en.svg +90 -0
  29. package/logos/ec/negative/logo-ec--es.svg +87 -0
  30. package/logos/ec/negative/logo-ec--et.svg +87 -0
  31. package/logos/ec/negative/logo-ec--fi.svg +88 -0
  32. package/logos/ec/negative/logo-ec--fr.svg +92 -0
  33. package/logos/ec/negative/logo-ec--ga.svg +90 -0
  34. package/logos/ec/negative/logo-ec--hr.svg +88 -0
  35. package/logos/ec/negative/logo-ec--hu.svg +58 -0
  36. package/logos/ec/negative/logo-ec--is.svg +105 -0
  37. package/logos/ec/negative/logo-ec--it.svg +95 -0
  38. package/logos/ec/negative/logo-ec--lt.svg +87 -0
  39. package/logos/ec/negative/logo-ec--lv.svg +87 -0
  40. package/logos/ec/negative/logo-ec--mt.svg +98 -0
  41. package/logos/ec/negative/logo-ec--nl.svg +89 -0
  42. package/logos/ec/negative/logo-ec--no.svg +90 -0
  43. package/logos/ec/negative/logo-ec--pl.svg +89 -0
  44. package/logos/ec/negative/logo-ec--pt.svg +58 -0
  45. package/logos/ec/negative/logo-ec--ro.svg +94 -0
  46. package/logos/ec/negative/logo-ec--sk.svg +87 -0
  47. package/logos/ec/negative/logo-ec--sl.svg +88 -0
  48. package/logos/ec/negative/logo-ec--sv.svg +94 -0
  49. package/logos/ec/negative/logo-ec--tr.svg +87 -0
  50. package/logos/ec/positive/logo-ec--ar.svg +82 -0
  51. package/logos/ec/positive/logo-ec--bg.svg +233 -0
  52. package/logos/ec/positive/logo-ec--ca.svg +87 -0
  53. package/logos/ec/positive/logo-ec--cs.svg +207 -0
  54. package/logos/ec/positive/logo-ec--da.svg +235 -0
  55. package/logos/ec/positive/logo-ec--de.svg +243 -0
  56. package/logos/ec/positive/logo-ec--el.svg +204 -0
  57. package/logos/ec/positive/logo-ec--en.svg +233 -0
  58. package/logos/ec/positive/logo-ec--es.svg +210 -0
  59. package/logos/ec/positive/logo-ec--et.svg +207 -0
  60. package/logos/ec/positive/logo-ec--fi.svg +219 -0
  61. package/logos/ec/positive/logo-ec--fr.svg +1 -0
  62. package/logos/ec/positive/logo-ec--ga.svg +221 -0
  63. package/logos/ec/positive/logo-ec--hr.svg +216 -0
  64. package/logos/ec/positive/logo-ec--hu.svg +218 -0
  65. package/logos/ec/positive/logo-ec--is.svg +105 -0
  66. package/logos/ec/positive/logo-ec--it.svg +241 -0
  67. package/logos/ec/positive/logo-ec--lt.svg +203 -0
  68. package/logos/ec/positive/logo-ec--lv.svg +212 -0
  69. package/logos/ec/positive/logo-ec--mt.svg +239 -0
  70. package/logos/ec/positive/logo-ec--nl.svg +231 -0
  71. package/logos/ec/positive/logo-ec--no.svg +89 -0
  72. package/logos/ec/positive/logo-ec--pl.svg +225 -0
  73. package/logos/ec/positive/logo-ec--pt.svg +228 -0
  74. package/logos/ec/positive/logo-ec--ro.svg +225 -0
  75. package/logos/ec/positive/logo-ec--sk.svg +217 -0
  76. package/logos/ec/positive/logo-ec--sl.svg +216 -0
  77. package/logos/ec/positive/logo-ec--sv.svg +254 -0
  78. package/logos/ec/positive/logo-ec--tr.svg +87 -0
  79. package/logos/eu/condensed-version/negative/logo-eu--ar.svg +18 -0
  80. package/logos/eu/condensed-version/negative/logo-eu--bg.svg +7 -0
  81. package/logos/eu/condensed-version/negative/logo-eu--ca.svg +7 -0
  82. package/logos/eu/condensed-version/negative/logo-eu--cs.svg +7 -0
  83. package/logos/eu/condensed-version/negative/logo-eu--da.svg +7 -0
  84. package/logos/eu/condensed-version/negative/logo-eu--de.svg +7 -0
  85. package/logos/eu/condensed-version/negative/logo-eu--el.svg +7 -0
  86. package/logos/eu/condensed-version/negative/logo-eu--en.svg +7 -0
  87. package/logos/eu/condensed-version/negative/logo-eu--es.svg +7 -0
  88. package/logos/eu/condensed-version/negative/logo-eu--et.svg +7 -0
  89. package/logos/eu/condensed-version/negative/logo-eu--fi.svg +7 -0
  90. package/logos/eu/condensed-version/negative/logo-eu--fr.svg +7 -0
  91. package/logos/eu/condensed-version/negative/logo-eu--ga.svg +7 -0
  92. package/logos/eu/condensed-version/negative/logo-eu--hr.svg +7 -0
  93. package/logos/eu/condensed-version/negative/logo-eu--hu.svg +7 -0
  94. package/logos/eu/condensed-version/negative/logo-eu--is.svg +8 -0
  95. package/logos/eu/condensed-version/negative/logo-eu--it.svg +7 -0
  96. package/logos/eu/condensed-version/negative/logo-eu--lt.svg +7 -0
  97. package/logos/eu/condensed-version/negative/logo-eu--lv.svg +7 -0
  98. package/logos/eu/condensed-version/negative/logo-eu--mt.svg +7 -0
  99. package/logos/eu/condensed-version/negative/logo-eu--nl.svg +7 -0
  100. package/logos/eu/condensed-version/negative/logo-eu--no.svg +7 -0
  101. package/logos/eu/condensed-version/negative/logo-eu--pl.svg +7 -0
  102. package/logos/eu/condensed-version/negative/logo-eu--pt.svg +7 -0
  103. package/logos/eu/condensed-version/negative/logo-eu--ro.svg +7 -0
  104. package/logos/eu/condensed-version/negative/logo-eu--sk.svg +7 -0
  105. package/logos/eu/condensed-version/negative/logo-eu--sl.svg +7 -0
  106. package/logos/eu/condensed-version/negative/logo-eu--sv.svg +7 -0
  107. package/logos/eu/condensed-version/negative/logo-eu--tr.svg +7 -0
  108. package/logos/eu/condensed-version/positive/logo-eu--ar.svg +29 -0
  109. package/logos/eu/condensed-version/positive/logo-eu--bg.svg +20 -0
  110. package/logos/eu/condensed-version/positive/logo-eu--ca.svg +16 -0
  111. package/logos/eu/condensed-version/positive/logo-eu--cs.svg +20 -0
  112. package/logos/eu/condensed-version/positive/logo-eu--da.svg +20 -0
  113. package/logos/eu/condensed-version/positive/logo-eu--de.svg +20 -0
  114. package/logos/eu/condensed-version/positive/logo-eu--el.svg +20 -0
  115. package/logos/eu/condensed-version/positive/logo-eu--en.svg +20 -0
  116. package/logos/eu/condensed-version/positive/logo-eu--es.svg +20 -0
  117. package/logos/eu/condensed-version/positive/logo-eu--et.svg +20 -0
  118. package/logos/eu/condensed-version/positive/logo-eu--fi.svg +20 -0
  119. package/logos/eu/condensed-version/positive/logo-eu--fr.svg +20 -0
  120. package/logos/eu/condensed-version/positive/logo-eu--ga.svg +20 -0
  121. package/logos/eu/condensed-version/positive/logo-eu--hr.svg +20 -0
  122. package/logos/eu/condensed-version/positive/logo-eu--hu.svg +20 -0
  123. package/logos/eu/condensed-version/positive/logo-eu--is.svg +17 -0
  124. package/logos/eu/condensed-version/positive/logo-eu--it.svg +20 -0
  125. package/logos/eu/condensed-version/positive/logo-eu--lt.svg +20 -0
  126. package/logos/eu/condensed-version/positive/logo-eu--lv.svg +20 -0
  127. package/logos/eu/condensed-version/positive/logo-eu--mt.svg +20 -0
  128. package/logos/eu/condensed-version/positive/logo-eu--nl.svg +20 -0
  129. package/logos/eu/condensed-version/positive/logo-eu--no.svg +16 -0
  130. package/logos/eu/condensed-version/positive/logo-eu--pl.svg +20 -0
  131. package/logos/eu/condensed-version/positive/logo-eu--pt.svg +20 -0
  132. package/logos/eu/condensed-version/positive/logo-eu--ro.svg +20 -0
  133. package/logos/eu/condensed-version/positive/logo-eu--sk.svg +20 -0
  134. package/logos/eu/condensed-version/positive/logo-eu--sl.svg +20 -0
  135. package/logos/eu/condensed-version/positive/logo-eu--sv.svg +20 -0
  136. package/logos/eu/condensed-version/positive/logo-eu--tr.svg +16 -0
  137. package/logos/eu/logo-eu--mute.svg +10 -0
  138. package/logos/eu/standard-version/negative/logo-eu--ar.svg +18 -0
  139. package/logos/eu/standard-version/negative/logo-eu--bg.svg +17 -0
  140. package/logos/eu/standard-version/negative/logo-eu--ca.svg +16 -0
  141. package/logos/eu/standard-version/negative/logo-eu--cs.svg +17 -0
  142. package/logos/eu/standard-version/negative/logo-eu--da.svg +23 -0
  143. package/logos/eu/standard-version/negative/logo-eu--de.svg +21 -0
  144. package/logos/eu/standard-version/negative/logo-eu--el.svg +19 -0
  145. package/logos/eu/standard-version/negative/logo-eu--en.svg +18 -0
  146. package/logos/eu/standard-version/negative/logo-eu--es.svg +17 -0
  147. package/logos/eu/standard-version/negative/logo-eu--et.svg +16 -0
  148. package/logos/eu/standard-version/negative/logo-eu--fi.svg +19 -0
  149. package/logos/eu/standard-version/negative/logo-eu--fr.svg +20 -0
  150. package/logos/eu/standard-version/negative/logo-eu--ga.svg +21 -0
  151. package/logos/eu/standard-version/negative/logo-eu--hr.svg +18 -0
  152. package/logos/eu/standard-version/negative/logo-eu--hu.svg +16 -0
  153. package/logos/eu/standard-version/negative/logo-eu--is.svg +20 -0
  154. package/logos/eu/standard-version/negative/logo-eu--it.svg +18 -0
  155. package/logos/eu/standard-version/negative/logo-eu--lt.svg +19 -0
  156. package/logos/eu/standard-version/negative/logo-eu--lv.svg +21 -0
  157. package/logos/eu/standard-version/negative/logo-eu--mt.svg +19 -0
  158. package/logos/eu/standard-version/negative/logo-eu--nl.svg +17 -0
  159. package/logos/eu/standard-version/negative/logo-eu--no.svg +20 -0
  160. package/logos/eu/standard-version/negative/logo-eu--pl.svg +19 -0
  161. package/logos/eu/standard-version/negative/logo-eu--pt.svg +18 -0
  162. package/logos/eu/standard-version/negative/logo-eu--ro.svg +21 -0
  163. package/logos/eu/standard-version/negative/logo-eu--sk.svg +17 -0
  164. package/logos/eu/standard-version/negative/logo-eu--sl.svg +18 -0
  165. package/logos/eu/standard-version/negative/logo-eu--sv.svg +22 -0
  166. package/logos/eu/standard-version/negative/logo-eu--tr.svg +18 -0
  167. package/logos/eu/standard-version/positive/logo-eu--ar.svg +27 -0
  168. package/logos/eu/standard-version/positive/logo-eu--bg.svg +34 -0
  169. package/logos/eu/standard-version/positive/logo-eu--ca.svg +27 -0
  170. package/logos/eu/standard-version/positive/logo-eu--cs.svg +32 -0
  171. package/logos/eu/standard-version/positive/logo-eu--da.svg +38 -0
  172. package/logos/eu/standard-version/positive/logo-eu--de.svg +36 -0
  173. package/logos/eu/standard-version/positive/logo-eu--el.svg +34 -0
  174. package/logos/eu/standard-version/positive/logo-eu--en.svg +33 -0
  175. package/logos/eu/standard-version/positive/logo-eu--es.svg +32 -0
  176. package/logos/eu/standard-version/positive/logo-eu--et.svg +31 -0
  177. package/logos/eu/standard-version/positive/logo-eu--fi.svg +34 -0
  178. package/logos/eu/standard-version/positive/logo-eu--fr.svg +35 -0
  179. package/logos/eu/standard-version/positive/logo-eu--ga.svg +36 -0
  180. package/logos/eu/standard-version/positive/logo-eu--hr.svg +33 -0
  181. package/logos/eu/standard-version/positive/logo-eu--hu.svg +31 -0
  182. package/logos/eu/standard-version/positive/logo-eu--is.svg +31 -0
  183. package/logos/eu/standard-version/positive/logo-eu--it.svg +33 -0
  184. package/logos/eu/standard-version/positive/logo-eu--lt.svg +34 -0
  185. package/logos/eu/standard-version/positive/logo-eu--lv.svg +36 -0
  186. package/logos/eu/standard-version/positive/logo-eu--mt.svg +34 -0
  187. package/logos/eu/standard-version/positive/logo-eu--nl.svg +32 -0
  188. package/logos/eu/standard-version/positive/logo-eu--no.svg +31 -0
  189. package/logos/eu/standard-version/positive/logo-eu--pl.svg +34 -0
  190. package/logos/eu/standard-version/positive/logo-eu--pt.svg +33 -0
  191. package/logos/eu/standard-version/positive/logo-eu--ro.svg +36 -0
  192. package/logos/eu/standard-version/positive/logo-eu--sk.svg +32 -0
  193. package/logos/eu/standard-version/positive/logo-eu--sl.svg +33 -0
  194. package/logos/eu/standard-version/positive/logo-eu--sv.svg +37 -0
  195. package/logos/eu/standard-version/positive/logo-eu--tr.svg +29 -0
  196. package/package.json +15 -8
  197. package/src/icons/icons.js +356 -0
  198. package/src/js/gallery/gallery.js +168 -0
  199. package/src/js/index.esm.js +2 -0
  200. package/src/js/index.umd.js +2 -0
  201. package/src/scss/_badge.scss +5 -5
  202. package/src/scss/_banners.scss +4 -4
  203. package/src/scss/_bcl-offcanvas.scss +7 -0
  204. package/src/scss/_breadcrumb.scss +1 -0
  205. package/src/scss/_button.scss +6 -0
  206. package/src/scss/_carousel.scss +85 -0
  207. package/src/scss/_circular-progress-bar.scss +122 -0
  208. package/src/scss/_gallery.scss +262 -0
  209. package/src/scss/_header.scss +46 -45
  210. package/src/scss/_icon.scss +2 -5
  211. package/src/scss/_inpage-navigation.scss +10 -0
  212. package/src/scss/_language-list.scss +51 -0
  213. package/src/scss/_pagination.scss +8 -0
  214. package/src/scss/_reset.scss +9 -0
  215. package/src/scss/_search-form.scss +4 -2
  216. package/src/scss/base/_colors.scss +12 -0
  217. package/src/scss/{_utilities.scss → base/_utilities.scss} +40 -4
  218. package/src/scss/{_variables.scss → base/_variables.scss} +10 -2
  219. package/src/scss/oe-bcl-default.scss +11 -2
  220. package/templates/bcl-accordion/accordion.html.twig +7 -2
  221. package/templates/bcl-alert/alert.html.twig +5 -5
  222. package/templates/bcl-badge/badge.html.twig +5 -5
  223. package/templates/bcl-base-templates/content-type.html.twig +14 -0
  224. package/templates/bcl-base-templates/listing-page.html.twig +13 -13
  225. package/templates/bcl-blockquote/blockquote.html.twig +18 -3
  226. package/templates/bcl-breadcrumb/breadcrumb.html.twig +2 -2
  227. package/templates/bcl-card/card.html.twig +50 -20
  228. package/templates/bcl-card-layout/card-layout.html.twig +6 -1
  229. package/templates/bcl-carousel/carousel.html.twig +26 -5
  230. package/templates/bcl-contact-form/contact-form.html.twig +5 -0
  231. package/templates/bcl-content-banner/content-banner.html.twig +39 -34
  232. package/templates/bcl-date-block/date-block.html.twig +29 -10
  233. package/templates/bcl-description-list/description-list.html.twig +39 -13
  234. package/templates/bcl-event/event.html.twig +5 -22
  235. package/templates/bcl-fact-figures/fact-figures.html.twig +3 -3
  236. package/templates/bcl-featured-media/featured-media.html.twig +3 -1
  237. package/templates/bcl-file/file.html.twig +6 -5
  238. package/templates/bcl-footer/footer.html.twig +3 -1
  239. package/templates/bcl-form/form.html.twig +26 -0
  240. package/templates/bcl-gallery/gallery.html.twig +203 -0
  241. package/templates/bcl-header/header.html.twig +31 -15
  242. package/templates/bcl-language-list/language-list-grid.html.twig +68 -0
  243. package/templates/bcl-language-list/language-list-modal.html.twig +58 -0
  244. package/templates/bcl-language-list/language-list.html.twig +111 -0
  245. package/templates/bcl-language-switcher/language-switcher.html.twig +44 -0
  246. package/templates/bcl-link/link.html.twig +1 -1
  247. package/templates/bcl-links-block/links-block.html.twig +2 -2
  248. package/templates/bcl-listing/listing.html.twig +11 -4
  249. package/templates/bcl-modal/modal.html.twig +12 -1
  250. package/templates/bcl-navbar/navbar.html.twig +39 -28
  251. package/templates/bcl-page/page.html.twig +1 -1
  252. package/templates/bcl-pagination/pagination.html.twig +123 -9
  253. package/templates/bcl-person/person.html.twig +44 -0
  254. package/templates/bcl-progress/progress.html.twig +5 -1
  255. package/templates/bcl-project/project.html.twig +112 -0
  256. package/templates/bcl-project-status/project-status.html.twig +128 -0
  257. package/templates/bcl-recent-activities/recent-activities.html.twig +1 -1
  258. package/templates/bcl-select/select.html.twig +13 -3
  259. package/templates/bcl-subscription/subscription-modal.html.twig +24 -0
  260. package/templates/bcl-subscription/subscription.html.twig +10 -0
  261. package/templates/bcl-subscription-block/subscription-block.html.twig +36 -0
  262. package/templates/bcl-timeline/timeline.html.twig +3 -3
  263. package/templates/bcl-user/user-view-compact.html.twig +9 -2
  264. package/templates/bcl-user/user-view.html.twig +0 -10
  265. package/icons/bootstrap-icons.svg +0 -1
package/package.json CHANGED
@@ -2,21 +2,28 @@
2
2
  "name": "@openeuropa/bcl-theme-default",
3
3
  "author": "European Commission",
4
4
  "license": "EUPL-1.2",
5
- "version": "0.18.0",
5
+ "version": "0.21.0",
6
6
  "description": "OE - BCL theme default",
7
7
  "scripts": {
8
+ "align-templates": "lerna --scope \"@openeuropa/bcl-twig-templates\" run prepublish",
8
9
  "build": "npm-run-all build:*",
9
10
  "build:styles": "cross-env bcl-builder styles",
10
11
  "build:scripts": "cross-env bcl-builder scripts",
11
12
  "build:copy": "cross-env bcl-builder copy",
12
- "clean": "rimraf css js templates",
13
- "prepublish": "npm run build"
13
+ "build:sprite": "cross-env bcl-builder sprite",
14
+ "clean": "rimraf css js templates logos icons",
15
+ "prepublish": "npm run build",
16
+ "update:styles": "npm run build:styles && copyfiles -f css/*.min.css ../../../assets",
17
+ "update:scripts": "npm run build:scripts && copyfiles -f js/*.bundle.min.js ../../../assets",
18
+ "update:templates": "run-s align-templates build:copy"
14
19
  },
15
20
  "devDependencies": {
16
- "@ecl/resources-flag-icons": "3.1.3",
17
- "@openeuropa/bcl-bootstrap": "^0.18.0",
18
- "@openeuropa/bcl-builder": "^0.18.0",
19
- "@openeuropa/bcl-twig-templates": "^0.18.0",
21
+ "@ecl/resources-ec-logo": "3.2.3",
22
+ "@ecl/resources-eu-logo": "3.2.3",
23
+ "@ecl/resources-flag-icons": "3.2.3",
24
+ "@openeuropa/bcl-bootstrap": "^0.21.0",
25
+ "@openeuropa/bcl-builder": "^0.21.0",
26
+ "@openeuropa/bcl-twig-templates": "^0.21.0",
20
27
  "copyfiles": "2.4.1",
21
28
  "cross-env": "7.0.3",
22
29
  "glob": "7.2.0",
@@ -40,5 +47,5 @@
40
47
  "design-system",
41
48
  "twig"
42
49
  ],
43
- "gitHead": "a82834df6dff563a956a79bf2899c92742dd5820"
50
+ "gitHead": "18c01b34ca76780f480c692c566dfe507d961ccf"
44
51
  }
@@ -0,0 +1,356 @@
1
+ module.exports = [
2
+ // Arrows
3
+ "arrow-up.svg",
4
+ "arrow-down.svg",
5
+ "arrow-left.svg",
6
+ "arrow-right.svg",
7
+ "arrow-clockwise.svg",
8
+ "arrow-90deg-down.svg",
9
+ "arrow-90deg-up.svg",
10
+ "arrow-return-left.svg",
11
+ "arrow-90deg-left.svg",
12
+ "arrow-return-right.svg",
13
+ "arrow-90deg-right.svg",
14
+ "arrows-move.svg",
15
+ "arrows-expand.svg",
16
+ "arrows-collapse.svg",
17
+ "arrows-angle-expand.svg",
18
+ "arrows-angle-contract.svg",
19
+ "arrows-fullscreen.svg",
20
+
21
+ //Shape arrows
22
+ "arrow-up-circle-fill.svg",
23
+ "arrow-up-circle.svg",
24
+ "arrow-down-circle-fill.svg",
25
+ "arrow-down-circle.svg",
26
+ "arrow-left-circle-fill.svg",
27
+ "arrow-left-circle.svg",
28
+ "arrow-right-circle-fill.svg",
29
+ "arrow-right-circle.svg",
30
+
31
+ //Box arrows
32
+ "box-arrow-in-right.svg",
33
+ "box-arrow-right.svg",
34
+ "box-arrow-in-up-right.svg",
35
+ "box-arrow-up-right.svg",
36
+
37
+ //Carrets
38
+ "caret-up-fill.svg",
39
+ "caret-down-fill.svg",
40
+ "caret-left-fill.svg",
41
+ "caret-right-fill.svg",
42
+
43
+ //Chevrons
44
+ "chevron-up.svg",
45
+ "chevron-down.svg",
46
+ "chevron-left.svg",
47
+ "chevron-right.svg",
48
+ "chevron-double-up.svg",
49
+ "chevron-double-down.svg",
50
+ "chevron-double-left.svg",
51
+ "chevron-double-right.svg",
52
+
53
+ //Alerts, warnings and signs
54
+ "check-lg.svg",
55
+ "check2.svg",
56
+ "exclamation-lg.svg",
57
+ "question-lg.svg",
58
+ "info-lg.svg",
59
+ "x-lg.svg",
60
+ "plus-lg.svg",
61
+ "dash-lg.svg",
62
+ "check-circle.svg",
63
+ "check-circle-fill.svg",
64
+ "exclamation-circle.svg",
65
+ "exclamation-circle-fill.svg",
66
+ "exclamation-triangle-fill.svg",
67
+ "question-circle.svg",
68
+ "question-circle-fill.svg",
69
+ "info-circle.svg",
70
+ "info-circle-fill.svg",
71
+ "x-circle.svg",
72
+ "x-circle-fill.svg",
73
+ "plus-circle.svg",
74
+ "plus-circle-fill.svg",
75
+ "dash-circle.svg",
76
+ "dash-circle-fill.svg",
77
+ "filter.svg",
78
+
79
+ //Files and folders
80
+ "file-earmark-pdf.svg",
81
+ "file-arrow-down-fill.svg",
82
+ "file-pdf-fill.svg",
83
+ "file-earmark-bar-graph.svg",
84
+ "file-bar-graph-fill.svg",
85
+ "file-earmark-ppt.svg",
86
+ "file-ppt-fill.svg",
87
+ "file-earmark-excel.svg",
88
+ "file-excel-fill.svg",
89
+ "file-earmark-word.svg",
90
+ "file-word-fill.svg",
91
+ "file-earmark-image.svg",
92
+ "file-image-fill.svg",
93
+ "file-earmark-font.svg",
94
+ "file-font-fill.svg",
95
+ "file-earmark-slides.svg",
96
+ "file-slides-fill.svg",
97
+ "file-earmark-person.svg",
98
+ "file-person-fill.svg",
99
+ "file-earmark-music.svg",
100
+ "file-music-fill.svg",
101
+ "file-earmark-play.svg",
102
+ "file-play-fill.svg",
103
+ "file-earmark-code.svg",
104
+ "file-code-fill.svg",
105
+ "file-earmark-zip.svg",
106
+ "file-zip-fill.svg",
107
+ "file-earmark-text.svg",
108
+ "file-text-fill.svg",
109
+ "file-earmark.svg",
110
+ "file-fill.svg",
111
+ "folder.svg",
112
+ "folder-fill.svg",
113
+
114
+ //UI and keyboard
115
+ "trash.svg",
116
+ "trash-fill.svg",
117
+ "link.svg",
118
+
119
+ //Social.svg
120
+ "skype.svg",
121
+ "reddit.svg",
122
+ "mastodon.svg",
123
+ "messenger.svg",
124
+ "whatsapp.svg",
125
+ "telegram.svg",
126
+ "discord.svg",
127
+ "youtube.svg",
128
+ "twitch.svg",
129
+ "twitter.svg",
130
+ "facebook.svg",
131
+ "instagram.svg",
132
+ "slack.svg",
133
+ "linkedin.svg",
134
+ "google.svg",
135
+ "github.svg",
136
+
137
+ //Shapes
138
+ "heart.svg",
139
+ "heart-fill.svg",
140
+ "star.svg",
141
+ "star-fill.svg",
142
+ "star-half.svg",
143
+ "diamond.svg",
144
+ "diamond-fill.svg",
145
+ "triangle.svg",
146
+ "triangle-fill.svg",
147
+ "square.svg",
148
+ "square-fill.svg",
149
+ "circle.svg",
150
+ "circle-fill.svg",
151
+
152
+ //Media
153
+ "volume-off.svg",
154
+ "volume-off-fill.svg",
155
+ "volume-mute.svg",
156
+ "volume-mute-fill.svg",
157
+ "volume-up.svg",
158
+ "volume-up-fill.svg",
159
+ "volume-down.svg",
160
+ "volume-down-fill.svg",
161
+ "skip-forward.svg",
162
+ "skip-forward-fill.svg",
163
+ "skip-backward.svg",
164
+ "skip-backward-fill.svg",
165
+ "skip-end.svg",
166
+ "skip-end-fill.svg",
167
+ "skip-start.svg",
168
+ "skip-start-fill.svg",
169
+ "stop.svg",
170
+ "stop-fill.svg",
171
+ "pause.svg",
172
+ "pause-fill.svg",
173
+ "play.svg",
174
+ "play-fill.svg",
175
+ "record.svg",
176
+ "record-fill.svg",
177
+
178
+ //Devices
179
+ "camera.svg",
180
+ "camera-fill.svg",
181
+ "printer.svg",
182
+ "printer-fill.svg",
183
+ "display.svg",
184
+ "display-fill.svg",
185
+ "tablet-landscape.svg",
186
+ "tablet-landscape-fill.svg",
187
+ "tablet.svg",
188
+ "tablet-fill.svg",
189
+ "phone-landscape.svg",
190
+ "phone-landscape-fill.svg",
191
+ "phone.svg",
192
+ "phone-fill.svg",
193
+
194
+ //Date and time
195
+ "calendar-x.svg",
196
+ "calendar-x-fill.svg",
197
+ "calendar-check.svg",
198
+ "calendar-check-fill.svg",
199
+ "calendar-minus.svg",
200
+ "calendar-minus-fill.svg",
201
+ "clock-fill.svg",
202
+ "calendar-plus.svg",
203
+ "calendar-plus-fill.svg",
204
+ "clock.svg",
205
+ "calendar.svg",
206
+ "calendar-fill.svg",
207
+
208
+ //Communications
209
+ "chat-left-quote.svg",
210
+ "chat-left-quote-fill.svg",
211
+ "chat-left-text.svg",
212
+ "chat-left-text-fill.svg",
213
+ "chat-left-dots.svg",
214
+ "chat-left-dots-fill.svg",
215
+ "chat-left.svg",
216
+ "chat-left-fill.svg",
217
+ "rss.svg",
218
+ "rss-fill.svg",
219
+ "envelope-open.svg",
220
+ "envelope-open-fill.svg",
221
+ "envelope.svg",
222
+ "envelope-fill.svg",
223
+ "archive.svg",
224
+ "archive-fill.svg",
225
+ "inboxes.svg",
226
+ "inboxes-fill.svg",
227
+ "wifi.svg",
228
+ "inbox.svg",
229
+ "inbox-fill.svg",
230
+ "search.svg",
231
+ "forward.svg",
232
+ "forward-fill.svg",
233
+ "reply-all.svg",
234
+ "reply-all-fill.svg",
235
+ "reply.svg",
236
+ "reply-fill.svg",
237
+ "globe2.svg",
238
+ "flag.svg",
239
+ "flag-fill.svg",
240
+ "broadcast.svg",
241
+ "bell-slash.svg",
242
+ "bell-slash-fill.svg",
243
+ "bell.svg",
244
+ "bell-fill.svg",
245
+ "telephone.svg",
246
+ "telephone-fill.svg",
247
+ "translate.svg",
248
+
249
+ //Tools
250
+ "gear.svg",
251
+ "gear-fill.svg",
252
+ "pencil-square.svg",
253
+ "pencil.svg",
254
+ "pencil-fill.svg",
255
+
256
+ //Real world
257
+ "key.svg",
258
+ "key-fill.svg",
259
+ "paperclip.svg",
260
+ "funnel.svg",
261
+ "funnel-fill.svg",
262
+ "trophy.svg",
263
+ "trophy-fill.svg",
264
+ "award.svg",
265
+ "award-fill.svg",
266
+ "tag.svg",
267
+ "tag-fill.svg",
268
+ "sticky.svg",
269
+ "sticky-fill.svg",
270
+ "gift-fill.svg",
271
+ "eye-slash.svg",
272
+ "eye-slash-fill.svg",
273
+ "signpost-split.svg",
274
+ "signpost-split-fill.svg",
275
+ "eye.svg",
276
+ "eye-fill.svg",
277
+ "house.svg",
278
+ "house-fill.svg",
279
+ "pin-fill.svg",
280
+
281
+ //Geo
282
+ "geo-alt.svg",
283
+ "geo-alt-fill.svg",
284
+
285
+ //Graphics
286
+ "zoom-in.svg",
287
+ "zoom-out.svg",
288
+
289
+ //Emoji
290
+ "emoji-neutral.svg",
291
+ "emoji-neutral-fill.svg",
292
+ "emoji-frown.svg",
293
+ "emoji-frown-fill.svg",
294
+ "emoji-smile.svg",
295
+ "emoji-smile-fill.svg",
296
+
297
+ //Hands
298
+ "hand-thumbs-down.svg",
299
+ "hand-thumbs-down-fill.svg",
300
+ "hand-thumbs-up.svg",
301
+ "hand-thumbs-up-fill.svg",
302
+
303
+ //People
304
+ "person-square.svg",
305
+ "person-lines-fill.svg",
306
+ "building.svg",
307
+ "person-x.svg",
308
+ "person-x-fill.svg",
309
+ "person-check.svg",
310
+ "person-check-fill.svg",
311
+ "person-dash.svg",
312
+ "person-dash-fill.svg",
313
+ "person-plus.svg",
314
+ "person-plus-fill.svg",
315
+ "people.svg",
316
+ "people-fill.svg",
317
+ "person.svg",
318
+ "person-fill.svg",
319
+
320
+ //Security
321
+ "unlock.svg",
322
+ "unlock-fill.svg",
323
+ "lock.svg",
324
+ "lock-fill.svg",
325
+ "shield-exclamation.svg",
326
+ "shield-fill-exclamation.svg",
327
+ "shield-x.svg",
328
+ "shield-fill-x.svg",
329
+ "shield-check.svg",
330
+ "shield-fill-check.svg",
331
+
332
+ //Cloud
333
+ "cloud-arrow-up-fill.svg",
334
+ "cloud-arrow-up.svg",
335
+ "cloud-arrow-down-fill.svg",
336
+ "cloud-arrow-down.svg",
337
+
338
+ //Misc
339
+ "upload.svg",
340
+ "download.svg",
341
+ "bookmarks.svg",
342
+ "bookmarks-fill.svg",
343
+
344
+ // Needed by paragraphs OEL-1348
345
+ "book.svg",
346
+ "check.svg",
347
+ "currency-euro.svg",
348
+ "file.svg",
349
+ "filter.svg",
350
+ "box-arrow-up.svg",
351
+ "image.svg",
352
+ "info.svg",
353
+ "files.svg",
354
+ "share.svg",
355
+ "camera-video.svg",
356
+ ];
@@ -0,0 +1,168 @@
1
+ /**
2
+ * --------------------------------------------------------------------------
3
+ * Bootstrap (v5.1.3): gallery.js
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
+ * --------------------------------------------------------------------------
6
+ */
7
+
8
+ import { defineJQueryPlugin, typeCheckConfig } from '@openeuropa/bcl-bootstrap/js/src/util/index'
9
+ import EventHandler from '@openeuropa/bcl-bootstrap/js/src/dom/event-handler'
10
+ import BaseComponent from '@openeuropa/bcl-bootstrap/js/src/base-component'
11
+ import SelectorEngine from '@openeuropa/bcl-bootstrap/js/src/dom/selector-engine'
12
+ import Manipulator from '@openeuropa/bcl-bootstrap/js/src/dom/manipulator'
13
+
14
+ /**
15
+ * ------------------------------------------------------------------------
16
+ * Constants
17
+ * ------------------------------------------------------------------------
18
+ */
19
+
20
+ const Default = {}
21
+ const DefaultType = {}
22
+
23
+ const NAME = 'gallery'
24
+ const DATA_KEY = 'bs.gallery'
25
+ const EVENT_KEY = `.${DATA_KEY}`
26
+ const DATA_API_KEY = '.data-api'
27
+
28
+ const CAROUSEL_SELECTOR = '.carousel'
29
+ const CAROUSEL_PAGER_SELECTOR = '.carousel-pager span'
30
+ const CAROUSEL_ACTIVE_SELECTOR = '.carousel-item.active'
31
+ const CAROUSEL_ITEM_SELECTOR = '.carousel-item'
32
+ const THUMBNAIL_SELECTOR = '.bcl-gallery__grid a'
33
+ const MODAL_SELECTOR = '.modal'
34
+ const EVENT_MODAL_HIDE = 'hide.bs.modal'
35
+ const CAROUSEL_EVENT = 'slide.bs.carousel'
36
+ const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
37
+
38
+ /**
39
+ * ------------------------------------------------------------------------
40
+ * Class Definition
41
+ * ------------------------------------------------------------------------
42
+ */
43
+
44
+ class Gallery extends BaseComponent {
45
+ constructor(element, config) {
46
+ super(element)
47
+ this._carousel = SelectorEngine.findOne(CAROUSEL_SELECTOR, this._element)
48
+ this._carouselPager = SelectorEngine.findOne(CAROUSEL_PAGER_SELECTOR, this._element)
49
+ this._carouselStartIndex = element.getAttribute('data-gallery-start')
50
+ this._carouselActiveItem = SelectorEngine.find(CAROUSEL_ITEM_SELECTOR, this._carousel)[this._carouselStartIndex]
51
+ this._carouselPager.textContent = Number(this._carouselStartIndex) + 1
52
+ this._modal = SelectorEngine.findOne(MODAL_SELECTOR, this._element)
53
+ this._config = this._getConfig(config)
54
+ this._addEventListeners()
55
+ this._carouselLazyLoad(this._carouselActiveItem)
56
+ }
57
+
58
+ // Getters
59
+ static get NAME() {
60
+ return NAME
61
+ }
62
+
63
+ // Public
64
+ setSlide(event) {
65
+ const slideFrom = SelectorEngine.findOne(CAROUSEL_ACTIVE_SELECTOR, this._carousel)
66
+ const slideTo = event.relatedTarget
67
+ this._carouselLazyLoad(slideTo)
68
+ this._carouselPager.textContent = event.to + 1
69
+ this.stopVideo(slideFrom)
70
+ }
71
+
72
+ stopSlide() {
73
+ const currentSlide = SelectorEngine.findOne(CAROUSEL_ACTIVE_SELECTOR, this._carousel)
74
+ this.stopVideo(currentSlide)
75
+ }
76
+
77
+ stopVideo(slide) {
78
+ const iframe = SelectorEngine.findOne('iframe', slide);
79
+ const video = SelectorEngine.findOne('video', slide);
80
+ if (iframe) {
81
+ iframe.src = iframe.dataset.src;
82
+ } else if (video) {
83
+ video.pause();
84
+ }
85
+ }
86
+
87
+ // Private
88
+ _carouselLazyLoad(slide) {
89
+ const media = SelectorEngine.findOne('[data-src]', slide);
90
+
91
+ if (media && !media.src) {
92
+ media.src = media.dataset.src;
93
+ }
94
+ }
95
+
96
+ _getConfig(config) {
97
+ config = {
98
+ ...Default,
99
+ ...Manipulator.getDataAttributes(this._element),
100
+ ...(typeof config === 'object' ? config : {})
101
+ }
102
+ typeCheckConfig(NAME, config, DefaultType)
103
+ return config
104
+ }
105
+
106
+ _addEventListeners() {
107
+ EventHandler.on(this._carousel, CAROUSEL_EVENT, event => this.setSlide(event))
108
+ EventHandler.on(this._modal, EVENT_MODAL_HIDE, event => this.stopSlide(event))
109
+ }
110
+
111
+ // Static
112
+ static get Default() {
113
+ return Default
114
+ }
115
+
116
+ static galleryInterface(element, config) {
117
+ const data = Gallery.getOrCreateInstance(element, config)
118
+
119
+ let { _config } = data
120
+ if (typeof config === 'object') {
121
+ _config = {
122
+ ..._config,
123
+ ...config
124
+ }
125
+ }
126
+ }
127
+
128
+ static jQueryInterface(config) {
129
+ return this.each(function () {
130
+ const data = Gallery.getOrCreateInstance(this)
131
+
132
+ if (typeof config !== 'string') {
133
+ return
134
+ }
135
+
136
+ if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
137
+ throw new TypeError(`No method named "${config}"`)
138
+ }
139
+
140
+ data[config](this)
141
+ })
142
+ }
143
+ }
144
+
145
+ /**
146
+ * ------------------------------------------------------------------------
147
+ * Data Api implementation
148
+ * ------------------------------------------------------------------------
149
+ */
150
+
151
+ EventHandler.on(document, EVENT_CLICK_DATA_API, THUMBNAIL_SELECTOR, function (event) {
152
+ const gallery = event.srcElement.closest('div.bcl-gallery')
153
+ const firstSlide = event.srcElement.parentNode.getAttribute('data-bs-slide-to');
154
+ gallery.dataset.galleryStart = firstSlide;
155
+
156
+ Gallery.galleryInterface(gallery, Gallery.getInstance(gallery))
157
+ })
158
+
159
+ /**
160
+ * ------------------------------------------------------------------------
161
+ * jQuery
162
+ * ------------------------------------------------------------------------
163
+ * add .gallery to jQuery only if jQuery is present
164
+ */
165
+
166
+ defineJQueryPlugin(Gallery)
167
+
168
+ export default Gallery
@@ -10,6 +10,7 @@ import Button from "@openeuropa/bcl-bootstrap/js/src/button";
10
10
  import Carousel from "@openeuropa/bcl-bootstrap/js/src/carousel";
11
11
  import Collapse from "@openeuropa/bcl-bootstrap/js/src/collapse";
12
12
  import Dropdown from "@openeuropa/bcl-bootstrap/js/src/dropdown";
13
+ import Gallery from "@openeuropa/bcl-theme-default/src/js/gallery/gallery";
13
14
  import Modal from "@openeuropa/bcl-bootstrap/js/src/modal";
14
15
  import Offcanvas from "@openeuropa/bcl-bootstrap/js/src/offcanvas";
15
16
  import Popover from "@openeuropa/bcl-bootstrap/js/src/popover";
@@ -24,6 +25,7 @@ export {
24
25
  Carousel,
25
26
  Collapse,
26
27
  Dropdown,
28
+ Gallery,
27
29
  Modal,
28
30
  Offcanvas,
29
31
  Popover,
@@ -10,6 +10,7 @@ import Button from "@openeuropa/bcl-bootstrap/js/src/button";
10
10
  import Carousel from "@openeuropa/bcl-bootstrap/js/src/carousel";
11
11
  import Collapse from "@openeuropa/bcl-bootstrap/js/src/collapse";
12
12
  import Dropdown from "@openeuropa/bcl-bootstrap/js/src/dropdown";
13
+ import Gallery from "@openeuropa/bcl-theme-default/src/js/gallery/gallery";
13
14
  import Modal from "@openeuropa/bcl-bootstrap/js/src/modal";
14
15
  import Offcanvas from "@openeuropa/bcl-bootstrap/js/src/offcanvas";
15
16
  import Popover from "@openeuropa/bcl-bootstrap/js/src/popover";
@@ -24,6 +25,7 @@ export default {
24
25
  Carousel,
25
26
  Collapse,
26
27
  Dropdown,
28
+ Gallery,
27
29
  Modal,
28
30
  Offcanvas,
29
31
  Popover,
@@ -8,20 +8,20 @@
8
8
  font-size: $badge-font-size-desktop;
9
9
  }
10
10
  .icon--close {
11
- display: inline-block;
11
+ display: inline-flex;
12
12
  width: 12px;
13
13
  height: 12px;
14
14
  margin-left: 0.3rem;
15
15
  font-size: 1em;
16
16
  font-weight: 300;
17
- line-height: 0.55rem;
18
- vertical-align: inherit;
17
+ justify-content: center;
18
+ align-items: center;
19
19
  cursor: pointer;
20
20
  background: $white;
21
21
  border-radius: 50%;
22
22
  svg {
23
- width: 12px;
24
- height: 12px;
23
+ width: 6px;
24
+ height: 6px;
25
25
  margin: 0;
26
26
  }
27
27
  }
@@ -42,12 +42,12 @@
42
42
  &::before {
43
43
  display: block;
44
44
  width: 100%;
45
- padding-top: 25%;
45
+ padding-top: 20%;
46
46
  content: "";
47
47
  }
48
48
 
49
49
  .hero &::before {
50
- padding-top: 33.33%;
50
+ padding-top: 25%;
51
51
  }
52
52
  }
53
53
 
@@ -147,14 +147,14 @@
147
147
  &::before {
148
148
  display: block;
149
149
  width: 100%;
150
- padding-top: 25%;
150
+ padding-top: 20%;
151
151
  content: "";
152
152
  }
153
153
 
154
154
  &.hero {
155
155
  min-height: 380px;
156
156
  &::before {
157
- padding-top: 33.33%;
157
+ padding-top: 25%;
158
158
  }
159
159
  }
160
160
  }
@@ -5,10 +5,17 @@
5
5
  visibility: visible !important; // stylelint-disable-line declaration-no-important
6
6
  border: none;
7
7
  transform: none;
8
+ box-shadow: none;
8
9
 
9
10
  .offcanvas-body {
10
11
  overflow: visible;
11
12
  }
13
+
14
+ .offcanvas-title {
15
+ height: 38px;
16
+ display: flex;
17
+ align-items: center;
18
+ }
12
19
  }
13
20
 
14
21
  .bcl-offcanvas + .offcanvas-backdrop {
@@ -1,5 +1,6 @@
1
1
  @include media-breakpoint-down(md) {
2
2
  .breadcrumb-item + .breadcrumb-item {
3
+ padding-left: 0;
3
4
  &::before {
4
5
  display: none;
5
6
  content: "";
@@ -0,0 +1,6 @@
1
+ // Button
2
+ .btn {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ }