govuk_publishing_components 35.15.5 → 35.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/govuk_publishing_components_manifest.js +1 -0
  3. data/app/assets/images/option-select/input-icon.svg +3 -0
  4. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.js +37 -15
  5. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-video-tracker.js +7 -1
  6. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/pii-remover.js +1 -1
  7. data/app/assets/javascripts/govuk_publishing_components/components/option-select.js +312 -0
  8. data/app/assets/stylesheets/component_guide/application.scss +6 -6
  9. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +1 -0
  10. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +15 -15
  11. data/app/assets/stylesheets/govuk_publishing_components/components/_big-number.scss +3 -2
  12. data/app/assets/stylesheets/govuk_publishing_components/components/_breadcrumbs.scss +3 -3
  13. data/app/assets/stylesheets/govuk_publishing_components/components/_button.scss +2 -2
  14. data/app/assets/stylesheets/govuk_publishing_components/components/_cards.scss +5 -5
  15. data/app/assets/stylesheets/govuk_publishing_components/components/_contents-list.scss +1 -1
  16. data/app/assets/stylesheets/govuk_publishing_components/components/_contextual-sidebar.scss +1 -1
  17. data/app/assets/stylesheets/govuk_publishing_components/components/_document-list.scss +2 -2
  18. data/app/assets/stylesheets/govuk_publishing_components/components/_image-card.scss +31 -5
  19. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-super-navigation-header.scss +40 -35
  20. data/app/assets/stylesheets/govuk_publishing_components/components/_option-select.scss +172 -0
  21. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav.scss +23 -19
  22. data/app/assets/stylesheets/govuk_publishing_components/components/_table.scss +6 -6
  23. data/app/assets/stylesheets/govuk_publishing_components/components/_tabs.scss +2 -1
  24. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_steps.scss +3 -1
  25. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_typography.scss +4 -4
  26. data/app/assets/stylesheets/govuk_publishing_components/components/mixins/_media-down.scss +2 -2
  27. data/app/views/govuk_publishing_components/components/_attachment.html.erb +1 -1
  28. data/app/views/govuk_publishing_components/components/_contents_list.html.erb +20 -10
  29. data/app/views/govuk_publishing_components/components/_image_card.html.erb +8 -2
  30. data/app/views/govuk_publishing_components/components/_option_select.html.erb +71 -0
  31. data/app/views/govuk_publishing_components/components/_previous_and_next_navigation.html.erb +6 -6
  32. data/app/views/govuk_publishing_components/components/docs/contents_list.yml +1 -0
  33. data/app/views/govuk_publishing_components/components/docs/image_card.yml +13 -0
  34. data/app/views/govuk_publishing_components/components/docs/option_select.yml +343 -0
  35. data/config/locales/ar.yml +5 -0
  36. data/config/locales/az.yml +5 -0
  37. data/config/locales/be.yml +5 -0
  38. data/config/locales/bg.yml +5 -0
  39. data/config/locales/bn.yml +5 -0
  40. data/config/locales/cs.yml +5 -0
  41. data/config/locales/cy.yml +5 -0
  42. data/config/locales/da.yml +5 -0
  43. data/config/locales/de.yml +5 -0
  44. data/config/locales/dr.yml +5 -0
  45. data/config/locales/el.yml +5 -0
  46. data/config/locales/en.yml +6 -1
  47. data/config/locales/es-419.yml +5 -0
  48. data/config/locales/es.yml +5 -0
  49. data/config/locales/et.yml +5 -0
  50. data/config/locales/fa.yml +5 -0
  51. data/config/locales/fi.yml +5 -0
  52. data/config/locales/fr.yml +5 -0
  53. data/config/locales/gd.yml +5 -0
  54. data/config/locales/gu.yml +5 -0
  55. data/config/locales/he.yml +5 -0
  56. data/config/locales/hi.yml +5 -0
  57. data/config/locales/hr.yml +5 -0
  58. data/config/locales/hu.yml +5 -0
  59. data/config/locales/hy.yml +5 -0
  60. data/config/locales/id.yml +5 -0
  61. data/config/locales/is.yml +5 -0
  62. data/config/locales/it.yml +5 -0
  63. data/config/locales/ja.yml +5 -0
  64. data/config/locales/ka.yml +5 -0
  65. data/config/locales/kk.yml +5 -0
  66. data/config/locales/ko.yml +5 -0
  67. data/config/locales/lt.yml +5 -0
  68. data/config/locales/lv.yml +5 -0
  69. data/config/locales/ms.yml +5 -0
  70. data/config/locales/mt.yml +5 -0
  71. data/config/locales/nl.yml +5 -0
  72. data/config/locales/no.yml +5 -0
  73. data/config/locales/pa-pk.yml +5 -0
  74. data/config/locales/pa.yml +5 -0
  75. data/config/locales/pl.yml +5 -0
  76. data/config/locales/ps.yml +5 -0
  77. data/config/locales/pt.yml +5 -0
  78. data/config/locales/ro.yml +5 -0
  79. data/config/locales/ru.yml +5 -0
  80. data/config/locales/si.yml +5 -0
  81. data/config/locales/sk.yml +5 -0
  82. data/config/locales/sl.yml +5 -0
  83. data/config/locales/so.yml +5 -0
  84. data/config/locales/sq.yml +5 -0
  85. data/config/locales/sr.yml +5 -0
  86. data/config/locales/sv.yml +5 -0
  87. data/config/locales/sw.yml +5 -0
  88. data/config/locales/ta.yml +5 -0
  89. data/config/locales/th.yml +5 -0
  90. data/config/locales/tk.yml +5 -0
  91. data/config/locales/tr.yml +5 -0
  92. data/config/locales/uk.yml +5 -0
  93. data/config/locales/ur.yml +5 -0
  94. data/config/locales/uz.yml +5 -0
  95. data/config/locales/vi.yml +5 -0
  96. data/config/locales/zh-hk.yml +5 -0
  97. data/config/locales/zh-tw.yml +5 -0
  98. data/config/locales/zh.yml +5 -0
  99. data/lib/govuk_publishing_components/presenters/contents_list_helper.rb +8 -0
  100. data/lib/govuk_publishing_components/presenters/image_card_helper.rb +6 -2
  101. data/lib/govuk_publishing_components/presenters/meta_tags.rb +3 -0
  102. data/lib/govuk_publishing_components/version.rb +1 -1
  103. data/node_modules/axe-core/axe.js +6 -6
  104. data/node_modules/axe-core/axe.min.js +2 -2
  105. data/node_modules/axe-core/locales/_template.json +4 -4
  106. data/node_modules/axe-core/package.json +1 -1
  107. data/node_modules/axe-core/sri-history.json +4 -0
  108. metadata +7 -2
@@ -18,7 +18,7 @@
18
18
  color: govuk-colour("white");
19
19
  }
20
20
 
21
- .gem-c-breadcrumbs--inverse .govuk-breadcrumbs__list-item:before {
21
+ .gem-c-breadcrumbs--inverse .govuk-breadcrumbs__list-item::before {
22
22
  border-color: govuk-colour("white");
23
23
  }
24
24
 
@@ -40,11 +40,11 @@
40
40
  padding-bottom: 14px;
41
41
  }
42
42
 
43
- .govuk-breadcrumbs__list-item:before {
43
+ .govuk-breadcrumbs__list-item::before {
44
44
  top: 18px;
45
45
  }
46
46
 
47
- .govuk-breadcrumbs__link:after {
47
+ .govuk-breadcrumbs__link::after {
48
48
  content: "";
49
49
  position: absolute;
50
50
  top: 0;
@@ -65,7 +65,7 @@
65
65
  text-decoration: none;
66
66
  }
67
67
 
68
- &:before {
68
+ &::before {
69
69
  content: none;
70
70
  }
71
71
  }
@@ -97,7 +97,7 @@
97
97
  text-decoration: none;
98
98
  }
99
99
 
100
- &:before {
100
+ &::before {
101
101
  content: none;
102
102
  }
103
103
  }
@@ -65,7 +65,7 @@
65
65
 
66
66
  .gem-c-cards__link {
67
67
  // Make the entire list item area clickable
68
- &:after {
68
+ &::after {
69
69
  bottom: 0;
70
70
  content: "";
71
71
  left: 0;
@@ -74,7 +74,7 @@
74
74
  top: 0;
75
75
  }
76
76
 
77
- &:before {
77
+ &::before {
78
78
  $dimension: 7px;
79
79
  $width: 3px;
80
80
 
@@ -90,13 +90,13 @@
90
90
  }
91
91
 
92
92
  &:hover {
93
- &:before {
93
+ &::before {
94
94
  border-color: $govuk-link-hover-colour;
95
95
  }
96
96
  }
97
97
 
98
98
  &:focus {
99
- &:before {
99
+ &::before {
100
100
  border-color: $govuk-focus-text-colour;
101
101
  }
102
102
  }
@@ -120,7 +120,7 @@
120
120
  margin-bottom: govuk-spacing(1);
121
121
  }
122
122
 
123
- .gem-c-cards__link:before {
123
+ .gem-c-cards__link::before {
124
124
  display: none;
125
125
  }
126
126
  }
@@ -50,7 +50,7 @@
50
50
  padding-left: $contents-spacing;
51
51
  padding-right: $contents-spacing;
52
52
 
53
- &:before {
53
+ &::before {
54
54
  content: "—";
55
55
  position: absolute;
56
56
  left: 0;
@@ -37,7 +37,7 @@
37
37
  border-top: 7px solid #fed700;
38
38
  position: relative;
39
39
 
40
- &:before {
40
+ &::before {
41
41
  content: "";
42
42
  position: absolute;
43
43
  left: 0;
@@ -135,7 +135,7 @@
135
135
  padding-left: govuk-spacing(5);
136
136
  padding-top: govuk-spacing(2);
137
137
 
138
- &:before {
138
+ &::before {
139
139
  content: "—";
140
140
  position: absolute;
141
141
  left: 0;
@@ -146,7 +146,7 @@
146
146
  padding: 0;
147
147
  padding-bottom: govuk-spacing(2);
148
148
 
149
- &:before {
149
+ &::before {
150
150
  display: none;
151
151
  }
152
152
  }
@@ -41,6 +41,13 @@
41
41
  }
42
42
  }
43
43
 
44
+ @include govuk-media-query($from: tablet) {
45
+ .gem-c-image-card.gem-c-image-card--two-thirds {
46
+ margin: 0 (- govuk-spacing(3)) govuk-spacing(6) (- govuk-spacing(3));
47
+ display: block;
48
+ }
49
+ }
50
+
44
51
  @include govuk-media-query($from: mobile, $until: tablet) {
45
52
  .gem-c-image-card {
46
53
  margin: 0 (- govuk-spacing(3)) govuk-spacing(6) (- govuk-spacing(3));
@@ -53,6 +60,25 @@
53
60
  .gem-c-image-card__text-wrapper {
54
61
  @include govuk-grid-column($width: one-half, $at: mobile);
55
62
  }
63
+
64
+ .gem-c-image-card__image-wrapper.gem-c-image-card__image-wrapper--one-third {
65
+ @include govuk-grid-column($width: one-third, $float: right, $at: mobile);
66
+ }
67
+
68
+ .gem-c-image-card__text-wrapper.gem-c-image-card__text-wrapper--two-thirds {
69
+ @include govuk-grid-column($width: two-thirds, $float: right, $at: mobile);
70
+ }
71
+ }
72
+
73
+ @include govuk-media-query($from: tablet) {
74
+ .gem-c-image-card__image-wrapper.gem-c-image-card__image-wrapper--one-third {
75
+ @include govuk-grid-column($width: one-third, $float: right, $at: tablet);
76
+ }
77
+
78
+ .gem-c-image-card__text-wrapper.gem-c-image-card__text-wrapper--two-thirds {
79
+ @include govuk-grid-column($width: two-thirds, $float: right, $at: tablet);
80
+ padding-left: 0;
81
+ }
56
82
  }
57
83
 
58
84
  .gem-c-image-card__image {
@@ -77,7 +103,7 @@
77
103
  // the after element extends the link to cover the image, removing the
78
104
  // need for a duplicate link. Other elements apart from the image are given
79
105
  // position relative and a higher z-index to put them above the after element
80
- &:after {
106
+ &::after {
81
107
  content: "";
82
108
  position: absolute;
83
109
  z-index: 1;
@@ -91,7 +117,7 @@
91
117
  }
92
118
 
93
119
  @include govuk-media-query($from: mobile, $until: tablet) {
94
- &:after {
120
+ &::after {
95
121
  left: govuk-spacing(3);
96
122
  right: govuk-spacing(3);
97
123
  }
@@ -150,7 +176,7 @@
150
176
  .gem-c-image-card__list-item {
151
177
  position: relative;
152
178
 
153
- &:before { // stylelint-disable-line max-nesting-depth
179
+ &::before { // stylelint-disable-line max-nesting-depth
154
180
  content: "-";
155
181
  position: absolute;
156
182
  left: (- govuk-spacing(3));
@@ -200,7 +226,7 @@
200
226
  padding-bottom: govuk-spacing(2);
201
227
  }
202
228
 
203
- .gem-c-image-card__title-link:after {
229
+ .gem-c-image-card__title-link::after {
204
230
  left: 0;
205
231
  right: 0;
206
232
  }
@@ -263,7 +289,7 @@
263
289
  .gem-c-image-card__youtube-thumbnail-image-container {
264
290
  position: relative;
265
291
 
266
- &:before {
292
+ &::before {
267
293
  background: url("govuk_publishing_components/youtube-play-icon.png");
268
294
  background: url("govuk_publishing_components/youtube-play-icon.svg"), linear-gradient(transparent, transparent);
269
295
  background-repeat: no-repeat;
@@ -182,7 +182,7 @@ $after-button-padding-left: govuk-spacing(4);
182
182
  }
183
183
  }
184
184
 
185
- &:after {
185
+ &::after {
186
186
  @include make-selectable-area-bigger;
187
187
  @include pseudo-underline($left: $after-link-padding, $right: $after-link-padding);
188
188
  }
@@ -193,14 +193,14 @@ $after-button-padding-left: govuk-spacing(4);
193
193
  font-size: govuk-px-to-rem(16px);
194
194
  height: govuk-spacing(4);
195
195
 
196
- &:before {
196
+ &::before {
197
197
  @include chevron(govuk-colour("white"), true);
198
198
  }
199
199
 
200
200
  &:hover {
201
201
  color: govuk-colour("mid-grey");
202
202
 
203
- &:after {
203
+ &::after {
204
204
  background: govuk-colour("mid-grey");
205
205
  }
206
206
  }
@@ -216,7 +216,7 @@ $after-button-padding-left: govuk-spacing(4);
216
216
  box-shadow: none;
217
217
  color: $govuk-focus-text-colour;
218
218
 
219
- &:after {
219
+ &::after {
220
220
  background: $govuk-focus-text-colour;
221
221
  }
222
222
  }
@@ -235,12 +235,12 @@ $after-button-padding-left: govuk-spacing(4);
235
235
  &:hover {
236
236
  color: govuk-colour("mid-grey");
237
237
 
238
- &:after {
238
+ &::after {
239
239
  background: govuk-colour("mid-grey");
240
240
  }
241
241
  }
242
242
 
243
- &:after {
243
+ &::after {
244
244
  background: none;
245
245
  }
246
246
  }
@@ -255,14 +255,14 @@ $after-button-padding-left: govuk-spacing(4);
255
255
  padding: 0;
256
256
  margin: 0;
257
257
 
258
- &:after {
258
+ &::after {
259
259
  @include pseudo-underline($left: $after-button-padding-left, $right: $after-button-padding-right, $width: 100%);
260
260
  }
261
261
  }
262
262
  // stylelint-enable max-nesting-depth
263
263
  }
264
264
 
265
- &:after {
265
+ &::after {
266
266
  @include make-selectable-area-bigger;
267
267
  }
268
268
  }
@@ -299,7 +299,7 @@ $after-button-padding-left: govuk-spacing(4);
299
299
  &:hover {
300
300
  background: govuk-colour("black");
301
301
 
302
- &:before {
302
+ &::before {
303
303
  left: 0;
304
304
  right: 0;
305
305
  }
@@ -308,12 +308,12 @@ $after-button-padding-left: govuk-spacing(4);
308
308
  &:focus {
309
309
  background: $govuk-focus-colour;
310
310
 
311
- &:before {
311
+ &::before {
312
312
  content: none;
313
313
  }
314
314
  }
315
315
 
316
- &:after {
316
+ &::after {
317
317
  left: 0;
318
318
  right: 0;
319
319
  width: 100%;
@@ -332,8 +332,8 @@ $after-button-padding-left: govuk-spacing(4);
332
332
  background: $govuk-focus-colour;
333
333
  }
334
334
 
335
- &:after,
336
- &:hover:after {
335
+ &::after,
336
+ &:hover::after {
337
337
  background: $govuk-focus-colour;
338
338
  }
339
339
  }
@@ -364,19 +364,19 @@ $after-button-padding-left: govuk-spacing(4);
364
364
  @include govuk-link-style-no-visited-state;
365
365
  @include govuk-link-style-no-underline;
366
366
 
367
- &:after {
367
+ &::after {
368
368
  @include pseudo-underline($left: $after-button-padding-left, $right: $after-button-padding-right);
369
369
  }
370
370
 
371
371
  &:hover {
372
372
  color: govuk-colour("mid-grey");
373
373
 
374
- &:after {
374
+ &::after {
375
375
  background: govuk-colour("mid-grey");
376
376
  }
377
377
 
378
378
  .gem-c-layout-super-navigation-header__navigation-top-toggle-button-inner {
379
- &:before {
379
+ &::before {
380
380
  border-color: govuk-colour("mid-grey");
381
381
  }
382
382
  }
@@ -411,11 +411,11 @@ $after-button-padding-left: govuk-spacing(4);
411
411
  .gem-c-layout-super-navigation-header__navigation-top-toggle-button-inner {
412
412
  color: govuk-colour("black");
413
413
 
414
- &:after {
414
+ &::after {
415
415
  background: govuk-colour("black");
416
416
  }
417
417
 
418
- &:before {
418
+ &::before {
419
419
  @include chevron(govuk-colour("black"), true);
420
420
  }
421
421
  }
@@ -428,22 +428,23 @@ $after-button-padding-left: govuk-spacing(4);
428
428
  box-shadow: none;
429
429
 
430
430
  &:hover {
431
- &:after {
431
+ &::after {
432
432
  background-color: govuk-colour("black");
433
433
  }
434
434
  }
435
435
 
436
- &:after {
436
+ &::after {
437
437
  background-color: govuk-colour("black");
438
438
  }
439
-
439
+ // stylelint-disable max-nesting-depth
440
440
  .gem-c-layout-super-navigation-header__navigation-top-toggle-button-inner {
441
441
  border-color: $govuk-focus-colour;
442
442
 
443
- &:before {
443
+ &::before {
444
444
  @include chevron(govuk-colour("black"), true);
445
445
  }
446
446
  }
447
+ // stylelint-enable max-nesting-depth
447
448
  }
448
449
 
449
450
  // Undoes the :focus styles *only* for browsers that support :focus-visible.
@@ -453,16 +454,17 @@ $after-button-padding-left: govuk-spacing(4);
453
454
  box-shadow: none;
454
455
  color: govuk-colour("white");
455
456
 
457
+ // stylelint-disable max-nesting-depth
456
458
  &:hover {
457
459
  .gem-c-layout-super-navigation-header__navigation-top-toggle-button-inner {
458
- &:before {
460
+ &::before {
459
461
  @include chevron(govuk-colour("mid-grey"), true);
460
462
  }
461
463
 
462
464
  color: govuk-colour("mid-grey");
463
465
  }
464
466
 
465
- &:after {
467
+ &::after {
466
468
  background: govuk-colour("mid-grey");
467
469
  }
468
470
  }
@@ -471,11 +473,12 @@ $after-button-padding-left: govuk-spacing(4);
471
473
  border-color: $button-pipe-colour;
472
474
 
473
475
  @include govuk-media-query($from: 360px) {
474
- &:before {
476
+ &::before {
475
477
  @include chevron(govuk-colour("white"), true);
476
478
  }
477
479
  }
478
480
  }
481
+ // stylelint-enable max-nesting-depth
479
482
  }
480
483
 
481
484
  // Open button modifier
@@ -485,7 +488,7 @@ $after-button-padding-left: govuk-spacing(4);
485
488
  @include govuk-focused-text;
486
489
  box-shadow: none;
487
490
 
488
- &:after {
491
+ &::after {
489
492
  background-color: govuk-colour("black");
490
493
  }
491
494
 
@@ -494,7 +497,7 @@ $after-button-padding-left: govuk-spacing(4);
494
497
  border-color: $govuk-focus-colour;
495
498
 
496
499
  @include govuk-media-query($from: 360px) {
497
- &:before {
500
+ &::before {
498
501
  @include chevron(govuk-colour("black"), true);
499
502
  @include prefixed-transform($rotate: 225deg, $translateY: 1px);
500
503
  }
@@ -505,7 +508,7 @@ $after-button-padding-left: govuk-spacing(4);
505
508
  @include focus-not-focus-visible {
506
509
  background: govuk-colour("light-grey");
507
510
 
508
- &:after {
511
+ &::after {
509
512
  background-color: $govuk-link-colour;
510
513
  }
511
514
 
@@ -514,7 +517,7 @@ $after-button-padding-left: govuk-spacing(4);
514
517
  border-color: govuk-colour("light-grey");
515
518
 
516
519
  @include govuk-media-query($from: 360px) {
517
- &:before {
520
+ &::before {
518
521
  @include chevron($govuk-link-colour);
519
522
  @include prefixed-transform($rotate: 225deg, $translateY: 1px);
520
523
  }
@@ -533,7 +536,7 @@ $after-button-padding-left: govuk-spacing(4);
533
536
  padding: govuk-spacing(1) govuk-spacing(4);
534
537
 
535
538
  @include govuk-media-query($from: 360px) {
536
- &:before {
539
+ &::before {
537
540
  @include chevron(govuk-colour("white"));
538
541
  }
539
542
  }
@@ -597,11 +600,13 @@ $after-button-padding-left: govuk-spacing(4);
597
600
  box-shadow: none;
598
601
  color: $govuk-focus-colour;
599
602
 
603
+ // stylelint-disable max-nesting-depth
600
604
  @include govuk-media-query($from: 360px) {
601
- &:before {
605
+ &::before {
602
606
  @include chevron($govuk-focus-colour, true);
603
607
  }
604
608
  }
609
+ // stylelint-enable max-nesting-depth
605
610
  }
606
611
 
607
612
  @include focus-not-focus-visible {
@@ -708,14 +713,14 @@ $after-button-padding-left: govuk-spacing(4);
708
713
  font-size: govuk-px-to-rem(16px);
709
714
  font-weight: bold;
710
715
 
711
- &:after {
716
+ &::after {
712
717
  @include make-selectable-area-bigger;
713
718
  }
714
719
 
715
720
  @include govuk-media-query($from: "desktop") {
716
721
  padding: 0;
717
722
 
718
- &:after {
723
+ &::after {
719
724
  @include make-selectable-area-bigger;
720
725
  }
721
726
  }
@@ -726,7 +731,7 @@ $after-button-padding-left: govuk-spacing(4);
726
731
  font-size: govuk-px-to-rem(16px);
727
732
  font-weight: bold;
728
733
 
729
- &:after {
734
+ &::after {
730
735
  @include make-selectable-area-bigger;
731
736
  height: calc(100% - 20px);
732
737
  }
@@ -756,7 +761,7 @@ $after-button-padding-left: govuk-spacing(4);
756
761
  font-size: govuk-px-to-rem(16px);
757
762
  padding: 0;
758
763
 
759
- &:after {
764
+ &::after {
760
765
  @include make-selectable-area-bigger;
761
766
  }
762
767
  }
@@ -0,0 +1,172 @@
1
+ @import "govuk_publishing_components/individual_component_support";
2
+
3
+ .gem-c-option-select {
4
+ position: relative;
5
+ padding: 0 0 govuk-spacing(2);
6
+ margin-bottom: govuk-spacing(2);
7
+ border-bottom: 1px solid $govuk-border-colour;
8
+
9
+ @include govuk-media-query($from: desktop) {
10
+ // Redefine scrollbars on desktop where these lists are scrollable
11
+ // so they are always visible in option lists
12
+ ::-webkit-scrollbar {
13
+ -webkit-appearance: none;
14
+ width: 7px;
15
+ }
16
+
17
+ ::-webkit-scrollbar-thumb {
18
+ border-radius: 4px;
19
+
20
+ background-color: rgba(0, 0, 0, .5);
21
+ -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .87);
22
+ }
23
+ }
24
+
25
+ .gem-c-checkboxes {
26
+ margin: 0;
27
+ }
28
+ }
29
+
30
+ .gem-c-option-select__title {
31
+ @include govuk-font(19);
32
+ margin: 0;
33
+ }
34
+
35
+ .gem-c-option-select__button {
36
+ z-index: 1;
37
+ background: none;
38
+ border: 0;
39
+ text-align: left;
40
+ padding: 0;
41
+ cursor: pointer;
42
+ color: $govuk-link-colour;
43
+
44
+ &:hover {
45
+ text-decoration: underline;
46
+ text-underline-offset: .1em;
47
+ @include govuk-link-hover-decoration;
48
+ }
49
+
50
+ &::-moz-focus-inner {
51
+ border: 0;
52
+ }
53
+
54
+ &:focus {
55
+ outline: none;
56
+ text-decoration: none;
57
+ @include govuk-focused-text;
58
+ }
59
+
60
+ &[disabled] {
61
+ background-image: none;
62
+ color: inherit;
63
+ }
64
+
65
+ // Extend the touch area of the button to span the heading
66
+ &::after {
67
+ content: "";
68
+ position: absolute;
69
+ top: 0;
70
+ right: 0;
71
+ bottom: 0;
72
+ left: 0;
73
+ z-index: 2;
74
+ }
75
+ }
76
+
77
+ .gem-c-option-select__icon {
78
+ display: none;
79
+ position: absolute;
80
+ top: 0;
81
+ left: 9px;
82
+ width: 30px;
83
+ height: 40px;
84
+ fill: govuk-colour("black");
85
+ }
86
+
87
+ .gem-c-option-select__container {
88
+ position: relative;
89
+ max-height: 200px;
90
+ overflow-y: auto;
91
+ overflow-x: hidden;
92
+ background-color: govuk-colour("white");
93
+
94
+ &:focus {
95
+ outline: 0;
96
+ }
97
+ }
98
+
99
+ .gem-c-option-select__container--large {
100
+ max-height: 600px;
101
+ }
102
+
103
+ .gem-c-option-select__container-inner {
104
+ padding: govuk-spacing(1) 13px;
105
+ }
106
+
107
+ .gem-c-option-select__filter {
108
+ position: relative;
109
+ background: govuk-colour("white");
110
+ padding: 13px 13px govuk-spacing(2) 13px;
111
+ }
112
+
113
+ .gem-c-option-select__filter-input {
114
+ @include govuk-font(19);
115
+ background: image-url("option-select/input-icon.svg") govuk-colour("white") no-repeat -5px -3px;
116
+
117
+ @include govuk-media-query($from: tablet) {
118
+ @include govuk-font(16);
119
+ }
120
+ }
121
+
122
+ .gem-c-option-select__filter-input.govuk-input {
123
+ padding-left: 33px;
124
+ }
125
+
126
+ .js-enabled {
127
+ .gem-c-option-select__heading {
128
+ position: relative;
129
+ padding: 10px 8px 5px 43px;
130
+ margin: 0;
131
+ }
132
+
133
+ [aria-expanded="true"] ~ .gem-c-option-select__icon--up {
134
+ display: block;
135
+ }
136
+
137
+ [aria-expanded="false"] ~ .gem-c-option-select__icon--down {
138
+ display: block;
139
+ }
140
+
141
+ .gem-c-option-select__container {
142
+ height: 200px;
143
+ }
144
+
145
+ .gem-c-option-select__container--large {
146
+ height: 600px;
147
+ }
148
+
149
+ [data-closed-on-load="true"] .gem-c-option-select__container {
150
+ display: none;
151
+ }
152
+ }
153
+
154
+ .gem-c-option-select__selected-counter {
155
+ @include govuk-font($size: 14);
156
+ color: $govuk-text-colour;
157
+ margin-top: 3px;
158
+ }
159
+
160
+ .gem-c-option-select.js-closed {
161
+ .gem-c-option-select__filter,
162
+ .gem-c-option-select__container {
163
+ display: none;
164
+ }
165
+ }
166
+
167
+ .gem-c-option-select.js-opened {
168
+ .gem-c-option-select__filter,
169
+ .gem-c-option-select__container {
170
+ display: block;
171
+ }
172
+ }