govuk_publishing_components 43.4.1 → 44.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/govuk_publishing_components_manifest.js +0 -1
  3. data/app/assets/javascripts/govuk_publishing_components/components/option-select.js +1 -1
  4. data/app/assets/javascripts/govuk_publishing_components/vendor/lux/lux-reporter.js +20 -19
  5. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +1 -8
  6. data/app/assets/stylesheets/govuk_publishing_components/components/_cards.scss +0 -12
  7. data/app/assets/stylesheets/govuk_publishing_components/components/_contents-list.scss +0 -6
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_devolved-nations.scss +1 -9
  9. data/app/assets/stylesheets/govuk_publishing_components/components/_document-list.scss +12 -10
  10. data/app/assets/stylesheets/govuk_publishing_components/components/_image-card.scss +0 -5
  11. data/app/assets/stylesheets/govuk_publishing_components/components/_inset-text.scss +0 -17
  12. data/app/assets/stylesheets/govuk_publishing_components/components/_intervention.scss +0 -17
  13. data/app/assets/stylesheets/govuk_publishing_components/components/_option-select.scss +12 -7
  14. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-header.scss +0 -12
  15. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav-related.scss +0 -17
  16. data/app/assets/stylesheets/govuk_publishing_components/lib/_print_support.scss +45 -0
  17. data/app/models/govuk_publishing_components/component_wrapper_helper_options.rb +1 -0
  18. data/app/views/govuk_publishing_components/components/_action_link.html.erb +4 -4
  19. data/app/views/govuk_publishing_components/components/_cards.html.erb +1 -1
  20. data/app/views/govuk_publishing_components/components/_contents_list.html.erb +1 -1
  21. data/app/views/govuk_publishing_components/components/_contextual_guidance.html.erb +7 -3
  22. data/app/views/govuk_publishing_components/components/_cookie_banner.html.erb +12 -4
  23. data/app/views/govuk_publishing_components/components/_devolved_nations.html.erb +16 -12
  24. data/app/views/govuk_publishing_components/components/_document_list.html.erb +3 -2
  25. data/app/views/govuk_publishing_components/components/_image_card.html.erb +2 -0
  26. data/app/views/govuk_publishing_components/components/_inset_text.html.erb +1 -1
  27. data/app/views/govuk_publishing_components/components/_intervention.html.erb +1 -1
  28. data/app/views/govuk_publishing_components/components/_layout_for_admin.html.erb +0 -1
  29. data/app/views/govuk_publishing_components/components/_option_select.html.erb +5 -3
  30. data/app/views/govuk_publishing_components/components/_radio.html.erb +2 -0
  31. data/app/views/govuk_publishing_components/components/_step_by_step_nav_header.html.erb +1 -1
  32. data/app/views/govuk_publishing_components/components/_step_by_step_nav_related.html.erb +2 -2
  33. data/app/views/govuk_publishing_components/components/docs/action_link.yml +5 -5
  34. data/app/views/govuk_publishing_components/components/docs/attachment_link.yml +6 -0
  35. data/app/views/govuk_publishing_components/components/docs/big_number.yml +17 -2
  36. data/app/views/govuk_publishing_components/components/docs/breadcrumbs.yml +3 -1
  37. data/app/views/govuk_publishing_components/components/docs/contextual_guidance.yml +1 -0
  38. data/app/views/govuk_publishing_components/components/docs/devolved_nations.yml +2 -1
  39. data/app/views/govuk_publishing_components/components/docs/document_list.yml +22 -0
  40. data/app/views/govuk_publishing_components/components/docs/inverse_header.yml +2 -30
  41. data/app/views/govuk_publishing_components/components/docs/radio.yml +15 -0
  42. data/app/views/govuk_publishing_components/components/docs/search.yml +1 -3
  43. data/app/views/govuk_publishing_components/components/docs/step_by_step_nav_header.yml +2 -0
  44. data/app/views/govuk_publishing_components/components/docs/tabs.yml +1 -1
  45. data/app/views/govuk_publishing_components/components/layout_for_public/_account-layout.html.erb +0 -1
  46. data/app/views/layouts/govuk_publishing_components/application.html.erb +0 -2
  47. data/lib/govuk_publishing_components/presenters/component_wrapper_helper.rb +16 -0
  48. data/lib/govuk_publishing_components/presenters/page_with_step_by_step_navigation.rb +3 -3
  49. data/lib/govuk_publishing_components/version.rb +1 -1
  50. data/node_modules/accessible-autocomplete/CHANGELOG.md +8 -0
  51. data/node_modules/accessible-autocomplete/accessibility-criteria.md +2 -1
  52. data/node_modules/accessible-autocomplete/dist/accessible-autocomplete.min.js +1 -1
  53. data/node_modules/accessible-autocomplete/dist/accessible-autocomplete.min.js.map +1 -1
  54. data/node_modules/accessible-autocomplete/dist/lib/accessible-autocomplete.preact.min.js +1 -1
  55. data/node_modules/accessible-autocomplete/dist/lib/accessible-autocomplete.preact.min.js.map +1 -1
  56. data/node_modules/accessible-autocomplete/dist/lib/accessible-autocomplete.react.min.js +1 -1
  57. data/node_modules/accessible-autocomplete/dist/lib/accessible-autocomplete.react.min.js.map +1 -1
  58. data/node_modules/accessible-autocomplete/examples/ajax-source.html +300 -0
  59. data/node_modules/accessible-autocomplete/examples/form-single.html +4 -2
  60. data/node_modules/accessible-autocomplete/examples/index.html +7 -52
  61. data/node_modules/accessible-autocomplete/examples/suggestions.json +258 -0
  62. data/node_modules/accessible-autocomplete/package.json +15 -15
  63. data/node_modules/accessible-autocomplete/src/autocomplete.js +4 -2
  64. data/node_modules/accessible-autocomplete/test/functional/index.js +21 -5
  65. metadata +19 -4
  66. data/app/assets/javascripts/govuk_publishing_components/vendor/modernizr.js +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac704d6393454fd55a51395e672359ee86f2fbd731c4570bf8052f9444e14d73
4
- data.tar.gz: ff7cfc46ec1fb8663116a6926bcd4323d87d8a20ba004f0683bcecabaa18488f
3
+ metadata.gz: f13f23ec1562e63350f590b579c1acecdc4da57c4fe96449c727abce1cd91002
4
+ data.tar.gz: a4e52c344237096f770b2867dd4a478bcf815be3cbbbeba01554984bd4d10e7e
5
5
  SHA512:
6
- metadata.gz: bed10adab8a2ed2a3b571ee8b0290fc7380a2725aee1a04fe905d7799d46142455e14c7b4f7152a8bb3f6d521a273aa7de36f648036e89f20e302e0cd3093f38
7
- data.tar.gz: 7dbcd83b8b7443f2906fb4bbfd9c8abe26a234d9bd3acd2c6d986625264f5bffcdf4d6ccadc9ed1c099e0f886863bfd3676ba562dee4b116139bc4ab37b3d7cf
6
+ metadata.gz: 63e41b4da0785b914d0fe04409e4aa45cca913c6cebdd41c411b59d7bf413e4c1d16970fcc397becb3d8fcb80c0b06a9c700565075630095216cef109ebd451d
7
+ data.tar.gz: 7358a4951fddd6e5dc43fc7c17aa87511024bbb518e8c57e69874a5dea1d4245f763454986029301f3d9f7c39f099277f922e3d666e7c38a77d074add9e4b93c
@@ -8,6 +8,5 @@
8
8
  //= link_directory ../javascripts/govuk_publishing_components
9
9
 
10
10
  // Pre-compile these specific files
11
- //= link govuk_publishing_components/vendor/modernizr.js
12
11
  //= link govuk_publishing_components/vendor/lux/lux-reporter.js
13
12
  //= link govuk_publishing_components/vendor/lux/lux-measurer.js
@@ -190,7 +190,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
190
190
  var element = document.createElement('div')
191
191
  element.setAttribute('class', 'gem-c-option-select__selected-counter js-selected-counter')
192
192
  element.innerHTML = checkedString
193
- this.$optionSelect.querySelector('.js-container-button').insertAdjacentElement('afterend', element)
193
+ this.$optionSelect.querySelector('.js-container-toggle').insertAdjacentElement('afterend', element)
194
194
  }
195
195
 
196
196
  OptionSelect.prototype.updateCheckedCount = function updateCheckedCount () {
@@ -336,7 +336,7 @@
336
336
  return str;
337
337
  }
338
338
 
339
- var VERSION = "4.0.26";
339
+ var VERSION = "4.0.27";
340
340
  /**
341
341
  * Returns the version of the script as a float to be stored in legacy systems that do not support
342
342
  * string versions.
@@ -564,7 +564,8 @@
564
564
  var updatedCustomData = {};
565
565
  function addCustomDataValue(name, value) {
566
566
  var typeV = typeof value;
567
- if (customDataValues[name] !== value) {
567
+ var valueIsEmpty = typeV === "undefined" || value === null;
568
+ if (!valueIsEmpty && customDataValues[name] !== value) {
568
569
  // If the value is new or different to the previous value, record it so that later we can send
569
570
  // only the values that have changed.
570
571
  updatedCustomData[name] = value;
@@ -572,7 +573,7 @@
572
573
  if (typeV === "string" || typeV === "number" || typeV === "boolean") {
573
574
  customDataValues[name] = value;
574
575
  }
575
- if (typeV === "undefined" || value === null) {
576
+ if (valueIsEmpty) {
576
577
  delete customDataValues[name];
577
578
  }
578
579
  }
@@ -681,25 +682,25 @@
681
682
  startTime: processTimeMetric(entry.startTime),
682
683
  elementSelector: getNodeSelector(source.node),
683
684
  elementType: source.node.nodeName,
684
- }); })
685
- : [];
686
- if (sessionEntries.length &&
687
- (entry.startTime - latestEntry.startTime >= 1000 ||
685
+ }); })
686
+ : [];
687
+ if (sessionEntries.length &&
688
+ (entry.startTime - latestEntry.startTime >= 1000 ||
688
689
  entry.startTime - firstEntry.startTime >= 5000)) {
689
- sessionValue = entry.value;
690
- sessionEntries = [entry];
691
- sessionAttributions = sources;
692
- largestEntry = entry;
693
- }
694
- else {
695
- sessionValue += entry.value;
696
- sessionEntries.push(entry);
697
- sessionAttributions = sessionAttributions.concat(sources);
698
- if (!largestEntry || entry.value > largestEntry.value) {
690
+ sessionValue = entry.value;
691
+ sessionEntries = [entry];
692
+ sessionAttributions = sources;
699
693
  largestEntry = entry;
700
694
  }
701
- }
702
- maximumSessionValue = max(maximumSessionValue, sessionValue);
695
+ else {
696
+ sessionValue += entry.value;
697
+ sessionEntries.push(entry);
698
+ sessionAttributions = sessionAttributions.concat(sources);
699
+ if (!largestEntry || entry.value > largestEntry.value) {
700
+ largestEntry = entry;
701
+ }
702
+ }
703
+ maximumSessionValue = max(maximumSessionValue, sessionValue);
703
704
  }
704
705
  }
705
706
  function reset$2() {
@@ -169,7 +169,7 @@
169
169
  }
170
170
  }
171
171
 
172
- .gem-c-action-link--light-text {
172
+ .gem-c-action-link--inverse {
173
173
  color: govuk-colour("white");
174
174
 
175
175
  .gem-c-action-link__subtext {
@@ -188,12 +188,5 @@
188
188
  &::before {
189
189
  display: none;
190
190
  }
191
-
192
- .gem-c-action-link__link {
193
- &::after {
194
- display: block;
195
- font-size: 12pt;
196
- }
197
- }
198
191
  }
199
192
  }
@@ -155,7 +155,6 @@
155
155
  }
156
156
  }
157
157
 
158
- // stylelint-disable declaration-no-important
159
158
  @include govuk-media-query($media-type: print) {
160
159
  .gem-c-cards__list {
161
160
  display: block;
@@ -174,23 +173,12 @@
174
173
  }
175
174
 
176
175
  .gem-c-cards__link {
177
- &,
178
- &:link,
179
- &:link:visited {
180
- color: $govuk-print-text-colour !important;
181
- }
182
-
183
176
  &::before {
184
177
  display: none;
185
178
  }
186
179
 
187
180
  &::after {
188
181
  position: static;
189
- display: block;
190
- margin: 1mm auto;
191
- font-size: 12pt !important;
192
- color: $govuk-print-text-colour;
193
182
  }
194
183
  }
195
184
  }
196
- // stylelint-enable declaration-no-important
@@ -88,10 +88,4 @@
88
88
  .gem-c-contents-list__list-item--parent {
89
89
  list-style-type: none;
90
90
  }
91
-
92
- .gem-c-contents-list__link {
93
- &.govuk-link {
94
- color: $govuk-print-text-colour;
95
- }
96
- }
97
91
  }
@@ -11,25 +11,17 @@
11
11
  }
12
12
  }
13
13
 
14
- // stylelint-disable declaration-no-important
15
14
  @include govuk-media-query($media-type: print) {
16
15
  .gem-c-devolved-nations {
17
16
  border: 2pt solid $govuk-print-text-colour;
18
17
  margin: 0 0 5mm;
19
18
 
20
19
  * {
21
- color: $govuk-print-text-colour !important;
20
+ color: $govuk-print-text-colour !important; // stylelint-disable-line declaration-no-important
22
21
  }
23
22
 
24
23
  .govuk-list li {
25
24
  margin-bottom: 2mm;
26
25
  }
27
-
28
- .govuk-link::after {
29
- display: block;
30
- margin: 1mm auto;
31
- font-size: 12pt;
32
- }
33
26
  }
34
27
  }
35
- // stylelint-enable declaration-no-important
@@ -35,6 +35,13 @@
35
35
  }
36
36
  }
37
37
 
38
+ .gem-c-document-list--equal-item-spacing {
39
+ .gem-c-document-list__item {
40
+ margin-top: govuk-spacing(3);
41
+ padding-top: govuk-spacing(3);
42
+ }
43
+ }
44
+
38
45
  .gem-c-document-list__item-title--context {
39
46
  margin-right: govuk-spacing(2);
40
47
 
@@ -162,21 +169,16 @@
162
169
  }
163
170
  }
164
171
 
165
- // stylelint-disable declaration-no-important
166
172
  @include govuk-media-query($media-type: print) {
167
173
  .gem-c-document-list__item {
168
174
  break-inside: avoid;
169
- }
170
175
 
171
- .gem-c-document-list__item-title {
172
- .govuk-link {
173
- color: $govuk-print-text-colour !important;
176
+ * {
177
+ color: $govuk-print-text-colour;
174
178
  }
179
+ }
175
180
 
176
- .govuk-link::after {
177
- display: block;
178
- margin: 1mm auto;
179
- }
181
+ .gem-c-document-list__item-context {
182
+ display: block;
180
183
  }
181
184
  }
182
- // stylelint-enable declaration-no-important
@@ -355,13 +355,8 @@
355
355
  }
356
356
 
357
357
  .gem-c-image-card__title-link {
358
- color: $govuk-print-text-colour !important;
359
-
360
358
  &::after {
361
- display: block;
362
359
  position: static;
363
- margin-top: 2mm;
364
- font-size: 12pt !important;
365
360
  }
366
361
  }
367
362
  }
@@ -1,25 +1,8 @@
1
1
  @import "govuk_publishing_components/individual_component_support";
2
2
  @import "govuk/components/inset-text/inset-text";
3
3
 
4
- // stylelint-disable declaration-no-important
5
4
  @include govuk-media-query($media-type: print) {
6
5
  .gem-c-inset-text {
7
6
  break-inside: avoid;
8
7
  }
9
-
10
- .gem-c-inset-text .govuk-link {
11
- &,
12
- &:link,
13
- &:link:visited {
14
- color: $govuk-print-text-colour !important;
15
- }
16
-
17
- &::after {
18
- display: block;
19
- margin: 1mm auto;
20
- font-size: 12pt !important;
21
- color: $govuk-print-text-colour;
22
- }
23
- }
24
8
  }
25
- // stylelint-enable declaration-no-important
@@ -22,7 +22,6 @@
22
22
  margin-bottom: -2px;
23
23
  }
24
24
 
25
- // stylelint-disable declaration-no-important
26
25
  @include govuk-media-query($media-type: print) {
27
26
  .gem-c-intervention {
28
27
  break-inside: avoid;
@@ -33,20 +32,4 @@
33
32
  margin: 0;
34
33
  }
35
34
  }
36
-
37
- .gem-c-intervention .govuk-link {
38
- &,
39
- &:link,
40
- &:link:visited {
41
- color: $govuk-print-text-colour !important;
42
- }
43
-
44
- &::after {
45
- display: block;
46
- margin: 1mm auto;
47
- font-size: 12pt !important;
48
- color: $govuk-print-text-colour;
49
- }
50
- }
51
35
  }
52
- // stylelint-enable declaration-no-important
@@ -76,11 +76,10 @@
76
76
 
77
77
  .gem-c-option-select__icon {
78
78
  display: none;
79
- position: absolute;
80
- top: 0;
81
- left: 9px;
79
+ flex-shrink: 0;
82
80
  width: 30px;
83
81
  height: 40px;
82
+ margin-inline: 10px 4px;
84
83
  fill: govuk-colour("black");
85
84
  }
86
85
 
@@ -126,8 +125,14 @@
126
125
  .govuk-frontend-supported {
127
126
  .gem-c-option-select__heading {
128
127
  position: relative;
129
- padding: 10px 8px 5px 43px;
130
- margin: 0;
128
+ margin: 0 0 govuk-spacing(1);
129
+ }
130
+
131
+ .gem-c-option-select__toggle {
132
+ display: flex;
133
+ flex-direction: row-reverse;
134
+ justify-content: start;
135
+ align-items: center;
131
136
  }
132
137
 
133
138
  [aria-expanded="true"] ~ .gem-c-option-select__icon--up {
@@ -152,9 +157,9 @@
152
157
  }
153
158
 
154
159
  .gem-c-option-select__selected-counter {
160
+ margin-left: 44px;
155
161
  color: $govuk-text-colour;
156
- margin-top: 3px;
157
- @include govuk-font($size: 16);
162
+ @include govuk-font($size: 16, $line-height: 1);
158
163
  }
159
164
 
160
165
  .gem-c-option-select.js-closed {
@@ -32,17 +32,5 @@
32
32
 
33
33
  .gem-c-step-nav-header__title {
34
34
  @include govuk-font(24, $weight: bold);
35
-
36
- &,
37
- &:link,
38
- &:link:visited {
39
- color: $govuk-print-text-colour;
40
- }
41
-
42
- &::after {
43
- display: block;
44
- margin: 1mm auto;
45
- font-size: 12pt !important; // stylelint-disable-line declaration-no-important
46
- }
47
35
  }
48
36
  }
@@ -45,26 +45,9 @@
45
45
  margin-top: govuk-spacing(3);
46
46
  }
47
47
 
48
- // stylelint-disable declaration-no-important
49
48
  @include govuk-media-query($media-type: print) {
50
49
  .gem-c-step-nav-related {
51
50
  background: none;
52
51
  border-color: $govuk-print-text-colour;
53
52
  }
54
-
55
- .gem-c-step-nav-related__heading,
56
- .gem-c-step-nav-related__link-item {
57
- .govuk-link,
58
- .govuk-link:link,
59
- .govuk-link:link:visited {
60
- color: $govuk-print-text-colour !important;
61
-
62
- &::after {
63
- display: block;
64
- margin: 1mm auto;
65
- font-size: 12pt !important;
66
- }
67
- }
68
- }
69
53
  }
70
- // stylelint-enable declaration-no-important
@@ -25,3 +25,48 @@
25
25
  }
26
26
  }
27
27
  }
28
+
29
+ // Two helper classes to ensure that all printed links
30
+ // receive consistent formatting. Most links inherit
31
+ // styles from govuk-frontend, including the printing
32
+ // of the href that a link contains. This makes printed
33
+ // links more useful, but they can take up a lot of space
34
+ // on the page in the default font size and will print
35
+ // in blue by default. These helpers set the printed colour
36
+ // to black, reduce the font size, and improve the layout
37
+ // of the printed href.
38
+ //
39
+ // .gem-print-link
40
+ // ----------------------------------------------------------
41
+ // Typically this class will be applied to existing
42
+ // elements that have the `govuk-link` class but it can
43
+ // also be used on other link elements.
44
+ //
45
+ // .gem-print-links-within
46
+ // ----------------------------------------------------------
47
+ // A variation of the previous print style, to be used on
48
+ // parent elements that contain links with the `govuk-link`
49
+ // class. This is typically only required for views where
50
+ // the `govuk-link` element is not exposed in the markup
51
+ // of the view as it's coming from a self-contained helper.
52
+
53
+ // stylelint-disable declaration-no-important
54
+ @include govuk-media-query($media-type: print) {
55
+ .gem-print-link,
56
+ .gem-print-links-within .govuk-link {
57
+ &,
58
+ &:link,
59
+ &:visited {
60
+ color: $govuk-print-text-colour !important;
61
+ }
62
+
63
+ &::after {
64
+ display: block;
65
+ margin: 1mm auto;
66
+ font-size: 12pt;
67
+ font-weight: normal;
68
+ color: $govuk-print-text-colour !important;
69
+ }
70
+ }
71
+ }
72
+ // stylelint-enable declaration-no-important
@@ -11,6 +11,7 @@ This component uses the component wrapper helper. It accepts the following optio
11
11
  - `role` - accepts a space separated string of roles
12
12
  - `lang` - accepts a language attribute value
13
13
  - `open` - accepts an open attribute value (true or false)
14
+ - `hidden` - accepts an empty string, 'hidden', or 'until-found'
14
15
  "
15
16
  end
16
17
  end
@@ -10,7 +10,7 @@
10
10
  subtext ||= false
11
11
  subtext_href ||= false
12
12
  mobile_subtext ||= false
13
- light_text ||= false
13
+ inverse ||= false
14
14
  simple ||= false
15
15
  simple_light ||= false
16
16
  dark_icon ||= false
@@ -18,7 +18,7 @@
18
18
  light_icon ||= false
19
19
 
20
20
  css_classes = %w(gem-c-action-link)
21
- css_classes << "gem-c-action-link--light-text" if light_text
21
+ css_classes << "gem-c-action-link--inverse" if inverse
22
22
  css_classes << "gem-c-action-link--dark-icon" if dark_icon
23
23
  css_classes << "gem-c-action-link--dark-large-icon" if dark_large_icon
24
24
  css_classes << "gem-c-action-link--light-icon" if light_icon
@@ -28,8 +28,8 @@
28
28
  css_classes << "gem-c-action-link--mobile-subtext" if mobile_subtext
29
29
  css_classes << shared_helper.get_margin_bottom
30
30
 
31
- link_classes = %w(govuk-link gem-c-action-link__link)
32
- link_classes << "govuk-link--inverse" if light_text
31
+ link_classes = %w(govuk-link gem-c-action-link__link gem-print-link)
32
+ link_classes << "govuk-link--inverse" if inverse
33
33
 
34
34
  component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
35
35
  component_helper.add_class(css_classes.join(" "))
@@ -38,7 +38,7 @@
38
38
  <%= content_tag("h#{sub_heading_level}", class: "gem-c-cards__sub-heading govuk-heading-s") do %>
39
39
  <%=
40
40
  link_to link[:text], link[:path],
41
- class: "govuk-link gem-c-cards__link",
41
+ class: "govuk-link gem-c-cards__link gem-print-link",
42
42
  data: link[:data_attributes]
43
43
  %>
44
44
  <% end %>
@@ -8,7 +8,7 @@
8
8
  brand_helper = GovukPublishingComponents::AppHelpers::BrandHelper.new(brand)
9
9
  title_fallback = t("components.contents_list.contents", locale: I18n.locale, fallback: false, default: "en")
10
10
  classes = %w[gem-c-contents-list]
11
- link_classes = %w[gem-c-contents-list__link govuk-link]
11
+ link_classes = %w[gem-c-contents-list__link govuk-link gem-print-link]
12
12
  link_classes << brand_helper.color_class
13
13
  link_classes << "govuk-link--no-underline" unless underline_links
14
14
 
@@ -4,12 +4,16 @@
4
4
  id ||= nil
5
5
  title ||= nil
6
6
  content ||= nil
7
- data_attributes ||= {}
8
- data_attributes[:module] = "contextual-guidance"
9
7
  guidance_id ||= nil
8
+
9
+ component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
10
+ component_helper.set_id(id)
11
+ component_helper.add_class("gem-c-contextual-guidance")
12
+ component_helper.add_data_attribute({ module: "contextual-guidance" })
13
+
10
14
  %>
11
15
 
12
- <%= tag.div class: "gem-c-contextual-guidance", id: id, data: data_attributes do %>
16
+ <%= tag.div(**component_helper.all_attributes) do %>
13
17
  <%= tag.div class: "govuk-grid-row" do %>
14
18
  <%= tag.div class: "govuk-grid-column-two-thirds" do %>
15
19
  <%= tag.div class: "gem-c-contextual-guidance__input-field" do %>
@@ -23,13 +23,21 @@
23
23
  class: "govuk-link",
24
24
  )))
25
25
  services_cookies ||= nil
26
- css_classes = %w(gem-c-cookie-banner govuk-clearfix govuk-cookie-banner js-banner-wrapper)
27
- css_classes << "gem-c-cookie-banner--services" if services_cookies
26
+
27
+ component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
28
+ component_helper.set_id(id)
29
+ component_helper.add_class("gem-c-cookie-banner govuk-clearfix govuk-cookie-banner js-banner-wrapper")
30
+ component_helper.add_class("gem-c-cookie-banner--services") if services_cookies
31
+
32
+ component_helper.add_data_attribute({ module: "cookie-banner", nosnippet: "" })
33
+ component_helper.add_role("region")
34
+ component_helper.add_aria_attribute(label: title)
35
+ component_helper.set_hidden("hidden")
28
36
 
29
37
  disable_ga4 ||= false
30
38
  %>
31
39
 
32
- <div id="<%= id %>" class="<%= css_classes.join(' ') %>" data-module="cookie-banner" data-nosnippet role="region" aria-label="<%= title %>" hidden>
40
+ <%= tag.div(**component_helper.all_attributes) do %>
33
41
  <div class="govuk-cookie-banner__message govuk-width-container">
34
42
  <div class="govuk-grid-row">
35
43
  <div class="govuk-grid-column-two-thirds">
@@ -100,4 +108,4 @@
100
108
  </button>
101
109
  </div>
102
110
  </div>
103
- </div>
111
+ <% end %>
@@ -7,23 +7,27 @@
7
7
  applies_to ||= t("components.devolved_nations.applies_to")
8
8
  heading_level ||= 2
9
9
  disable_ga4 ||= false
10
- data_attributes = {}
10
+
11
+ component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
12
+ component_helper.add_class("gem-c-devolved-nations")
11
13
 
12
14
  unless disable_ga4
13
- data_attributes[:ga4_devolved_nations_banner] = devolved_nations_helper.ga4_applicable_nations_title_text(true)
14
- data_attributes[:module] = "ga4-link-tracker"
15
- data_attributes[:ga4_track_links_only] = ""
16
- data_attributes[:ga4_set_indexes] = ""
17
- data_attributes[:ga4_link] = {
18
- event_name: "navigation",
19
- type: "devolved nations banner",
20
- section: t("components.devolved_nations.applies_to", locale: :en) + " " + devolved_nations_helper.ga4_applicable_nations_title_text,
21
- }.to_json
15
+ component_helper.add_data_attribute({
16
+ ga4_devolved_nations_banner: devolved_nations_helper.ga4_applicable_nations_title_text(true),
17
+ module: "ga4-link-tracker",
18
+ ga4_track_links_only: "",
19
+ ga4_set_indexes: "",
20
+ ga4_link: {
21
+ event_name: "navigation",
22
+ type: "devolved nations banner",
23
+ section: t("components.devolved_nations.applies_to", locale: :en) + " " + devolved_nations_helper.ga4_applicable_nations_title_text,
24
+ }.to_json
25
+ })
22
26
  end
23
27
  %>
24
28
 
25
29
  <% if national_applicability.any? { |k,v| v[:applicable] == true } %>
26
- <%= tag.section class: "gem-c-devolved-nations", data: data_attributes do %>
30
+ <%= tag.section(**component_helper.all_attributes) do %>
27
31
  <%= content_tag(shared_helper.get_heading_level, class: "govuk-heading-s govuk-!-margin-bottom-0") do %>
28
32
  <%= applies_to %> <%= devolved_nations_helper.applicable_nations_title_text %>
29
33
  <% end %>
@@ -31,7 +35,7 @@
31
35
  <% if devolved_nations_helper.nations_with_urls.any? %>
32
36
  <%= content_tag :ul, class: "govuk-list govuk-!-margin-top-1 govuk-!-margin-bottom-0" do -%>
33
37
  <% devolved_nations_helper.nations_with_urls.each do |k, v| %>
34
- <%= content_tag(:li, link_to(devolved_nations_helper.alternative_content_text(k), v[:alternative_url], class: "govuk-link")) %>
38
+ <%= content_tag(:li, link_to(devolved_nations_helper.alternative_content_text(k), v[:alternative_url], class: "govuk-link gem-print-link")) %>
35
39
  <% end %>
36
40
  <% end %>
37
41
  <% end %>
@@ -9,6 +9,7 @@
9
9
  component_helper.add_class("gem-c-document-list")
10
10
  component_helper.add_class("gem-c-document-list--no-top-border") if local_assigns[:remove_top_border]
11
11
  component_helper.add_class("gem-c-document-list--no-top-border-first-child") if local_assigns[:remove_top_border_from_first_child]
12
+ component_helper.add_class("gem-c-document-list--equal-item-spacing") if local_assigns[:equal_item_spacing]
12
13
  component_helper.add_class(shared_helper.get_margin_bottom)
13
14
 
14
15
  extra_link_classes = "govuk-link--no-underline" if local_assigns[:remove_underline]
@@ -56,7 +57,7 @@
56
57
  item[:link][:text],
57
58
  item[:link][:path],
58
59
  data: item[:link][:data_attributes],
59
- class: "#{item_classes} govuk-link #{extra_link_classes}",
60
+ class: "#{item_classes} govuk-link gem-print-link #{extra_link_classes}",
60
61
  lang: item[:link][:locale].presence,
61
62
  rel: rel,
62
63
  )
@@ -117,7 +118,7 @@
117
118
  part[:link][:text],
118
119
  part[:link][:path],
119
120
  data: part[:link][:data_attributes],
120
- class: "gem-c-document-list-child__heading gem-c-document-list-child__link #{brand_helper.color_class} govuk-link #{extra_link_classes}",
121
+ class: "gem-c-document-list-child__heading gem-c-document-list-child__link #{brand_helper.color_class} govuk-link gem-print-link #{extra_link_classes}",
121
122
  )
122
123
  else
123
124
  content_tag(
@@ -25,12 +25,14 @@
25
25
  heading_link_classes = %w[
26
26
  gem-c-image-card__title-link
27
27
  govuk-link
28
+ gem-print-link
28
29
  ]
29
30
  heading_link_classes << brand_helper.color_class
30
31
  heading_link_classes << "gem-c-image-card__title-link--large-font-size-mobile" if card_helper.large_mobile_font_size?
31
32
  extra_link_classes = %w[
32
33
  gem-c-image-card__list-item-link
33
34
  govuk-link
35
+ gem-print-link
34
36
  ]
35
37
  extra_link_classes << brand_helper.color_class
36
38
 
@@ -10,7 +10,7 @@
10
10
  margin_bottom: margin_bottom
11
11
  })
12
12
 
13
- classes = %w[gem-c-inset-text govuk-inset-text]
13
+ classes = %w[gem-c-inset-text govuk-inset-text gem-print-links-within]
14
14
  classes << shared_helper.get_margin_top
15
15
  classes << shared_helper.get_margin_bottom
16
16
  %>