govuk_publishing_components 21.26.2 → 21.27.0
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/app/assets/stylesheets/govuk_publishing_components/component_support.scss +0 -1
- data/app/assets/stylesheets/govuk_publishing_components/components/_breadcrumbs.scss +32 -31
- data/app/assets/stylesheets/govuk_publishing_components/components/_contents-list.scss +0 -10
- data/app/views/govuk_publishing_components/components/_breadcrumbs.html.erb +19 -13
- data/app/views/govuk_publishing_components/components/_contextual_breadcrumbs.html.erb +9 -6
- data/app/views/govuk_publishing_components/components/docs/breadcrumbs.yml +22 -3
- data/app/views/govuk_publishing_components/components/docs/contents_list.yml +0 -11
- data/lib/govuk_publishing_components/presenters/contents_list_helper.rb +0 -2
- data/lib/govuk_publishing_components/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 926eefc2e1371872c0076a40a8ad38e7a55ba57ebb4189ff1f7983c93ade26b8
|
|
4
|
+
data.tar.gz: 4b96bfdaf064b0e4852b1fc77a4a7a7ef2878cac5d988a81db2b13cad798f569
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c2be2064bf8f2a797bc42ed13037f32bdd8416d316deeb8d07a7ca932947180e4c890974254b73984ced7e15ac913e27d786797e0581b7dc9a6044b226588b6d
|
|
7
|
+
data.tar.gz: 1a9768c825581a024b4770d190cbf077f930d386530fcb0f9471288ae6cac0ee9e0ff0fcc7a45955ac97ee2e58db2eb3b2b592961e32fd3844b237eca0046de8
|
|
@@ -21,36 +21,37 @@
|
|
|
21
21
|
border-color: govuk-colour("white");
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
24
|
+
.gem-c-breadcrumbs--collapse-on-mobile {
|
|
25
|
+
@include govuk-media-query($until: tablet) {
|
|
26
|
+
.govuk-breadcrumbs__list {
|
|
27
|
+
display: flex;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.govuk-breadcrumbs__list-item:not(:last-child):not(:first-child) {
|
|
31
|
+
display: none;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.govuk-breadcrumbs__list-item {
|
|
35
|
+
padding-top: 14px;
|
|
36
|
+
padding-bottom: 14px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.govuk-breadcrumbs__list-item:before {
|
|
40
|
+
margin: 0;
|
|
41
|
+
top: 18px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.govuk-breadcrumbs__link {
|
|
45
|
+
position: relative;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.govuk-breadcrumbs__link::after {
|
|
49
|
+
content: "";
|
|
50
|
+
position: absolute;
|
|
51
|
+
top: -14px;
|
|
52
|
+
right: 0;
|
|
53
|
+
left: 0;
|
|
54
|
+
bottom: -14px;
|
|
55
|
+
}
|
|
55
56
|
}
|
|
56
57
|
}
|
|
@@ -10,16 +10,6 @@
|
|
|
10
10
|
box-shadow: 0 20px 15px -10px govuk-colour("white");
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
.gem-c-contents-list--font-size-19 .gem-c-contents-list__title,
|
|
14
|
-
.gem-c-contents-list--font-size-19 .gem-c-contents-list__list {
|
|
15
|
-
@include govuk-font($size: 19, $line-height: 1.5);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.gem-c-contents-list--font-size-24 .gem-c-contents-list__title,
|
|
19
|
-
.gem-c-contents-list--font-size-24 .gem-c-contents-list__list {
|
|
20
|
-
@include govuk-font($size: 24, $line-height: 1.5);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
13
|
.gem-c-contents-list__title {
|
|
24
14
|
@include govuk-text-colour;
|
|
25
15
|
@include govuk-font($size: 16, $weight: regular, $line-height: 1.5);
|
|
@@ -1,31 +1,37 @@
|
|
|
1
1
|
<%
|
|
2
2
|
breadcrumbs ||= []
|
|
3
3
|
inverse ||= false
|
|
4
|
-
|
|
4
|
+
collapse_on_mobile ||= false
|
|
5
5
|
breadcrumb_presenter = GovukPublishingComponents::Presenters::Breadcrumbs.new(breadcrumbs)
|
|
6
|
+
|
|
7
|
+
classes = "gem-c-breadcrumbs govuk-breadcrumbs"
|
|
8
|
+
classes << " gem-c-breadcrumbs--collapse-on-mobile" if collapse_on_mobile
|
|
9
|
+
classes << " gem-c-breadcrumbs--inverse" if inverse
|
|
6
10
|
%>
|
|
7
11
|
|
|
8
12
|
<script type="application/ld+json">
|
|
9
13
|
<%= raw breadcrumb_presenter.structured_data.to_json %>
|
|
10
14
|
</script>
|
|
11
15
|
|
|
12
|
-
<div class="
|
|
16
|
+
<div class="<%= classes %>" data-module="track-click">
|
|
13
17
|
<ol class="govuk-breadcrumbs__list">
|
|
14
18
|
<% breadcrumbs.each_with_index do |crumb, index| %>
|
|
15
19
|
<% breadcrumb = GovukPublishingComponents::Presenters::Breadcrumb.new(crumb, index) %>
|
|
20
|
+
<li class="govuk-breadcrumbs__list-item" aria-current="<%= breadcrumb.aria_current %>">
|
|
16
21
|
<% if breadcrumb.is_link? %>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
<%= link_to(
|
|
23
|
+
breadcrumb[:title],
|
|
24
|
+
breadcrumb.path,
|
|
25
|
+
data: breadcrumb.tracking_data(breadcrumbs.length),
|
|
26
|
+
class: "govuk-breadcrumbs__link",
|
|
27
|
+
aria: {
|
|
28
|
+
current: breadcrumb.aria_current,
|
|
29
|
+
}
|
|
30
|
+
) %>
|
|
31
|
+
<% else %>
|
|
32
|
+
<%= breadcrumb[:title] %>
|
|
28
33
|
<% end %>
|
|
34
|
+
</li>
|
|
29
35
|
<% end %>
|
|
30
36
|
</ol>
|
|
31
37
|
</div>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<% navigation = GovukPublishingComponents::Presenters::ContextualNavigation.new(content_item, request) %>
|
|
2
2
|
<% prioritise_taxon_breadcrumbs ||= false %>
|
|
3
3
|
<% inverse ||= false %>
|
|
4
|
+
<% collapse_on_mobile ||= true unless local_assigns[:collapse_on_mobile].eql?(false) %>
|
|
4
5
|
|
|
5
6
|
<div class='gem-c-contextual-breadcrumbs'>
|
|
6
7
|
<% if navigation.content_tagged_to_current_step_by_step? %>
|
|
@@ -9,27 +10,29 @@
|
|
|
9
10
|
navigation.step_nav_helper.header %>
|
|
10
11
|
<% elsif navigation.content_tagged_to_a_finder? %>
|
|
11
12
|
<%# Rendering finder breadcrumbs because the page is tagged to a finder %>
|
|
12
|
-
<%= render 'govuk_publishing_components/components/breadcrumbs', breadcrumbs: navigation.breadcrumbs, inverse: inverse %>
|
|
13
|
+
<%= render 'govuk_publishing_components/components/breadcrumbs', breadcrumbs: navigation.breadcrumbs, inverse: inverse, collapse_on_mobile: collapse_on_mobile %>
|
|
13
14
|
<% elsif navigation.content_is_tagged_to_a_live_taxon? && prioritise_taxon_breadcrumbs %>
|
|
14
15
|
<%# Rendering taxonomy breadcrumbs because the page is tagged to live taxons
|
|
15
16
|
and we want to prioritise them over all other breadcrumbs %>
|
|
16
17
|
<%= render 'govuk_publishing_components/components/breadcrumbs',
|
|
17
18
|
breadcrumbs: navigation.taxon_breadcrumbs[:breadcrumbs],
|
|
18
|
-
inverse: inverse
|
|
19
|
+
inverse: inverse,
|
|
20
|
+
collapse_on_mobile: collapse_on_mobile %>
|
|
19
21
|
<% elsif navigation.content_tagged_to_mainstream_browse_pages? %>
|
|
20
22
|
<%# Rendering parent-based breadcrumbs because the page is tagged to mainstream browse %>
|
|
21
|
-
<%= render 'govuk_publishing_components/components/breadcrumbs', breadcrumbs: navigation.breadcrumbs, inverse: inverse %>
|
|
23
|
+
<%= render 'govuk_publishing_components/components/breadcrumbs', breadcrumbs: navigation.breadcrumbs, inverse: inverse, collapse_on_mobile: collapse_on_mobile %>
|
|
22
24
|
<% elsif navigation.content_has_curated_related_items? %>
|
|
23
25
|
<%# Rendering parent-based breadcrumbs because the page has curated related links %>
|
|
24
|
-
<%= render 'govuk_publishing_components/components/breadcrumbs', breadcrumbs: navigation.breadcrumbs, inverse: inverse %>
|
|
26
|
+
<%= render 'govuk_publishing_components/components/breadcrumbs', breadcrumbs: navigation.breadcrumbs, inverse: inverse, collapse_on_mobile: collapse_on_mobile %>
|
|
25
27
|
<% elsif navigation.content_is_tagged_to_a_live_taxon? && !navigation.content_is_a_specialist_document? %>
|
|
26
28
|
<%# Rendering taxonomy breadcrumbs because the page is tagged to live taxons %>
|
|
27
29
|
<%= render 'govuk_publishing_components/components/breadcrumbs',
|
|
28
30
|
breadcrumbs: navigation.taxon_breadcrumbs[:breadcrumbs],
|
|
29
|
-
inverse: inverse
|
|
31
|
+
inverse: inverse,
|
|
32
|
+
collapse_on_mobile: collapse_on_mobile %>
|
|
30
33
|
<% elsif navigation.breadcrumbs.any? %>
|
|
31
34
|
<%# Rendering parent-based breadcrumbs because no browse, no related links, no live taxons %>
|
|
32
|
-
<%= render 'govuk_publishing_components/components/breadcrumbs', breadcrumbs: navigation.breadcrumbs, inverse: inverse %>
|
|
35
|
+
<%= render 'govuk_publishing_components/components/breadcrumbs', breadcrumbs: navigation.breadcrumbs, inverse: inverse, collapse_on_mobile: collapse_on_mobile %>
|
|
33
36
|
<% else %>
|
|
34
37
|
<%# Not rendering any breadcrumbs because there aren't any %>
|
|
35
38
|
<% end %>
|
|
@@ -4,7 +4,7 @@ body: |
|
|
|
4
4
|
Accepts an array of breadcrumb objects. Each crumb must have a title and a URL.
|
|
5
5
|
Links have tracking data but links to the homepage (any link with a url of "/") will be tracked separately as `homeLinkClicked`
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
We recommend that if using the breadcrumbs for navigation purposes, you set collapse_on_mobile to true to make things more readable for mobile users. However, you can specify `collapse_on_mobile`:`false` or remove the flag completely to stop this behaviour.
|
|
8
8
|
shared_accessibility_criteria:
|
|
9
9
|
- link
|
|
10
10
|
accessibility_criteria:
|
|
@@ -16,6 +16,7 @@ display_html: true
|
|
|
16
16
|
examples:
|
|
17
17
|
default:
|
|
18
18
|
data:
|
|
19
|
+
collapse_on_mobile: true
|
|
19
20
|
breadcrumbs:
|
|
20
21
|
- title: 'Section'
|
|
21
22
|
url: '/section'
|
|
@@ -24,6 +25,7 @@ examples:
|
|
|
24
25
|
inverse:
|
|
25
26
|
description: On a dark background, such as the header of topic pages
|
|
26
27
|
data:
|
|
28
|
+
collapse_on_mobile: true
|
|
27
29
|
breadcrumbs:
|
|
28
30
|
- title: 'Section'
|
|
29
31
|
url: '/section'
|
|
@@ -35,14 +37,17 @@ examples:
|
|
|
35
37
|
dark_background: true
|
|
36
38
|
no_breadcrumbs:
|
|
37
39
|
data:
|
|
40
|
+
collapse_on_mobile: true
|
|
38
41
|
breadcrumbs: []
|
|
39
42
|
single_section:
|
|
40
43
|
data:
|
|
44
|
+
collapse_on_mobile: true
|
|
41
45
|
breadcrumbs:
|
|
42
46
|
- title: 'Section'
|
|
43
47
|
url: '/section'
|
|
44
48
|
many_breadcrumbs:
|
|
45
49
|
data:
|
|
50
|
+
collapse_on_mobile: true
|
|
46
51
|
breadcrumbs:
|
|
47
52
|
- title: 'Home'
|
|
48
53
|
url: '/'
|
|
@@ -54,6 +59,7 @@ examples:
|
|
|
54
59
|
url: '/section/sub-section/sub-sub-section'
|
|
55
60
|
no_home:
|
|
56
61
|
data:
|
|
62
|
+
collapse_on_mobile: true
|
|
57
63
|
breadcrumbs:
|
|
58
64
|
- title: 'Service Manual'
|
|
59
65
|
url: '/service-manual'
|
|
@@ -61,6 +67,7 @@ examples:
|
|
|
61
67
|
url: '/service-manual/agile-delivery'
|
|
62
68
|
real:
|
|
63
69
|
data:
|
|
70
|
+
collapse_on_mobile: true
|
|
64
71
|
breadcrumbs:
|
|
65
72
|
- title: 'Home'
|
|
66
73
|
url: '/'
|
|
@@ -68,9 +75,10 @@ examples:
|
|
|
68
75
|
url: '/browse/abroad'
|
|
69
76
|
- title: 'Travel abroad'
|
|
70
77
|
url: '/browse/abroad/travel-abroad'
|
|
71
|
-
|
|
72
|
-
description: This is an example of a breadcrumb
|
|
78
|
+
long_taxon:
|
|
79
|
+
description: This is an example of a breadcrumb with long taxons to demonstrate the wrapping behaviour and touch target area on mobile
|
|
73
80
|
data:
|
|
81
|
+
collapse_on_mobile: true
|
|
74
82
|
breadcrumbs:
|
|
75
83
|
- title: 'Home'
|
|
76
84
|
url: '/'
|
|
@@ -78,3 +86,14 @@ examples:
|
|
|
78
86
|
url: '/education'
|
|
79
87
|
- title: 'Education of disadvantaged children appended with some extra long content to make this a very very very very long taxon'
|
|
80
88
|
url: '/education'
|
|
89
|
+
stop_collapsing_on_mobile:
|
|
90
|
+
description: We recommend that if using the breadcrumbs for navigation purposes, you set collapse_on_mobile to true to make things more readable for mobile users. However, you can specify `collapse_on_mobile`:`false` or remove the flag completely to stop this behaviour.
|
|
91
|
+
data:
|
|
92
|
+
collapse_on_mobile: false
|
|
93
|
+
breadcrumbs:
|
|
94
|
+
- title: 'Home'
|
|
95
|
+
url: '/'
|
|
96
|
+
- title: 'Passports, travel and living abroad'
|
|
97
|
+
url: '/browse/abroad'
|
|
98
|
+
- title: 'Travel abroad'
|
|
99
|
+
url: '/browse/abroad/travel-abroad'
|
|
@@ -217,14 +217,3 @@ examples:
|
|
|
217
217
|
text: Guidance and regulation
|
|
218
218
|
- href: "#third-thing"
|
|
219
219
|
text: Consultations
|
|
220
|
-
with_different_font_size:
|
|
221
|
-
description: Choose a different font size. Valid options are 24 (24px) and 19 (19px), with the component defaulting to 16px.
|
|
222
|
-
data:
|
|
223
|
-
font_size: 24
|
|
224
|
-
contents:
|
|
225
|
-
- href: "#first-thing"
|
|
226
|
-
text: Community best practice
|
|
227
|
-
- href: "#second-thing"
|
|
228
|
-
text: Guidance and regulation
|
|
229
|
-
- href: "#third-thing"
|
|
230
|
-
text: Consultations
|
|
@@ -11,11 +11,9 @@ module GovukPublishingComponents
|
|
|
11
11
|
@contents = options[:contents] || []
|
|
12
12
|
@nested = !!@contents.find { |c| c[:items] && c[:items].any? }
|
|
13
13
|
@format_numbers = options[:format_numbers]
|
|
14
|
-
@font_size = options[:font_size]
|
|
15
14
|
|
|
16
15
|
@classes = %w(gem-c-contents-list)
|
|
17
16
|
@classes << " gem-c-contents-list--no-underline" unless options[:underline_links]
|
|
18
|
-
@classes << " gem-c-contents-list--font-size-#{@font_size}" if [24, 19].include? @font_size
|
|
19
17
|
end
|
|
20
18
|
|
|
21
19
|
def list_item_classes(list_item, nested)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: govuk_publishing_components
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 21.
|
|
4
|
+
version: 21.27.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- GOV.UK Dev
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-02-
|
|
11
|
+
date: 2020-02-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: gds-api-adapters
|