@openeuropa/bcl-theme-default 0.13.0 → 0.17.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 (83) hide show
  1. package/bcl-builder.config.js +4 -0
  2. package/css/oe-bcl-default.css +243 -29
  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/oe-bcl-default.bundle.js +53 -21
  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.min.js.map +1 -1
  13. package/js/oe-bcl-default.umd.js +61 -24
  14. package/js/oe-bcl-default.umd.js.map +1 -1
  15. package/js/oe-bcl-default.umd.min.js +1 -1
  16. package/js/oe-bcl-default.umd.min.js.map +1 -1
  17. package/package.json +6 -5
  18. package/src/scss/_badge.scss +15 -0
  19. package/src/scss/_banners.scss +8 -6
  20. package/src/scss/_bcl-offcanvas.scss +4 -4
  21. package/src/scss/_footer.scss +16 -7
  22. package/src/scss/_header.scss +86 -17
  23. package/src/scss/_inpage-navigation.scss +1 -1
  24. package/src/scss/_multiselect.scss +3 -2
  25. package/src/scss/_utilities.scss +9 -0
  26. package/src/scss/_variables.scss +11 -6
  27. package/src/scss/oe-bcl-default.scss +1 -0
  28. package/templates/bcl-accordion/accordion.html.twig +9 -0
  29. package/templates/bcl-alert/alert.html.twig +4 -0
  30. package/templates/bcl-badge/badge.html.twig +9 -1
  31. package/templates/bcl-banner/banner.html.twig +12 -5
  32. package/templates/bcl-base-templates/content-type.html.twig +120 -0
  33. package/templates/bcl-base-templates/listing-page.html.twig +63 -0
  34. package/templates/{bcl-group-landing-listing/group-landing-listing-offcanvas.html.twig → bcl-base-templates/sidebar-search.html.twig} +0 -1
  35. package/templates/bcl-blockquote/blockquote.html.twig +4 -0
  36. package/templates/bcl-breadcrumb/breadcrumb.html.twig +6 -2
  37. package/templates/bcl-button/button.html.twig +8 -2
  38. package/templates/bcl-button-group/button-group.html.twig +4 -0
  39. package/templates/bcl-card/card.html.twig +28 -29
  40. package/templates/bcl-card-layout/card-layout.html.twig +4 -0
  41. package/templates/bcl-carousel/carousel.html.twig +4 -0
  42. package/templates/bcl-content-banner/content-banner.html.twig +107 -0
  43. package/templates/bcl-date-block/date-block.html.twig +4 -0
  44. package/templates/bcl-description-list/description-list.html.twig +114 -0
  45. package/templates/bcl-event/event.html.twig +41 -0
  46. package/templates/bcl-fact-figures/fact-figures.html.twig +13 -5
  47. package/templates/bcl-featured-media/featured-media.html.twig +53 -5
  48. package/templates/bcl-file/file.html.twig +209 -0
  49. package/templates/bcl-footer/footer.html.twig +4 -1
  50. package/templates/bcl-form/form.html.twig +4 -0
  51. package/templates/bcl-group/group-landing.html.twig +101 -0
  52. package/templates/bcl-group/group.html.twig +27 -0
  53. package/templates/bcl-header/header.html.twig +11 -2
  54. package/templates/bcl-inpage-navigation/inpage-navigation.html.twig +14 -1
  55. package/templates/bcl-landing-page/landing-page.html.twig +46 -52
  56. package/templates/bcl-links-block/links-block.html.twig +5 -2
  57. package/templates/bcl-list-group/list-group.html.twig +6 -0
  58. package/templates/bcl-listing/listing.html.twig +29 -16
  59. package/templates/bcl-navbar/navbar.html.twig +22 -20
  60. package/templates/bcl-navigation/navigation.html.twig +135 -110
  61. package/templates/bcl-offcanvas/offcanvas.html.twig +4 -0
  62. package/templates/bcl-page/page.html.twig +64 -0
  63. package/templates/bcl-pagination/pagination.html.twig +5 -1
  64. package/templates/bcl-placeholder/placeholder.html.twig +43 -0
  65. package/templates/bcl-progress/progress.html.twig +4 -0
  66. package/templates/bcl-recent-activities/recent-activities.html.twig +4 -0
  67. package/templates/bcl-search/search.html.twig +10 -40
  68. package/templates/bcl-search-form/search-form.html.twig +52 -0
  69. package/templates/bcl-select/select.html.twig +6 -0
  70. package/templates/bcl-table/table.html.twig +4 -0
  71. package/templates/bcl-timeline/timeline.html.twig +16 -1
  72. package/templates/bcl-toast/toasts.html.twig +4 -0
  73. package/templates/bcl-user/user-edit.html.twig +38 -0
  74. package/templates/{bcl-user-view → bcl-user}/user-view-compact.html.twig +5 -1
  75. package/templates/bcl-user/user-view.html.twig +96 -0
  76. package/templates/bcl-group-landing/group-landing.html.twig +0 -106
  77. package/templates/bcl-group-landing-listing/group-landing-listing.html.twig +0 -69
  78. package/templates/bcl-search/search-offcanvas.html.twig +0 -8
  79. package/templates/bcl-user-edit/edit-contents.html.twig +0 -32
  80. package/templates/bcl-user-edit/user-edit.html.twig +0 -19
  81. package/templates/bcl-user-listing/user-listing-offcanvas.html.twig +0 -8
  82. package/templates/bcl-user-listing/user-listing.html.twig +0 -45
  83. package/templates/bcl-user-view/user-view.html.twig +0 -106
@@ -103,6 +103,10 @@ module.exports = {
103
103
  nodeModules,
104
104
  "@openeuropa/bcl-bootstrap/bootstrap-icons.svg"
105
105
  ),
106
+ path.resolve(
107
+ nodeModules,
108
+ "@ecl/resources-flag-icons/dist/sprites/icons-flag.svg"
109
+ ),
106
110
  ],
107
111
  to: path.resolve(outputFolder, "icons"),
108
112
  options: { up: true },
@@ -5282,9 +5282,9 @@ textarea.form-control-lg {
5282
5282
  }
5283
5283
  }
5284
5284
  .accordion-button:not(.collapsed) {
5285
- color: #0c63e4;
5286
- background-color: #e7f1ff;
5287
- box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
5285
+ color: #212529;
5286
+ background-color: #f8f9fa;
5287
+ box-shadow: inset 0 -1px 0 #dee2e6;
5288
5288
  }
5289
5289
  .accordion-button:not(.collapsed)::after {
5290
5290
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
@@ -5326,7 +5326,7 @@ textarea.form-control-lg {
5326
5326
 
5327
5327
  .accordion-item {
5328
5328
  background-color: #fff;
5329
- border: 1px solid rgba(0, 0, 0, 0.125);
5329
+ border: 1px solid #dee2e6;
5330
5330
  }
5331
5331
  .accordion-item:first-of-type {
5332
5332
  border-top-left-radius: 0.25rem;
@@ -5487,6 +5487,69 @@ textarea.form-control-lg {
5487
5487
  border-bottom-right-radius: 0.2rem;
5488
5488
  }
5489
5489
 
5490
+ .placeholder {
5491
+ display: inline-block;
5492
+ min-height: 1em;
5493
+ vertical-align: middle;
5494
+ cursor: wait;
5495
+ background-color: currentColor;
5496
+ opacity: 0.5;
5497
+ }
5498
+ .placeholder.btn::before {
5499
+ display: inline-block;
5500
+ content: "";
5501
+ }
5502
+
5503
+ .placeholder-xs {
5504
+ min-height: 0.6em;
5505
+ }
5506
+
5507
+ .placeholder-sm {
5508
+ min-height: 0.8em;
5509
+ }
5510
+
5511
+ .placeholder-lg {
5512
+ min-height: 1.2em;
5513
+ }
5514
+
5515
+ .placeholder-glow .placeholder {
5516
+ -webkit-animation: placeholder-glow 2s ease-in-out infinite;
5517
+ animation: placeholder-glow 2s ease-in-out infinite;
5518
+ }
5519
+
5520
+ @-webkit-keyframes placeholder-glow {
5521
+ 50% {
5522
+ opacity: 0.2;
5523
+ }
5524
+ }
5525
+
5526
+ @keyframes placeholder-glow {
5527
+ 50% {
5528
+ opacity: 0.2;
5529
+ }
5530
+ }
5531
+ .placeholder-wave {
5532
+ -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
5533
+ mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
5534
+ -webkit-mask-size: 200% 100%;
5535
+ mask-size: 200% 100%;
5536
+ -webkit-animation: placeholder-wave 2s linear infinite;
5537
+ animation: placeholder-wave 2s linear infinite;
5538
+ }
5539
+
5540
+ @-webkit-keyframes placeholder-wave {
5541
+ 100% {
5542
+ -webkit-mask-position: -200% 0%;
5543
+ mask-position: -200% 0%;
5544
+ }
5545
+ }
5546
+
5547
+ @keyframes placeholder-wave {
5548
+ 100% {
5549
+ -webkit-mask-position: -200% 0%;
5550
+ mask-position: -200% 0%;
5551
+ }
5552
+ }
5490
5553
  .badge {
5491
5554
  display: inline-block;
5492
5555
  padding: 0.35em 0.65em;
@@ -7275,6 +7338,16 @@ textarea.form-control-lg {
7275
7338
  background-color: #f8f9fa;
7276
7339
  }
7277
7340
 
7341
+ .bg-gray-200 {
7342
+ background-color: #e9ecef;
7343
+ }
7344
+
7345
+ .grid-3-9 {
7346
+ -ms-grid-columns: 25% 75%;
7347
+ grid-template-columns: 25% 75%;
7348
+ grid-gap: 0.75rem;
7349
+ }
7350
+
7278
7351
  .align-baseline {
7279
7352
  vertical-align: baseline !important;
7280
7353
  }
@@ -15506,13 +15579,9 @@ body {
15506
15579
  padding-bottom: 1rem;
15507
15580
  }
15508
15581
 
15509
- .bcl-header__project {
15510
- padding-top: 1rem;
15511
- }
15512
-
15513
- .ec__header .bcl-header__project,
15514
- .ec__header .bcl-header__navbar {
15515
- background: #004494;
15582
+ .bcl-header--neutral .bcl-header__project,
15583
+ .bcl-header--neutral .bcl-header__navbar {
15584
+ background: #6c757d;
15516
15585
  }
15517
15586
 
15518
15587
  .bcl-navbar-header {
@@ -15524,10 +15593,21 @@ body {
15524
15593
  color: #1b4ac3;
15525
15594
  }
15526
15595
 
15527
- .bcl-header.ec__header .nav-link {
15596
+ .bcl-header--ec .bcl-header__project,
15597
+ .bcl-header--ec .bcl-header__navbar,
15598
+ .ec__header .bcl-header__project,
15599
+ .ec__header .bcl-header__navbar {
15600
+ background: #004494;
15601
+ }
15602
+ .bcl-header--ec .nav-link,
15603
+ .ec__header .nav-link {
15528
15604
  color: #17458f;
15529
15605
  }
15530
15606
 
15607
+ .bcl-header:not(.bcl-header--neutral) .bcl-header__project {
15608
+ padding-top: 1rem;
15609
+ }
15610
+
15531
15611
  .bcl-header__navbar .navbar-nav .nav-link {
15532
15612
  color: #ced4da;
15533
15613
  }
@@ -15563,13 +15643,14 @@ body {
15563
15643
  transform: translate(-11px, 5px);
15564
15644
  }
15565
15645
 
15566
- .bcl-header__project p {
15646
+ .bcl-header__project .bcl-header__site-name {
15567
15647
  display: inline-block;
15568
15648
  margin-bottom: 0;
15569
15649
  font-size: 1.3rem;
15570
15650
  font-weight: 300;
15571
15651
  color: #fff;
15572
15652
  vertical-align: middle;
15653
+ max-width: 80%;
15573
15654
  }
15574
15655
 
15575
15656
  .bcl-header .navbar-toggler {
@@ -15583,28 +15664,65 @@ body {
15583
15664
  background: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
15584
15665
  }
15585
15666
 
15667
+ @media only screen and (max-width: 400px) {
15668
+ .bcl-header--neutral .bcl-header__project-logo {
15669
+ display: none;
15670
+ }
15671
+ }
15586
15672
  @media (max-width: 575.98px) {
15587
15673
  .bcl-header .navbar:first-child .nav-link {
15588
15674
  padding: 0.5rem 0.4rem;
15589
15675
  }
15590
15676
  }
15591
15677
  @media (min-width: 768px) {
15592
- .ec__header .navbar-brand img {
15678
+ .bcl-header--ec .navbar-brand img,
15679
+ .ec__header .navbar-brand img {
15593
15680
  width: 180px;
15594
15681
  }
15595
15682
  }
15683
+ @media (max-width: 991.98px) {
15684
+ .bcl-header__project {
15685
+ min-height: 3rem;
15686
+ padding-top: 1rem;
15687
+ }
15688
+
15689
+ .bcl-header nav + nav {
15690
+ min-height: 3rem;
15691
+ }
15692
+ .bcl-header nav + nav .navbar-toggler {
15693
+ position: static;
15694
+ }
15695
+ .bcl-header nav + nav .container {
15696
+ -ms-flex-pack: right;
15697
+ justify-content: right;
15698
+ }
15699
+
15700
+ .bcl-header__navbar .navbar-collapse {
15701
+ max-width: 100%;
15702
+ }
15703
+ .bcl-header__navbar .navbar-collapse .nav-item.dropdown {
15704
+ max-width: 100%;
15705
+ }
15706
+ .bcl-header__navbar .navbar-collapse .nav-item.dropdown a {
15707
+ white-space: normal;
15708
+ }
15709
+ .bcl-header__navbar .navbar-collapse .nav-item.dropdown .dropdown-menu {
15710
+ max-width: 100%;
15711
+ }
15712
+ }
15596
15713
  @media (min-width: 992px) {
15597
15714
  .bcl-header__project.light,
15715
+ .bcl-header--ec .bcl-header__project.light,
15598
15716
  .ec__header .bcl-header__project.light {
15599
15717
  background: #fff;
15600
15718
  }
15601
15719
 
15602
- .bcl-header__project p {
15720
+ .bcl-header__site-name {
15603
15721
  padding-left: 1.5rem;
15604
15722
  font-weight: 500;
15605
15723
  }
15606
15724
 
15607
- .bcl-header__project.light p {
15725
+ .bcl-header__project.light .bcl-header__site-name {
15608
15726
  color: #000;
15609
15727
  }
15610
15728
 
@@ -15633,11 +15751,12 @@ body {
15633
15751
  z-index: 1050;
15634
15752
  }
15635
15753
 
15636
- .bcl-header__project {
15754
+ .bcl-header:not(.bcl-header--neutral) .bcl-header__project {
15637
15755
  padding-bottom: 1rem;
15638
15756
  }
15639
15757
 
15640
- .ec__header .navbar-brand img {
15758
+ .bcl-header--ec .navbar-brand img,
15759
+ .ec__header .navbar-brand img {
15641
15760
  width: 285px;
15642
15761
  }
15643
15762
  }
@@ -15680,16 +15799,27 @@ body {
15680
15799
  filter: invert(1) grayscale(100%) brightness(200%);
15681
15800
  }
15682
15801
 
15683
- .bcl-footer {
15802
+ .bcl-footer--neutral {
15803
+ background: #6c757d;
15804
+ }
15805
+ .bcl-footer--neutral a,
15806
+ .bcl-footer--neutral p {
15807
+ color: #fff;
15808
+ }
15809
+
15810
+ .bcl-footer--eu,
15811
+ .eu__footer {
15684
15812
  background: #f4f6fb;
15685
15813
  }
15686
15814
 
15687
- .bcl-footer.ec__footer {
15815
+ .bcl-footer--ec,
15816
+ .ec__footer {
15688
15817
  background: #17458f;
15689
15818
  }
15690
-
15691
- .bcl-footer.ec__footer a,
15692
- .bcl-footer.ec__footer p {
15819
+ .bcl-footer--ec a,
15820
+ .bcl-footer--ec p,
15821
+ .ec__footer a,
15822
+ .ec__footer p {
15693
15823
  color: #fff;
15694
15824
  }
15695
15825
 
@@ -16059,6 +16189,87 @@ a .badge {
16059
16189
  font-size: 0.75em;
16060
16190
  }
16061
16191
 
16192
+ .badge-outline-primary {
16193
+ border: 1px solid #0d6efd;
16194
+ color: #0d6efd !important;
16195
+ background: transparent !important;
16196
+ }
16197
+ .badge-outline-primary .icon--close {
16198
+ background: #0d6efd;
16199
+ color: #fff;
16200
+ }
16201
+
16202
+ .badge-outline-secondary {
16203
+ border: 1px solid #6c757d;
16204
+ color: #6c757d !important;
16205
+ background: transparent !important;
16206
+ }
16207
+ .badge-outline-secondary .icon--close {
16208
+ background: #6c757d;
16209
+ color: #fff;
16210
+ }
16211
+
16212
+ .badge-outline-success {
16213
+ border: 1px solid #198754;
16214
+ color: #198754 !important;
16215
+ background: transparent !important;
16216
+ }
16217
+ .badge-outline-success .icon--close {
16218
+ background: #198754;
16219
+ color: #fff;
16220
+ }
16221
+
16222
+ .badge-outline-info {
16223
+ border: 1px solid #0dcaf0;
16224
+ color: #0dcaf0 !important;
16225
+ background: transparent !important;
16226
+ }
16227
+ .badge-outline-info .icon--close {
16228
+ background: #0dcaf0;
16229
+ color: #fff;
16230
+ }
16231
+
16232
+ .badge-outline-warning {
16233
+ border: 1px solid #ffc107;
16234
+ color: #ffc107 !important;
16235
+ background: transparent !important;
16236
+ }
16237
+ .badge-outline-warning .icon--close {
16238
+ background: #ffc107;
16239
+ color: #fff;
16240
+ }
16241
+
16242
+ .badge-outline-danger {
16243
+ border: 1px solid #dc3545;
16244
+ color: #dc3545 !important;
16245
+ background: transparent !important;
16246
+ }
16247
+ .badge-outline-danger .icon--close {
16248
+ background: #dc3545;
16249
+ color: #fff;
16250
+ }
16251
+
16252
+ .badge-outline-light {
16253
+ border: 1px solid #f0f0f0;
16254
+ color: #f0f0f0 !important;
16255
+ background: transparent !important;
16256
+ }
16257
+ .badge-outline-light .icon--close {
16258
+ background: #f0f0f0;
16259
+ color: #fff;
16260
+ color: #000;
16261
+ }
16262
+
16263
+ .badge-outline-dark {
16264
+ border: 1px solid #212529;
16265
+ color: #212529 !important;
16266
+ background: transparent !important;
16267
+ }
16268
+ .badge-outline-dark .icon--close {
16269
+ background: #212529;
16270
+ color: #fff;
16271
+ }
16272
+
16062
16273
  .ss-main {
16063
16274
  position: relative;
16064
16275
  display: inline-block;
@@ -16668,7 +16879,7 @@ select.multi-select {
16668
16879
  background-position: right 1.6rem center;
16669
16880
  }
16670
16881
  }
16671
- @media screen and (min-width: 992px) {
16882
+ @media (min-width: 992px) {
16672
16883
  .bcl-offcanvas {
16673
16884
  position: relative;
16674
16885
  width: auto;
@@ -16764,11 +16975,14 @@ select.multi-select {
16764
16975
  border-bottom: 0;
16765
16976
  border-left: 4px solid transparent;
16766
16977
  }
16767
- .bcl-banner.full-width {
16978
+
16979
+ .bcl-banner.full-width,
16980
+ .bcl-content-banner {
16768
16981
  left: 50%;
16769
16982
  width: 100vw;
16770
16983
  margin-left: -50vw;
16771
16984
  border-radius: 0;
16985
+ position: relative;
16772
16986
  }
16773
16987
 
16774
16988
  .bcl-banner__content {
@@ -16882,20 +17096,20 @@ select.multi-select {
16882
17096
  transform: rotate(180deg);
16883
17097
  }
16884
17098
 
16885
- #bcl-inpage-navigation {
17099
+ .bcl-inpage-navigation {
16886
17100
  top: 1rem;
16887
17101
  background-color: #f8f9fa;
16888
17102
  }
16889
- #bcl-inpage-navigation h5, #bcl-inpage-navigation .h5 {
17103
+ .bcl-inpage-navigation h5, .bcl-inpage-navigation .h5 {
16890
17104
  font-weight: bold;
16891
17105
  margin-bottom: 0;
16892
17106
  padding: 1.25rem;
16893
17107
  border-bottom: 1px solid #dee2e6;
16894
17108
  }
16895
- #bcl-inpage-navigation ul {
17109
+ .bcl-inpage-navigation ul {
16896
17110
  padding: 0.75rem;
16897
17111
  }
16898
- #bcl-inpage-navigation ul .nav-link {
17112
+ .bcl-inpage-navigation ul .nav-link {
16899
17113
  padding: 0.5rem;
16900
17114
  margin-bottom: 0.5rem;
16901
17115
  }