govuk-components 5.13.0 → 6.0.0b1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c89bb1fe65604aadc708e12699a48d43c35da1b2c9d241431f26f836ce069dbd
4
- data.tar.gz: 1d10a73b3e15be50910663d746c5edf0d5007d44c1175623e3f8dc8088519f1d
3
+ metadata.gz: f97e535e9703bba722db814e9193bf4e0267b40ab1fd72208bdc6382b82a0df1
4
+ data.tar.gz: 88076d5caf8d3f79563b6b983ff4c6f3a7754ab75dc6e6d0be0d0270e0f1acf6
5
5
  SHA512:
6
- metadata.gz: a5dcc959d8eee3690fe9ee1a0e64be7ea2357df9ec646f5f5d94507b70aa5917986dbdfd6ffec1bc9deca61b1a4f1f0a45b7bd2e120686b04463c240ca438356
7
- data.tar.gz: dc8c1b08489a0c882cc33c0bf6943c46b2ce5bd909176d7d18bc4eef4ccd2efe26ecca92631aa6df28b344825679e597b2df2076d1bc172fb58a6eec303e8fd5
6
+ metadata.gz: fa0036d6229ac5776b268fb076bfea89ceec5b0eb9caf7d7435fc137fff4406f2f7b6e53435d627f6224f52ca489c453666b88e1763ac4e8d46ce0bb5d9800f3
7
+ data.tar.gz: a27910e167da38431c7a0840931cf8b1e1fd8639369149fc85d780592ce3db9ce8c10acc973e932fce0d2ffe883cd7293af44d2f1e0658c15a7fe6c868d31166
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  [![Gem version](https://badge.fury.io/rb/govuk-components.svg)](https://badge.fury.io/rb/govuk-components)
5
5
  [![Gem](https://img.shields.io/gem/dt/govuk-components?logo=rubygems)](https://rubygems.org/gems/govuk-components)
6
6
  [![Licence](https://img.shields.io/github/license/x-govuk/govuk-components)](https://github.com/x-govuk/govuk-components/blob/main/LICENSE.txt)
7
- [![GOV.UK Design System version](https://img.shields.io/badge/GOV.UK%20Design%20System-5.13.0-brightgreen)](https://design-system.service.gov.uk)
7
+ [![GOV.UK Design System version](https://img.shields.io/badge/GOV.UK%20Design%20System-6.0.0-brightgreen)](https://design-system.service.gov.uk)
8
8
  [![ViewComponent](https://img.shields.io/badge/ViewComponent-3.24.0-brightgreen)](https://viewcomponent.org/)
9
9
  [![Rails](https://img.shields.io/badge/Rails-7.1.5%20%E2%95%B1%207.2.2%20%E2%95%B1%208.0.0-E16D6D)](https://weblog.rubyonrails.org/releases/)
10
10
  [![Ruby](https://img.shields.io/badge/Ruby-3.2.5%20%20%E2%95%B1%203.2.6%20%20%E2%95%B1%203.3.6-E16D6D)](https://www.ruby-lang.org/en/downloads/)
@@ -15,41 +15,41 @@ It aims to implement the functionality from the original Nunjucks macros in a wa
15
15
 
16
16
  ## Documentation
17
17
 
18
- The gem comes with [a full guide](https://govuk-components.netlify.app/) that covers most aspects of day-to-day use, along with code and output examples. The examples in the guide (and the guide itself) are built using the components, so it will always be up to date.
18
+ The gem comes with [a full guide](https://govuk-components.x-govuk.org/) that covers most aspects of day-to-day use, along with code and output examples. The examples in the guide (and the guide itself) are built using the components, so it will always be up to date.
19
19
 
20
20
  [![Netlify Status](https://api.netlify.com/api/v1/badges/d40a5a0a-b086-4c35-b046-97fbcbf9f219/deploy-status)](https://app.netlify.com/sites/govuk-components/deploys)
21
21
 
22
22
  ## What’s included?
23
23
 
24
- All of the non-form components from the GOV.UK Design System are implemented by this library as ViewComponents. Form components are implemented by the [GOV.UK Form Builder](https://govuk-form-builder.netlify.app/).
24
+ All of the non-form components from the GOV.UK Design System are implemented by this library as ViewComponents. Form components are implemented by the [GOV.UK Form Builder](https://govuk-form-builder.x-govuk.org/).
25
25
 
26
26
  The provided components are:
27
27
 
28
- * [Accordion](https://govuk-components.netlify.app/components/accordion)
29
- * [Back link](https://govuk-components.netlify.app/components/back-link)
30
- * [Breadcrumbs](https://govuk-components.netlify.app/components/breadcrumbs)
31
- * [Cookie banner](https://govuk-components.netlify.app/components/cookie-banner)
32
- * [Details](https://govuk-components.netlify.app/components/details)
33
- * [Exit this page](https://govuk-components.netlify.app/components/exit-this-page)
34
- * [GOV.UK footer](https://govuk-components.netlify.app/components/footer)
35
- * [GOV.UK header](https://govuk-components.netlify.app/components/header)
36
- * [Inset text](https://govuk-components.netlify.app/components/inset-text)
37
- * [Notification banner](https://govuk-components.netlify.app/components/notification-banner)
38
- * [Panel](https://govuk-components.netlify.app/components/panel)
39
- * [Pagination](https://govuk-components.netlify.app/components/pagination)
40
- * [Phase banner](https://govuk-components.netlify.app/components/phase-banner)
41
- * [Section break](https://govuk-components.netlify.app/components/section-break)
42
- * [Start button](https://govuk-components.netlify.app/components/start-button)
43
- * [Summary list](https://govuk-components.netlify.app/components/summary-list)
44
- * [Tabs](https://govuk-components.netlify.app/components/tabs)
45
- * [Tables](https://govuk-components.netlify.app/components/table)
46
- * [Tags](https://govuk-components.netlify.app/components/tag)
47
- * [Task list](https://govuk-components.netlify.app/components/task-list)
48
- * [Warning text](https://govuk-components.netlify.app/components/warning-text)
49
-
50
- This library also provides helpers for creating [links](https://govuk-components.netlify.app/helpers/link),
51
- [buttons](https://govuk-components.netlify.app/helpers/button), [skip links](https://govuk-components.netlify.app/helpers/skip-link)
52
- and [back to top links](https://govuk-components.netlify.app/helpers/back-to-top-link).
28
+ * [Accordion](https://govuk-components.x-govuk.org/components/accordion)
29
+ * [Back link](https://govuk-components.x-govuk.org/components/back-link)
30
+ * [Breadcrumbs](https://govuk-components.x-govuk.org/components/breadcrumbs)
31
+ * [Cookie banner](https://govuk-components.x-govuk.org/components/cookie-banner)
32
+ * [Details](https://govuk-components.x-govuk.org/components/details)
33
+ * [Exit this page](https://govuk-components.x-govuk.org/components/exit-this-page)
34
+ * [GOV.UK footer](https://govuk-components.x-govuk.org/components/footer)
35
+ * [GOV.UK header](https://govuk-components.x-govuk.org/components/header)
36
+ * [Inset text](https://govuk-components.x-govuk.org/components/inset-text)
37
+ * [Notification banner](https://govuk-components.x-govuk.org/components/notification-banner)
38
+ * [Panel](https://govuk-components.x-govuk.org/components/panel)
39
+ * [Pagination](https://govuk-components.x-govuk.org/components/pagination)
40
+ * [Phase banner](https://govuk-components.x-govuk.org/components/phase-banner)
41
+ * [Section break](https://govuk-components.x-govuk.org/components/section-break)
42
+ * [Start button](https://govuk-components.x-govuk.org/components/start-button)
43
+ * [Summary list](https://govuk-components.x-govuk.org/components/summary-list)
44
+ * [Tabs](https://govuk-components.x-govuk.org/components/tabs)
45
+ * [Tables](https://govuk-components.x-govuk.org/components/table)
46
+ * [Tags](https://govuk-components.x-govuk.org/components/tag)
47
+ * [Task list](https://govuk-components.x-govuk.org/components/task-list)
48
+ * [Warning text](https://govuk-components.x-govuk.org/components/warning-text)
49
+
50
+ This library also provides helpers for creating [links](https://govuk-components.x-govuk.org/helpers/link),
51
+ [buttons](https://govuk-components.x-govuk.org/helpers/button), [skip links](https://govuk-components.x-govuk.org/helpers/skip-link)
52
+ and [back to top links](https://govuk-components.x-govuk.org/helpers/back-to-top-link).
53
53
 
54
54
  ## Alternative syntax
55
55
 
@@ -97,7 +97,7 @@ Here are the rendered tabs:
97
97
 
98
98
  ![Tabs preview](docs/images/tabs.png)
99
99
 
100
- For examples on usage see the [guide page](https://govuk-components.netlify.app/).
100
+ For examples on usage see the [guide page](https://govuk-components.x-govuk.org/).
101
101
 
102
102
  ## Setup
103
103
 
@@ -1,60 +1,44 @@
1
- <%= tag.header(data: { module: "#{brand}-header" }, **html_attributes) do %>
2
- <%= tag.div(**container_html_attributes) do %>
3
- <div class="<%= brand %>-header__logo">
4
- <%= link_to(homepage_url, class: ["#{brand}-header__link", "#{brand}-header__link--homepage"]) do %>
5
- <% if custom_logo.present? %>
6
- <%= custom_logo %>
7
- <% else %>
8
- <svg
9
- focusable="false"
10
- role="img"
11
- xmlns="http://www.w3.org/2000/svg"
12
- viewBox="0 0 324 60"
13
- height="30"
14
- width="162"
15
- fill="currentcolor"
16
- class="<%= brand %>-header__logotype"
17
- aria-label="GOV.UK"
18
- >
19
- <title>GOV.UK</title>
20
- <g>
21
- <circle cx="20" cy="17.6" r="3.7"/>
22
- <circle cx="10.2" cy="23.5" r="3.7"/>
23
- <circle cx="3.7" cy="33.2" r="3.7"/>
24
- <circle cx="31.7" cy="30.6" r="3.7"/>
25
- <circle cx="43.3" cy="17.6" r="3.7"/>
26
- <circle cx="53.2" cy="23.5" r="3.7"/>
27
- <circle cx="59.7" cy="33.2" r="3.7"/>
28
- <circle cx="31.7" cy="30.6" r="3.7"/>
29
- <path d="M33.1,9.8c.2-.1.3-.3.5-.5l4.6,2.4v-6.8l-4.6,1.5c-.1-.2-.3-.3-.5-.5l1.9-5.9h-6.7l1.9,5.9c-.2.1-.3.3-.5.5l-4.6-1.5v6.8l4.6-2.4c.1.2.3.3.5.5l-2.6,8c-.9,2.8,1.2,5.7,4.1,5.7h0c3,0,5.1-2.9,4.1-5.7l-2.6-8ZM37,37.9s-3.4,3.8-4.1,6.1c2.2,0,4.2-.5,6.4-2.8l-.7,8.5c-2-2.8-4.4-4.1-5.7-3.8.1,3.1.5,6.7,5.8,7.2,3.7.3,6.7-1.5,7-3.8.4-2.6-2-4.3-3.7-1.6-1.4-4.5,2.4-6.1,4.9-3.2-1.9-4.5-1.8-7.7,2.4-10.9,3,4,2.6,7.3-1.2,11.1,2.4-1.3,6.2,0,4,4.6-1.2-2.8-3.7-2.2-4.2.2-.3,1.7.7,3.7,3,4.2,1.9.3,4.7-.9,7-5.9-1.3,0-2.4.7-3.9,1.7l2.4-8c.6,2.3,1.4,3.7,2.2,4.5.6-1.6.5-2.8,0-5.3l5,1.8c-2.6,3.6-5.2,8.7-7.3,17.5-7.4-1.1-15.7-1.7-24.5-1.7h0c-8.8,0-17.1.6-24.5,1.7-2.1-8.9-4.7-13.9-7.3-17.5l5-1.8c-.5,2.5-.6,3.7,0,5.3.8-.8,1.6-2.3,2.2-4.5l2.4,8c-1.5-1-2.6-1.7-3.9-1.7,2.3,5,5.2,6.2,7,5.9,2.3-.4,3.3-2.4,3-4.2-.5-2.4-3-3.1-4.2-.2-2.2-4.6,1.6-6,4-4.6-3.7-3.7-4.2-7.1-1.2-11.1,4.2,3.2,4.3,6.4,2.4,10.9,2.5-2.8,6.3-1.3,4.9,3.2-1.8-2.7-4.1-1-3.7,1.6.3,2.3,3.3,4.1,7,3.8,5.4-.5,5.7-4.2,5.8-7.2-1.3-.2-3.7,1-5.7,3.8l-.7-8.5c2.2,2.3,4.2,2.7,6.4,2.8-.7-2.3-4.1-6.1-4.1-6.1h10.6,0Z"/>
30
- </g>
31
- <circle class="<%= brand %>-logo-dot" cx="227" cy="36" r="7.3"/>
32
- <path d="M94.7,36.1c0,1.9.2,3.6.7,5.4.5,1.7,1.2,3.2,2.1,4.5.9,1.3,2.2,2.4,3.6,3.2,1.5.8,3.2,1.2,5.3,1.2s3.6-.3,4.9-.9c1.3-.6,2.3-1.4,3.1-2.3.8-.9,1.3-2,1.6-3,.3-1.1.5-2.1.5-3v-.4h-11v-6.6h19.5v24h-7.7v-5.4c-.5.8-1.2,1.6-2,2.3-.8.7-1.7,1.3-2.7,1.8-1,.5-2.1.9-3.3,1.2-1.2.3-2.5.4-3.8.4-3.2,0-6-.6-8.4-1.7-2.5-1.1-4.5-2.7-6.2-4.7-1.7-2-3-4.4-3.8-7.1-.9-2.7-1.3-5.6-1.3-8.7s.5-6,1.5-8.7,2.4-5.1,4.2-7.1c1.8-2,4-3.6,6.5-4.7s5.4-1.7,8.6-1.7,4,.2,5.9.7c1.8.5,3.5,1.1,5.1,2,1.5.9,2.9,1.9,4,3.2,1.2,1.2,2.1,2.6,2.8,4.1l-7.7,4.3c-.5-.9-1-1.8-1.6-2.6-.6-.8-1.3-1.5-2.2-2.1-.8-.6-1.7-1-2.8-1.4-1-.3-2.2-.5-3.5-.5-2,0-3.8.4-5.3,1.2s-2.7,1.9-3.6,3.2c-.9,1.3-1.7,2.8-2.1,4.6s-.7,3.5-.7,5.3v.3h0ZM152.9,13.7c3.2,0,6.1.6,8.7,1.7,2.6,1.2,4.7,2.7,6.5,4.7,1.8,2,3.1,4.4,4.1,7.1s1.4,5.6,1.4,8.7-.5,6-1.4,8.7c-.9,2.7-2.3,5.1-4.1,7.1s-4,3.6-6.5,4.7c-2.6,1.1-5.5,1.7-8.7,1.7s-6.1-.6-8.7-1.7c-2.6-1.1-4.7-2.7-6.5-4.7-1.8-2-3.1-4.4-4.1-7.1-.9-2.7-1.4-5.6-1.4-8.7s.5-6,1.4-8.7,2.3-5.1,4.1-7.1c1.8-2,4-3.6,6.5-4.7s5.4-1.7,8.7-1.7h0ZM152.9,50.4c1.9,0,3.6-.4,5-1.1,1.4-.7,2.7-1.7,3.6-3,1-1.3,1.7-2.8,2.2-4.5.5-1.7.8-3.6.8-5.7v-.2c0-2-.3-3.9-.8-5.7-.5-1.7-1.3-3.3-2.2-4.5-1-1.3-2.2-2.3-3.6-3-1.4-.7-3.1-1.1-5-1.1s-3.6.4-5,1.1c-1.5.7-2.7,1.7-3.6,3s-1.7,2.8-2.2,4.5c-.5,1.7-.8,3.6-.8,5.7v.2c0,2.1.3,4,.8,5.7.5,1.7,1.2,3.2,2.2,4.5,1,1.3,2.2,2.3,3.6,3,1.5.7,3.1,1.1,5,1.1ZM189.1,58l-12.3-44h9.8l8.4,32.9h.3l8.2-32.9h9.7l-12.3,44M262.9,50.4c1.3,0,2.5-.2,3.6-.6,1.1-.4,2-.9,2.8-1.7.8-.8,1.4-1.7,1.9-2.9.5-1.2.7-2.5.7-4.1V14h8.6v28.5c0,2.4-.4,4.6-1.3,6.6-.9,2-2.1,3.6-3.7,5-1.6,1.4-3.4,2.4-5.6,3.2-2.2.7-4.5,1.1-7.1,1.1s-4.9-.4-7.1-1.1c-2.2-.7-4-1.8-5.6-3.2s-2.8-3-3.7-5c-.9-2-1.3-4.1-1.3-6.6V14h8.7v27.2c0,1.6.2,2.9.7,4.1.5,1.2,1.1,2.1,1.9,2.9.8.8,1.7,1.3,2.8,1.7s2.3.6,3.6.6h0ZM288.5,14h8.7v19.1l15.5-19.1h10.8l-15.1,17.6,16.1,26.4h-10.2l-11.5-19.7-5.6,6.3v13.5h-8.7"/>
33
- </svg>
34
- <% end %>
35
- <% if product_name.present? %>
36
- <%= product_name %>
37
- <% end %>
38
- <% end %>
39
- </div>
40
-
41
- <% if service_name.present? || navigation_items.present? %>
42
- <div class="<%= brand %>-header__content">
43
- <% if service_name.present? %>
44
- <%= link_to(service_name, service_url, class: ["#{brand}-header__link", "#{brand}-header__service-name"]) %>
45
- <% end %>
46
-
47
- <% if navigation_items.any? %>
48
- <%= tag.nav(**navigation_html_attributes) do %>
49
- <%= tag.button("Menu", type: "button", class: ["#{brand}-header__menu-button", "#{brand}-js-header-toggle"], hidden: true, aria: { controls: "navigation", label: menu_button_label }) %>
50
- <ul id="navigation" class="<%= brand %>-header__navigation-list">
51
- <% navigation_items.each do |item| %>
52
- <%= item %>
53
- <% end %>
54
- </ul>
1
+ <header>
2
+ <%= tag.div(data: { module: "#{brand}-header" }, **html_attributes) do %>
3
+ <%= tag.div(**container_html_attributes) do %>
4
+ <div class="<%= brand %>-header__logo">
5
+ <%= link_to(homepage_url, class: ["#{brand}-header__link", "#{brand}-header__homepage-link"]) do %>
6
+ <% if custom_logo.present? %>
7
+ <%= custom_logo %>
8
+ <% else %>
9
+ <svg
10
+ focusable="false"
11
+ role="img"
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ viewBox="0 0 324 60"
14
+ height="30"
15
+ width="162"
16
+ fill="currentcolor"
17
+ class="<%= brand %>-header__logotype"
18
+ aria-label="GOV.UK"
19
+ >
20
+ <title>GOV.UK</title>
21
+ <g>
22
+ <circle cx="20" cy="17.6" r="3.7"/>
23
+ <circle cx="10.2" cy="23.5" r="3.7"/>
24
+ <circle cx="3.7" cy="33.2" r="3.7"/>
25
+ <circle cx="31.7" cy="30.6" r="3.7"/>
26
+ <circle cx="43.3" cy="17.6" r="3.7"/>
27
+ <circle cx="53.2" cy="23.5" r="3.7"/>
28
+ <circle cx="59.7" cy="33.2" r="3.7"/>
29
+ <circle cx="31.7" cy="30.6" r="3.7"/>
30
+ <path d="M33.1,9.8c.2-.1.3-.3.5-.5l4.6,2.4v-6.8l-4.6,1.5c-.1-.2-.3-.3-.5-.5l1.9-5.9h-6.7l1.9,5.9c-.2.1-.3.3-.5.5l-4.6-1.5v6.8l4.6-2.4c.1.2.3.3.5.5l-2.6,8c-.9,2.8,1.2,5.7,4.1,5.7h0c3,0,5.1-2.9,4.1-5.7l-2.6-8ZM37,37.9s-3.4,3.8-4.1,6.1c2.2,0,4.2-.5,6.4-2.8l-.7,8.5c-2-2.8-4.4-4.1-5.7-3.8.1,3.1.5,6.7,5.8,7.2,3.7.3,6.7-1.5,7-3.8.4-2.6-2-4.3-3.7-1.6-1.4-4.5,2.4-6.1,4.9-3.2-1.9-4.5-1.8-7.7,2.4-10.9,3,4,2.6,7.3-1.2,11.1,2.4-1.3,6.2,0,4,4.6-1.2-2.8-3.7-2.2-4.2.2-.3,1.7.7,3.7,3,4.2,1.9.3,4.7-.9,7-5.9-1.3,0-2.4.7-3.9,1.7l2.4-8c.6,2.3,1.4,3.7,2.2,4.5.6-1.6.5-2.8,0-5.3l5,1.8c-2.6,3.6-5.2,8.7-7.3,17.5-7.4-1.1-15.7-1.7-24.5-1.7h0c-8.8,0-17.1.6-24.5,1.7-2.1-8.9-4.7-13.9-7.3-17.5l5-1.8c-.5,2.5-.6,3.7,0,5.3.8-.8,1.6-2.3,2.2-4.5l2.4,8c-1.5-1-2.6-1.7-3.9-1.7,2.3,5,5.2,6.2,7,5.9,2.3-.4,3.3-2.4,3-4.2-.5-2.4-3-3.1-4.2-.2-2.2-4.6,1.6-6,4-4.6-3.7-3.7-4.2-7.1-1.2-11.1,4.2,3.2,4.3,6.4,2.4,10.9,2.5-2.8,6.3-1.3,4.9,3.2-1.8-2.7-4.1-1-3.7,1.6.3,2.3,3.3,4.1,7,3.8,5.4-.5,5.7-4.2,5.8-7.2-1.3-.2-3.7,1-5.7,3.8l-.7-8.5c2.2,2.3,4.2,2.7,6.4,2.8-.7-2.3-4.1-6.1-4.1-6.1h10.6,0Z"/>
31
+ </g>
32
+ <circle class="<%= brand %>-logo-dot" cx="227" cy="36" r="7.3"/>
33
+ <path d="M94.7,36.1c0,1.9.2,3.6.7,5.4.5,1.7,1.2,3.2,2.1,4.5.9,1.3,2.2,2.4,3.6,3.2,1.5.8,3.2,1.2,5.3,1.2s3.6-.3,4.9-.9c1.3-.6,2.3-1.4,3.1-2.3.8-.9,1.3-2,1.6-3,.3-1.1.5-2.1.5-3v-.4h-11v-6.6h19.5v24h-7.7v-5.4c-.5.8-1.2,1.6-2,2.3-.8.7-1.7,1.3-2.7,1.8-1,.5-2.1.9-3.3,1.2-1.2.3-2.5.4-3.8.4-3.2,0-6-.6-8.4-1.7-2.5-1.1-4.5-2.7-6.2-4.7-1.7-2-3-4.4-3.8-7.1-.9-2.7-1.3-5.6-1.3-8.7s.5-6,1.5-8.7,2.4-5.1,4.2-7.1c1.8-2,4-3.6,6.5-4.7s5.4-1.7,8.6-1.7,4,.2,5.9.7c1.8.5,3.5,1.1,5.1,2,1.5.9,2.9,1.9,4,3.2,1.2,1.2,2.1,2.6,2.8,4.1l-7.7,4.3c-.5-.9-1-1.8-1.6-2.6-.6-.8-1.3-1.5-2.2-2.1-.8-.6-1.7-1-2.8-1.4-1-.3-2.2-.5-3.5-.5-2,0-3.8.4-5.3,1.2s-2.7,1.9-3.6,3.2c-.9,1.3-1.7,2.8-2.1,4.6s-.7,3.5-.7,5.3v.3h0ZM152.9,13.7c3.2,0,6.1.6,8.7,1.7,2.6,1.2,4.7,2.7,6.5,4.7,1.8,2,3.1,4.4,4.1,7.1s1.4,5.6,1.4,8.7-.5,6-1.4,8.7c-.9,2.7-2.3,5.1-4.1,7.1s-4,3.6-6.5,4.7c-2.6,1.1-5.5,1.7-8.7,1.7s-6.1-.6-8.7-1.7c-2.6-1.1-4.7-2.7-6.5-4.7-1.8-2-3.1-4.4-4.1-7.1-.9-2.7-1.4-5.6-1.4-8.7s.5-6,1.4-8.7,2.3-5.1,4.1-7.1c1.8-2,4-3.6,6.5-4.7s5.4-1.7,8.7-1.7h0ZM152.9,50.4c1.9,0,3.6-.4,5-1.1,1.4-.7,2.7-1.7,3.6-3,1-1.3,1.7-2.8,2.2-4.5.5-1.7.8-3.6.8-5.7v-.2c0-2-.3-3.9-.8-5.7-.5-1.7-1.3-3.3-2.2-4.5-1-1.3-2.2-2.3-3.6-3-1.4-.7-3.1-1.1-5-1.1s-3.6.4-5,1.1c-1.5.7-2.7,1.7-3.6,3s-1.7,2.8-2.2,4.5c-.5,1.7-.8,3.6-.8,5.7v.2c0,2.1.3,4,.8,5.7.5,1.7,1.2,3.2,2.2,4.5,1,1.3,2.2,2.3,3.6,3,1.5.7,3.1,1.1,5,1.1ZM189.1,58l-12.3-44h9.8l8.4,32.9h.3l8.2-32.9h9.7l-12.3,44M262.9,50.4c1.3,0,2.5-.2,3.6-.6,1.1-.4,2-.9,2.8-1.7.8-.8,1.4-1.7,1.9-2.9.5-1.2.7-2.5.7-4.1V14h8.6v28.5c0,2.4-.4,4.6-1.3,6.6-.9,2-2.1,3.6-3.7,5-1.6,1.4-3.4,2.4-5.6,3.2-2.2.7-4.5,1.1-7.1,1.1s-4.9-.4-7.1-1.1c-2.2-.7-4-1.8-5.6-3.2s-2.8-3-3.7-5c-.9-2-1.3-4.1-1.3-6.6V14h8.7v27.2c0,1.6.2,2.9.7,4.1.5,1.2,1.1,2.1,1.9,2.9.8.8,1.7,1.3,2.8,1.7s2.3.6,3.6.6h0ZM288.5,14h8.7v19.1l15.5-19.1h10.8l-15.1,17.6,16.1,26.4h-10.2l-11.5-19.7-5.6,6.3v13.5h-8.7"/>
34
+ </svg>
55
35
  <% end %>
36
+ <%= product_name %>
56
37
  <% end %>
57
38
  </div>
39
+ <%= content %>
58
40
  <% end %>
59
41
  <% end %>
60
- <% end %>
42
+ <%= service_navigation %>
43
+ <%= phase_banner %>
44
+ </header>
@@ -1,14 +1,13 @@
1
1
  class GovukComponent::HeaderComponent < GovukComponent::Base
2
- renders_many :navigation_items, "NavigationItem"
3
2
  renders_one :custom_logo
4
3
  renders_one :product_name, "ProductName"
4
+ renders_one :service_navigation, "GovukComponent::ServiceNavigationComponent"
5
+ renders_one :phase_banner, "GovukComponent::PhaseBannerComponent"
5
6
 
6
7
  attr_reader :homepage_url,
7
8
  :service_name,
8
9
  :service_url,
9
10
  :menu_button_label,
10
- :navigation_label,
11
- :custom_navigation_classes,
12
11
  :custom_container_classes,
13
12
  :full_width_border
14
13
 
@@ -16,10 +15,6 @@ class GovukComponent::HeaderComponent < GovukComponent::Base
16
15
  html_attributes: {},
17
16
  homepage_url: config.default_header_homepage_url,
18
17
  menu_button_label: config.default_header_menu_button_label,
19
- navigation_classes: [],
20
- navigation_label: config.default_header_navigation_label,
21
- service_name: config.default_header_service_name,
22
- service_url: config.default_header_service_url,
23
18
  container_classes: nil,
24
19
  full_width_border: false)
25
20
 
@@ -27,20 +22,12 @@ class GovukComponent::HeaderComponent < GovukComponent::Base
27
22
  @service_name = service_name
28
23
  @service_url = service_url
29
24
  @menu_button_label = menu_button_label
30
- @custom_navigation_classes = navigation_classes
31
- @navigation_label = navigation_label
32
25
  @custom_container_classes = container_classes
33
26
  @full_width_border = full_width_border
34
27
 
35
28
  super(classes:, html_attributes:)
36
29
  end
37
30
 
38
- def before_render
39
- if service_name.present? || navigation_items.present?
40
- Rails.logger.warn('Service name and navigation links are deprecated and will be removed in the next breaking release of GOV.UK Frontend. See https://github.com/alphagov/govuk-frontend/releases/tag/v5.9.0')
41
- end
42
- end
43
-
44
31
  private
45
32
 
46
33
  def default_attributes
@@ -52,66 +39,10 @@ private
52
39
  }
53
40
  end
54
41
 
55
- def navigation_html_attributes
56
- nc = ["#{brand}-header__navigation"].append(custom_navigation_classes).compact
57
-
58
- { class: nc, aria: { label: navigation_label } }
59
- end
60
-
61
42
  def container_html_attributes
62
43
  { class: ["#{brand}-header__container", "#{brand}-width-container"].append(custom_container_classes).compact }
63
44
  end
64
45
 
65
- class NavigationItem < GovukComponent::Base
66
- attr_reader :text, :href, :options, :active
67
-
68
- def initialize(text:, href: nil, options: {}, active: nil, classes: [], html_attributes: {})
69
- @text = text
70
- @href = href
71
- @options = options
72
- @active_override = active
73
-
74
- super(classes:, html_attributes:)
75
- end
76
-
77
- def before_render
78
- if active?
79
- html_attributes[:class] << active_class
80
- end
81
- end
82
-
83
- def active_class
84
- ["#{brand}-header__navigation-item--active"] if active?
85
- end
86
-
87
- def link?
88
- href.present?
89
- end
90
-
91
- def call
92
- tag.li(**html_attributes) do
93
- if link?
94
- link_to(text, href, class: "#{brand}-header__link", **options)
95
- else
96
- text
97
- end
98
- end
99
- end
100
-
101
- private
102
-
103
- def active?
104
- return @active_override unless @active_override.nil?
105
- return false if href.blank?
106
-
107
- current_page?(href)
108
- end
109
-
110
- def default_attributes
111
- { class: ["#{brand}-header__navigation-item"] }
112
- end
113
- end
114
-
115
46
  class ProductName < GovukComponent::Base
116
47
  attr_reader :name
117
48
 
@@ -76,8 +76,13 @@ private
76
76
  end
77
77
 
78
78
  def aria_current
79
- current = (current?) ? 'page' : true
79
+ { aria: { current: aria_current_value } }
80
+ end
81
+
82
+ def aria_current_value
83
+ return 'page' if current?
84
+ return true if active?
80
85
 
81
- { aria: { current: } }
86
+ nil
82
87
  end
83
88
  end
@@ -92,7 +92,7 @@ private
92
92
  "Menu",
93
93
  type: 'button',
94
94
  class: ["#{brand}-service-navigation__toggle", "#{brand}-js-service-navigation-toggle"],
95
- aria: { controls: navigation_id },
95
+ aria: { controls: navigation_id, hidden: true },
96
96
  hidden: true
97
97
  )
98
98
  end
@@ -1,7 +1,7 @@
1
1
  class GovukComponent::TagComponent < GovukComponent::Base
2
2
  attr_reader :text, :colour
3
3
 
4
- COLOURS = %w(grey green turquoise blue light-blue red purple pink orange yellow).freeze
4
+ COLOURS = %w(grey green teal blue light-blue red purple magenta orange yellow).freeze
5
5
 
6
6
  def initialize(text: nil, colour: config.default_tag_colour, classes: [], html_attributes: {})
7
7
  @text = text
@@ -26,8 +26,8 @@ module GovukComponentsHelper
26
26
  }.each do |name, klass|
27
27
  define_method(name) do |*args, **kwargs, &block|
28
28
  capture do
29
- render(klass.constantize.new(*args, **kwargs)) do |com|
30
- block.call(com) if block.present?
29
+ render(klass.constantize.new(*args, **kwargs)) do |component|
30
+ block.presence&.call(component)
31
31
  end
32
32
  end
33
33
  end
@@ -53,11 +53,7 @@ module Govuk
53
53
  # +:default_exit_this_page_timed_out_text+ Text announced by screen readers when the keyboard shortcut has timed out without successful activation. Default in govuk-frontend is 'Exit this page expired.' Defaults to nil so govuk-frontend value is used unless overridden.
54
54
  # +:default_exit_this_page_press_two_more_times_text+ Text announced by screen readers when the user must press *Shift* two more times to activate the button. Default in govuk-frontend is 'Shift, press 2 more times to exit.' Defaults to nil so govuk-frontend value is used unless overridden.
55
55
  # +:default_exit_this_page_press_one_more_time_text+ Text announced by screen readers when the user must press *Shift* one more time to activate the button. Default in govuk-frontend is 'Shift, press 1 more time to exit.' Defaults to nil so govuk-frontend value is used unless overridden.
56
- # +:default_header_navigation_label+ 'Navigation menu'
57
- # +:default_header_menu_button_label+ 'Show or hide navigation menu'
58
- # +:default_header_homepage_url+ '/'
59
- # +:default_header_service_name+ nil
60
- # +:default_header_service_url+ '/'
56
+ # +:default_header_homepage_url+ 'https://www.gov.uk'
61
57
  # +:default_footer_meta_text+ nil
62
58
  # +:default_footer_copyright_text+ '© Crown copyright'
63
59
  # +:default_footer_copyright_url+ "https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/uk-government-licensing-framework/crown-copyright/"
@@ -68,7 +64,7 @@ module Govuk
68
64
  # +:default_phase_banner_text+ nil
69
65
  # +:default_section_break_visible+ false
70
66
  # +:default_section_break_size+ Size of the section break, possible values: +m+, +l+ and +xl+. Defaults to nil.
71
- # +:default_tag_colour+ the default colour for tags, possible values: +grey+, +green+, +turquoise+, +blue+, +red+, +purple+, +pink+, +orange+, +yellow+. Defaults to +nil+
67
+ # +:default_tag_colour+ the default colour for tags, possible values: +grey+, +green+, +teal+, +blue+, +red+, +purple+, +magenta+, +orange+, +yellow+. Defaults to +nil+
72
68
  # +:default_start_button_as_button+ false
73
69
  # +:default_summary_list_borders+ true
74
70
  # +:default_summary_list_value_text+ the fallback text for summary list values which will be displayed when the value is nil. Defaults to +""+
@@ -119,11 +115,7 @@ module Govuk
119
115
  default_exit_this_page_timed_out_text: nil,
120
116
  default_exit_this_page_press_two_more_times_text: nil,
121
117
  default_exit_this_page_press_one_more_time_text: nil,
122
- default_header_navigation_label: 'Menu',
123
- default_header_menu_button_label: 'Show or hide menu',
124
- default_header_homepage_url: '/',
125
- default_header_service_name: nil,
126
- default_header_service_url: '/',
118
+ default_header_homepage_url: 'https://www.gov.uk',
127
119
  default_footer_meta_text: nil,
128
120
  default_footer_copyright_text: '© Crown copyright',
129
121
  default_footer_copyright_url: "https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/uk-government-licensing-framework/crown-copyright/",
@@ -1,5 +1,5 @@
1
1
  module Govuk
2
2
  module Components
3
- VERSION = '5.13.0'.freeze
3
+ VERSION = '6.0.0b1'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk-components
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.13.0
4
+ version: 6.0.0b1
5
5
  platform: ruby
6
6
  authors:
7
7
  - DfE developers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-10-29 00:00:00.000000000 Z
11
+ date: 2026-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: html-attributes-utils
@@ -59,7 +59,7 @@ dependencies:
59
59
  version: '4.0'
60
60
  - - "<"
61
61
  - !ruby/object:Gem::Version
62
- version: '4.2'
62
+ version: '4.3'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -69,7 +69,7 @@ dependencies:
69
69
  version: '4.0'
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
- version: '4.2'
72
+ version: '4.3'
73
73
  - !ruby/object:Gem::Dependency
74
74
  name: deep_merge
75
75
  requirement: !ruby/object:Gem::Requirement
@@ -146,14 +146,14 @@ dependencies:
146
146
  requirements:
147
147
  - - '='
148
148
  - !ruby/object:Gem::Version
149
- version: 5.1.20
149
+ version: 5.2.0
150
150
  type: :development
151
151
  prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
153
153
  requirements:
154
154
  - - '='
155
155
  - !ruby/object:Gem::Version
156
- version: 5.1.20
156
+ version: 5.2.0
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: sassc-rails
159
159
  requirement: !ruby/object:Gem::Requirement
@@ -244,14 +244,14 @@ dependencies:
244
244
  requirements:
245
245
  - - "~>"
246
246
  - !ruby/object:Gem::Version
247
- version: 4.6.0
247
+ version: 4.7.0
248
248
  type: :development
249
249
  prerelease: false
250
250
  version_requirements: !ruby/object:Gem::Requirement
251
251
  requirements:
252
252
  - - "~>"
253
253
  - !ruby/object:Gem::Version
254
- version: 4.6.0
254
+ version: 4.7.0
255
255
  - !ruby/object:Gem::Dependency
256
256
  name: rubypants
257
257
  requirement: !ruby/object:Gem::Requirement
@@ -433,9 +433,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
433
433
  version: '0'
434
434
  required_rubygems_version: !ruby/object:Gem::Requirement
435
435
  requirements:
436
- - - ">="
436
+ - - ">"
437
437
  - !ruby/object:Gem::Version
438
- version: '0'
438
+ version: 1.3.1
439
439
  requirements: []
440
440
  rubygems_version: 3.4.19
441
441
  signing_key: