govuk_publishing_components 24.10.1 → 24.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/analytics/scroll-tracker.js +6 -248
  3. data/app/assets/javascripts/govuk_publishing_components/components/accordion.js +1 -1
  4. data/app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js +1 -0
  5. data/app/assets/javascripts/govuk_publishing_components/components/feedback.js +142 -104
  6. data/app/assets/javascripts/govuk_publishing_components/components/reorderable-list.js +1 -1
  7. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +2 -2
  8. data/app/assets/javascripts/govuk_publishing_components/lib/trigger-event.js +18 -0
  9. data/app/assets/stylesheets/govuk_publishing_components/_all_components_print.scss +0 -11
  10. data/app/assets/stylesheets/govuk_publishing_components/components/_metadata.scss +15 -18
  11. data/app/assets/stylesheets/govuk_publishing_components/components/print/_attachment.scss +2 -3
  12. data/app/assets/stylesheets/govuk_publishing_components/components/print/_back-link.scss +2 -3
  13. data/app/assets/stylesheets/govuk_publishing_components/components/print/_button.scss +0 -4
  14. data/app/assets/stylesheets/govuk_publishing_components/components/print/_feedback.scss +2 -3
  15. data/app/assets/stylesheets/govuk_publishing_components/components/print/_layout-footer.scss +2 -6
  16. data/app/assets/stylesheets/govuk_publishing_components/components/print/_layout-header.scss +2 -3
  17. data/app/assets/stylesheets/govuk_publishing_components/components/print/_metadata.scss +2 -6
  18. data/app/assets/stylesheets/govuk_publishing_components/components/print/_search.scss +2 -3
  19. data/app/assets/stylesheets/govuk_publishing_components/components/print/_share-links.scss +2 -3
  20. data/app/assets/stylesheets/govuk_publishing_components/components/print/_skip-link.scss +2 -3
  21. data/app/assets/stylesheets/govuk_publishing_components/components/print/_step-by-step-nav-header.scss +0 -4
  22. data/app/assets/stylesheets/govuk_publishing_components/components/print/_subscription-links.scss +2 -3
  23. data/app/assets/stylesheets/govuk_publishing_components/components/print/_translation-nav.scss +2 -3
  24. data/app/views/govuk_publishing_components/components/_attachment.html.erb +4 -4
  25. data/app/views/govuk_publishing_components/components/_attachment_link.html.erb +1 -1
  26. data/app/views/govuk_publishing_components/components/_back_link.html.erb +1 -1
  27. data/app/views/govuk_publishing_components/components/_button.html.erb +1 -1
  28. data/app/views/govuk_publishing_components/components/_character_count.html.erb +1 -1
  29. data/app/views/govuk_publishing_components/components/_contextual_sidebar.html.erb +1 -1
  30. data/app/views/govuk_publishing_components/components/_cookie_banner.html.erb +16 -6
  31. data/app/views/govuk_publishing_components/components/_feedback.html.erb +1 -1
  32. data/app/views/govuk_publishing_components/components/_government_navigation.html.erb +7 -7
  33. data/app/views/govuk_publishing_components/components/_layout_footer.html.erb +8 -11
  34. data/app/views/govuk_publishing_components/components/_machine_readable_metadata.html.erb +1 -1
  35. data/app/views/govuk_publishing_components/components/_metadata.html.erb +9 -8
  36. data/app/views/govuk_publishing_components/components/_modal_dialogue.html.erb +1 -1
  37. data/app/views/govuk_publishing_components/components/_phase_banner.html.erb +1 -5
  38. data/app/views/govuk_publishing_components/components/_previous_and_next_navigation.html.erb +1 -1
  39. data/app/views/govuk_publishing_components/components/_print_link.html.erb +1 -1
  40. data/app/views/govuk_publishing_components/components/_radio.html.erb +6 -11
  41. data/app/views/govuk_publishing_components/components/_search.html.erb +1 -1
  42. data/app/views/govuk_publishing_components/components/_share_links.html.erb +1 -1
  43. data/app/views/govuk_publishing_components/components/_skip_link.html.erb +1 -1
  44. data/app/views/govuk_publishing_components/components/_step_by_step_nav.html.erb +6 -6
  45. data/app/views/govuk_publishing_components/components/_step_by_step_nav_related.html.erb +1 -1
  46. data/app/views/govuk_publishing_components/components/_subscription_links.html.erb +3 -3
  47. data/app/views/govuk_publishing_components/components/_success_alert.html.erb +1 -1
  48. data/app/views/govuk_publishing_components/components/_tabs.html.erb +1 -1
  49. data/app/views/govuk_publishing_components/components/_translation_nav.html.erb +1 -1
  50. data/app/views/govuk_publishing_components/components/docs/feedback.yml +2 -0
  51. data/app/views/govuk_publishing_components/components/docs/phase_banner.yml +2 -2
  52. data/app/views/govuk_publishing_components/components/feedback/_problem_form.html.erb +6 -6
  53. data/app/views/govuk_publishing_components/components/feedback/_survey_signup_form.html.erb +5 -5
  54. data/app/views/govuk_publishing_components/components/feedback/_yes_no_banner.html.erb +6 -6
  55. data/app/views/govuk_publishing_components/components/layout_header/_navigation_items.html.erb +1 -1
  56. data/app/views/govuk_publishing_components/components/metadata/_sentence.html.erb +4 -4
  57. data/app/views/govuk_publishing_components/components/related_navigation/_section.html.erb +1 -1
  58. data/config/locales/ar.yml +153 -0
  59. data/config/locales/az.yml +153 -0
  60. data/config/locales/be.yml +153 -0
  61. data/config/locales/bg.yml +153 -0
  62. data/config/locales/bn.yml +153 -0
  63. data/config/locales/cs.yml +153 -0
  64. data/config/locales/cy.yml +145 -6
  65. data/config/locales/da.yml +153 -0
  66. data/config/locales/de.yml +153 -0
  67. data/config/locales/dr.yml +153 -0
  68. data/config/locales/el.yml +153 -0
  69. data/config/locales/en.yml +144 -102
  70. data/config/locales/es-419.yml +153 -0
  71. data/config/locales/es.yml +153 -0
  72. data/config/locales/et.yml +150 -0
  73. data/config/locales/fa.yml +153 -0
  74. data/config/locales/fi.yml +153 -0
  75. data/config/locales/fr.yml +150 -0
  76. data/config/locales/gd.yml +153 -0
  77. data/config/locales/gu.yml +153 -0
  78. data/config/locales/he.yml +153 -0
  79. data/config/locales/hi.yml +153 -0
  80. data/config/locales/hr.yml +153 -0
  81. data/config/locales/hu.yml +153 -0
  82. data/config/locales/hy.yml +153 -0
  83. data/config/locales/id.yml +153 -0
  84. data/config/locales/is.yml +153 -0
  85. data/config/locales/it.yml +153 -0
  86. data/config/locales/ja.yml +153 -0
  87. data/config/locales/ka.yml +153 -0
  88. data/config/locales/kk.yml +153 -0
  89. data/config/locales/ko.yml +153 -0
  90. data/config/locales/lt.yml +153 -0
  91. data/config/locales/lv.yml +153 -0
  92. data/config/locales/ms.yml +153 -0
  93. data/config/locales/mt.yml +153 -0
  94. data/config/locales/nl.yml +153 -0
  95. data/config/locales/no.yml +154 -1
  96. data/config/locales/pa-pk.yml +153 -0
  97. data/config/locales/pa.yml +153 -0
  98. data/config/locales/pl.yml +153 -0
  99. data/config/locales/ps.yml +153 -0
  100. data/config/locales/pt.yml +153 -0
  101. data/config/locales/ro.yml +153 -0
  102. data/config/locales/ru.yml +153 -0
  103. data/config/locales/si.yml +153 -0
  104. data/config/locales/sk.yml +153 -0
  105. data/config/locales/sl.yml +153 -0
  106. data/config/locales/so.yml +153 -0
  107. data/config/locales/sq.yml +153 -0
  108. data/config/locales/sr.yml +153 -0
  109. data/config/locales/sv.yml +153 -0
  110. data/config/locales/sw.yml +153 -0
  111. data/config/locales/ta.yml +153 -0
  112. data/config/locales/th.yml +153 -0
  113. data/config/locales/tk.yml +153 -0
  114. data/config/locales/tr.yml +153 -0
  115. data/config/locales/uk.yml +153 -0
  116. data/config/locales/ur.yml +153 -0
  117. data/config/locales/uz.yml +153 -0
  118. data/config/locales/vi.yml +153 -0
  119. data/config/locales/zh-hk.yml +153 -0
  120. data/config/locales/zh-tw.yml +153 -0
  121. data/config/locales/zh.yml +153 -0
  122. data/lib/govuk_publishing_components/presenters/breadcrumb_selector.rb +5 -0
  123. data/lib/govuk_publishing_components/presenters/content_breadcrumbs_based_on_taxons.rb +1 -2
  124. data/lib/govuk_publishing_components/presenters/content_item.rb +4 -0
  125. data/lib/govuk_publishing_components/presenters/contextual_navigation.rb +4 -0
  126. data/lib/govuk_publishing_components/presenters/machine_readable/page.rb +4 -0
  127. data/lib/govuk_publishing_components/version.rb +1 -1
  128. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +7 -16
  129. data/node_modules/govuk-frontend/govuk/components/back-link/_index.scss +4 -15
  130. data/node_modules/govuk-frontend/govuk/components/character-count/macro-options.json +1 -1
  131. data/node_modules/govuk-frontend/govuk/components/checkboxes/macro-options.json +3 -3
  132. data/node_modules/govuk-frontend/govuk/components/cookie-banner/README.md +15 -0
  133. data/node_modules/govuk-frontend/govuk/components/cookie-banner/fixtures.json +40 -22
  134. data/node_modules/govuk-frontend/govuk/components/cookie-banner/macro-options.json +6 -6
  135. data/node_modules/govuk-frontend/govuk/components/cookie-banner/template.njk +15 -5
  136. data/node_modules/govuk-frontend/govuk/components/date-input/macro-options.json +2 -2
  137. data/node_modules/govuk-frontend/govuk/components/details/_index.scss +5 -1
  138. data/node_modules/govuk-frontend/govuk/components/file-upload/_index.scss +13 -14
  139. data/node_modules/govuk-frontend/govuk/components/file-upload/macro-options.json +1 -1
  140. data/node_modules/govuk-frontend/govuk/components/footer/_index.scss +14 -19
  141. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +39 -21
  142. data/node_modules/govuk-frontend/govuk/components/input/macro-options.json +1 -1
  143. data/node_modules/govuk-frontend/govuk/components/phase-banner/_index.scss +1 -1
  144. data/node_modules/govuk-frontend/govuk/components/radios/macro-options.json +3 -3
  145. data/node_modules/govuk-frontend/govuk/components/select/macro-options.json +1 -1
  146. data/node_modules/govuk-frontend/govuk/components/skip-link/_index.scss +1 -1
  147. data/node_modules/govuk-frontend/govuk/components/tabs/_index.scss +1 -6
  148. data/node_modules/govuk-frontend/govuk/components/textarea/macro-options.json +1 -1
  149. data/node_modules/govuk-frontend/govuk/components/warning-text/_index.scss +10 -0
  150. data/node_modules/govuk-frontend/govuk/core/_links.scss +8 -0
  151. data/node_modules/govuk-frontend/govuk/helpers/_links.scss +153 -38
  152. data/node_modules/govuk-frontend/govuk/settings/_all.scss +2 -0
  153. data/node_modules/govuk-frontend/govuk/settings/_links.scss +62 -0
  154. data/node_modules/govuk-frontend/package.json +1 -1
  155. metadata +6 -3
@@ -98,7 +98,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
98
98
  event = new window.CustomEvent(eventName, params)
99
99
  } else {
100
100
  event = document.createEvent('CustomEvent')
101
- event.initCustomEvent(eventName, params.bubbles, params.cancelable)
101
+ event.initCustomEvent(eventName, params.bubbles, params.cancelable, null)
102
102
  }
103
103
 
104
104
  element.dispatchEvent(event)
@@ -74,7 +74,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
74
74
 
75
75
  Gemstepnav.prototype.addShowHideAllButton = function () {
76
76
  var showall = document.createElement('div')
77
- showall.className = 'gem-c-step-nav__controls'
77
+ showall.className = 'gem-c-step-nav__controls govuk-!-display-none-print'
78
78
  showall.innerHTML = '<button aria-expanded="false" class="gem-c-step-nav__button gem-c-step-nav__button--controls js-step-controls-button">' +
79
79
  '<span class="gem-c-step-nav__button-text gem-c-step-nav__button-text--all js-step-controls-button-text">' + this.$module.actions.showAllText + '</span>' +
80
80
  '<span class="gem-c-step-nav__chevron js-step-controls-button-icon">' + this.$module.downChevronSvg + '</span>' +
@@ -98,7 +98,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
98
98
  var commaSpan = document.createElement('span')
99
99
  var thisSectionSpan = document.createElement('span')
100
100
 
101
- showHideSpan.className = 'gem-c-step-nav__toggle-link js-toggle-link'
101
+ showHideSpan.className = 'gem-c-step-nav__toggle-link js-toggle-link govuk-!-display-none-print'
102
102
  showHideSpanText.className = 'gem-c-step-nav__button-text js-toggle-link-text'
103
103
  showHideSpanIcon.className = 'gem-c-step-nav__chevron js-toggle-link-icon'
104
104
  commaSpan.className = 'govuk-visually-hidden'
@@ -0,0 +1,18 @@
1
+ (function (root) {
2
+ 'use strict'
3
+ window.GOVUK = window.GOVUK || {}
4
+
5
+ window.GOVUK.triggerEvent = function (element, eventName) {
6
+ var params = { bubbles: true, cancelable: true }
7
+ var event
8
+
9
+ if (typeof window.CustomEvent === 'function') {
10
+ event = new window.CustomEvent(eventName, params)
11
+ } else {
12
+ event = document.createEvent('CustomEvent')
13
+ event.initCustomEvent(eventName, params.bubbles, params.cancelable, null)
14
+ }
15
+
16
+ element.dispatchEvent(event)
17
+ }
18
+ }(window))
@@ -4,22 +4,11 @@
4
4
  @import "govuk_frontend_support";
5
5
 
6
6
  @import "components/print/accordion";
7
- @import "components/print/attachment";
8
- @import "components/print/back-link";
9
7
  @import "components/print/button";
10
8
  @import "components/print/contents-list";
11
- @import "components/print/feedback";
12
9
  @import "components/print/govspeak-html-publication";
13
10
  @import "components/print/govspeak";
14
- @import "components/print/layout-header";
15
- @import "components/print/layout-footer";
16
- @import "components/print/metadata";
17
- @import "components/print/search";
18
- @import "components/print/share-links";
19
- @import "components/print/skip-link";
20
11
  @import "components/print/step-by-step-nav-header";
21
12
  @import "components/print/step-by-step-nav";
22
- @import "components/print/subscription-links";
23
13
  @import "components/print/textarea";
24
14
  @import "components/print/title";
25
- @import "components/print/translation-nav";
@@ -7,6 +7,11 @@
7
7
  a {
8
8
  @include govuk-link-common;
9
9
  @include govuk-link-style-default;
10
+ font-weight: bold;
11
+ }
12
+
13
+ .gem-c-metadata__definition-link {
14
+ font-weight: normal;
10
15
  }
11
16
  }
12
17
 
@@ -29,17 +34,19 @@
29
34
  }
30
35
  }
31
36
 
37
+ .gem-c-metadata__term,
38
+ .gem-c-metadata__definition {
39
+ line-height: 1.4;
40
+ }
41
+
32
42
  .gem-c-metadata__term {
33
43
  margin-top: .5em;
34
- line-height: 1.4;
35
44
 
36
45
  @include govuk-media-query($from: tablet) {
37
46
  box-sizing: border-box;
38
47
  float: left;
39
48
  clear: left;
40
- width: 30%;
41
- max-width: 11em;
42
- padding-right: govuk-spacing(2);
49
+ padding-right: govuk-spacing(1);
43
50
  margin-top: 0;
44
51
  }
45
52
  }
@@ -49,31 +56,21 @@
49
56
  clear: right;
50
57
 
51
58
  @include govuk-media-query($from: tablet) {
52
- padding-left: govuk-spacing(2);
59
+ padding-left: govuk-spacing(1);
53
60
  padding-right: 0;
54
61
  }
55
62
  }
56
63
 
57
64
  .gem-c-metadata__definition {
58
65
  margin: 0;
59
- line-height: 1.4;
60
66
 
61
67
  @include govuk-media-query($from: tablet) {
62
- float: left;
63
- width: 70%;
68
+ &:not(:last-of-type) {
69
+ margin-bottom: govuk-spacing(1);
70
+ }
64
71
  }
65
72
  }
66
73
 
67
- .gem-c-metadata__definition-link {
68
- text-decoration: none;
69
- }
70
-
71
- .gem-c-metadata__definition-link:focus,
72
- .gem-c-metadata__definition-link:active,
73
- .gem-c-metadata__definition-link:hover {
74
- text-decoration: underline;
75
- }
76
-
77
74
  .gem-c-metadata.direction-rtl .gem-c-metadata__definition {
78
75
  float: right;
79
76
  }
@@ -1,3 +1,2 @@
1
- .gem-c-attachment__thumbnail-image {
2
- display: none;
3
- }
1
+ // Left this as an empty file as opposed to deleting it because it is @imported in application print stylesheets for example here:
2
+ // https://github.com/alphagov/government-frontend/blob/7a0b068a0faa1da07f58acf0b1d3a0aa3e1daf56/app/assets/stylesheets/print.scss#L2
@@ -1,3 +1,2 @@
1
- .gem-c-back-link {
2
- display: none;
3
- }
1
+ // Left this as an empty file as opposed to deleting it because it is @imported in application print stylesheets for example here:
2
+ // https://github.com/alphagov/govuk-account-manager-prototype/blob/7858b55afcddc2f855d909abd051838d95f21f13/app/assets/stylesheets/print.scss#L2
@@ -6,7 +6,3 @@
6
6
  color: $govuk-text-colour;
7
7
  text-decoration: none;
8
8
  }
9
-
10
- .govuk-button__start-icon {
11
- display: none;
12
- }
@@ -1,3 +1,2 @@
1
- .gem-c-feedback {
2
- display: none;
3
- }
1
+ // Left this as an empty file as opposed to deleting it because it is @imported in application print stylesheets for example here:
2
+ // https://github.com/alphagov/government-frontend/blob/7a0b068a0faa1da07f58acf0b1d3a0aa3e1daf56/app/assets/stylesheets/print.scss#L6
@@ -1,6 +1,2 @@
1
- .gem-c-layout-footer {
2
- .govuk-footer__inline-list,
3
- .govuk-footer__section {
4
- display: none;
5
- }
6
- }
1
+ // Left this as an empty file as opposed to deleting it because it is @imported in application print stylesheets for example here:
2
+ // https://github.com/alphagov/govuk-account-manager-prototype/blob/7858b55afcddc2f855d909abd051838d95f21f13/app/assets/stylesheets/print.scss#L5
@@ -1,3 +1,2 @@
1
- .gem-c-header__menu-button {
2
- display: none;
3
- }
1
+ // Left this as an empty file as opposed to deleting it because it is @imported in application print stylesheets for example here:
2
+ // https://github.com/alphagov/govuk-account-manager-prototype/blob/7858b55afcddc2f855d909abd051838d95f21f13/app/assets/stylesheets/print.scss#L6
@@ -1,6 +1,2 @@
1
- .gem-c-metadata {
2
- .gem-c-metadata__definition-link,
3
- .gem-c-metadata__toggle-wrap {
4
- display: none;
5
- }
6
- }
1
+ // Left this as an empty file as opposed to deleting it because it is @imported in application print stylesheets for example here:
2
+ // https://github.com/alphagov/manuals-frontend/blob/466b4c7a6507a3d76818e26612f174616f5cdf94/app/assets/stylesheets/print.scss#L15
@@ -1,3 +1,2 @@
1
- .gem-c-search {
2
- display: none;
3
- }
1
+ // Left this as an empty file as opposed to deleting it because it is @imported in application print stylesheets for example here:
2
+ // https://github.com/alphagov/govuk-account-manager-prototype/blob/7858b55afcddc2f855d909abd051838d95f21f13/app/assets/stylesheets/print.scss#L7
@@ -1,3 +1,2 @@
1
- .gem-c-share-links {
2
- display: none;
3
- }
1
+ // Left this as an empty file as opposed to deleting it because it is @imported in application print stylesheets for example here:
2
+ // https://github.com/alphagov/collections/blob/fc9db4ef6d87ad52d0ac795d1dd05d5fa116dde1/app/assets/stylesheets/print.scss#L9
@@ -1,3 +1,2 @@
1
- .gem-c-skip-link {
2
- display: none;
3
- }
1
+ // Left this as an empty file as opposed to deleting it because it is @imported in application print stylesheets for example here:
2
+ // https://github.com/alphagov/govuk-account-manager-prototype/blob/7858b55afcddc2f855d909abd051838d95f21f13/app/assets/stylesheets/print.scss#L8
@@ -5,7 +5,3 @@
5
5
  .gem-c-step-nav-header__title {
6
6
  @include govuk-font(24, $weight: bold);
7
7
  }
8
-
9
- .gem-c-step-nav-header__skip-link {
10
- display: none;
11
- }
@@ -1,3 +1,2 @@
1
- .gem-c-subscription-links {
2
- display: none;
3
- }
1
+ // Left this as an empty file as opposed to deleting it because it is @imported in application print stylesheets for example here:
2
+ // https://github.com/alphagov/frontend/blob/34e84c7d6dc22bd4b06ce4c18a3d00b29fdcee83/app/assets/stylesheets/print.scss#L12
@@ -1,3 +1,2 @@
1
- .gem-c-translation-nav {
2
- display: none;
3
- }
1
+ // Left this as an empty file as opposed to deleting it because it is @imported in application print stylesheets for example here:
2
+ // https://github.com/alphagov/government-frontend/blob/7a0b068a0faa1da07f58acf0b1d3a0aa3e1daf56/app/assets/stylesheets/print.scss#L16
@@ -27,12 +27,12 @@
27
27
 
28
28
  if attachment.number_of_pages
29
29
  attributes << tag.span(
30
- pluralize(attachment.number_of_pages, "page"),
30
+ t("components.attachment.page", count: attachment.number_of_pages),
31
31
  class: "gem-c-attachment__attribute",
32
32
  )
33
33
  end
34
34
  %>
35
- <%= tag.section class: "gem-c-attachment" do %>
35
+ <%= tag.section class: "gem-c-attachment govuk-!-display-none-print" do %>
36
36
  <%= tag.div class: "gem-c-attachment__thumbnail" do %>
37
37
  <%= link_to attachment.url,
38
38
  class: "govuk-link",
@@ -59,7 +59,7 @@
59
59
  <% end %>
60
60
 
61
61
  <% if attachment.reference.present? %>
62
- <%= tag.p "Ref: #{attachment.reference}", class: "gem-c-attachment__metadata gem-c-attachment__metadata--compact" %>
62
+ <%= tag.p t("components.attachment.reference", reference: attachment.reference), class: "gem-c-attachment__metadata gem-c-attachment__metadata--compact" %>
63
63
  <% end %>
64
64
 
65
65
  <% if attachment.unnumbered_reference.present? %>
@@ -71,7 +71,7 @@
71
71
  <% end %>
72
72
 
73
73
  <% if attachment.is_official_document && !hide_order_copy_link %>
74
- <%= tag.p link_to("Order a copy", "https://www.gov.uk/guidance/how-to-buy-printed-copies-of-official-documents", class: "govuk-link govuk-link--no-visited-state", target: "_blank"),
74
+ <%= tag.p link_to(t("components.attachment.order_a_copy"), "https://www.gov.uk/guidance/how-to-buy-printed-copies-of-official-documents", class: "govuk-link govuk-link--no-visited-state", target: "_blank"),
75
75
  class: "gem-c-attachment__metadata" %>
76
76
  <% end %>
77
77
 
@@ -24,7 +24,7 @@
24
24
 
25
25
  if attachment.number_of_pages
26
26
  attributes << tag.span(
27
- pluralize(attachment.number_of_pages, "page"),
27
+ I18n.t("components.attachment.page", count: attachment.number_of_pages),
28
28
  class: "gem-c-attachment-link__attribute",
29
29
  )
30
30
  end
@@ -5,6 +5,6 @@
5
5
  <%= link_to(
6
6
  text,
7
7
  href,
8
- class: %w(gem-c-back-link govuk-back-link),
8
+ class: %w(gem-c-back-link govuk-back-link govuk-!-display-none-print),
9
9
  data: data_attributes
10
10
  ) %>
@@ -7,7 +7,7 @@
7
7
 
8
8
  <% start_button_text = capture do %>
9
9
  <%= button.text %>
10
- <svg class="govuk-button__start-icon" xmlns="http://www.w3.org/2000/svg" width="17.5" height="19" viewBox="0 0 33 40" role="presentation" focusable="false">
10
+ <svg class="govuk-button__start-icon govuk-!-display-none-print" xmlns="http://www.w3.org/2000/svg" width="17.5" height="19" viewBox="0 0 33 40" role="presentation" focusable="false">
11
11
  <path fill="currentColor" d="M0 0h13l20 20-20 20H0l20-20z" />
12
12
  </svg>
13
13
  <% end %>
@@ -18,7 +18,7 @@
18
18
  <%= render "govuk_publishing_components/components/textarea", { id: id, character_count: true }.merge(textarea.symbolize_keys) %>
19
19
 
20
20
  <span id="<%= id %>-info" class="govuk-hint govuk-character-count__message" aria-live="polite">
21
- You can enter up to <%= maxlength || maxwords %> <%= maxwords ? 'words' : 'characters' %>
21
+ <%= t("components.character_count", number: maxlength || maxwords, type: maxwords ? t("components.character_count.type.words") : t("components.character_count.type.characters")) %>
22
22
  </span>
23
23
  <% end %>
24
24
  <% end %>
@@ -18,7 +18,7 @@
18
18
  <% if navigation.content_tagged_to_other_step_by_steps? %>
19
19
  <%# Rendering step by step related items because there are a few but not too many of them %>
20
20
  <%= render 'govuk_publishing_components/components/step_by_step_nav_related', {
21
- pretitle: "Also part of",
21
+ pretitle: t("components.contextual_sidebar.pretitle"),
22
22
  links: navigation.step_nav_helper.also_part_of_step_nav,
23
23
  always_display_as_list: true
24
24
  } %>
@@ -1,7 +1,7 @@
1
1
  <%
2
2
  id ||= 'global-cookie-message'
3
- title ||= "Cookies on GOV.UK"
4
- text ||= ["We use some essential cookies to make this website work.", "We’d like to set additional cookies to understand how you use GOV.UK, remember your settings and improve government services.", "We also use cookies set by other sites to help us deliver content from their services."]
3
+ title ||= t("components.cookie_banner.title")
4
+ text ||= t("components.cookie_banner.text")
5
5
  if text.kind_of?(Array)
6
6
  newtext = ""
7
7
  text.each do |t|
@@ -14,7 +14,17 @@
14
14
  text = raw(text)
15
15
 
16
16
  cookie_preferences_href ||= "/help/cookies"
17
- confirmation_message ||= raw("You can <a class='govuk-link' href='#{cookie_preferences_href}' data-module='gem-track-click' data-track-category='cookieBanner' data-track-action='Cookie banner settings clicked from confirmation'>change your cookie settings</a> at any time.")
17
+ confirmation_message ||= raw(t("components.cookie_banner.confirmation_message",
18
+ link: link_to(
19
+ t("components.cookie_banner.confirmation_message_link"),
20
+ cookie_preferences_href,
21
+ class: "govuk-link",
22
+ data: {
23
+ module: "gem-track-click",
24
+ 'track-category': "cookieBanner",
25
+ 'track-action': "Cookie banner settings clicked from confirmation",
26
+ },
27
+ )))
18
28
  services_cookies ||= nil
19
29
  css_classes = %w(gem-c-cookie-banner govuk-clearfix)
20
30
  css_classes << "gem-c-cookie-banner--services" if services_cookies
@@ -50,7 +60,7 @@
50
60
  <div class="govuk-button-group">
51
61
  <%= render "govuk_publishing_components/components/button", {
52
62
  name: "cookies",
53
- text: "Accept additional cookies",
63
+ text: t("components.cookie_banner.buttons.accept_cookies"),
54
64
  data_attributes: {
55
65
  module: "gem-track-click",
56
66
  "accept-cookies": "true",
@@ -61,7 +71,7 @@
61
71
  } %>
62
72
  <%= render "govuk_publishing_components/components/button", {
63
73
  name: "cookies",
64
- text: "Reject additional cookies",
74
+ text: t("components.cookie_banner.buttons.reject_cookies"),
65
75
  data_attributes: {
66
76
  module: "gem-track-click",
67
77
  "reject-cookies": "true",
@@ -77,7 +87,7 @@
77
87
  <div class="gem-c-cookie-banner__confirmation govuk-width-container" tabindex="-1" hidden>
78
88
  <p class="gem-c-cookie-banner__confirmation-message" role="alert"><%= confirmation_message %></p>
79
89
  <div class="govuk-button-group">
80
- <button class="gem-c-cookie-banner__hide-button govuk-button" data-hide-cookie-banner="true" data-module="gem-track-click" data-track-category="cookieBanner" data-track-action="Hide cookie banner">Hide this message</button>
90
+ <button class="gem-c-cookie-banner__hide-button govuk-button" data-hide-cookie-banner="true" data-module="gem-track-click" data-track-category="cookieBanner" data-track-action="Hide cookie banner"><%= t("components.cookie_banner.hide") %></button>
81
91
  </div>
82
92
  </div>
83
93
  </div>
@@ -8,7 +8,7 @@
8
8
  path_without_pii = utf_encode(request.fullpath.gsub(email_regex, '[email]'))
9
9
  %>
10
10
 
11
- <div class="gem-c-feedback" data-module="feedback">
11
+ <div class="gem-c-feedback govuk-!-display-none-print" data-module="feedback">
12
12
  <%= render "govuk_publishing_components/components/feedback/yes_no_banner" %>
13
13
  <%= render "govuk_publishing_components/components/feedback/problem_form", url_without_pii: url_without_pii %>
14
14
  <%= render "govuk_publishing_components/components/feedback/survey_signup_form", path_without_pii: path_without_pii %>
@@ -6,37 +6,37 @@
6
6
  <ul id="proposition-links">
7
7
  <li>
8
8
  <a class="<%= 'active' if active == 'departments' %>" href="/government/organisations">
9
- <%= t("components.government_navigation.departments", default: "Departments") %>
9
+ <%= t("components.government_navigation.departments") %>
10
10
  </a>
11
11
  </li>
12
12
  <li>
13
13
  <a class="<%= 'active' if active == 'worldwide' %>" href="/government/world">
14
- <%= t("components.government_navigation.worldwide", default: "Worldwide") %>
14
+ <%= t("components.government_navigation.worldwide") %>
15
15
  </a>
16
16
  </li>
17
17
  <li>
18
18
  <a class="<%= 'active' if active == 'how-government-works' %>" href="/government/how-government-works">
19
- <%= t("components.government_navigation.how-government-works", default: "How government works") %>
19
+ <%= t("components.government_navigation.how-government-works") %>
20
20
  </a>
21
21
  </li>
22
22
  <li>
23
23
  <a class="<%= 'active' if active == 'get-involved' %>" href="/government/get-involved">
24
- <%= t("components.government_navigation.get-involved", default: "Get involved") %>
24
+ <%= t("components.government_navigation.get-involved") %>
25
25
  </a>
26
26
  </li>
27
27
  <li class="clear-child">
28
28
  <a class="<%= 'active' if active == 'consultations' %>" href="<%= CGI::escapeHTML('/search/policy-papers-and-consultations?content_store_document_type[]=open_consultations&content_store_document_type[]=closed_consultations') %>">
29
- <%= t("components.government_navigation.consultations", default: "Consultations") %>
29
+ <%= t("components.government_navigation.consultations") %>
30
30
  </a>
31
31
  </li>
32
32
  <li>
33
33
  <a class="<%= 'active' if active == 'statistics' %>" href="/search/research-and-statistics">
34
- <%= t("components.government_navigation.statistics", default: "Statistics") %>
34
+ <%= t("components.government_navigation.statistics") %>
35
35
  </a>
36
36
  </li>
37
37
  <li>
38
38
  <a class="<%= 'active' if active == 'announcements' %>" href="/news-and-communications">
39
- <%= t("components.government_navigation.news_and_communications", default: "News and communications") %>
39
+ <%= t("components.government_navigation.news_and_communications") %>
40
40
  </a>
41
41
  </li>
42
42
  </ul>
@@ -29,7 +29,7 @@
29
29
  list_classes = %w[govuk-footer__list]
30
30
  list_classes << "govuk-footer__list--columns-#{item[:columns]}" if item[:columns] unless single_item_list
31
31
  %>
32
- <div class="<%= width_class %>">
32
+ <div class="<%= width_class %> govuk-!-display-none-print">
33
33
  <h2 class="govuk-footer__heading govuk-heading-m"><%= item[:title] %></h2>
34
34
  <ul class="<%= list_classes.join(' ') %>">
35
35
  <% item[:items].each do |item| %>
@@ -38,7 +38,9 @@
38
38
  <%
39
39
  attributes = {
40
40
  class: "govuk-footer__link",
41
- "data-track-category": "footerClicked"
41
+ data: {
42
+ "track-category": "footerClicked"
43
+ }
42
44
  }.merge(item.fetch(:attributes, {}))
43
45
  attributes[:rel] = "noopener" if attributes[:target] == "_blank" && !attributes[:rel]
44
46
  %>
@@ -57,8 +59,8 @@
57
59
  <div class="govuk-footer__meta">
58
60
  <div class="govuk-footer__meta-item govuk-footer__meta-item--grow">
59
61
  <% if meta.any? %>
60
- <h2 class="govuk-visually-hidden">Support links</h2>
61
- <ul class="govuk-footer__inline-list">
62
+ <h2 class="govuk-visually-hidden"><%= t("components.layout_footer.support_links") %></h2>
63
+ <ul class="govuk-footer__inline-list govuk-!-display-none-print">
62
64
  <% meta[:items].each do |item| %>
63
65
  <li class="govuk-footer__inline-list-item">
64
66
  <%
@@ -77,16 +79,11 @@
77
79
  />
78
80
  </svg>
79
81
  <span class="govuk-footer__licence-description">
80
- All content is available under the
81
- <a
82
- class="govuk-footer__link"
83
- href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"
84
- rel="license"
85
- >Open Government Licence v3.0</a>, except where otherwise stated
82
+ <%= t("components.layout_footer.licence_html") %>
86
83
  </span>
87
84
  </div>
88
85
  <div class="govuk-footer__meta-item">
89
- <a class="govuk-footer__link govuk-footer__copyright-logo" href="http://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/copyright-and-re-use/crown-copyright/" Crown copyright</a>
86
+ <%= t("components.layout_footer.copyright_html") %>
90
87
  </div>
91
88
  </div>
92
89
  </div>