govuk_publishing_components 21.26.2 → 21.27.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|