govuk_publishing_components 24.18.4 → 24.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/analytics/scroll-tracker.js +59 -77
  3. data/app/assets/javascripts/govuk_publishing_components/components/details.js +6 -4
  4. data/app/assets/javascripts/govuk_publishing_components/components/layout-super-navigation-header.js +71 -0
  5. data/app/assets/javascripts/govuk_publishing_components/lib/trigger-event.js +13 -2
  6. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +2 -0
  7. data/app/assets/stylesheets/govuk_publishing_components/_all_components_print.scss +1 -0
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +5 -3
  9. data/app/assets/stylesheets/govuk_publishing_components/components/_document-list.scss +7 -9
  10. data/app/assets/stylesheets/govuk_publishing_components/components/_intervention.scss +16 -0
  11. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-header.scss +0 -4
  12. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-super-navigation-header.scss +125 -0
  13. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_typography.scss +9 -0
  14. data/app/assets/stylesheets/govuk_publishing_components/components/print/_layout-super-navigation-header.scss +3 -0
  15. data/app/views/govuk_publishing_components/component_guide/index.html.erb +1 -1
  16. data/app/views/govuk_publishing_components/components/_details.html.erb +7 -4
  17. data/app/views/govuk_publishing_components/components/_document_list.html.erb +3 -3
  18. data/app/views/govuk_publishing_components/components/_govspeak.html.erb +2 -0
  19. data/app/views/govuk_publishing_components/components/_intervention.html.erb +15 -0
  20. data/app/views/govuk_publishing_components/components/_layout_for_public.html.erb +19 -13
  21. data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb +121 -0
  22. data/app/views/govuk_publishing_components/components/docs/details.yml +1 -1
  23. data/app/views/govuk_publishing_components/components/docs/govspeak.yml +9 -0
  24. data/app/views/govuk_publishing_components/components/docs/intervention.yml +24 -0
  25. data/app/views/govuk_publishing_components/components/docs/layout_for_public.yml +4 -0
  26. data/app/views/govuk_publishing_components/components/docs/layout_header.yml +4 -1
  27. data/app/views/govuk_publishing_components/components/docs/layout_super_navigation_header.yml +22 -0
  28. data/app/views/govuk_publishing_components/components/layout_header/_header_logo.html.erb +3 -4
  29. data/config/initializers/assets.rb +0 -1
  30. data/config/locales/ar.yml +8 -0
  31. data/config/locales/az.yml +8 -0
  32. data/config/locales/be.yml +8 -0
  33. data/config/locales/bg.yml +8 -0
  34. data/config/locales/bn.yml +8 -0
  35. data/config/locales/cs.yml +8 -0
  36. data/config/locales/cy.yml +8 -0
  37. data/config/locales/da.yml +8 -0
  38. data/config/locales/de.yml +8 -0
  39. data/config/locales/dr.yml +8 -0
  40. data/config/locales/el.yml +8 -0
  41. data/config/locales/en.yml +89 -0
  42. data/config/locales/es-419.yml +8 -0
  43. data/config/locales/es.yml +8 -0
  44. data/config/locales/et.yml +8 -0
  45. data/config/locales/fa.yml +8 -0
  46. data/config/locales/fi.yml +8 -0
  47. data/config/locales/fr.yml +8 -0
  48. data/config/locales/gd.yml +8 -0
  49. data/config/locales/gu.yml +8 -0
  50. data/config/locales/he.yml +8 -0
  51. data/config/locales/hi.yml +8 -0
  52. data/config/locales/hr.yml +8 -0
  53. data/config/locales/hu.yml +8 -0
  54. data/config/locales/hy.yml +8 -0
  55. data/config/locales/id.yml +8 -0
  56. data/config/locales/is.yml +8 -0
  57. data/config/locales/it.yml +8 -0
  58. data/config/locales/ja.yml +8 -0
  59. data/config/locales/ka.yml +8 -0
  60. data/config/locales/kk.yml +8 -0
  61. data/config/locales/ko.yml +8 -0
  62. data/config/locales/lt.yml +8 -0
  63. data/config/locales/lv.yml +8 -0
  64. data/config/locales/ms.yml +8 -0
  65. data/config/locales/mt.yml +8 -0
  66. data/config/locales/nl.yml +8 -0
  67. data/config/locales/no.yml +8 -0
  68. data/config/locales/pa-pk.yml +8 -0
  69. data/config/locales/pa.yml +8 -0
  70. data/config/locales/pl.yml +8 -0
  71. data/config/locales/ps.yml +8 -0
  72. data/config/locales/pt.yml +8 -0
  73. data/config/locales/ro.yml +8 -0
  74. data/config/locales/ru.yml +8 -0
  75. data/config/locales/si.yml +8 -0
  76. data/config/locales/sk.yml +8 -0
  77. data/config/locales/sl.yml +8 -0
  78. data/config/locales/so.yml +8 -0
  79. data/config/locales/sq.yml +8 -0
  80. data/config/locales/sr.yml +8 -0
  81. data/config/locales/sv.yml +8 -0
  82. data/config/locales/sw.yml +8 -0
  83. data/config/locales/ta.yml +8 -0
  84. data/config/locales/th.yml +8 -0
  85. data/config/locales/tk.yml +8 -0
  86. data/config/locales/tr.yml +8 -0
  87. data/config/locales/uk.yml +8 -0
  88. data/config/locales/ur.yml +8 -0
  89. data/config/locales/uz.yml +8 -0
  90. data/config/locales/vi.yml +8 -0
  91. data/config/locales/zh-hk.yml +8 -0
  92. data/config/locales/zh-tw.yml +8 -0
  93. data/config/locales/zh.yml +8 -0
  94. data/lib/govuk_publishing_components/app_helpers/environment.rb +3 -8
  95. data/lib/govuk_publishing_components/presenters/content_breadcrumbs_based_on_priority.rb +30 -11
  96. data/lib/govuk_publishing_components/presenters/meta_tags.rb +11 -4
  97. data/lib/govuk_publishing_components/version.rb +1 -1
  98. metadata +10 -2
@@ -99,3 +99,12 @@
99
99
  font-weight: inherit;
100
100
  }
101
101
  }
102
+
103
+ .gem-c-govspeak--inverse {
104
+ color: govuk-colour('white');
105
+
106
+ a {
107
+ @include govuk-link-common;
108
+ @include govuk-link-style-inverse;
109
+ }
110
+ }
@@ -0,0 +1,3 @@
1
+ .gem-c-super-navigation-header a:after {
2
+ content: " ( " attr(href) " ) ";
3
+ }
@@ -105,5 +105,5 @@
105
105
  </ul>
106
106
 
107
107
  <div class="component-markdown">
108
- <p class="govuk-body">If you cannot find a suitable component consider extending an existing component or <a href="https://github.com/alphagov/govuk_publishing_components/blob/master/docs/develop-component.md">creating a new one</a>.</p>
108
+ <p class="govuk-body">If you cannot find a suitable component consider extending an existing component or <a href="https://github.com/alphagov/govuk_publishing_components/blob/master/docs/generate-a-new-component.md">creating a new one</a>.</p>
109
109
  </div>
@@ -6,15 +6,18 @@
6
6
  css_classes = %w(gem-c-details govuk-details)
7
7
  css_classes << (shared_helper.get_margin_bottom)
8
8
 
9
+ details_data_attributes = {}
10
+ details_data_attributes[:module] = 'govuk-details gem-details'
11
+
9
12
  data_attributes ||= {}
10
- data_attributes[:module] = 'govuk-details gem-details'
13
+ data_attributes[:details_track_click] = ''
11
14
  %>
12
- <%= tag.details class: css_classes, data: data_attributes, open: open do %>
13
- <summary class="govuk-details__summary" data-details-track-click>
15
+ <%= tag.details class: css_classes, data: details_data_attributes, open: open do %>
16
+ <%= tag.summary class: "govuk-details__summary", data: data_attributes do %>
14
17
  <span class="govuk-details__summary-text">
15
18
  <%= title %>
16
19
  </span>
17
- </summary>
20
+ <% end %>
18
21
  <div class="govuk-details__text">
19
22
  <%= yield %>
20
23
  </div>
@@ -41,7 +41,7 @@
41
41
  item[:link][:text],
42
42
  item[:link][:path],
43
43
  data: item[:link][:data_attributes],
44
- class: "#{item_classes} gem-c-document-list__item-link",
44
+ class: "#{item_classes} govuk-link",
45
45
  lang: item[:link][:locale].presence,
46
46
  rel: rel,
47
47
  )
@@ -65,7 +65,7 @@
65
65
 
66
66
  <% if item[:metadata] %>
67
67
  <ul class="gem-c-document-list__item-metadata">
68
- <% item[:metadata].compact.each do |item_metadata_key, item_metadata_value| %>
68
+ <% item[:metadata].compact.each do |item_metadata_key, item_metadata_value| %>
69
69
  <% if !item_metadata_key.to_s.eql?("locale") %>
70
70
  <% lang = item[:metadata][:locale].present? && item[:metadata][:locale][item_metadata_key].present? ? item[:metadata][:locale][item_metadata_key] : nil %>
71
71
 
@@ -101,7 +101,7 @@
101
101
  part[:link][:text],
102
102
  part[:link][:path],
103
103
  data: part[:link][:data_attributes],
104
- class: "gem-c-document-list-child__heading #{brand_helper.color_class} gem-c-document-list-child__link",
104
+ class: "gem-c-document-list-child__heading #{brand_helper.color_class} govuk-link gem-c-document-list-child__link",
105
105
  )
106
106
  else
107
107
  content_tag(
@@ -1,10 +1,12 @@
1
1
  <%
2
+ inverse ||= false
2
3
  direction_class = "direction-#{direction}" if local_assigns.include?(:direction)
3
4
  disable_youtube_expansions = local_assigns.fetch(:disable_youtube_expansions) if local_assigns.include?(:disable_youtube_expansions)
4
5
 
5
6
  classes = []
6
7
  classes << direction_class if direction_class
7
8
  classes << "disable-youtube" if disable_youtube_expansions
9
+ classes << "gem-c-govspeak--inverse" if inverse
8
10
  %>
9
11
 
10
12
  <div class="gem-c-govspeak govuk-govspeak <%= classes.join(" ") %>" data-module="govspeak">
@@ -0,0 +1,15 @@
1
+ <%= tag.section class: "gem-c-intervention", role: "region" do %>
2
+ <h2 class="gem-c-intervention__title">
3
+ <a class="govuk-link" href="/next-steps-for-your-business">
4
+ <%= t("components.intervention.title") %>
5
+ </a>
6
+ </h2>
7
+
8
+ <p class="gem-c-intervention__paragraph">
9
+ <%= t("components.intervention.description") %>
10
+ </p>
11
+
12
+ <p class="gem-c-intervention__paragraph">
13
+ <%= t("components.intervention.dismiss_html") %>
14
+ </p>
15
+ <% end %>
@@ -1,14 +1,16 @@
1
1
  <%
2
- omit_feedback_form ||= false
3
2
  emergency_banner ||= nil
4
3
  full_width ||= false
5
4
  global_bar ||= nil
6
- product_name ||= nil
7
5
  html_lang ||= "en"
8
6
  layout_helper = GovukPublishingComponents::Presenters::PublicLayoutHelper.new(local_assigns)
9
7
  logo_link ||= "/"
10
8
  navigation_items ||= []
9
+ omit_feedback_form ||= false
10
+ omit_footer_navigation ||= false
11
11
  omit_header ||= false
12
+ product_name ||= nil
13
+ show_explore_header ||= false
12
14
  show_search = local_assigns.include?(:show_search) ? local_assigns[:show_search] : true
13
15
  title ||= "GOV.UK - The best place to find government services and information"
14
16
 
@@ -75,16 +77,20 @@
75
77
  <%= render "govuk_publishing_components/components/cookie_banner" %>
76
78
 
77
79
  <% unless omit_header %>
78
- <%= render "govuk_publishing_components/components/layout_header", {
79
- search: show_search,
80
- logo_link: logo_link,
81
- navigation_items: navigation_items,
82
- product_name: product_name,
83
-
84
- # The (blue) bottom border needs to be underneath the emergency banner -
85
- # so it has been turned off and added in manually.
86
- remove_bottom_border: true,
87
- } %>
80
+ <% if show_explore_header %>
81
+ <%= render "govuk_publishing_components/components/layout_super_navigation_header" %>
82
+ <% else %>
83
+ <%= render "govuk_publishing_components/components/layout_header", {
84
+ search: show_search,
85
+ logo_link: logo_link,
86
+ navigation_items: navigation_items,
87
+ product_name: product_name,
88
+
89
+ # The (blue) bottom border needs to be underneath the emergency banner -
90
+ # so it has been turned off and added in manually.
91
+ remove_bottom_border: true,
92
+ } %>
93
+ <% end %>
88
94
  <% end %>
89
95
 
90
96
  <%= raw(emergency_banner) %>
@@ -117,7 +123,7 @@
117
123
  <% unless local_assigns[:hide_footer_links] %>
118
124
  <%= render "govuk_publishing_components/components/layout_footer", {
119
125
  with_border: true,
120
- navigation: layout_helper.footer_navigation,
126
+ navigation: omit_footer_navigation ? nil : layout_helper.footer_navigation,
121
127
  meta: layout_helper.footer_meta,
122
128
  } %>
123
129
  <% end %>
@@ -0,0 +1,121 @@
1
+ <%
2
+ logo_link = "https://www.gov.uk/"
3
+ logo_link_title = t("components.layout_super_navigation_header.logo_link_title")
4
+ logo_text = t("components.layout_super_navigation_header.logo_text")
5
+ navigation_links = t("components.layout_super_navigation_header.navigation_links")
6
+ navigation_menu_heading = t("components.layout_super_navigation_header.navigation_menu_heading")
7
+ popular_links = t("components.layout_super_navigation_header.popular_links")
8
+ popular_links_heading = t("components.layout_super_navigation_header.popular_links_heading")
9
+ search_text= t("components.layout_super_navigation_header.search_text")
10
+ %>
11
+ <header role="banner" class="gem-c-layout-super-navigation-header">
12
+ <div class="gem-c-layout-super-navigation-header__container govuk-width-container govuk-clearfix">
13
+ <div class="gem-c-layout-super-navigation-header__header-logo">
14
+ <a class="govuk-header__link govuk-header__link--homepage"
15
+ data-module="gem-track-click"
16
+ data-track-action="homeHeader"
17
+ data-track-category="homeLinkClicked"
18
+ href="<%= logo_link %>"
19
+ id="logo"
20
+ title="<%= logo_link_title %>">
21
+ <span class="govuk-header__logotype">
22
+ <svg aria-hidden="true"
23
+ class="govuk-header__logotype-crown gem-c-layout-super-navigation-header__logotype-crown"
24
+ focusable="false"
25
+ height="30"
26
+ viewBox="0 0 132 97"
27
+ xmlns="http://www.w3.org/2000/svg"
28
+ width="36">
29
+ <path fill="currentColor"
30
+ fill-rule="evenodd"
31
+ d="M25 30.2c3.5 1.5 7.7-.2 9.1-3.7 1.5-3.6-.2-7.8-3.9-9.2-3.6-1.4-7.6.3-9.1 3.9-1.4 3.5.3 7.5 3.9 9zM9 39.5c3.6 1.5 7.8-.2 9.2-3.7 1.5-3.6-.2-7.8-3.9-9.1-3.6-1.5-7.6.2-9.1 3.8-1.4 3.5.3 7.5 3.8 9zM4.4 57.2c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.5-1.5-7.6.3-9.1 3.8-1.4 3.5.3 7.6 3.9 9.1zm38.3-21.4c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.6-1.5-7.6.3-9.1 3.8-1.3 3.6.4 7.7 3.9 9.1zm64.4-5.6c-3.6 1.5-7.8-.2-9.1-3.7-1.5-3.6.2-7.8 3.8-9.2 3.6-1.4 7.7.3 9.2 3.9 1.3 3.5-.4 7.5-3.9 9zm15.9 9.3c-3.6 1.5-7.7-.2-9.1-3.7-1.5-3.6.2-7.8 3.7-9.1 3.6-1.5 7.7.2 9.2 3.8 1.5 3.5-.3 7.5-3.8 9zm4.7 17.7c-3.6 1.5-7.8-.2-9.2-3.8-1.5-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.3 3.5-.4 7.6-3.9 9.1zM89.3 35.8c-3.6 1.5-7.8-.2-9.2-3.8-1.4-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.4 3.6-.3 7.7-3.9 9.1zM69.7 17.7l8.9 4.7V9.3l-8.9 2.8c-.2-.3-.5-.6-.9-.9L72.4 0H59.6l3.5 11.2c-.3.3-.6.5-.9.9l-8.8-2.8v13.1l8.8-4.7c.3.3.6.7.9.9l-5 15.4v.1c-.2.8-.4 1.6-.4 2.4 0 4.1 3.1 7.5 7 8.1h.2c.3 0 .7.1 1 .1.4 0 .7 0 1-.1h.2c4-.6 7.1-4.1 7.1-8.1 0-.8-.1-1.7-.4-2.4V34l-5.1-15.4c.4-.2.7-.6 1-.9zM66 92.8c16.9 0 32.8 1.1 47.1 3.2 4-16.9 8.9-26.7 14-33.5l-9.6-3.4c1 4.9 1.1 7.2 0 10.2-1.5-1.4-3-4.3-4.2-8.7L108.6 76c2.8-2 5-3.2 7.5-3.3-4.4 9.4-10 11.9-13.6 11.2-4.3-.8-6.3-4.6-5.6-7.9 1-4.7 5.7-5.9 8-.5 4.3-8.7-3-11.4-7.6-8.8 7.1-7.2 7.9-13.5 2.1-21.1-8 6.1-8.1 12.3-4.5 20.8-4.7-5.4-12.1-2.5-9.5 6.2 3.4-5.2 7.9-2 7.2 3.1-.6 4.3-6.4 7.8-13.5 7.2-10.3-.9-10.9-8-11.2-13.8 2.5-.5 7.1 1.8 11 7.3L80.2 60c-4.1 4.4-8 5.3-12.3 5.4 1.4-4.4 8-11.6 8-11.6H55.5s6.4 7.2 7.9 11.6c-4.2-.1-8-1-12.3-5.4l1.4 16.4c3.9-5.5 8.5-7.7 10.9-7.3-.3 5.8-.9 12.8-11.1 13.8-7.2.6-12.9-2.9-13.5-7.2-.7-5 3.8-8.3 7.1-3.1 2.7-8.7-4.6-11.6-9.4-6.2 3.7-8.5 3.6-14.7-4.6-20.8-5.8 7.6-5 13.9 2.2 21.1-4.7-2.6-11.9.1-7.7 8.8 2.3-5.5 7.1-4.2 8.1.5.7 3.3-1.3 7.1-5.7 7.9-3.5.7-9-1.8-13.5-11.2 2.5.1 4.7 1.3 7.5 3.3l-4.7-15.4c-1.2 4.4-2.7 7.2-4.3 8.7-1.1-3-.9-5.3 0-10.2l-9.5 3.4c5 6.9 9.9 16.7 14 33.5 14.8-2.1 30.8-3.2 47.7-3.2z">
32
+ </path>
33
+ <image class="govuk-header__logotype-crown-fallback-image"
34
+ height="30"
35
+ src="<%= asset_path('govuk-logotype-crown.png') %>"
36
+ width="36"
37
+ xlink:href="">
38
+ </image>
39
+ </svg>
40
+ <span class="govuk-header__logotype-text">
41
+ <%= logo_text %>
42
+ </span>
43
+ </span>
44
+ </a>
45
+ </div>
46
+ <nav
47
+ aria-labelledby="super-navigation-menu-heading"
48
+ class="gem-c-layout-super-navigation-header__content"
49
+ data-module="super-navigation-toggle"
50
+ data-text-for-button="Menu"
51
+ data-text-for-show-menu="Show navigation menu"
52
+ data-text-for-hide-menu="Hide navigation menu"
53
+ >
54
+ <h2 id="super-navigation-menu-heading" class="govuk-visually-hidden"><%= navigation_menu_heading %></h2>
55
+ <ul id="super-navigation-menu" class="gem-c-layout-super-navigation-header__items">
56
+ <% navigation_links.each do | link | %>
57
+ <li class="govuk-header__navigation-item gem-c-layout-super-navigation-header__item">
58
+ <a class="govuk-header__link gem-c-layout-super-navigation-header__item-link" href="<%= link[:href] %>">
59
+ <%= link[:label] %>
60
+ </a>
61
+ <% if link[:menu_contents].present? or link[:footer_links].present? %>
62
+ <div class="gem-c-layout-super-navigation-header__dropdown-menu">
63
+ <% if link[:menu_contents].present? %>
64
+ <ul class="govuk-list">
65
+ <% link[:menu_contents].each do | item | %>
66
+ <li class="gem-c-layout-super-navigation-header__dropdown-list-item">
67
+ <a class="govuk-link gem-c-layout-super-navigation-header__dropdown-list-item-link" href="<%= item[:href] %>">
68
+ <%= item[:label] %>
69
+ </a>
70
+ <%= tag.p item[:description], class: "govuk-body-s gem-c-layout-super-navigation-header__dropdown-list-item-description" if item[:description].present? %>
71
+ </li>
72
+ <% end %>
73
+ </ul>
74
+ <% end %>
75
+ <% if link[:footer_links].present? %>
76
+ <ul class="govuk-list">
77
+ <% link[:footer_links].each do | item | %>
78
+ <li class="gem-c-layout-super-navigation-header__dropdown-list-item">
79
+ <a class="govuk-link gem-c-layout-super-navigation-header__dropdown-list-item-link" href="<%= item[:href] %>">
80
+ <%= item[:label] %>
81
+ </a>
82
+ </li>
83
+ <% end %>
84
+ </ul>
85
+ <% end %>
86
+ </div>
87
+ <% end %>
88
+ </li>
89
+ <% end %>
90
+ <li class="govuk-header__navigation-item gem-c-layout-super-navigation-header__item gem-c-layout-super-navigation-header__item--search">
91
+ <a class="govuk-header__link gem-c-layout-super-navigation-header__item-link gem-c-layout-super-navigation-header__item-link--search" href="/search">
92
+ <span class="gem-c-layout-super-navigation-header__item-link-text--search"><%= search_text %></span>
93
+ <svg class="gem-c-layout-super-navigation-header__item-link-icon--search" width="27" height="27" viewBox="0 0 27 27" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
94
+ <circle cx="10.0161" cy="10.0161" r="8.51613" stroke="currentColor" stroke-width="3" />
95
+ <line x1="15.8668" y1="16.3587" x2="25.4475" y2="25.9393" stroke="currentColor" stroke-width="3" />
96
+ </svg>
97
+ </a>
98
+ <div class="gem-c-layout-super-navigation-header__dropdown-menu">
99
+ <form id="search" action="/search" method="get" role="search" aria-label="Site-wide">
100
+ <%= render "govuk_publishing_components/components/search", {
101
+ inline_label: false,
102
+ label_text: raw("<h2 class=\"govuk-heading-m\">#{search_text}</h2>"),
103
+ size: "large",
104
+ } %>
105
+ </form>
106
+ <h2 class="govuk-heading-m"><%= popular_links_heading %></h2>
107
+ <ul class="govuk-list">
108
+ <% popular_links.each do | popular_link | %>
109
+ <li class="gem-c-layout-super-navigation-header__dropdown-list-item">
110
+ <a class="govuk-link gem-c-layout-super-navigation-header__dropdown-list-item-link" href="<%= popular_link[:href] %>">
111
+ <%= popular_link[:label] %>
112
+ </a>
113
+ </li>
114
+ <% end %>
115
+ </ul>
116
+ </div>
117
+ </li>
118
+ </ul>
119
+ </nav>
120
+ </div>
121
+ </header>
@@ -22,7 +22,7 @@ examples:
22
22
  block: |
23
23
  We need to know your nationality so we can work out which elections you’re entitled to vote in. If you can’t provide your nationality, you’ll have to send copies of identity documents through the post.
24
24
  with_data_attributes:
25
- description: Can be used for tracking. By default, `track-label` is set to the status ("open" or "closed") unless a track_label is passed into the component.
25
+ description: Can be used for tracking. Tracking is applied to the summary element when the details element is opened and closed. By default, `track-label` is set to the status ("open" or "closed") unless a track_label is passed into the component.
26
26
  data:
27
27
  title: Help with nationality
28
28
  data_attributes:
@@ -25,6 +25,15 @@ examples:
25
25
  block: |
26
26
  <h2>This is a title</h2>
27
27
  <p>This is some body text with <a href="https://example.com">a link</a>.</p>
28
+ inverted:
29
+ description: This option currently supports basic inversion of only headings, paragraphs and links.
30
+ data:
31
+ inverse: true
32
+ block: |
33
+ <h2>This is a title</h2>
34
+ <p>This is some body text with <a href="https://example.com">a link</a>.</p>
35
+ context:
36
+ dark_background: true
28
37
  heading_levels:
29
38
  data:
30
39
  block: |
@@ -0,0 +1,24 @@
1
+ name: Intervention
2
+ description: An area that contains personalised content to the user
3
+ body: |
4
+ The intervention is used to show personalised content. For instance, if the user has visited multiple
5
+ pages in the same area of the site, we might want let them know that there are other pages on GOV.UK
6
+ that would be useful to them. This component would be used to add this personalised content and would
7
+ indicate to the user that this is not normally part of the page, but has been added for them specifically.
8
+
9
+ Right now the contents of the component are static, as the MVP of personalised content is only for Start a Business.
10
+ Since many pages will use this component with the same text, we hard-code it here for now.
11
+
12
+ The dismiss link will reload the page but the `hide-intervention` query string parameter will cause the
13
+ backed not to show the intervention again. Some progressive enhancement will be added in later to avoid
14
+ reloading the page if JavaScript is available.
15
+ accessibility_criteria: |
16
+ The intervention component must:
17
+
18
+ - have a border colour contrast ratio of more than 4.5:1 with its background to be visually distinct
19
+
20
+ - always render headings with associated description content, so there are no isolated heading elements inside the component
21
+ shared_accessibility_criteria:
22
+ - link
23
+ examples:
24
+ default:
@@ -31,6 +31,10 @@ examples:
31
31
  description: This allows the feedback form to be omitted
32
32
  data:
33
33
  omit_feedback_form: true
34
+ omit_footer_navigation:
35
+ description: This allows the footer navigation to be omitted
36
+ data:
37
+ omit_footer_navigation: true
34
38
  navigation:
35
39
  description: Passes the navigation through to the [header component](/component-guide/layout_header/).
36
40
  data:
@@ -105,7 +105,10 @@ examples:
105
105
  with_search_bar:
106
106
  data:
107
107
  search: true
108
-
108
+ with_custom_logo_link:
109
+ description: The header logo links to root by default. This option allows us to override that in certain instances.
110
+ data:
111
+ logo_link: "/account/home"
109
112
  accessibility_criteria: |
110
113
  The component must:
111
114
 
@@ -0,0 +1,22 @@
1
+ name: Layout super navigation header
2
+ description: The super navigation header provides a consistent header across GOV.UK.
3
+ body: |
4
+ shared_accessibility_criteria:
5
+ - link
6
+ accessibility_criteria: |
7
+ The component must:
8
+
9
+ * have a text contrast ratio higher than 4.5:1 against the background colour to meet WCAG AA
10
+
11
+ Images in the super navigation header must:
12
+
13
+ * be presentational when linked to from accompanying text (crown icon).
14
+
15
+ Landmarks and Roles in the super navigation header should:
16
+
17
+ * have a role of banner at the root of the component (<header>) (ARIA 1.1)
18
+ accessibility_excluded_rules:
19
+ - landmark-banner-is-top-level # The header element can not be top level in the examples
20
+ - landmark-no-duplicate-banner # banners will be duplicated in component examples list
21
+ examples:
22
+ default:
@@ -1,11 +1,10 @@
1
1
  <div class="govuk-header__logo gem-c-header__logo">
2
2
  <a href="<%= logo_link %>" class="govuk-header__link govuk-header__link--homepage" data-module="gem-track-click" data-track-category="homeLinkClicked" data-track-action="homeHeader">
3
3
  <span class="govuk-header__logotype gem-c-header__logotype">
4
- <svg aria-hidden="true" focusable="false" class="gem-c-header__logotype-crown govuk-header__logotype-crown" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 132 97" height="32" width="36">
5
- <path fill="currentColor" fill-rule="evenodd"
6
- d="M25 30.2c3.5 1.5 7.7-.2 9.1-3.7 1.5-3.6-.2-7.8-3.9-9.2-3.6-1.4-7.6.3-9.1 3.9-1.4 3.5.3 7.5 3.9 9zM9 39.5c3.6 1.5 7.8-.2 9.2-3.7 1.5-3.6-.2-7.8-3.9-9.1-3.6-1.5-7.6.2-9.1 3.8-1.4 3.5.3 7.5 3.8 9zM4.4 57.2c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.5-1.5-7.6.3-9.1 3.8-1.4 3.5.3 7.6 3.9 9.1zm38.3-21.4c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.6-1.5-7.6.3-9.1 3.8-1.3 3.6.4 7.7 3.9 9.1zm64.4-5.6c-3.6 1.5-7.8-.2-9.1-3.7-1.5-3.6.2-7.8 3.8-9.2 3.6-1.4 7.7.3 9.2 3.9 1.3 3.5-.4 7.5-3.9 9zm15.9 9.3c-3.6 1.5-7.7-.2-9.1-3.7-1.5-3.6.2-7.8 3.7-9.1 3.6-1.5 7.7.2 9.2 3.8 1.5 3.5-.3 7.5-3.8 9zm4.7 17.7c-3.6 1.5-7.8-.2-9.2-3.8-1.5-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.3 3.5-.4 7.6-3.9 9.1zM89.3 35.8c-3.6 1.5-7.8-.2-9.2-3.8-1.4-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.4 3.6-.3 7.7-3.9 9.1zM69.7 17.7l8.9 4.7V9.3l-8.9 2.8c-.2-.3-.5-.6-.9-.9L72.4 0H59.6l3.5 11.2c-.3.3-.6.5-.9.9l-8.8-2.8v13.1l8.8-4.7c.3.3.6.7.9.9l-5 15.4v.1c-.2.8-.4 1.6-.4 2.4 0 4.1 3.1 7.5 7 8.1h.2c.3 0 .7.1 1 .1.4 0 .7 0 1-.1h.2c4-.6 7.1-4.1 7.1-8.1 0-.8-.1-1.7-.4-2.4V34l-5.1-15.4c.4-.2.7-.6 1-.9zM66 92.8c16.9 0 32.8 1.1 47.1 3.2 4-16.9 8.9-26.7 14-33.5l-9.6-3.4c1 4.9 1.1 7.2 0 10.2-1.5-1.4-3-4.3-4.2-8.7L108.6 76c2.8-2 5-3.2 7.5-3.3-4.4 9.4-10 11.9-13.6 11.2-4.3-.8-6.3-4.6-5.6-7.9 1-4.7 5.7-5.9 8-.5 4.3-8.7-3-11.4-7.6-8.8 7.1-7.2 7.9-13.5 2.1-21.1-8 6.1-8.1 12.3-4.5 20.8-4.7-5.4-12.1-2.5-9.5 6.2 3.4-5.2 7.9-2 7.2 3.1-.6 4.3-6.4 7.8-13.5 7.2-10.3-.9-10.9-8-11.2-13.8 2.5-.5 7.1 1.8 11 7.3L80.2 60c-4.1 4.4-8 5.3-12.3 5.4 1.4-4.4 8-11.6 8-11.6H55.5s6.4 7.2 7.9 11.6c-4.2-.1-8-1-12.3-5.4l1.4 16.4c3.9-5.5 8.5-7.7 10.9-7.3-.3 5.8-.9 12.8-11.1 13.8-7.2.6-12.9-2.9-13.5-7.2-.7-5 3.8-8.3 7.1-3.1 2.7-8.7-4.6-11.6-9.4-6.2 3.7-8.5 3.6-14.7-4.6-20.8-5.8 7.6-5 13.9 2.2 21.1-4.7-2.6-11.9.1-7.7 8.8 2.3-5.5 7.1-4.2 8.1.5.7 3.3-1.3 7.1-5.7 7.9-3.5.7-9-1.8-13.5-11.2 2.5.1 4.7 1.3 7.5 3.3l-4.7-15.4c-1.2 4.4-2.7 7.2-4.3 8.7-1.1-3-.9-5.3 0-10.2l-9.5 3.4c5 6.9 9.9 16.7 14 33.5 14.8-2.1 30.8-3.2 47.7-3.2z"></path>
4
+ <svg aria-hidden="true" focusable="false" class="govuk-header__logotype-crown" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 132 97" height="30" width="36">
5
+ <path fill="currentColor" fill-rule="evenodd" d="M25 30.2c3.5 1.5 7.7-.2 9.1-3.7 1.5-3.6-.2-7.8-3.9-9.2-3.6-1.4-7.6.3-9.1 3.9-1.4 3.5.3 7.5 3.9 9zM9 39.5c3.6 1.5 7.8-.2 9.2-3.7 1.5-3.6-.2-7.8-3.9-9.1-3.6-1.5-7.6.2-9.1 3.8-1.4 3.5.3 7.5 3.8 9zM4.4 57.2c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.5-1.5-7.6.3-9.1 3.8-1.4 3.5.3 7.6 3.9 9.1zm38.3-21.4c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.6-1.5-7.6.3-9.1 3.8-1.3 3.6.4 7.7 3.9 9.1zm64.4-5.6c-3.6 1.5-7.8-.2-9.1-3.7-1.5-3.6.2-7.8 3.8-9.2 3.6-1.4 7.7.3 9.2 3.9 1.3 3.5-.4 7.5-3.9 9zm15.9 9.3c-3.6 1.5-7.7-.2-9.1-3.7-1.5-3.6.2-7.8 3.7-9.1 3.6-1.5 7.7.2 9.2 3.8 1.5 3.5-.3 7.5-3.8 9zm4.7 17.7c-3.6 1.5-7.8-.2-9.2-3.8-1.5-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.3 3.5-.4 7.6-3.9 9.1zM89.3 35.8c-3.6 1.5-7.8-.2-9.2-3.8-1.4-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.4 3.6-.3 7.7-3.9 9.1zM69.7 17.7l8.9 4.7V9.3l-8.9 2.8c-.2-.3-.5-.6-.9-.9L72.4 0H59.6l3.5 11.2c-.3.3-.6.5-.9.9l-8.8-2.8v13.1l8.8-4.7c.3.3.6.7.9.9l-5 15.4v.1c-.2.8-.4 1.6-.4 2.4 0 4.1 3.1 7.5 7 8.1h.2c.3 0 .7.1 1 .1.4 0 .7 0 1-.1h.2c4-.6 7.1-4.1 7.1-8.1 0-.8-.1-1.7-.4-2.4V34l-5.1-15.4c.4-.2.7-.6 1-.9zM66 92.8c16.9 0 32.8 1.1 47.1 3.2 4-16.9 8.9-26.7 14-33.5l-9.6-3.4c1 4.9 1.1 7.2 0 10.2-1.5-1.4-3-4.3-4.2-8.7L108.6 76c2.8-2 5-3.2 7.5-3.3-4.4 9.4-10 11.9-13.6 11.2-4.3-.8-6.3-4.6-5.6-7.9 1-4.7 5.7-5.9 8-.5 4.3-8.7-3-11.4-7.6-8.8 7.1-7.2 7.9-13.5 2.1-21.1-8 6.1-8.1 12.3-4.5 20.8-4.7-5.4-12.1-2.5-9.5 6.2 3.4-5.2 7.9-2 7.2 3.1-.6 4.3-6.4 7.8-13.5 7.2-10.3-.9-10.9-8-11.2-13.8 2.5-.5 7.1 1.8 11 7.3L80.2 60c-4.1 4.4-8 5.3-12.3 5.4 1.4-4.4 8-11.6 8-11.6H55.5s6.4 7.2 7.9 11.6c-4.2-.1-8-1-12.3-5.4l1.4 16.4c3.9-5.5 8.5-7.7 10.9-7.3-.3 5.8-.9 12.8-11.1 13.8-7.2.6-12.9-2.9-13.5-7.2-.7-5 3.8-8.3 7.1-3.1 2.7-8.7-4.6-11.6-9.4-6.2 3.7-8.5 3.6-14.7-4.6-20.8-5.8 7.6-5 13.9 2.2 21.1-4.7-2.6-11.9.1-7.7 8.8 2.3-5.5 7.1-4.2 8.1.5.7 3.3-1.3 7.1-5.7 7.9-3.5.7-9-1.8-13.5-11.2 2.5.1 4.7 1.3 7.5 3.3l-4.7-15.4c-1.2 4.4-2.7 7.2-4.3 8.7-1.1-3-.9-5.3 0-10.2l-9.5 3.4c5 6.9 9.9 16.7 14 33.5 14.8-2.1 30.8-3.2 47.7-3.2z"></path>
7
6
  <%# Deliberate use of image tag as a fallback method https://lynn.ru/examples/svg/en.html %>
8
- <image src="<%= asset_path('govuk-logotype-crown.png') %>" xlink:href="" display="none" class="govuk-header__logotype-crown-fallback-image" width="36" height="32"></image>
7
+ <image src="<%= asset_path('govuk-logotype-crown.png') %>" xlink:href="" display="none" class="govuk-header__logotype-crown-fallback-image" width="36" height="30"></image>
9
8
  </svg>
10
9
  <span class="govuk-header__logotype-text">
11
10
  GOV.UK
@@ -5,7 +5,6 @@ Rails.application.config.assets.precompile += %w[
5
5
  component_guide/accessibility-test.js
6
6
  component_guide/application.js
7
7
  component_guide/filter-components.js
8
- component_guide/visual-regression.js
9
8
  component_guide/print.css
10
9
  govuk_publishing_components/rum-loader.js
11
10
  govuk_publishing_components/vendor/lux/lux-reporter.js
@@ -79,6 +79,14 @@ ar:
79
79
  search_button:
80
80
  show_button:
81
81
  top_level:
82
+ layout_super_navigation_header:
83
+ logo_link_title:
84
+ logo_text:
85
+ navigation_menu_heading:
86
+ search_text:
87
+ popular_links_heading:
88
+ popular_links:
89
+ navigation_links:
82
90
  metadata:
83
91
  from:
84
92
  history:
@@ -79,6 +79,14 @@ az:
79
79
  search_button:
80
80
  show_button:
81
81
  top_level:
82
+ layout_super_navigation_header:
83
+ logo_link_title:
84
+ logo_text:
85
+ navigation_menu_heading:
86
+ search_text:
87
+ popular_links_heading:
88
+ popular_links:
89
+ navigation_links:
82
90
  metadata:
83
91
  from:
84
92
  history: