@openeuropa/bcl-theme-default 1.11.0 → 1.21.1

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 (48) hide show
  1. package/bcl-builder.config.js +27 -44
  2. package/css/color-scheme.min.css +1 -2
  3. package/css/color-scheme.min.css.map +1 -1
  4. package/css/oe-bcl-ckeditor5.min.css +1 -2
  5. package/css/oe-bcl-ckeditor5.min.css.map +1 -1
  6. package/css/oe-bcl-default.css +78 -733
  7. package/css/oe-bcl-default.css.map +1 -1
  8. package/css/oe-bcl-default.min.css +1 -2
  9. package/css/oe-bcl-default.min.css.map +1 -1
  10. package/js/oe-bcl-default.bundle.js.map +1 -1
  11. package/js/oe-bcl-default.bundle.min.js.map +1 -1
  12. package/js/oe-bcl-default.umd.js.map +1 -1
  13. package/js/oe-bcl-default.umd.min.js.map +1 -1
  14. package/js/slimselect.js +2 -0
  15. package/package.json +7 -7
  16. package/src/scss/_badge.scss +2 -1
  17. package/src/scss/_banners.scss +6 -5
  18. package/src/scss/_carousel.scss +4 -3
  19. package/src/scss/_description_list.scss +4 -3
  20. package/src/scss/_footer.scss +3 -2
  21. package/src/scss/_gallery.scss +9 -8
  22. package/src/scss/_header.scss +4 -3
  23. package/src/scss/_icon.scss +17 -16
  24. package/src/scss/_inpage-navigation.scss +11 -10
  25. package/src/scss/_mega-menu.scss +10 -9
  26. package/src/scss/_multiselect.scss +514 -135
  27. package/src/scss/_pagination-v2.scss +2 -1
  28. package/src/scss/_pagination.scss +3 -2
  29. package/src/scss/_search-form.scss +9 -8
  30. package/src/scss/_tabs.scss +4 -3
  31. package/src/scss/_timeline.scss +3 -2
  32. package/src/scss/base/_utilities.scss +30 -29
  33. package/src/scss/base/_variables.scss +8 -7
  34. package/src/scss/color_scheme/_alert.scss +2 -1
  35. package/src/scss/color_scheme/_badges.scss +3 -2
  36. package/src/scss/color_scheme/_list_group.scss +2 -1
  37. package/src/scss/color_scheme/_utilities.scss +19 -8
  38. package/src/scss/oe-bcl-default.scss +0 -1
  39. package/templates/bcl-banner/banner.html.twig +8 -1
  40. package/templates/bcl-card/card.html.twig +23 -20
  41. package/templates/bcl-carousel/carousel.html.twig +37 -29
  42. package/templates/bcl-content-banner/content-banner.html.twig +3 -0
  43. package/templates/bcl-featured-media/featured-media.html.twig +15 -11
  44. package/templates/bcl-gallery/gallery.html.twig +1 -0
  45. package/templates/bcl-select/select.html.twig +8 -1
  46. package/js/slim-select-2/slimselect.min.js +0 -1
  47. package/js/slimselect.min.js +0 -1
  48. package/src/scss/_multiselect-2.scss +0 -574
@@ -1,574 +0,0 @@
1
- /* stylelint-disable selector-no-qualifying-type,
2
- selector-max-class, selector-max-compound-selectors,
3
- no-descending-specificity,
4
- function-calc-no-unspaced-operator,
5
- declaration-block-no-shorthand-property-overrides,
6
- */
7
-
8
- :root {
9
- // Colors
10
- --ss-bg-color: #ffffff;
11
- --ss-font-color: #4d4d4d;
12
- --ss-font-placeholder-color: #212529;
13
- --ss-disabled-color: #dcdee2;
14
- --ss-border-color: #6c757d;
15
- --ss-highlight-color: #fffb8c;
16
- --ss-success-color: #00b755;
17
- --ss-error-color: #dc3545;
18
- --ss-focus-color: #5897fb;
19
-
20
- // Heights
21
- --ss-main-height: 38px;
22
- --ss-content-height: 300px;
23
-
24
- // Spacing
25
- --ss-spacing-l: 7px;
26
- --ss-spacing-m: 5px;
27
- --ss-spacing-s: 3px;
28
-
29
- // Misc
30
- --ss-animation-timing: 0.2s;
31
- --ss-border-radius: 0.375rem;
32
- }
33
-
34
- // Animation keyframes
35
- @keyframes ss-valueIn {
36
- 0% {
37
- transform: scale(0);
38
- opacity: 0;
39
- }
40
- 100% {
41
- transform: scale(1);
42
- opacity: 1;
43
- }
44
- }
45
- @keyframes ss-valueOut {
46
- 0% {
47
- transform: scale(1);
48
- opacity: 1;
49
- }
50
- 100% {
51
- transform: scale(0);
52
- opacity: 0;
53
- }
54
- }
55
-
56
- // Misc classes
57
- .ss-hide {
58
- display: none !important;
59
- }
60
-
61
- // Main container
62
- .ss-main.ss-2 {
63
- display: flex;
64
- flex-direction: row;
65
- position: relative;
66
- user-select: none;
67
- color: var(--ss-font-color);
68
- width: 100%;
69
- padding: 0.075rem 0 0.075rem 0.3rem;
70
- cursor: pointer;
71
- border: 1px solid var(--ss-border-color);
72
- border-radius: var(--ss-border-radius);
73
- background-color: var(--ss-bg-color);
74
- outline: 0;
75
- box-sizing: border-box;
76
- transition: background-color var(--ss-animation-timing);
77
- overflow: hidden;
78
- min-height: 38px;
79
-
80
- &:focus-visible {
81
- @include form-focus-ring();
82
- }
83
-
84
- &.form-select {
85
- background: none;
86
- padding: 0.075rem 0 0.075rem 0.3rem;
87
- }
88
-
89
- &.ss-disabled {
90
- background-color: var(--ss-disabled-color);
91
- cursor: not-allowed;
92
-
93
- .ss-values {
94
- .ss-disabled {
95
- color: var(--ss-font-color);
96
- }
97
-
98
- .ss-value {
99
- .ss-value-delete {
100
- cursor: not-allowed;
101
- }
102
- }
103
- }
104
- }
105
-
106
- &.ss-open-above {
107
- border-top-left-radius: 0px;
108
- border-top-right-radius: 0px;
109
- }
110
- &.ss-open-below {
111
- border-bottom-left-radius: 0px;
112
- border-bottom-right-radius: 0px;
113
- }
114
-
115
- .ss-values {
116
- display: inline-flex;
117
- flex-wrap: wrap;
118
- gap: var(--ss-spacing-m);
119
- flex: 1 1 100%;
120
-
121
- .ss-placeholder {
122
- display: flex;
123
- padding: var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s)
124
- var(--ss-spacing-m);
125
- margin: auto 0px auto 0px;
126
- line-height: 1em;
127
- align-items: center;
128
- width: 100%;
129
- color: var(--ss-font-placeholder-color);
130
- overflow: hidden;
131
- text-overflow: ellipsis;
132
- white-space: nowrap;
133
- }
134
-
135
- // Max is used to display max number of values
136
- .ss-max {
137
- display: flex;
138
- user-select: none;
139
- align-items: center;
140
- width: fit-content;
141
- font-size: 12px;
142
- color: var(--ss-bg-color);
143
- line-height: 1;
144
- padding: var(--ss-spacing-s) var(--ss-spacing-m);
145
- background-color: $primary;
146
- border-radius: var(--ss-border-radius);
147
- }
148
-
149
- // Used for single select selected value
150
- .ss-single {
151
- display: flex;
152
- margin: auto 0px auto var(--ss-spacing-s);
153
- }
154
-
155
- // Used for the selected values
156
- .ss-value {
157
- display: flex;
158
- user-select: none;
159
- align-items: center;
160
- width: fit-content;
161
- background-color: $primary;
162
- border-radius: var(--ss-border-radius);
163
- animation-name: ss-valueIn;
164
- animation-duration: var(--ss-animation-timing);
165
- animation-timing-function: ease-out;
166
- animation-fill-mode: both;
167
- margin: 3px 5px 3px 0;
168
- padding: 0.35em 1.25rem 0.35em 0.65em;
169
-
170
- &.ss-value-out {
171
- animation-name: ss-valueOut;
172
- animation-duration: var(--ss-animation-timing);
173
- animation-timing-function: ease-out;
174
- }
175
-
176
- .ss-value-text {
177
- color: var(--ss-bg-color);
178
- line-height: 1;
179
- margin-right: 5px;
180
- }
181
-
182
- .ss-value-delete {
183
- font-size: 0;
184
- &:after {
185
- background-image: url("data:image/svg+xml,%3Csvg width='16' height='17' viewBox='0 0 16 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8.5C16 12.9183 12.4183 16.5 8 16.5C3.58172 16.5 0 12.9183 0 8.5C0 4.08172 3.58172 0.5 8 0.5C12.4183 0.5 16 4.08172 16 8.5ZM5.35355 5.14645C5.15829 4.95118 4.84171 4.95118 4.64645 5.14645C4.45118 5.34171 4.45118 5.65829 4.64645 5.85355L7.29289 8.5L4.64645 11.1464C4.45118 11.3417 4.45118 11.6583 4.64645 11.8536C4.84171 12.0488 5.15829 12.0488 5.35355 11.8536L8 9.20711L10.6464 11.8536C10.8417 12.0488 11.1583 12.0488 11.3536 11.8536C11.5488 11.6583 11.5488 11.3417 11.3536 11.1464L8.70711 8.5L11.3536 5.85355C11.5488 5.65829 11.5488 5.34171 11.3536 5.14645C11.1583 4.95118 10.8417 4.95118 10.6464 5.14645L8 7.79289L5.35355 5.14645Z' fill='%23F8F9FA'/%3E%3C/svg%3E%0A");
186
- background-repeat: no-repeat;
187
- content: "";
188
- display: inline-block;
189
- height: 1rem;
190
- transform: scale(0.8) translateY(50%);
191
- width: 1rem;
192
- padding: 15px;
193
- background-position: 50%;
194
- border-radius: 50%;
195
- position: absolute;
196
- right: 0;
197
- bottom: calc(50% - 3px);
198
- }
199
- &:focus-visible {
200
- &:after {
201
- outline: 2px solid $white;
202
- outline-offset: -6px;
203
- }
204
- }
205
- }
206
- }
207
- }
208
-
209
- .ss-deselect {
210
- flex: 0 1 auto;
211
- display: flex;
212
- align-items: center;
213
- justify-content: center;
214
- width: fit-content;
215
- height: auto;
216
- padding: 0 var(--ss-spacing-m) 0 var(--ss-spacing-m);
217
-
218
- svg {
219
- width: 8px;
220
- height: 8px;
221
-
222
- path {
223
- fill: none;
224
- stroke: var(--ss-font-color);
225
- stroke-width: 20;
226
- stroke-linecap: round;
227
- stroke-linejoin: round;
228
- }
229
- }
230
- }
231
-
232
- .ss-arrow {
233
- flex: 0 1 auto;
234
- display: flex;
235
- align-items: center;
236
- justify-content: flex-end;
237
- width: 12px;
238
- height: 12px;
239
- margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);
240
-
241
- path {
242
- fill: none;
243
- stroke: var(--ss-font-color);
244
- stroke-width: 18;
245
- stroke-linecap: round;
246
- stroke-linejoin: round;
247
- transition-timing-function: ease-out;
248
- transition: var(--ss-animation-timing);
249
- }
250
- }
251
- }
252
-
253
- // Content container
254
- .ss-content.ss-content-2 {
255
- position: absolute; // default position
256
- display: flex;
257
- height: auto;
258
- flex-direction: column;
259
- width: auto;
260
- max-height: var(--ss-content-height);
261
- box-sizing: border-box;
262
- border: solid 1px var(--ss-border-color);
263
- background-color: var(--ss-bg-color);
264
- transition:
265
- transform var(--ss-animation-timing),
266
- opacity var(--ss-animation-timing);
267
- opacity: 0;
268
- transform: scaleY(0);
269
- transform-origin: center top;
270
- overflow: hidden;
271
- z-index: 10000;
272
-
273
- &.form-select {
274
- padding: 0;
275
- background: var(--ss-bg-color);
276
- }
277
-
278
- &.ss-relative {
279
- position: relative;
280
- height: 100%;
281
- }
282
-
283
- &.ss-fixed {
284
- position: fixed;
285
- }
286
-
287
- &.ss-open-above {
288
- flex-direction: column-reverse;
289
- opacity: 1;
290
- transform: scaleY(1);
291
- transform-origin: center bottom;
292
- border-top-left-radius: var(--ss-border-radius);
293
- border-top-right-radius: var(--ss-border-radius);
294
- }
295
-
296
- &.ss-open-below {
297
- opacity: 1;
298
- transform: scaleY(1);
299
- transform-origin: center top;
300
- border-bottom-left-radius: var(--ss-border-radius);
301
- border-bottom-right-radius: var(--ss-border-radius);
302
- }
303
-
304
- .ss-search {
305
- flex: 0 1 auto;
306
- display: flex;
307
- flex-direction: row;
308
- padding: var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m)
309
- var(--ss-spacing-l);
310
-
311
- input {
312
- display: inline-flex;
313
- font-size: inherit;
314
- line-height: inherit;
315
- flex: 1 1 auto;
316
- width: 100%;
317
- min-width: 0px;
318
- padding: var(--ss-spacing-m) var(--ss-spacing-l);
319
- margin: 0;
320
- border: 1px solid var(--ss-border-color);
321
- border-radius: var(--ss-border-radius);
322
- background-color: var(--ss-bg-color);
323
- outline: 0;
324
- text-align: left;
325
- box-sizing: border-box;
326
-
327
- &::placeholder {
328
- color: var(--ss-font-placeholder-color);
329
- vertical-align: middle;
330
- }
331
-
332
- &:focus {
333
- @include form-focus-ring();
334
- }
335
- }
336
-
337
- .ss-addable {
338
- display: inline-flex;
339
- justify-content: center;
340
- align-items: center;
341
- cursor: pointer;
342
- flex: 0 0 auto;
343
- height: auto;
344
- margin: 0 0 0 var(--ss-spacing-m);
345
- border: 1px solid var(--ss-border-color);
346
- border-radius: var(--ss-border-radius);
347
-
348
- svg {
349
- display: flex;
350
- align-items: center;
351
- justify-content: flex-end;
352
- flex: 0 1 auto;
353
- width: 12px;
354
- height: 12px;
355
- margin: auto var(--ss-spacing-m) auto var(--ss-spacing-m);
356
-
357
- path {
358
- fill: none;
359
- stroke: var(--ss-font-color);
360
- stroke-width: 18;
361
- stroke-linecap: round;
362
- stroke-linejoin: round;
363
- }
364
- }
365
- }
366
- }
367
-
368
- .ss-list {
369
- flex: 1 1 auto;
370
- height: auto;
371
- overflow-x: hidden;
372
- overflow-y: auto;
373
-
374
- .ss-error {
375
- color: var(--ss-error-color);
376
- padding: var(--ss-spacing-l);
377
- }
378
-
379
- .ss-searching {
380
- color: var(--ss-font-color);
381
- padding: var(--ss-spacing-l);
382
- }
383
-
384
- .ss-optgroup {
385
- // If optgroup has close, hide all options
386
- &.ss-close {
387
- .ss-option {
388
- display: none !important;
389
- }
390
- }
391
-
392
- .ss-optgroup-label {
393
- display: flex;
394
- flex-direction: row;
395
- align-items: center;
396
- justify-content: space-between;
397
- padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m)
398
- var(--ss-spacing-l);
399
-
400
- .ss-optgroup-label-text {
401
- flex: 1 1 auto;
402
- font-weight: bold;
403
- color: var(--ss-font-color);
404
- }
405
-
406
- // If optgroup has arrow, make label clickable
407
- &:has(.ss-arrow) {
408
- cursor: pointer;
409
- }
410
-
411
- .ss-optgroup-actions {
412
- flex: 0 1 auto;
413
- display: flex;
414
- flex-direction: row;
415
- align-items: center;
416
- justify-content: center;
417
- gap: var(--ss-spacing-m);
418
-
419
- .ss-selectall {
420
- flex: 0 0 auto;
421
- display: flex;
422
- flex-direction: row;
423
- cursor: pointer;
424
-
425
- &:hover {
426
- opacity: 0.5;
427
- }
428
-
429
- &.ss-selected {
430
- svg {
431
- path {
432
- stroke: var(--ss-error-color);
433
- }
434
- }
435
- }
436
-
437
- span {
438
- flex: 0 1 auto;
439
- display: flex;
440
- align-items: center;
441
- justify-content: center;
442
- font-size: calc(100% * 0.6);
443
- text-align: center;
444
- padding: 0 var(--ss-spacing-s) 0 0;
445
- }
446
-
447
- svg {
448
- flex: 0 1 auto;
449
- width: 13px;
450
- height: 13px;
451
-
452
- path {
453
- fill: none;
454
- stroke: var(--ss-success-color);
455
- stroke-linecap: round;
456
- stroke-linejoin: round;
457
- }
458
-
459
- &:first-child {
460
- stroke-width: 5;
461
- }
462
- &:last-child {
463
- stroke-width: 11;
464
- }
465
- }
466
- }
467
-
468
- .ss-closable {
469
- flex: 0 1 auto;
470
- display: flex;
471
- flex-direction: row;
472
- cursor: pointer;
473
-
474
- .ss-arrow {
475
- flex: 1 1 auto;
476
- width: 10px;
477
- height: 10px;
478
-
479
- path {
480
- fill: none;
481
- stroke: var(--ss-font-color);
482
- stroke-width: 18;
483
- stroke-linecap: round;
484
- stroke-linejoin: round;
485
- transition-timing-function: ease-out;
486
- transition: var(--ss-animation-timing);
487
- }
488
- }
489
- }
490
- }
491
- }
492
-
493
- .ss-option {
494
- padding: var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s)
495
- calc(var(--ss-spacing-l) * 3);
496
- }
497
- }
498
-
499
- .ss-option {
500
- display: block; // Important for text with mark element highlight
501
- padding: var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m)
502
- var(--ss-spacing-l);
503
- white-space: normal;
504
- color: var(--ss-font-color);
505
- cursor: pointer;
506
- user-select: none;
507
-
508
- &:hover {
509
- color: var(--ss-bg-color);
510
- background-color: $primary;
511
- }
512
-
513
- &.ss-highlighted,
514
- &:not(.ss-disabled).ss-selected {
515
- color: var(--ss-bg-color);
516
- background-color: $primary;
517
- }
518
-
519
- &.ss-disabled {
520
- cursor: not-allowed;
521
- background-color: var(--ss-disabled-color);
522
-
523
- &:hover {
524
- color: var(--ss-font-color);
525
- }
526
- }
527
-
528
- // Sub div wrapper for highlighting text
529
- .ss-search-highlight {
530
- display: inline-block;
531
- background-color: var(--ss-highlight-color);
532
- }
533
- }
534
- }
535
- }
536
-
537
- .form-select.ss-main.multi-select.is-invalid,
538
- .was-validated .multi-select:invalid + .form-select.ss-main.multi-select {
539
- border-color: $danger;
540
- background-position: right 2.5rem center;
541
- background-repeat: no-repeat;
542
- padding-right: 0.5rem;
543
- background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
544
- background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23a51f2c' d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4m.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2'/%3E%3C/svg%3E");
545
- &:focus-visible {
546
- border-color: $gray-600;
547
- outline-color: $danger;
548
- }
549
- }
550
- .form-select.ss-main.multi-select.is-valid,
551
- .was-validated .multi-select:valid + .form-select.ss-main.multi-select {
552
- border-color: $success;
553
- background-position: right 2.5rem center;
554
- background-repeat: no-repeat;
555
- padding-right: 0.5rem;
556
- background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
557
- background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM12.0303 4.96967C11.7374 4.67678 11.2626 4.67678 10.9697 4.96967C10.9626 4.97674 10.9559 4.98424 10.9498 4.9921L7.4774 9.41674L5.38388 7.32322C5.09098 7.03033 4.61611 7.03033 4.32322 7.32322C4.03032 7.61612 4.03032 8.09099 4.32322 8.38388L6.96966 11.0303C7.26256 11.3232 7.73743 11.3232 8.03032 11.0303C8.03685 11.0238 8.043 11.0169 8.04876 11.0097L12.041 6.01947C12.3232 5.72582 12.3196 5.25897 12.0303 4.96967Z' fill='%2328A745'/%3E%3C/svg%3E%0A");
558
- &:focus-visible {
559
- border-color: $gray-600;
560
- outline-color: $success;
561
- }
562
- }
563
-
564
- .ss-sr-only {
565
- position: absolute;
566
- width: 1px;
567
- height: 1px;
568
- margin: -1px;
569
- padding: 0;
570
- border: 0;
571
- clip: rect(0, 0, 0, 0);
572
- clip-path: inset(50%);
573
- overflow: hidden;
574
- }