@openeuropa/bcl-theme-default 1.8.0 → 1.9.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 (41) hide show
  1. package/bcl-builder.config.js +7 -2
  2. package/css/color-scheme.min.css +1 -1
  3. package/css/oe-bcl-ckeditor5.min.css +1 -1
  4. package/css/oe-bcl-ckeditor5.min.css.map +1 -1
  5. package/css/oe-bcl-default.css +972 -305
  6. package/css/oe-bcl-default.css.map +1 -1
  7. package/css/oe-bcl-default.min.css +1 -1
  8. package/css/oe-bcl-default.min.css.map +1 -1
  9. package/js/oe-bcl-default.bundle.js +0 -5
  10. package/js/oe-bcl-default.bundle.js.map +1 -1
  11. package/js/oe-bcl-default.bundle.min.js +1 -1
  12. package/js/oe-bcl-default.bundle.min.js.map +1 -1
  13. package/js/oe-bcl-default.esm.js +0 -3
  14. package/js/oe-bcl-default.esm.js.map +1 -1
  15. package/js/oe-bcl-default.esm.min.js.map +1 -1
  16. package/js/oe-bcl-default.umd.js +0 -5
  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/js/slim-select-2/slimselect.min.js +1 -1
  21. package/js/slimselect.min.js +1 -1
  22. package/package.json +9 -8
  23. package/src/js/gallery/gallery.js +0 -2
  24. package/src/scss/_accordion.scss +7 -0
  25. package/src/scss/_badge.scss +2 -23
  26. package/src/scss/_button.scss +15 -0
  27. package/src/scss/_carousel.scss +15 -1
  28. package/src/scss/_footer.scss +20 -1
  29. package/src/scss/_header.scss +4 -10
  30. package/src/scss/_input.scss +37 -4
  31. package/src/scss/_language-list.scss +11 -0
  32. package/src/scss/_multiselect-2.scss +552 -0
  33. package/src/scss/_multiselect.scss +2 -2
  34. package/src/scss/_pagination.scss +21 -5
  35. package/src/scss/_search-form.scss +4 -2
  36. package/src/scss/_tabs.scss +30 -0
  37. package/src/scss/base/_utilities.scss +14 -28
  38. package/src/scss/oe-bcl-default.scss +2 -0
  39. package/templates/bcl-carousel/carousel.html.twig +2 -2
  40. package/templates/bcl-header/header.html.twig +1 -0
  41. package/templates/bcl-mega-menu/mega-menu.html.twig +123 -0
@@ -53,9 +53,10 @@ $header-link-active-background: #003776 !default;
53
53
  &.active {
54
54
  color: #fff;
55
55
  }
56
-
57
- &:first-child {
58
- padding-left: 0;
56
+ &:focus-visible {
57
+ outline: 2px solid $white;
58
+ border-radius: 4px;
59
+ outline-offset: 0;
59
60
  }
60
61
  }
61
62
  }
@@ -243,13 +244,6 @@ $header-link-active-background: #003776 !default;
243
244
  padding-bottom: 0;
244
245
  }
245
246
 
246
- .bcl-header__navbar .nav-link.active {
247
- padding-top: $spacer;
248
- padding-bottom: $spacer;
249
- margin-top: -#{map-get($spacers, 2)};
250
- margin-bottom: -#{map-get($spacers, 2)};
251
- }
252
-
253
247
  .bcl-header__navbar .dropdown-menu {
254
248
  z-index: 1050; // Make sure dropdown overlaps the search offcanvas
255
249
  }
@@ -1,11 +1,16 @@
1
- // stylelint-disable no-duplicate-selectors
2
- // stylelint-disable selector-no-qualifying-type
1
+ /* stylelint-disable no-duplicate-selectors, selector-no-qualifying-type, no-descending-specificity */
3
2
 
4
3
  .form-select {
5
4
  padding-top: $input-padding-y-lg;
6
5
  padding-bottom: $input-padding-y-lg;
7
6
  padding-left: $input-padding-x-lg;
8
7
  font-size: $form-font-size-lg;
8
+ &:focus-visible {
9
+ outline: 2px solid $primary;
10
+ box-shadow: none;
11
+ border-radius: 4px;
12
+ outline-offset: -1px;
13
+ }
9
14
  }
10
15
 
11
16
  .form-control {
@@ -18,6 +23,12 @@
18
23
  margin: (-$input-padding-y-lg) $input-padding-x-lg (-$input-padding-y-lg)
19
24
  (-$input-padding-x-lg);
20
25
  }
26
+ &:focus-visible {
27
+ outline: 2px solid $primary;
28
+ box-shadow: none;
29
+ border-radius: 4px;
30
+ outline-offset: -1px;
31
+ }
21
32
  }
22
33
  .form-check:not(.form-switch) {
23
34
  padding-left: 1.8rem;
@@ -30,6 +41,20 @@
30
41
  margin-top: 0.15rem;
31
42
  }
32
43
  }
44
+ .form-check-input {
45
+ &:focus-visible {
46
+ outline: 4px solid $primary;
47
+ box-shadow: none;
48
+ border-radius: 4px;
49
+ outline-offset: 0;
50
+ &[type="radio"] {
51
+ border-radius: 50%;
52
+ }
53
+ }
54
+ &:checked:focus-visible {
55
+ border-color: $white;
56
+ }
57
+ }
33
58
 
34
59
  @include media-breakpoint-up(md) {
35
60
  .form-check:not(.form-switch) {
@@ -73,12 +98,20 @@ textarea.form-control,
73
98
  }
74
99
 
75
100
  .form-select:not([multiple]):not([size]) {
101
+ &:focus-visible {
102
+ outline: 2px solid $primary;
103
+ box-shadow: none;
104
+ border-radius: 4px;
105
+ outline-offset: -1px;
106
+ }
76
107
  &.is-invalid {
77
- background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"),
108
+ background-image:
109
+ url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"),
78
110
  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 8ZM8 4C7.46459 4 7.04623 4.46229 7.0995 4.99504L7.45025 8.50248C7.47849 8.78492 7.71616 9 8 9C8.28384 9 8.52151 8.78492 8.54975 8.50248L8.9005 4.99504C8.95377 4.46228 8.53541 4 8 4ZM8.00154 10C7.44926 10 7.00154 10.4477 7.00154 11C7.00154 11.5523 7.44926 12 8.00154 12C8.55383 12 9.00154 11.5523 9.00154 11C9.00154 10.4477 8.55383 10 8.00154 10Z' fill='%23D72E3D'/%3E%3C/svg%3E%0A");
79
111
  }
80
112
  &.is-valid {
81
- background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"),
113
+ background-image:
114
+ url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"),
82
115
  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");
83
116
  }
84
117
  }
@@ -1,3 +1,5 @@
1
+ // stylelint-disable no-descending-specificity
2
+
1
3
  .bcl-language-list {
2
4
  .btn {
3
5
  background: $white;
@@ -7,6 +9,12 @@
7
9
  text-decoration: underline;
8
10
  border-color: $eu-cta-color;
9
11
  }
12
+ &:focus-visible {
13
+ background: $primary;
14
+ color: $white;
15
+ outline: 2px solid $white;
16
+ outline-offset: -4px;
17
+ }
10
18
  &.selected {
11
19
  background: $secondary;
12
20
  color: $white;
@@ -21,6 +29,9 @@
21
29
  .btn {
22
30
  color: $eu-cta-color;
23
31
  font-weight: $font-weight-bold;
32
+ &:focus-visible {
33
+ color: $white;
34
+ }
24
35
  &.selected {
25
36
  background: $eu-selected-background;
26
37
  color: $black;
@@ -0,0 +1,552 @@
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: #8d8d8d;
13
+ --ss-disabled-color: #dcdee2;
14
+ --ss-border-color: #dcdee2;
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 {
81
+ box-shadow: 0 0 5px var(--ss-focus-color);
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
+ box-shadow: 0 0 5px var(--ss-focus-color);
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
+ .ss-main.multi-select.is-invalid,
538
+ .was-validated .multi-select:invalid + .ss-main.multi-select {
539
+ border-color: $danger;
540
+ background-position: right 1.5rem center;
541
+ background-repeat: no-repeat;
542
+ background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
543
+ 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 8ZM8 4C7.46459 4 7.04623 4.46229 7.0995 4.99504L7.45025 8.50248C7.47849 8.78492 7.71616 9 8 9C8.28384 9 8.52151 8.78492 8.54975 8.50248L8.9005 4.99504C8.95377 4.46228 8.53541 4 8 4ZM8.00154 10C7.44926 10 7.00154 10.4477 7.00154 11C7.00154 11.5523 7.44926 12 8.00154 12C8.55383 12 9.00154 11.5523 9.00154 11C9.00154 10.4477 8.55383 10 8.00154 10Z' fill='%23D72E3D'/%3E%3C/svg%3E%0A");
544
+ }
545
+ .ss-main.multi-select.is-valid,
546
+ .was-validated .multi-select:valid + .ss-main.multi-select {
547
+ border-color: $success;
548
+ background-position: right 1.5rem center;
549
+ background-repeat: no-repeat;
550
+ background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
551
+ 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");
552
+ }
@@ -31,7 +31,7 @@ select.multi-select {
31
31
  opacity: 0;
32
32
  }
33
33
 
34
- .ss-main.multi-select {
34
+ .ss-main.multi-select.ss-1 {
35
35
  padding: 0;
36
36
  &.form-select.is-invalid,
37
37
  &.form-select.is-valid {
@@ -145,7 +145,7 @@ select.multi-select {
145
145
  }
146
146
 
147
147
  @include media-breakpoint-up(md) {
148
- .ss-main.multi-select {
148
+ .ss-main.ss-1.multi-select {
149
149
  .ss-multi-selected {
150
150
  padding: map-get($multiselect-spacers, "select-spacer-md") 0
151
151
  map-get($multiselect-spacers, "select-spacer-md")