govuk_publishing_components 23.13.0 → 24.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/govuk_publishing_components/take-action-amber.svg +4 -0
  3. data/app/assets/images/govuk_publishing_components/take-action-green.svg +4 -0
  4. data/app/assets/images/govuk_publishing_components/take-action-red.svg +4 -0
  5. data/app/assets/javascripts/govuk_publishing_components/components/accordion.js +286 -4
  6. data/app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js +0 -4
  7. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +44 -39
  8. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills/common.js +8 -0
  9. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +0 -1
  10. data/app/assets/stylesheets/govuk_publishing_components/component_support.scss +0 -2
  11. data/app/assets/stylesheets/govuk_publishing_components/components/_accordion.scss +302 -14
  12. data/app/assets/stylesheets/govuk_publishing_components/components/_contextual-sidebar.scss +34 -17
  13. data/app/assets/stylesheets/govuk_publishing_components/components/_document-list.scss +14 -8
  14. data/app/assets/stylesheets/govuk_publishing_components/components/_error-alert.scss +4 -4
  15. data/app/assets/stylesheets/govuk_publishing_components/components/_feedback.scss +35 -44
  16. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav.scss +112 -47
  17. data/app/assets/stylesheets/govuk_publishing_components/components/_success-alert.scss +8 -8
  18. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_contact.scss +0 -5
  19. data/app/assets/stylesheets/govuk_publishing_components/components/print/_accordion.scss +16 -9
  20. data/app/assets/stylesheets/govuk_publishing_components/components/print/_step-by-step-nav.scss +2 -2
  21. data/app/models/govuk_publishing_components/component_doc.rb +1 -1
  22. data/app/views/govuk_publishing_components/audit/show.html.erb +26 -26
  23. data/app/views/govuk_publishing_components/components/_accordion.html.erb +13 -20
  24. data/app/views/govuk_publishing_components/components/_contextual_sidebar.html.erb +2 -8
  25. data/app/views/govuk_publishing_components/components/_document_list.html.erb +12 -2
  26. data/app/views/govuk_publishing_components/components/_layout_footer.html.erb +9 -4
  27. data/app/views/govuk_publishing_components/components/_step_by_step_nav.html.erb +2 -2
  28. data/app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_cta.html.erb +21 -0
  29. data/app/views/govuk_publishing_components/components/docs/accordion.yml +8 -3
  30. data/app/views/govuk_publishing_components/components/docs/contextual_sidebar.yml +65 -1
  31. data/app/views/govuk_publishing_components/components/docs/document_list.yml +50 -7
  32. data/app/views/govuk_publishing_components/components/docs/govspeak.yml +3 -3
  33. data/app/views/govuk_publishing_components/components/docs/layout_header.yml +11 -0
  34. data/app/views/govuk_publishing_components/components/layout_header/_header_logo.html.erb +1 -1
  35. data/app/views/govuk_publishing_components/components/layout_header/_navigation_items.html.erb +9 -4
  36. data/config/initializers/assets.rb +3 -1
  37. data/config/locales/cy.yml +6 -1
  38. data/config/locales/en.yml +8 -3
  39. data/lib/govuk_publishing_components/presenters/contextual_navigation.rb +183 -2
  40. data/lib/govuk_publishing_components/version.rb +1 -1
  41. data/node_modules/govuk-frontend/govuk/all.js +58 -1
  42. data/node_modules/govuk-frontend/govuk/components/_all.scss +2 -0
  43. data/node_modules/govuk-frontend/govuk/components/accordion/fixtures.json +25 -10
  44. data/node_modules/govuk-frontend/govuk/components/back-link/fixtures.json +12 -6
  45. data/node_modules/govuk-frontend/govuk/components/back-link/macro-options.json +4 -4
  46. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/fixtures.json +34 -13
  47. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/macro-options.json +1 -0
  48. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/template.njk +2 -2
  49. data/node_modules/govuk-frontend/govuk/components/button/_index.scss +2 -0
  50. data/node_modules/govuk-frontend/govuk/components/button/fixtures.json +74 -31
  51. data/node_modules/govuk-frontend/govuk/components/character-count/_index.scss +1 -0
  52. data/node_modules/govuk-frontend/govuk/components/character-count/character-count.js +1 -1
  53. data/node_modules/govuk-frontend/govuk/components/character-count/fixtures.json +85 -15
  54. data/node_modules/govuk-frontend/govuk/components/character-count/macro-options.json +1 -1
  55. data/node_modules/govuk-frontend/govuk/components/checkboxes/fixtures.json +145 -52
  56. data/node_modules/govuk-frontend/govuk/components/checkboxes/macro-options.json +2 -2
  57. data/node_modules/govuk-frontend/govuk/components/cookie-banner/_cookie-banner.scss +2 -0
  58. data/node_modules/govuk-frontend/govuk/components/cookie-banner/_index.scss +51 -0
  59. data/node_modules/govuk-frontend/govuk/components/cookie-banner/fixtures.json +425 -0
  60. data/node_modules/govuk-frontend/govuk/components/cookie-banner/macro-options.json +132 -0
  61. data/node_modules/govuk-frontend/govuk/components/cookie-banner/macro.njk +3 -0
  62. data/node_modules/govuk-frontend/govuk/components/cookie-banner/template.njk +63 -0
  63. data/node_modules/govuk-frontend/govuk/components/date-input/fixtures.json +84 -34
  64. data/node_modules/govuk-frontend/govuk/components/date-input/macro-options.json +1 -1
  65. data/node_modules/govuk-frontend/govuk/components/date-input/template.njk +1 -1
  66. data/node_modules/govuk-frontend/govuk/components/details/fixtures.json +35 -15
  67. data/node_modules/govuk-frontend/govuk/components/error-message/fixtures.json +21 -10
  68. data/node_modules/govuk-frontend/govuk/components/error-message/macro-options.json +1 -0
  69. data/node_modules/govuk-frontend/govuk/components/error-summary/_index.scss +2 -12
  70. data/node_modules/govuk-frontend/govuk/components/error-summary/fixtures.json +86 -25
  71. data/node_modules/govuk-frontend/govuk/components/fieldset/fixtures.json +20 -10
  72. data/node_modules/govuk-frontend/govuk/components/file-upload/fixtures.json +60 -13
  73. data/node_modules/govuk-frontend/govuk/components/footer/fixtures.json +37 -18
  74. data/node_modules/govuk-frontend/govuk/components/footer/macro-options.json +8 -5
  75. data/node_modules/govuk-frontend/govuk/components/header/fixtures.json +36 -18
  76. data/node_modules/govuk-frontend/govuk/components/header/macro-options.json +2 -2
  77. data/node_modules/govuk-frontend/govuk/components/header/template.njk +4 -4
  78. data/node_modules/govuk-frontend/govuk/components/hint/fixtures.json +17 -8
  79. data/node_modules/govuk-frontend/govuk/components/input/fixtures.json +130 -40
  80. data/node_modules/govuk-frontend/govuk/components/input/macro-options.json +1 -1
  81. data/node_modules/govuk-frontend/govuk/components/inset-text/fixtures.json +17 -8
  82. data/node_modules/govuk-frontend/govuk/components/label/fixtures.json +20 -11
  83. data/node_modules/govuk-frontend/govuk/components/label/macro-options.json +1 -1
  84. data/node_modules/govuk-frontend/govuk/components/notification-banner/README.md +15 -0
  85. data/node_modules/govuk-frontend/govuk/components/notification-banner/_index.scss +89 -0
  86. data/node_modules/govuk-frontend/govuk/components/notification-banner/_notification-banner.scss +2 -0
  87. data/node_modules/govuk-frontend/govuk/components/notification-banner/fixtures.json +212 -0
  88. data/node_modules/govuk-frontend/govuk/components/notification-banner/macro-options.json +68 -0
  89. data/node_modules/govuk-frontend/govuk/components/notification-banner/macro.njk +3 -0
  90. data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js +61 -0
  91. data/node_modules/govuk-frontend/govuk/components/notification-banner/template.njk +47 -0
  92. data/node_modules/govuk-frontend/govuk/components/panel/fixtures.json +30 -13
  93. data/node_modules/govuk-frontend/govuk/components/phase-banner/fixtures.json +20 -9
  94. data/node_modules/govuk-frontend/govuk/components/radios/fixtures.json +167 -50
  95. data/node_modules/govuk-frontend/govuk/components/select/fixtures.json +97 -18
  96. data/node_modules/govuk-frontend/govuk/components/select/macro-options.json +1 -1
  97. data/node_modules/govuk-frontend/govuk/components/skip-link/fixtures.json +21 -9
  98. data/node_modules/govuk-frontend/govuk/components/summary-list/fixtures.json +118 -25
  99. data/node_modules/govuk-frontend/govuk/components/table/_index.scss +21 -0
  100. data/node_modules/govuk-frontend/govuk/components/table/fixtures.json +92 -22
  101. data/node_modules/govuk-frontend/govuk/components/table/macro-options.json +2 -2
  102. data/node_modules/govuk-frontend/govuk/components/tabs/fixtures.json +75 -18
  103. data/node_modules/govuk-frontend/govuk/components/tabs/macro-options.json +1 -1
  104. data/node_modules/govuk-frontend/govuk/components/tag/fixtures.json +28 -14
  105. data/node_modules/govuk-frontend/govuk/components/textarea/fixtures.json +68 -17
  106. data/node_modules/govuk-frontend/govuk/components/warning-text/fixtures.json +19 -14
  107. data/node_modules/govuk-frontend/govuk/helpers/_links.scss +94 -0
  108. data/node_modules/govuk-frontend/govuk/objects/_all.scss +1 -0
  109. data/node_modules/govuk-frontend/govuk/objects/_button-group.scss +94 -0
  110. data/node_modules/govuk-frontend/govuk/settings/_colours-applied.scss +9 -0
  111. data/node_modules/govuk-frontend/govuk/settings/_typography-font.scss +3 -0
  112. data/node_modules/govuk-frontend/package.json +1 -1
  113. metadata +21 -18
  114. data/app/assets/images/govuk_publishing_components/chevron-banner/chevron-banner-small-focus.svg +0 -4
  115. data/app/assets/images/govuk_publishing_components/chevron-banner/chevron-banner-small.svg +0 -4
  116. data/app/assets/javascripts/govuk_publishing_components/components/header.js +0 -8
  117. data/app/assets/javascripts/govuk_publishing_components/lib/auto-track-event.js +0 -31
  118. data/app/assets/stylesheets/govuk_publishing_components/components/_chevron-banner.scss +0 -138
  119. data/app/assets/stylesheets/govuk_publishing_components/components/_list.scss +0 -1
  120. data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_variables.scss +0 -27
  121. data/app/assets/stylesheets/govuk_publishing_components/components/mixins/_back-arrow.scss +0 -13
  122. data/app/assets/stylesheets/govuk_publishing_components/components/mixins/_clearfix.scss +0 -8
  123. data/app/views/govuk_publishing_components/components/_chevron_banner.html.erb +0 -19
  124. data/app/views/govuk_publishing_components/components/_subscription-links.html.erb +0 -85
  125. data/app/views/govuk_publishing_components/components/_translation-nav.html.erb +0 -33
  126. data/app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_related_links.html.erb +0 -6
  127. data/app/views/govuk_publishing_components/components/docs/chevron_banner.yml +0 -33
  128. data/app/views/govuk_publishing_components/components/docs/subscription-links.yml +0 -103
  129. data/app/views/govuk_publishing_components/components/docs/translation-nav.yml +0 -139
@@ -25,11 +25,6 @@
25
25
  float: none;
26
26
  width: 100%;
27
27
 
28
- h3 {
29
- @include govuk-font($size: 19, $weight: bold);
30
- margin-bottom: 5px;
31
- }
32
-
33
28
  .email-url-number {
34
29
  .email {
35
30
  word-wrap: break-word;
@@ -5,27 +5,34 @@
5
5
  @import "../accordion";
6
6
 
7
7
  // Open all of the accordion sections.
8
- .govuk-accordion__section-content {
8
+ .gem-c-accordion__section-content {
9
9
  display: block !important; // stylelint-disable-line declaration-no-important
10
10
  }
11
11
 
12
12
  // Change the colour from the blue link colour to black.
13
- .govuk-accordion__section-button {
13
+ .gem-c-accordion__section-button {
14
14
  color: govuk-colour("black") !important; // stylelint-disable-line declaration-no-important
15
15
  }
16
16
 
17
+ // Removing spacing
18
+ .gem-c-accordion__section-header {
19
+ padding-bottom: govuk-spacing(1);
20
+ }
21
+
17
22
  // Change the summary subheading size.
18
- .govuk-accordion__section-summary {
23
+ .gem-c-accordion__section-summary {
19
24
  @include govuk-typography-common;
20
25
  @include govuk-typography-responsive($size: 16, $important: true);
26
+ }
21
27
 
22
- .govuk-accordion--condensed & {
23
- @include govuk-typography-responsive($size: 14, $important: true);
24
- }
28
+ // Hide the unusable "Show all sections" button and the "Chevron" icons.
29
+ .gem-c-accordion__open-all,
30
+ .gem-c-accordion__icon,
31
+ .gem-c-accordion__toggle-link {
32
+ display: none !important; // stylelint-disable-line declaration-no-important
25
33
  }
26
34
 
27
- // Hide the unusable "Open all" button and the "+" icons.
28
- .govuk-accordion__open-all,
29
- .govuk-accordion__icon {
35
+ // Hide all hidden content
36
+ .gem-c-accordion .govuk-visually-hidden {
30
37
  display: none !important; // stylelint-disable-line declaration-no-important
31
38
  }
@@ -1,7 +1,7 @@
1
1
  $grey-2: #bfc1c3;
2
2
  $white: #ffffff;
3
3
  $number-circle-size: 35px;
4
- $stroke-width: 3px;
4
+ $stroke-width: 1px;
5
5
 
6
6
  .gem-c-step-nav:not(.gem-c-step-nav--large),
7
7
  .gem-c-step-nav__controls,
@@ -63,7 +63,7 @@ $stroke-width: 3px;
63
63
  }
64
64
 
65
65
  .gem-c-step-nav__circle--number {
66
- border: solid 3px $grey-2;
66
+ border: solid 1px $grey-2;
67
67
  }
68
68
 
69
69
  .gem-c-step-nav__step,
@@ -69,7 +69,7 @@ module GovukPublishingComponents
69
69
  end
70
70
 
71
71
  def github_search_url
72
- params = { q: "org:alphagov #{partial_path}", type: "Code" }
72
+ params = { q: "org:alphagov components/components/#{id}", type: "Code" }
73
73
  "https://github.com/search?#{params.to_query}"
74
74
  end
75
75
 
@@ -39,16 +39,16 @@
39
39
  </div>
40
40
  </details>
41
41
 
42
- <div class="govuk-accordion" data-module="govuk-accordion" id="accordion-with-summary-sections">
42
+ <div class="gem-c-accordion" data-module="gem-c-accordion" id="accordion-with-summary-sections">
43
43
  <% @applications.each_with_index do |application, index| %>
44
- <div class="govuk-accordion__section ">
45
- <div class="govuk-accordion__section-header">
46
- <h2 class="govuk-accordion__section-heading">
47
- <span class="govuk-accordion__section-button" id="accordion-with-summary-sections-heading-<%= index %>">
44
+ <div class="gem-c-accordion__section ">
45
+ <div class="gem-c-accordion__section-header">
46
+ <h2 class="gem-c-accordion__section-heading">
47
+ <span class="gem-c-accordion__section-button" id="accordion-with-summary-sections-heading-<%= index %>">
48
48
  <%= application[:name] %>
49
49
  </span>
50
50
  </h2>
51
- <div class="govuk-accordion__section-summary govuk-body" id="accordion-with-summary-sections-summary-<%= index %>">
51
+ <div class="gem-c-accordion__section-summary govuk-body" id="accordion-with-summary-sections-summary-<%= index %>">
52
52
  <% if application[:application_found] %>
53
53
  Warnings:
54
54
  <% if application[:warning_count] > 0 %>
@@ -61,7 +61,7 @@
61
61
  <% end %>
62
62
  </div>
63
63
  </div>
64
- <div id="accordion-with-summary-sections-content-<%= index %>" class="govuk-accordion__section-content" aria-labelledby="accordion-with-summary-sections-heading-<%= index %>">
64
+ <div id="accordion-with-summary-sections-content-<%= index %>" class="gem-c-accordion__section-content" aria-labelledby="accordion-with-summary-sections-heading-<%= index %>">
65
65
  <% if application[:application_found] %>
66
66
  <% application[:warnings].each do |warning| %>
67
67
  <p class="govuk-body">
@@ -144,19 +144,19 @@
144
144
  } %>
145
145
 
146
146
  <% if @components.any? %>
147
- <div class="govuk-accordion" data-module="govuk-accordion" id="accordion-default">
148
- <div class="govuk-accordion__section ">
149
- <div class="govuk-accordion__section-header">
150
- <h2 class="govuk-accordion__section-heading">
151
- <span class="govuk-accordion__section-button" id="accordion-default-heading-1">
147
+ <div class="gem-c-accordion" data-module="gem-c-accordion" id="accordion-default">
148
+ <div class="gem-c-accordion__section ">
149
+ <div class="gem-c-accordion__section-header">
150
+ <h2 class="gem-c-accordion__section-heading">
151
+ <span class="gem-c-accordion__section-button" id="accordion-default-heading-1">
152
152
  Component files
153
153
  </span>
154
154
  </h2>
155
- <div class="govuk-accordion__section-summary govuk-body" id="accordion-with-summary-sections-summary-1">
155
+ <div class="gem-c-accordion__section-summary govuk-body" id="accordion-with-summary-sections-summary-1">
156
156
  Lists what files each component has
157
157
  </div>
158
158
  </div>
159
- <div id="accordion-default-content-1" class="govuk-accordion__section-content" aria-labelledby="accordion-default-heading-1">
159
+ <div id="accordion-default-content-1" class="gem-c-accordion__section-content" aria-labelledby="accordion-default-heading-1">
160
160
  <table class="govuk-table">
161
161
  <thead class="govuk-table__head">
162
162
  <tr class="govuk-table__row">
@@ -206,18 +206,18 @@
206
206
  </div>
207
207
  </div>
208
208
 
209
- <div class="govuk-accordion__section ">
210
- <div class="govuk-accordion__section-header">
211
- <h2 class="govuk-accordion__section-heading">
212
- <span class="govuk-accordion__section-button" id="accordion-default-heading-2">
209
+ <div class="gem-c-accordion__section ">
210
+ <div class="gem-c-accordion__section-header">
211
+ <h2 class="gem-c-accordion__section-heading">
212
+ <span class="gem-c-accordion__section-button" id="accordion-default-heading-2">
213
213
  Components containing components
214
214
  </span>
215
215
  </h2>
216
- <div class="govuk-accordion__section-summary govuk-body" id="accordion-with-summary-sections-summary-2">
216
+ <div class="gem-c-accordion__section-summary govuk-body" id="accordion-with-summary-sections-summary-2">
217
217
  Shows which components contain other components
218
218
  </div>
219
219
  </div>
220
- <div id="accordion-default-content-2" class="govuk-accordion__section-content" aria-labelledby="accordion-default-heading-2">
220
+ <div id="accordion-default-content-2" class="gem-c-accordion__section-content" aria-labelledby="accordion-default-heading-2">
221
221
  <dl class="govuk-summary-list">
222
222
  <% @components[:components_containing_components].each do |component| %>
223
223
  <div class="govuk-summary-list__row">
@@ -232,18 +232,18 @@
232
232
  </dl>
233
233
  </div>
234
234
  </div>
235
- <div class="govuk-accordion__section ">
236
- <div class="govuk-accordion__section-header">
237
- <h2 class="govuk-accordion__section-heading">
238
- <span class="govuk-accordion__section-button" id="accordion-default-heading-2">
235
+ <div class="gem-c-accordion__section ">
236
+ <div class="gem-c-accordion__section-header">
237
+ <h2 class="gem-c-accordion__section-heading">
238
+ <span class="gem-c-accordion__section-button" id="accordion-default-heading-2">
239
239
  Components by application
240
240
  </span>
241
241
  </h2>
242
- <div class="govuk-accordion__section-summary govuk-body" id="accordion-with-summary-sections-summary-2">
242
+ <div class="gem-c-accordion__section-summary govuk-body" id="accordion-with-summary-sections-summary-2">
243
243
  Shows which applications use each component
244
244
  </div>
245
245
  </div>
246
- <div id="accordion-default-content-2" class="govuk-accordion__section-content" aria-labelledby="accordion-default-heading-2">
246
+ <div id="accordion-default-content-2" class="gem-c-accordion__section-content" aria-labelledby="accordion-default-heading-2">
247
247
  <% if @components[:components_by_application].any? %>
248
248
  <dl class="govuk-summary-list">
249
249
  <% @components[:components_by_application].each do |component| %>
@@ -6,42 +6,35 @@
6
6
  items ||= []
7
7
  condensed ||= false
8
8
 
9
- accordion_classes = %w(gem-c-accordion govuk-accordion)
10
- accordion_classes << 'govuk-accordion--condensed' if condensed
9
+ accordion_classes = %w(gem-c-accordion)
10
+ accordion_classes << 'gem-c-accordion--condensed' if condensed
11
11
  accordion_classes << (shared_helper.get_margin_bottom)
12
12
 
13
13
  data_attributes ||= {}
14
- data_attributes[:module] = 'govuk-accordion'
14
+ data_attributes[:module] = 'gem-accordion'
15
15
  %>
16
16
  <% if items.any? %>
17
17
  <%= tag.div(class: accordion_classes, id: id, data: data_attributes) do %>
18
18
  <% items.each_with_index do |item, i| %>
19
19
  <%
20
- # Nunjucks starts a loop on 1 and the client side JavaScript also
21
- # adopts this behaviour. To prevent things from breaking, the index
22
- # here also need to be increase by one. (Nunjucks is used by GOV.UK
23
- # Frontend, which this component is based on.)
24
20
  index = i + 1
25
21
 
26
22
  item[:data_attributes] ||= nil
27
23
 
28
- section_classes = %w(govuk-accordion__section)
29
- section_classes << 'govuk-accordion__section--expanded' if item[:expanded]
24
+ section_classes = %w(gem-c-accordion__section)
25
+ section_classes << 'gem-c-accordion__section--expanded' if item[:expanded]
30
26
 
31
- summary_classes = %w(govuk-accordion__section-summary govuk-body)
27
+ summary_classes = %w(gem-c-accordion__section-summary govuk-body)
32
28
  %>
33
- <%= tag.div(class: section_classes) do %>
34
- <div class="govuk-accordion__section-header">
35
- <%=
36
- content_tag(
37
- shared_helper.get_heading_level,
38
- content_tag('span', item[:heading][:text], class: "govuk-accordion__section-button", id: "#{id}-heading-#{index}", data: item[:data_attributes]),
39
- class: 'govuk-accordion__section-heading'
40
- )
41
- %>
29
+
30
+ <%= tag.section(class: section_classes) do %>
31
+ <div class="gem-c-accordion__section-header">
32
+ <%= content_tag(shared_helper.get_heading_level, class: 'gem-c-accordion__section-heading') do %>
33
+ <%= tag.span(item[:heading][:text], id: "#{id}-heading-#{index}", data: item[:data_attributes], class: 'gem-c-accordion__section-button') %>
34
+ <% end %>
42
35
  <%= tag.div(item[:summary][:text], id: "#{id}-summary-#{index}", class: summary_classes) if item[:summary].present? %>
43
36
  </div>
44
- <%= tag.div(item[:content][:html], id: "#{id}-content-#{index}", class: "govuk-accordion__section-content", 'aria-labelledby': "#{id}-heading-#{index}") %>
37
+ <%= tag.div(item[:content][:html], id: "#{id}-content-#{index}", class: "gem-c-accordion__section-content", 'aria-label': "#{item[:heading][:text]}") %>
45
38
  <% end %>
46
39
  <% end %>
47
40
  <% end %>
@@ -2,12 +2,6 @@
2
2
  <% shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns) %>
3
3
 
4
4
  <div class="gem-c-contextual-sidebar">
5
- <% if navigation.show_brexit_related_links? && navigation.step_by_step_count.zero? %>
6
- <%= render 'govuk_publishing_components/components/contextual_sidebar/brexit_related_links' %>
7
- <% elsif navigation.step_by_step_count.zero? && !navigation.transition_countdown_exception? %>
8
- <%= render 'govuk_publishing_components/components/contextual_sidebar/brexit_cta' %>
9
- <% end %>
10
-
11
5
  <% if navigation.content_tagged_to_a_reasonable_number_of_step_by_steps? %>
12
6
  <%# Rendering step by step related items because there are a few but not too many of them %>
13
7
  <%= render 'govuk_publishing_components/components/step_by_step_nav_related', links: navigation.step_nav_helper.related_links %>
@@ -30,7 +24,7 @@
30
24
  } %>
31
25
  <% end %>
32
26
 
33
- <% if navigation.show_brexit_related_links? && navigation.step_by_step_count > 0 %>
34
- <%= render 'govuk_publishing_components/components/contextual_sidebar/brexit_related_links' %>
27
+ <% if navigation.show_brexit_cta? || navigation.show_brexit_related_links? %>
28
+ <%= render 'govuk_publishing_components/components/contextual_sidebar/brexit_cta' %>
35
29
  <% end %>
36
30
  </div>
@@ -5,6 +5,7 @@
5
5
  classes << " gem-c-document-list--top-margin" if local_assigns[:margin_top]
6
6
  classes << " gem-c-document-list--bottom-margin" if local_assigns[:margin_bottom]
7
7
  classes << " gem-c-document-list--no-underline" if local_assigns[:remove_underline]
8
+ classes << " gem-c-document-list--no-top-border" if local_assigns[:remove_top_border]
8
9
 
9
10
  within_multitype_list ||= false
10
11
  within_multitype_list_class = " gem-c-document-list__multi-list" if within_multitype_list
@@ -28,12 +29,21 @@
28
29
  item_classes = "gem-c-document-list__item-title #{brand_helper.color_class} #{title_with_context_class if item[:link][:context]}"
29
30
 
30
31
  if item[:link][:path]
32
+ rel = [
33
+ "external",
34
+ "nofollow",
35
+ "noopener",
36
+ "noreferrer",
37
+ "opener",
38
+ ].include?(item[:link][:rel]) ? item[:link][:rel] : nil
39
+
31
40
  link_to(
32
41
  item[:link][:text],
33
42
  item[:link][:path],
34
43
  data: item[:link][:data_attributes],
35
44
  class: "#{item_classes} gem-c-document-list__item-link",
36
- lang: item[:link][:locale].presence
45
+ lang: item[:link][:locale].presence,
46
+ rel: rel,
37
47
  )
38
48
  else
39
49
  content_tag(
@@ -50,7 +60,7 @@
50
60
  <% end %>
51
61
 
52
62
  <% if item[:link][:description] %>
53
- <p class="gem-c-document-list__item-description" ><%= item[:link][:description] %></p>
63
+ <p class="gem-c-document-list__item-description <%= "gem-c-document-list__item-description--full-size" if item[:link][:full_size_description] %>"><%= item[:link][:description] %></p>
54
64
  <% end %>
55
65
 
56
66
  <% if item[:metadata] %>
@@ -2,9 +2,11 @@
2
2
  meta ||= []
3
3
  navigation ||= []
4
4
  with_border ||= false
5
+ classes = %w(gem-c-layout-footer govuk-footer)
6
+ classes << "gem-c-layout-footer--border" if with_border
5
7
  %>
6
- <footer class="gem-c-layout-footer govuk-footer <%= "gem-c-layout-footer--border" if with_border %> role="contentinfo">
7
- <div class="govuk-width-container ">
8
+ <%= tag.footer class: classes, role: "contentinfo" do %>
9
+ <div class="govuk-width-container" data-module="gem-track-click">
8
10
  <% if navigation.any? %>
9
11
  <div class="govuk-footer__navigation">
10
12
  <% navigation.each do |item| %>
@@ -29,7 +31,10 @@
29
31
  <% if item[:href] && item[:text] %>
30
32
  <li class="govuk-footer__list-item">
31
33
  <%
32
- attributes = { class: "govuk-footer__link" }.merge(item.fetch(:attributes, {}))
34
+ attributes = {
35
+ class: "govuk-footer__link",
36
+ "data-track-category": "footerClicked"
37
+ }.merge(item.fetch(:attributes, {}))
33
38
  attributes[:rel] = "noopener" if attributes[:target] == "_blank" && !attributes[:rel]
34
39
  %>
35
40
  <%= link_to item[:text], item[:href], attributes %>
@@ -80,4 +85,4 @@
80
85
  </div>
81
86
  </div>
82
87
  </div>
83
- </footer>
88
+ <% end %>
@@ -24,8 +24,8 @@
24
24
  <%= "data-id=#{tracking_id}" if tracking_id %>
25
25
  data-show-text="<%= t("govuk_component.step_by_step_nav.show", default: "show") %>"
26
26
  data-hide-text="<%= t("govuk_component.step_by_step_nav.hide", default: "hide") %>"
27
- data-show-all-text="<%= t("govuk_component.step_by_step_nav.show_all", default: "Show all") %>"
28
- data-hide-all-text="<%= t("govuk_component.step_by_step_nav.hide_all", default: "Hide all") %>"
27
+ data-show-all-text="<%= t("govuk_component.step_by_step_nav.show_all", default: "Show all steps") %>"
28
+ data-hide-all-text="<%= t("govuk_component.step_by_step_nav.hide_all", default: "Hide all steps") %>"
29
29
  >
30
30
  <ol class="gem-c-step-nav__steps">
31
31
  <% steps.each_with_index do |step, step_index| %>
@@ -14,7 +14,28 @@
14
14
  <%= link_to link_path,
15
15
  class: "govuk-link gem-c-contextual-sidebar__brexit-cta",
16
16
  data: data_attributes,
17
+ aria: { label: "#{t("components.related_navigation.take_action_list.aria_label")} #{link_text}" },
17
18
  lang: shared_helper.t_locale("components.related_navigation.transition.title") do %>
18
19
  <h2 class="gem-c-contextual-sidebar__brexit-heading"><%= t("components.related_navigation.transition.title") %></h2>
20
+ <ul class="govuk-list gem-c-contextual-sidebar__take-action-traffic-lights">
21
+ <li>
22
+ <%= image_tag 'govuk_publishing_components/take-action-red.svg', class: "gem-c-contextual-sidebar__take-action-traffic-lists-icon", alt: "" %>
23
+ <span class="gem-c-contextual-sidebar__take-action-traffic-lists-text">
24
+ <%= t("components.related_navigation.take_action_list.red") %>
25
+ </span>
26
+ </li>
27
+ <li>
28
+ <%= image_tag 'govuk_publishing_components/take-action-amber.svg', class: "gem-c-contextual-sidebar__take-action-traffic-lists-icon", alt: "" %>
29
+ <span class="gem-c-contextual-sidebar__take-action-traffic-lists-text">
30
+ <%= t("components.related_navigation.take_action_list.amber") %>
31
+ </span>
32
+ </li>
33
+ <li>
34
+ <%= image_tag 'govuk_publishing_components/take-action-green.svg', class: "gem-c-contextual-sidebar__take-action-traffic-lists-icon", alt: "" %>
35
+ <span class="gem-c-contextual-sidebar__take-action-traffic-lists-text">
36
+ <%= t("components.related_navigation.take_action_list.green") %>
37
+ </span>
38
+ </li>
39
+ </ul>
19
40
  <p class="gem-c-contextual-sidebar__brexit-text"><%= link_text %></p>
20
41
  <% end %>
@@ -4,20 +4,25 @@ govuk_frontend_components:
4
4
  - accordion
5
5
  body: |
6
6
  This component is based on the [design system accordion component](https://design-system.service.gov.uk/components/accordion/)
7
- and is currently experimental. If using this component, please feed back any research findings to the Design System team.
7
+ and is currently experimental because more research is needed to validate it. If using this component, [please feed back any research findings to the Design System team](https://design-system.service.gov.uk/components/accordion/#next-steps).
8
8
 
9
9
  accessibility_criteria: |
10
10
  The accordion must:
11
11
 
12
12
  * accept focus
13
13
  * be usable with a keyboard
14
- * indicate when they have focus
14
+ * the controls must change in appearance when keyboard focus moves to it
15
+ * the controls must indicate when the mouse is hovered over it
15
16
  * be usable with touch
16
17
  * be usable with voice commands
17
18
  * have visible text
18
19
  * indicate to users that each section can be expanded and collapsed
19
20
  * inform the user when a step has been expanded or collapsed
20
- * be readable when only the text of the page is zoomed in
21
+ * be readable when only the [text of the page is zoomed in](https://support.mozilla.org/en-US/kb/font-size-and-zoom-increase-size-of-web-pages#w_how-to-only-change-the-size-of-the-text)
22
+ * zoom in up to 300% without the text spilling off the screen
23
+ * pass colour contrast
24
+ * the accordion header button element has aria-controls set to the ID of the element containing the accordion panel content.
25
+ * section content must have aria-label / aria-labelledby with a value that refers to the button that controls display of the content.
21
26
 
22
27
  Section headings must use a button element:
23
28
 
@@ -72,6 +72,11 @@ examples:
72
72
  - text: Check what age you can drive
73
73
  href: "/vehicles-can-drive"
74
74
  optional: false
75
+ - title: Testing the and
76
+ logic: and
77
+ contents:
78
+ - type: paragraph
79
+ text: hello hello what's UP
75
80
  - title: Driving lessons and practice
76
81
  contents:
77
82
  - type: paragraph
@@ -144,7 +149,33 @@ examples:
144
149
  - text: Find out what you’ll get
145
150
  href: "/settled-status-eu-citizens-families/what-settled-and-presettled-status-means"
146
151
  optional: false
147
- transition_countdown_exception:
152
+ with_brexit_cta:
153
+ description: For documents tagged with certain taxons defined in `brexit_cta_taxon_allow_list` we show a custom Brexit call to action element.
154
+ data:
155
+ content_item:
156
+ title: "Transport news story"
157
+ content_id: "3c402d90-fe77-49b9-a8aa-1800d4fc2b3d"
158
+ links:
159
+ ordered_related_items:
160
+ - title: Find an apprenticeship
161
+ base_path: /apply-apprenticeship
162
+ - title: Training and study at work
163
+ base_path: /training-study-work-your-rights
164
+ - title: Careers helpline for teenagers
165
+ base_path: /careers-helpline-for-teenagers
166
+ document_collections:
167
+ - title: Recruit an apprentice (formerly apprenticeship vacancies)
168
+ base_path: /government/collections/apprenticeship-vacancies
169
+ document_type: document_collection
170
+ - title: The future of jobs and skills
171
+ base_path: /government/collections/the-future-of-jobs-and-skills
172
+ document_type: document_collection
173
+ taxons:
174
+ - content_id: "a4038b29-b332-4f13-98b1-1c9709e216bc"
175
+ title: "Transport"
176
+ phase: "live"
177
+ with_brexit_cta_document_exception:
178
+ description: Illustrates an exception to showing the custom Brexit call to action element as defined in `brexit_cta_document_type_exceptions`.
148
179
  data:
149
180
  content_item:
150
181
  title: "30 creative teams awarded up to £100,000 each for Festival UK* 2022 R&D project"
@@ -164,3 +195,36 @@ examples:
164
195
  - title: The future of jobs and skills
165
196
  base_path: /government/collections/the-future-of-jobs-and-skills
166
197
  document_type: document_collection
198
+ taxons:
199
+ - content_id: "e2ca2f1a-0ff3-43ce-b813-16645ff27904"
200
+ title: "Society and culture"
201
+ phase: "live"
202
+ with_brexit_cta_taxon_exception:
203
+ description: Illustrates an exception to showing the custom Brexit call to action element as defined in `brexit_cta_taxon_exception_list`.
204
+ data:
205
+ content_item:
206
+ title: "Local transport news story"
207
+ content_id: "5c82db20-7631-11e4-a3cb-005056011aef"
208
+ links:
209
+ ordered_related_items:
210
+ - title: Find an apprenticeship
211
+ base_path: /apply-apprenticeship
212
+ - title: Training and study at work
213
+ base_path: /training-study-work-your-rights
214
+ - title: Careers helpline for teenagers
215
+ base_path: /careers-helpline-for-teenagers
216
+ document_collections:
217
+ - title: Recruit an apprentice (formerly apprenticeship vacancies)
218
+ base_path: /government/collections/apprenticeship-vacancies
219
+ document_type: document_collection
220
+ - title: The future of jobs and skills
221
+ base_path: /government/collections/the-future-of-jobs-and-skills
222
+ document_type: document_collection
223
+ taxons:
224
+ - content_id: "3b4d6319-fcef-4637-b35a-e3df76321894"
225
+ title: "Local transport"
226
+ phase: "live"
227
+ links:
228
+ parent_taxons:
229
+ - content_id: "a4038b29-b332-4f13-98b1-1c9709e216bc"
230
+ title: "Transport"