govuk-components 2.1.0 → 2.1.4
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 +4 -4
- data/README.md +2 -1
- data/app/components/govuk_component/accordion_component/section_component.rb +1 -3
- data/app/components/govuk_component/breadcrumbs_component.rb +6 -5
- data/app/components/govuk_component/cookie_banner_component/message_component.rb +1 -1
- data/app/components/govuk_component/cookie_banner_component.rb +6 -5
- data/app/components/govuk_component/footer_component.html.erb +10 -3
- data/app/components/govuk_component/footer_component.rb +1 -0
- data/app/components/govuk_component/header_component.html.erb +10 -4
- data/app/components/govuk_component/header_component.rb +33 -12
- data/app/components/govuk_component/tab_component.rb +1 -3
- data/app/components/govuk_component/table_component/caption_component.rb +1 -3
- data/app/components/govuk_component/table_component/cell_component.rb +3 -9
- data/lib/govuk/components/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5a21817c2a776dc4571b5d5dab5a6492d4648672c6ec1603b1955132a811108
|
4
|
+
data.tar.gz: 00e69dbbf540695dcaa130e21f9a340293d80cc73bbb1b9ee6827e39c063d0e7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2308aa03c1af4efb1aae22af50322cbb7aebdf03b1c8668b12918b8c1edcf53c197217ef66b7ab19d46c218386f60075f78e99957726e898e3492df5e0c7dfa
|
7
|
+
data.tar.gz: 77bccd1dd23d937d82c1e058fed2803a14e62a99e15acdb4841134249b24bef8992a9347c11920a95a620d28a13f0d7af187f992c1e8f232c45eda5c99bc969e
|
data/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
[](https://codeclimate.com/github/DFE-Digital/govuk-components/maintainability)
|
5
5
|
[](https://codeclimate.com/github/DFE-Digital/govuk-components/test_coverage)
|
6
6
|
[](https://github.com/DFE-Digital/govuk-components/blob/master/LICENSE)
|
7
|
-
[](https://design-system.service.gov.uk)
|
8
8
|
|
9
9
|
This gem provides a suite of reusable components for the [GOV.UK Design System](https://design-system.service.gov.uk/). It is intended to provide a lightweight alternative to the [GOV.UK Publishing Components](https://github.com/alphagov/govuk_publishing_components) library and is built with Github's [ViewComponent](https://github.com/github/view_component) framework.
|
10
10
|
|
@@ -32,6 +32,7 @@ The provided components are:
|
|
32
32
|
* [Start button](https://dfe-digital.github.io/govuk-components/#start-button)
|
33
33
|
* [Summary list](https://dfe-digital.github.io/govuk-components/#summary-list)
|
34
34
|
* [Tabs](https://dfe-digital.github.io/govuk-components/#tabs)
|
35
|
+
* [Tables](https://dfe-digital.github.io/govuk-components/#table)
|
35
36
|
* [Tags](https://dfe-digital.github.io/govuk-components/#tags)
|
36
37
|
* [Warning text](https://dfe-digital.github.io/govuk-components/#warning-text)
|
37
38
|
|
@@ -34,8 +34,6 @@ class GovukComponent::AccordionComponent::SectionComponent < GovukComponent::Bas
|
|
34
34
|
private
|
35
35
|
|
36
36
|
def default_classes
|
37
|
-
|
38
|
-
classes.append("govuk-accordion__section--expanded") if expanded?
|
39
|
-
end
|
37
|
+
class_names("govuk-accordion__section", "govuk-accordion__section--expanded" => expanded?).split
|
40
38
|
end
|
41
39
|
end
|
@@ -12,10 +12,11 @@ class GovukComponent::BreadcrumbsComponent < GovukComponent::Base
|
|
12
12
|
private
|
13
13
|
|
14
14
|
def default_classes
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
15
|
+
class_names(
|
16
|
+
"govuk-breadcrumbs",
|
17
|
+
"govuk-!-display-none-print" => hide_in_print,
|
18
|
+
"govuk-breadcrumbs--collapse-on-mobile" => collapse_on_mobile
|
19
|
+
).split
|
19
20
|
end
|
20
21
|
|
21
22
|
def build_list(breadcrumbs)
|
@@ -33,7 +34,7 @@ private
|
|
33
34
|
if link.present?
|
34
35
|
list_item { link_to(text, link, class: "govuk-breadcrumbs__link") }
|
35
36
|
else
|
36
|
-
list_item(aria: { current: "page" }) { text }
|
37
|
+
list_item(aria: { current: "page" }) { text.to_s }
|
37
38
|
end
|
38
39
|
end
|
39
40
|
|
@@ -1,13 +1,14 @@
|
|
1
1
|
class GovukComponent::CookieBannerComponent < GovukComponent::Base
|
2
2
|
renders_many :messages, GovukComponent::CookieBannerComponent::MessageComponent
|
3
3
|
|
4
|
-
attr_accessor :aria_label, :hidden
|
4
|
+
attr_accessor :aria_label, :hidden, :hide_in_print
|
5
5
|
|
6
|
-
def initialize(aria_label: "Cookie banner", hidden: false, classes: [], html_attributes: {})
|
6
|
+
def initialize(aria_label: "Cookie banner", hidden: false, hide_in_print: true, classes: [], html_attributes: {})
|
7
7
|
super(classes: classes, html_attributes: html_attributes)
|
8
8
|
|
9
|
-
@aria_label
|
10
|
-
@hidden
|
9
|
+
@aria_label = aria_label
|
10
|
+
@hidden = hidden
|
11
|
+
@hide_in_print = hide_in_print
|
11
12
|
end
|
12
13
|
|
13
14
|
def call
|
@@ -19,6 +20,6 @@ class GovukComponent::CookieBannerComponent < GovukComponent::Base
|
|
19
20
|
private
|
20
21
|
|
21
22
|
def default_classes
|
22
|
-
|
23
|
+
class_names("govuk-cookie-banner", "govuk-!-display-none-print" => hide_in_print).split
|
23
24
|
end
|
24
25
|
end
|
@@ -1,5 +1,13 @@
|
|
1
1
|
<%= tag.footer(class: classes, role: 'contentinfo', **html_attributes) do %>
|
2
2
|
<%= tag.div(class: container_classes, **container_html_attributes) do %>
|
3
|
+
<% if navigation.present? %>
|
4
|
+
<div class="govuk-footer__navigation">
|
5
|
+
<%= navigation %>
|
6
|
+
</div>
|
7
|
+
|
8
|
+
<hr class="govuk-footer__section-break">
|
9
|
+
<% end %>
|
10
|
+
|
3
11
|
<%= tag.div(class: meta_classes, **meta_html_attributes) do %>
|
4
12
|
<% if meta.present? %>
|
5
13
|
<%= meta %>
|
@@ -31,9 +39,8 @@
|
|
31
39
|
<%= meta_content %>
|
32
40
|
<% end %>
|
33
41
|
</div>
|
34
|
-
|
35
|
-
|
36
|
-
</div>
|
42
|
+
|
43
|
+
<%= tag.div(copyright, class: "govuk-footer__meta-item") %>
|
37
44
|
<% end %>
|
38
45
|
<% end %>
|
39
46
|
<% end %>
|
@@ -7,11 +7,19 @@
|
|
7
7
|
<%= custom_logo %>
|
8
8
|
<% else %>
|
9
9
|
<% if crown %>
|
10
|
+
<!--[if gt IE 8]><!-->
|
10
11
|
<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">
|
11
12
|
<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>
|
12
|
-
<image src="/assets/images/govuk-logotype-crown.png" xlink:href="" class="govuk-header__logotype-crown-fallback-image" width="36" height="32"></image>
|
13
13
|
</svg>
|
14
|
+
<!--<![endif]-->
|
14
15
|
<% end %>
|
16
|
+
|
17
|
+
<% if crown_fallback_image_path.present? %>
|
18
|
+
<!--[if IE 8]>
|
19
|
+
<%= image_tag(crown_fallback_image_path, **crown_fallback_image_attributes) %>
|
20
|
+
<![endif]-->
|
21
|
+
<% end %>
|
22
|
+
|
15
23
|
<%= tag.span(logotype, class: "govuk-header__logotype-text") %>
|
16
24
|
<% end %>
|
17
25
|
</span>
|
@@ -32,9 +40,7 @@
|
|
32
40
|
<nav>
|
33
41
|
<%= tag.ul(class: navigation_classes, id: "navigation", aria: { label: navigation_label }) do %>
|
34
42
|
<% navigation_items.each do |item| %>
|
35
|
-
<%=
|
36
|
-
<%= item %>
|
37
|
-
<% end %>
|
43
|
+
<%= item %>
|
38
44
|
<% end %>
|
39
45
|
<% end %>
|
40
46
|
</nav>
|
@@ -5,6 +5,7 @@ class GovukComponent::HeaderComponent < GovukComponent::Base
|
|
5
5
|
|
6
6
|
attr_reader :logotype,
|
7
7
|
:crown,
|
8
|
+
:crown_fallback_image_path,
|
8
9
|
:homepage_url,
|
9
10
|
:service_name,
|
10
11
|
:service_url,
|
@@ -17,6 +18,7 @@ class GovukComponent::HeaderComponent < GovukComponent::Base
|
|
17
18
|
html_attributes: {},
|
18
19
|
logotype: 'GOV.UK',
|
19
20
|
crown: true,
|
21
|
+
crown_fallback_image_path: nil,
|
20
22
|
homepage_url: '/',
|
21
23
|
menu_button_label: 'Show or hide navigation menu',
|
22
24
|
navigation_classes: [],
|
@@ -29,6 +31,7 @@ class GovukComponent::HeaderComponent < GovukComponent::Base
|
|
29
31
|
|
30
32
|
@logotype = logotype
|
31
33
|
@crown = crown
|
34
|
+
@crown_fallback_image_path = crown_fallback_image_path
|
32
35
|
@homepage_url = homepage_url
|
33
36
|
@service_name = service_name
|
34
37
|
@service_url = service_url
|
@@ -52,23 +55,33 @@ private
|
|
52
55
|
combine_classes(%w(govuk-header__container govuk-width-container), custom_container_classes)
|
53
56
|
end
|
54
57
|
|
58
|
+
def crown_fallback_image_attributes
|
59
|
+
{
|
60
|
+
class: "govuk-header__logotype-crown-fallback-image",
|
61
|
+
width: "36",
|
62
|
+
height: "32",
|
63
|
+
}
|
64
|
+
end
|
65
|
+
|
55
66
|
class NavigationItem < GovukComponent::Base
|
56
|
-
attr_reader :text, :href, :active
|
67
|
+
attr_reader :text, :href, :options, :active
|
57
68
|
|
58
|
-
def initialize(text:, href: nil, active:
|
69
|
+
def initialize(text:, href: nil, options: {}, active: nil, classes: [], html_attributes: {})
|
59
70
|
super(classes: classes, html_attributes: html_attributes)
|
60
71
|
|
61
|
-
@text
|
62
|
-
@href
|
63
|
-
@
|
72
|
+
@text = text
|
73
|
+
@href = href
|
74
|
+
@options = options
|
75
|
+
|
76
|
+
@active_override = active
|
64
77
|
end
|
65
78
|
|
66
|
-
def
|
67
|
-
active
|
79
|
+
def before_render
|
80
|
+
@active = active?(@active_override)
|
68
81
|
end
|
69
82
|
|
70
83
|
def active_class
|
71
|
-
%w(govuk-header__navigation-item--active) if active
|
84
|
+
%w(govuk-header__navigation-item--active) if @active
|
72
85
|
end
|
73
86
|
|
74
87
|
def link?
|
@@ -76,15 +89,23 @@ private
|
|
76
89
|
end
|
77
90
|
|
78
91
|
def call
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
92
|
+
tag.li(class: classes.append(active_class), **html_attributes) do
|
93
|
+
if link?
|
94
|
+
link_to(text, href, **options, class: "govuk-header__link")
|
95
|
+
else
|
96
|
+
text
|
97
|
+
end
|
83
98
|
end
|
84
99
|
end
|
85
100
|
|
86
101
|
private
|
87
102
|
|
103
|
+
def active?(active_override)
|
104
|
+
return current_page?(href) if active_override.nil?
|
105
|
+
|
106
|
+
active_override
|
107
|
+
end
|
108
|
+
|
88
109
|
def default_classes
|
89
110
|
%w(govuk-header__navigation-item)
|
90
111
|
end
|
@@ -35,9 +35,7 @@ private
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def li_classes(i = nil)
|
38
|
-
|
39
|
-
c.append("govuk-tabs__list-item--selected") if i&.zero?
|
40
|
-
end
|
38
|
+
class_names("govuk-tabs__list-item", "govuk-tabs__list-item--selected" => i&.zero?).split
|
41
39
|
end
|
42
40
|
|
43
41
|
def li_link
|
@@ -37,19 +37,13 @@ private
|
|
37
37
|
|
38
38
|
def default_classes
|
39
39
|
if header
|
40
|
-
|
41
|
-
c << "govuk-table__header--numeric" if numeric?
|
42
|
-
c << width_class if width?
|
43
|
-
end
|
40
|
+
class_names("govuk-table__header", "govuk-table__header--numeric" => numeric?, width_class => width?).split
|
44
41
|
else
|
45
|
-
|
46
|
-
c << "govuk-table__cell--numeric" if numeric?
|
47
|
-
c << width_class if width?
|
48
|
-
end
|
42
|
+
class_names("govuk-table__cell", "govuk-table__cell--numeric" => numeric?, width_class => width?).split
|
49
43
|
end
|
50
44
|
end
|
51
45
|
|
52
46
|
def width_class
|
53
|
-
WIDTHS.fetch(width)
|
47
|
+
WIDTHS.fetch(width, nil)
|
54
48
|
end
|
55
49
|
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: 2.1.
|
4
|
+
version: 2.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- DfE developers
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -220,7 +220,7 @@ homepage: https://github.com/DFE-Digital/govuk-components
|
|
220
220
|
licenses:
|
221
221
|
- MIT
|
222
222
|
metadata: {}
|
223
|
-
post_install_message:
|
223
|
+
post_install_message:
|
224
224
|
rdoc_options: []
|
225
225
|
require_paths:
|
226
226
|
- lib
|
@@ -236,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
236
236
|
version: '0'
|
237
237
|
requirements: []
|
238
238
|
rubygems_version: 3.1.6
|
239
|
-
signing_key:
|
239
|
+
signing_key:
|
240
240
|
specification_version: 4
|
241
241
|
summary: Lightweight set of reusable GOV.UK Design System components
|
242
242
|
test_files: []
|