govuk_publishing_components 23.5.1 → 23.7.3
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/javascripts/govuk_publishing_components/lib/govspeak/magna-charta.js +2 -3
- data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +1 -0
- data/app/assets/stylesheets/govuk_publishing_components/component_support.scss +1 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/_contextual-sidebar.scss +2 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/_search.scss +1 -1
- data/app/assets/stylesheets/govuk_publishing_components/components/_transition-countdown.scss +125 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_charts.scss +2 -2
- data/app/assets/stylesheets/govuk_publishing_components/components/mixins/_govuk-template-link-focus-override.scss +1 -1
- data/app/assets/stylesheets/govuk_publishing_components/components/print/_accordion.scss +3 -3
- data/app/views/govuk_publishing_components/component_guide/show.html.erb +1 -2
- data/app/views/govuk_publishing_components/components/_attachment.html.erb +5 -4
- data/app/views/govuk_publishing_components/components/_contextual_sidebar.html.erb +17 -1
- data/app/views/govuk_publishing_components/components/_related_navigation.html.erb +3 -1
- data/app/views/govuk_publishing_components/components/_transition_countdown.html.erb +35 -0
- data/app/views/govuk_publishing_components/components/docs/attachment.yml +10 -0
- data/app/views/govuk_publishing_components/components/docs/contextual_sidebar.yml +0 -1
- data/app/views/govuk_publishing_components/components/docs/govspeak.yml +41 -0
- data/app/views/govuk_publishing_components/components/docs/transition_countdown.yml +17 -0
- data/app/views/govuk_publishing_components/components/related_navigation/_section.html.erb +1 -1
- data/config/locales/cy.yml +5 -0
- data/config/locales/en.yml +4 -1
- data/lib/govuk_publishing_components.rb +1 -0
- data/lib/govuk_publishing_components/app_helpers/countdown_helper.rb +33 -0
- data/lib/govuk_publishing_components/presenters/related_navigation_helper.rb +0 -40
- data/lib/govuk_publishing_components/presenters/shared_helper.rb +42 -0
- data/lib/govuk_publishing_components/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 75f61bf34f923cb81dd2f54ac1d0b13e57654e901f8e82823adb6752c0bf3039
|
|
4
|
+
data.tar.gz: 7237262c7552db55b7f73861ec5f81e4c30b7806b9f409e7bbda73ca02ee6cc6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0c4ff693cf242a5f6d5bb23d5d95a426bd097ad2e94af4519756b9b91e2af61db15e6ebb9a79de9bb3f569ca77762b052cd07aeeab2e2ca257d5084bc0baaf11
|
|
7
|
+
data.tar.gz: c0a26d3c76e16881fc348ab176e3cf6c65702b942214435d64e9af22a51cb82cf9e123711e164bd96e1f93f5e4135448f23d033a7560008333638de4661f17a7
|
|
@@ -215,8 +215,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
215
215
|
return !isNaN(parseFloat(val))
|
|
216
216
|
},
|
|
217
217
|
stripValue: function (val) {
|
|
218
|
-
|
|
219
|
-
return val.replace(re, '')
|
|
218
|
+
return val.replace(/,|£|%|[a-z]/gi, '')
|
|
220
219
|
},
|
|
221
220
|
returnMax: function (values) {
|
|
222
221
|
var max = 0
|
|
@@ -413,7 +412,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
413
412
|
}
|
|
414
413
|
} else {
|
|
415
414
|
// if it's a stacked graph
|
|
416
|
-
if (spanWidth > cellWidth && cellVal > 0) {
|
|
415
|
+
if ((spanWidth > cellWidth && cellVal > 0) || (cellVal < 1)) {
|
|
417
416
|
$cell.classList.add('mc-value-overflow')
|
|
418
417
|
}
|
|
419
418
|
}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
@import "govuk_publishing_components/components/helpers/variables";
|
|
10
10
|
@import "govuk_publishing_components/components/helpers/brand-colours";
|
|
11
11
|
@import "govuk_publishing_components/components/helpers/link";
|
|
12
|
+
@import "govuk_publishing_components/components/helpers/px-to-em";
|
|
12
13
|
@import "govuk_publishing_components/components/mixins/govuk-template-link-focus-override";
|
|
13
14
|
@import "govuk_publishing_components/components/mixins/media-down";
|
|
14
15
|
@import "govuk_publishing_components/components/mixins/margins";
|
|
@@ -39,7 +39,7 @@ $large-input-size: 50px;
|
|
|
39
39
|
padding: 6px;
|
|
40
40
|
margin: 0;
|
|
41
41
|
width: 100%;
|
|
42
|
-
height:
|
|
42
|
+
height: em(34, 16);
|
|
43
43
|
border: $govuk-border-width-form-element solid $govuk-input-border-colour;
|
|
44
44
|
background: govuk-colour("white");
|
|
45
45
|
border-radius: 0; //otherwise iphones apply an automatic border radius
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
$transition-campaign-red: #ff003b;
|
|
2
|
+
$transition-campaign-dark-blue: #1e1348;
|
|
3
|
+
|
|
4
|
+
.gem-c-transition-countdown {
|
|
5
|
+
@include govuk-font(19);
|
|
6
|
+
margin-bottom: govuk-spacing(6);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.gem-c-transition-countdown--cta {
|
|
10
|
+
background-color: govuk-colour('light-grey', $legacy: 'grey-4');
|
|
11
|
+
border-top: 4px solid $transition-campaign-red;
|
|
12
|
+
display: block;
|
|
13
|
+
padding: govuk-spacing(3);
|
|
14
|
+
text-decoration: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.gem-c-transition-countdown__title {
|
|
18
|
+
@extend %govuk-heading-m;
|
|
19
|
+
color: $transition-campaign-dark-blue;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.gem-c-transition-countdown__countdown {
|
|
23
|
+
margin-top: 0;
|
|
24
|
+
margin-bottom: govuk-spacing(2);
|
|
25
|
+
|
|
26
|
+
@include govuk-media-query($from: tablet) {
|
|
27
|
+
margin-bottom: govuk-spacing(0);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.gem-c-transition-countdown__countdown-number {
|
|
32
|
+
@include govuk-font($size: 80, $weight: bold, $line-height: 60px);
|
|
33
|
+
|
|
34
|
+
min-width: 50px;
|
|
35
|
+
text-align: center;
|
|
36
|
+
display: inline-block;
|
|
37
|
+
background: $transition-campaign-dark-blue;
|
|
38
|
+
color: govuk-colour('white');
|
|
39
|
+
position: relative;
|
|
40
|
+
margin-bottom: govuk-spacing(2);
|
|
41
|
+
|
|
42
|
+
@include govuk-media-query($from: tablet) {
|
|
43
|
+
padding: govuk-spacing(2) govuk-spacing(1);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&:after {
|
|
47
|
+
position: absolute;
|
|
48
|
+
left: 0;
|
|
49
|
+
top: 50%;
|
|
50
|
+
margin-top: -1px;
|
|
51
|
+
height: 3px;
|
|
52
|
+
background: govuk-colour('white');
|
|
53
|
+
content: '';
|
|
54
|
+
width: 100%;
|
|
55
|
+
display: block;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&:first-child {
|
|
59
|
+
margin-right: 3px;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&:nth-child(2) {
|
|
63
|
+
margin-right: govuk-spacing(2);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.gem-c-transition-countdown__countdown-text {
|
|
68
|
+
@extend %govuk-heading-m;
|
|
69
|
+
|
|
70
|
+
display: inline-block;
|
|
71
|
+
margin-bottom: 0;
|
|
72
|
+
height: 45px;
|
|
73
|
+
vertical-align: middle;
|
|
74
|
+
color: $transition-campaign-dark-blue;
|
|
75
|
+
|
|
76
|
+
@include govuk-media-query($from: tablet) {
|
|
77
|
+
height: 80px;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
&:after {
|
|
81
|
+
content: '' / '.'; // Wrap up the countdown-text element in a statement for screen readers
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.gem-c-transition-countdown__text {
|
|
86
|
+
@extend %govuk-link;
|
|
87
|
+
|
|
88
|
+
margin-top: 0;
|
|
89
|
+
margin-bottom: 0;
|
|
90
|
+
text-decoration: underline;
|
|
91
|
+
|
|
92
|
+
@include govuk-media-query($from: tablet) {
|
|
93
|
+
margin-bottom: govuk-spacing(2);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.gem-c-transition-countdown:focus {
|
|
98
|
+
.gem-c-transition-countdown__countdown-number:after {
|
|
99
|
+
background-color: $govuk-focus-colour;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.gem-c-transition-countdown__text {
|
|
103
|
+
text-decoration: none;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
@include govuk-compatibility(govuk_template) {
|
|
108
|
+
.gem-c-transition-countdown__title {
|
|
109
|
+
margin-bottom: govuk-spacing(3);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.gem-c-transition-countdown__countdown-number {
|
|
113
|
+
padding: govuk-spacing(1) 0 0;
|
|
114
|
+
|
|
115
|
+
@include govuk-media-query($from: tablet) {
|
|
116
|
+
padding: govuk-spacing(3) govuk-spacing(1) govuk-spacing(1);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.gem-c-transition-countdown__countdown-text {
|
|
121
|
+
@include govuk-media-query($from: tablet) {
|
|
122
|
+
height: 75px;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
.mc-value-overflow {
|
|
155
|
-
text-indent: -99999px !important;
|
|
155
|
+
text-indent: -99999px !important; // stylelint-disable-line declaration-no-important
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
// Bar labels
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
|
|
179
179
|
.mc-stacked-total {
|
|
180
180
|
padding: $bar-padding 0;
|
|
181
|
-
background-color: transparent !important;
|
|
181
|
+
background-color: transparent !important; // stylelint-disable-line declaration-no-important
|
|
182
182
|
color: govuk-colour("black");
|
|
183
183
|
display: inline-block;
|
|
184
184
|
text-indent: 5px;
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
|
|
7
7
|
// Open all of the accordion sections.
|
|
8
8
|
.govuk-accordion__section-content {
|
|
9
|
-
display: block !important;
|
|
9
|
+
display: block !important; // stylelint-disable-line declaration-no-important
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
// Change the colour from the blue link colour to black.
|
|
13
13
|
.govuk-accordion__section-button {
|
|
14
|
-
color: govuk-colour("black") !important;
|
|
14
|
+
color: govuk-colour("black") !important; // stylelint-disable-line declaration-no-important
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
// Change the summary subheading size.
|
|
@@ -27,5 +27,5 @@
|
|
|
27
27
|
// Hide the unusable "Open all" button and the "+" icons.
|
|
28
28
|
.govuk-accordion__open-all,
|
|
29
29
|
.govuk-accordion__icon {
|
|
30
|
-
display: none !important;
|
|
30
|
+
display: none !important; // stylelint-disable-line declaration-no-important
|
|
31
31
|
}
|
|
@@ -22,10 +22,9 @@
|
|
|
22
22
|
<div class="component-markdown">
|
|
23
23
|
<%= raw(@component_doc.html_body) %>
|
|
24
24
|
</div>
|
|
25
|
-
|
|
26
|
-
<p class="govuk-body"><%= link_to "Search for usage of this component on GitHub", @component_doc.github_search_url, class: "govuk-link" %></p>
|
|
27
25
|
</div>
|
|
28
26
|
<% end %>
|
|
27
|
+
<p class="govuk-body"><%= link_to "Search for usage of this component on GitHub", @component_doc.github_search_url, class: "govuk-link" %></p>
|
|
29
28
|
</div>
|
|
30
29
|
</div>
|
|
31
30
|
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
hide_order_copy_link ||= false
|
|
6
6
|
attributes = []
|
|
7
7
|
data_attributes ||= {}
|
|
8
|
+
shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
|
|
8
9
|
|
|
9
10
|
if attachment.content_type_name
|
|
10
11
|
content = if attachment.content_type_abbr
|
|
@@ -50,11 +51,11 @@
|
|
|
50
51
|
<% end %>
|
|
51
52
|
|
|
52
53
|
<%= tag.div class: "gem-c-attachment__details" do %>
|
|
53
|
-
<%=
|
|
54
|
+
<%= content_tag(shared_helper.get_heading_level, class: "gem-c-attachment__title") do %>
|
|
54
55
|
<%= link_to attachment.title, attachment.url,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
class: "govuk-link gem-c-attachment__link",
|
|
57
|
+
target: target,
|
|
58
|
+
data: data_attributes %>
|
|
58
59
|
<% end %>
|
|
59
60
|
|
|
60
61
|
<% if attachment.reference.present? %>
|
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
<% navigation = GovukPublishingComponents::Presenters::ContextualNavigation.new(content_item, request) %>
|
|
2
|
+
<% shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns) %>
|
|
2
3
|
|
|
3
4
|
<div class="gem-c-contextual-sidebar">
|
|
4
|
-
<% if navigation.show_brexit_cta? && navigation.step_by_step_count.
|
|
5
|
+
<% if navigation.show_brexit_cta? && navigation.step_by_step_count.zero? %>
|
|
5
6
|
<%= render 'govuk_publishing_components/components/contextual_sidebar/brexit_cta' %>
|
|
7
|
+
<% elsif navigation.step_by_step_count.zero? %>
|
|
8
|
+
<%= render 'govuk_publishing_components/components/transition_countdown', {
|
|
9
|
+
title: t("components.related_navigation.transition.title"),
|
|
10
|
+
url: t("components.related_navigation.transition.link_path"),
|
|
11
|
+
text: t("components.related_navigation.transition.link_text"),
|
|
12
|
+
data_attributes: {
|
|
13
|
+
"module": "track-click",
|
|
14
|
+
"track-category": "relatedLinkClicked",
|
|
15
|
+
"track-action": "1.0 Transition",
|
|
16
|
+
"track-label": t("components.related_navigation.transition.link_path"),
|
|
17
|
+
"track-dimension": t("components.related_navigation.transition.link_text"),
|
|
18
|
+
"track-dimension-index": "29",
|
|
19
|
+
},
|
|
20
|
+
lang: shared_helper.t_locale("components.related_navigation.transition.title"),
|
|
21
|
+
} %>
|
|
6
22
|
<% end %>
|
|
7
23
|
|
|
8
24
|
<% if navigation.content_tagged_to_a_reasonable_number_of_step_by_steps? %>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
<% related_nav_helper = GovukPublishingComponents::Presenters::RelatedNavigationHelper.new(local_assigns) %>
|
|
2
|
+
<% shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns) %>
|
|
2
3
|
|
|
3
4
|
<% if related_nav_helper.related_navigation? %>
|
|
4
5
|
<% random = SecureRandom.hex(4) %>
|
|
@@ -8,7 +9,7 @@
|
|
|
8
9
|
<h2 id="related-nav-related_items-<%= random %>"
|
|
9
10
|
class="gem-c-related-navigation__main-heading"
|
|
10
11
|
data-track-count="sidebarRelatedItemSection"
|
|
11
|
-
<%=
|
|
12
|
+
<%= shared_helper.t_lang(
|
|
12
13
|
"components.related_#{local_assigns[:context]}_navigation.related_content",
|
|
13
14
|
default: 'components.related_navigation.related_content'
|
|
14
15
|
)
|
|
@@ -28,6 +29,7 @@
|
|
|
28
29
|
|
|
29
30
|
<%= render 'govuk_publishing_components/components/related_navigation/section',
|
|
30
31
|
related_nav_helper: related_nav_helper,
|
|
32
|
+
shared_helper: shared_helper,
|
|
31
33
|
section_title: section_title,
|
|
32
34
|
links: links,
|
|
33
35
|
section_index: section_index,
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<%
|
|
2
|
+
countdown_clock = GovukPublishingComponents::AppHelpers::CountdownHelper.new
|
|
3
|
+
shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
|
|
4
|
+
|
|
5
|
+
heading_level ||= 2
|
|
6
|
+
title ||= nil
|
|
7
|
+
text ||= nil
|
|
8
|
+
url ||= nil
|
|
9
|
+
data_attributes ||= {}
|
|
10
|
+
lang ||= "en"
|
|
11
|
+
direction ||= "ltr"
|
|
12
|
+
css_classes = %w(gem-c-transition-countdown)
|
|
13
|
+
css_classes << "gem-c-transition-countdown--cta" if url
|
|
14
|
+
css_classes << "govuk-link" if url
|
|
15
|
+
%>
|
|
16
|
+
|
|
17
|
+
<% countdown = capture do %>
|
|
18
|
+
<%= content_tag(shared_helper.get_heading_level, title, class: "gem-c-transition-countdown__title") if title %>
|
|
19
|
+
<% if countdown_clock.show? %>
|
|
20
|
+
<%= tag.p class: "gem-c-transition-countdown__countdown" do %>
|
|
21
|
+
<%= tag.span countdown_clock.days_left.first, class: "gem-c-transition-countdown__countdown-number" %><%= tag.span countdown_clock.days_left.last, class: "gem-c-transition-countdown__countdown-number" %> <%= tag.span countdown_clock.days_text, class: "gem-c-transition-countdown__countdown-text" %>
|
|
22
|
+
<% end %>
|
|
23
|
+
<% end %>
|
|
24
|
+
<%= tag.p text, class: "gem-c-transition-countdown__text" if text %>
|
|
25
|
+
<% end %>
|
|
26
|
+
|
|
27
|
+
<% if url %>
|
|
28
|
+
<%= link_to url, class: css_classes, data: data_attributes, lang: lang, dir: direction do %>
|
|
29
|
+
<%= countdown %>
|
|
30
|
+
<% end %>
|
|
31
|
+
<% else %>
|
|
32
|
+
<%= tag.div class: css_classes, lang: lang, dir: direction do %>
|
|
33
|
+
<%= countdown %>
|
|
34
|
+
<% end %>
|
|
35
|
+
<% end %>
|
|
@@ -158,3 +158,13 @@ examples:
|
|
|
158
158
|
unique_reference: "2942"
|
|
159
159
|
unnumbered_hoc_paper: true
|
|
160
160
|
hide_order_copy_link: true
|
|
161
|
+
with_custom_heading_level:
|
|
162
|
+
description: Default is `h2`.
|
|
163
|
+
data:
|
|
164
|
+
heading_level: 3
|
|
165
|
+
attachment:
|
|
166
|
+
title: "Department for Transport information asset register"
|
|
167
|
+
url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/747661/department-for-transport-information-asset-register.csv
|
|
168
|
+
filename: department-for-transport-information-asset-register.csv
|
|
169
|
+
content_type: text/csv
|
|
170
|
+
file_size: 20000
|
|
@@ -236,6 +236,47 @@ examples:
|
|
|
236
236
|
</tr>
|
|
237
237
|
</tbody>
|
|
238
238
|
</table>
|
|
239
|
+
stacked_chart:
|
|
240
|
+
data:
|
|
241
|
+
block: |
|
|
242
|
+
<table class="js-barchart-table mc-stacked mc-auto-outdent">
|
|
243
|
+
<thead>
|
|
244
|
+
<tr>
|
|
245
|
+
<th scope="col">Colours</th>
|
|
246
|
+
<th scope="col">Fruits</th>
|
|
247
|
+
<th scope="col">Vegetables</th>
|
|
248
|
+
<th scope="col">Beans</th>
|
|
249
|
+
<th scope="col">Nuts</th>
|
|
250
|
+
<th scope="col">Total</th>
|
|
251
|
+
</tr>
|
|
252
|
+
</thead>
|
|
253
|
+
<tbody>
|
|
254
|
+
<tr>
|
|
255
|
+
<td>Red</td>
|
|
256
|
+
<td>23</td>
|
|
257
|
+
<td>9</td>
|
|
258
|
+
<td>2</td>
|
|
259
|
+
<td>1</td>
|
|
260
|
+
<td>35</td>
|
|
261
|
+
</tr>
|
|
262
|
+
<tr>
|
|
263
|
+
<td>Green</td>
|
|
264
|
+
<td>5</td>
|
|
265
|
+
<td>33</td>
|
|
266
|
+
<td>8</td>
|
|
267
|
+
<td>0</td>
|
|
268
|
+
<td>46</td>
|
|
269
|
+
</tr>
|
|
270
|
+
<tr>
|
|
271
|
+
<td>Yellow</td>
|
|
272
|
+
<td>2</td>
|
|
273
|
+
<td>10</td>
|
|
274
|
+
<td>0</td>
|
|
275
|
+
<td>15</td>
|
|
276
|
+
<td>27</td>
|
|
277
|
+
</tr>
|
|
278
|
+
</tbody>
|
|
279
|
+
</table>
|
|
239
280
|
chart_with_multiple_headings:
|
|
240
281
|
data:
|
|
241
282
|
block: |
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
name: Transition countdown
|
|
2
|
+
description: A countdown to 01 January 2021 used in the Brexit transition campaign
|
|
3
|
+
body: When a URL is set it acts as a link to actions users need to take to prepare for brexit during the transition period
|
|
4
|
+
shared_accessibility_criteria:
|
|
5
|
+
- link
|
|
6
|
+
examples:
|
|
7
|
+
default:
|
|
8
|
+
data:
|
|
9
|
+
call_to_action:
|
|
10
|
+
data:
|
|
11
|
+
title: Brexit transition
|
|
12
|
+
text: Check you’re ready for 2021
|
|
13
|
+
url: "https://www.gov.uk/transition"
|
|
14
|
+
data_attributes:
|
|
15
|
+
"track-category": "Transition"
|
|
16
|
+
"track-action": "Brexit transition"
|
|
17
|
+
"track-label": "Check you’re ready for 2021"
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
link[:path],
|
|
29
29
|
class: related_nav_helper.section_css_class("gem-c-related-navigation__section-link", section_title, link, (index >= section_link_limit)),
|
|
30
30
|
rel: link[:rel],
|
|
31
|
-
lang:
|
|
31
|
+
lang: shared_helper.t_locale_check(link[:locale]),
|
|
32
32
|
data: {
|
|
33
33
|
track_category: 'relatedLinkClicked',
|
|
34
34
|
track_action: "#{section_index}.#{index} #{related_nav_helper.construct_section_heading(section_title) || t('components.related_navigation.related_content')}",
|
data/config/locales/cy.yml
CHANGED
|
@@ -10,4 +10,9 @@ cy:
|
|
|
10
10
|
contents: Cynnwys
|
|
11
11
|
related_navigation:
|
|
12
12
|
transition:
|
|
13
|
+
title: "Pontio Brexit"
|
|
13
14
|
link_path: "/transition.cy"
|
|
15
|
+
link_text: "Gwiriwch eich bod chi'n barod ar gyfer 2021"
|
|
16
|
+
transition_countdown:
|
|
17
|
+
day_to_go: "diwrnod i fynd"
|
|
18
|
+
days_to_go: "diwrnod i fynd"
|
data/config/locales/en.yml
CHANGED
|
@@ -74,7 +74,7 @@ en:
|
|
|
74
74
|
transition:
|
|
75
75
|
title: "Brexit transition"
|
|
76
76
|
link_path: "/transition"
|
|
77
|
-
link_text: "
|
|
77
|
+
link_text: "Check you’re ready for 2021"
|
|
78
78
|
related_footer_navigation:
|
|
79
79
|
collections: "Collections"
|
|
80
80
|
policies: "Policies"
|
|
@@ -98,3 +98,6 @@ en:
|
|
|
98
98
|
summary_list:
|
|
99
99
|
edit: "Change"
|
|
100
100
|
delete: "Delete"
|
|
101
|
+
transition_countdown:
|
|
102
|
+
day_to_go: "day to go"
|
|
103
|
+
days_to_go: "days to go"
|
|
@@ -34,6 +34,7 @@ require "govuk_publishing_components/presenters/taxonomy_list_helper"
|
|
|
34
34
|
require "govuk_publishing_components/app_helpers/taxon_breadcrumbs"
|
|
35
35
|
require "govuk_publishing_components/app_helpers/table_helper"
|
|
36
36
|
require "govuk_publishing_components/app_helpers/brand_helper"
|
|
37
|
+
require "govuk_publishing_components/app_helpers/countdown_helper"
|
|
37
38
|
require "govuk_publishing_components/app_helpers/environment"
|
|
38
39
|
|
|
39
40
|
# Add view and i18n paths for usage outside of a Rails app
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module GovukPublishingComponents
|
|
2
|
+
module AppHelpers
|
|
3
|
+
class CountdownHelper
|
|
4
|
+
END_OF_TRANSITION_PERIOD = Date.new(2021, 1, 1)
|
|
5
|
+
|
|
6
|
+
def days_left
|
|
7
|
+
sprintf "%02d", days_left_integer
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def show?
|
|
11
|
+
days_left_integer.positive?
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def days_text
|
|
15
|
+
if days_left_integer == 1
|
|
16
|
+
I18n.t!("components.transition_countdown.day_to_go")
|
|
17
|
+
else
|
|
18
|
+
I18n.t!("components.transition_countdown.days_to_go")
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
private
|
|
23
|
+
|
|
24
|
+
def days_left_integer
|
|
25
|
+
(END_OF_TRANSITION_PERIOD - today_in_london).to_i
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def today_in_london
|
|
29
|
+
Time.find_zone("Europe/London").today
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -97,48 +97,8 @@ module GovukPublishingComponents
|
|
|
97
97
|
related_navigation.flat_map(&:last).any?
|
|
98
98
|
end
|
|
99
99
|
|
|
100
|
-
def t_locale(content, options = {})
|
|
101
|
-
# Check if the content string has a translation
|
|
102
|
-
content_translation_available = translation_present?(content)
|
|
103
|
-
|
|
104
|
-
# True, return locale
|
|
105
|
-
this_locale = I18n.locale if content_translation_available
|
|
106
|
-
# If false, return default locale
|
|
107
|
-
this_locale = I18n.default_locale unless content_translation_available
|
|
108
|
-
|
|
109
|
-
# Check if default string passed in
|
|
110
|
-
if options[:default].present?
|
|
111
|
-
# Check if the default string has a translation
|
|
112
|
-
default_translation_available = translation_present?(options[:default])
|
|
113
|
-
# If true, return locale
|
|
114
|
-
this_locale = I18n.locale if default_translation_available
|
|
115
|
-
# If false, return default_locale
|
|
116
|
-
this_locale = I18n.default_locale unless default_translation_available
|
|
117
|
-
end
|
|
118
|
-
|
|
119
|
-
this_locale
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
def t_lang(content, options = {})
|
|
123
|
-
locale = t_locale(content, options)
|
|
124
|
-
"lang=#{locale}" unless locale.eql?(I18n.locale)
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
def t_locale_check(locale)
|
|
128
|
-
locale.presence unless locale.to_s.eql?(I18n.locale.to_s)
|
|
129
|
-
end
|
|
130
|
-
|
|
131
100
|
private
|
|
132
101
|
|
|
133
|
-
def translation_present?(content)
|
|
134
|
-
default_string = "This is a string to act as a default for the `I18n.translate` method. Comparing the result reveals if there is a translation in the i18n files."
|
|
135
|
-
I18n.translate(
|
|
136
|
-
content,
|
|
137
|
-
default: default_string,
|
|
138
|
-
fallback: false,
|
|
139
|
-
) != default_string
|
|
140
|
-
end
|
|
141
|
-
|
|
142
102
|
def related_items
|
|
143
103
|
related_quick_links = content_item_details_for("quick_links")
|
|
144
104
|
|
|
@@ -30,6 +30,48 @@ module GovukPublishingComponents
|
|
|
30
30
|
|
|
31
31
|
"span"
|
|
32
32
|
end
|
|
33
|
+
|
|
34
|
+
def t_locale(content, options = {})
|
|
35
|
+
# Check if the content string has a translation
|
|
36
|
+
content_translation_available = translation_present?(content)
|
|
37
|
+
|
|
38
|
+
# True, return locale
|
|
39
|
+
this_locale = I18n.locale if content_translation_available
|
|
40
|
+
# If false, return default locale
|
|
41
|
+
this_locale = I18n.default_locale unless content_translation_available
|
|
42
|
+
|
|
43
|
+
# Check if default string passed in
|
|
44
|
+
if options[:default].present?
|
|
45
|
+
# Check if the default string has a translation
|
|
46
|
+
default_translation_available = translation_present?(options[:default])
|
|
47
|
+
# If true, return locale
|
|
48
|
+
this_locale = I18n.locale if default_translation_available
|
|
49
|
+
# If false, return default_locale
|
|
50
|
+
this_locale = I18n.default_locale unless default_translation_available
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
this_locale
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def t_lang(content, options = {})
|
|
57
|
+
locale = t_locale(content, options)
|
|
58
|
+
"lang=#{locale}" unless locale.eql?(I18n.locale)
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def t_locale_check(locale)
|
|
62
|
+
locale.presence unless locale.to_s.eql?(I18n.locale.to_s)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
private
|
|
66
|
+
|
|
67
|
+
def translation_present?(content)
|
|
68
|
+
default_string = "This is a string to act as a default for the `I18n.translate` method. Comparing the result reveals if there is a translation in the i18n files."
|
|
69
|
+
I18n.translate(
|
|
70
|
+
content,
|
|
71
|
+
default: default_string,
|
|
72
|
+
fallback: false,
|
|
73
|
+
) != default_string
|
|
74
|
+
end
|
|
33
75
|
end
|
|
34
76
|
end
|
|
35
77
|
end
|
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: 23.
|
|
4
|
+
version: 23.7.3
|
|
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-11-
|
|
11
|
+
date: 2020-11-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: govuk_app_config
|
|
@@ -522,6 +522,7 @@ files:
|
|
|
522
522
|
- app/assets/stylesheets/govuk_publishing_components/components/_taxonomy-list.scss
|
|
523
523
|
- app/assets/stylesheets/govuk_publishing_components/components/_textarea.scss
|
|
524
524
|
- app/assets/stylesheets/govuk_publishing_components/components/_title.scss
|
|
525
|
+
- app/assets/stylesheets/govuk_publishing_components/components/_transition-countdown.scss
|
|
525
526
|
- app/assets/stylesheets/govuk_publishing_components/components/_translation-nav.scss
|
|
526
527
|
- app/assets/stylesheets/govuk_publishing_components/components/_warning-text.scss
|
|
527
528
|
- app/assets/stylesheets/govuk_publishing_components/components/govspeak/_advisory.scss
|
|
@@ -673,6 +674,7 @@ files:
|
|
|
673
674
|
- app/views/govuk_publishing_components/components/_taxonomy_list.html.erb
|
|
674
675
|
- app/views/govuk_publishing_components/components/_textarea.html.erb
|
|
675
676
|
- app/views/govuk_publishing_components/components/_title.html.erb
|
|
677
|
+
- app/views/govuk_publishing_components/components/_transition_countdown.html.erb
|
|
676
678
|
- app/views/govuk_publishing_components/components/_translation-nav.html.erb
|
|
677
679
|
- app/views/govuk_publishing_components/components/_warning_text.html.erb
|
|
678
680
|
- app/views/govuk_publishing_components/components/attachment/_thumbnail_document.svg
|
|
@@ -751,6 +753,7 @@ files:
|
|
|
751
753
|
- app/views/govuk_publishing_components/components/docs/taxonomy_list.yml
|
|
752
754
|
- app/views/govuk_publishing_components/components/docs/textarea.yml
|
|
753
755
|
- app/views/govuk_publishing_components/components/docs/title.yml
|
|
756
|
+
- app/views/govuk_publishing_components/components/docs/transition_countdown.yml
|
|
754
757
|
- app/views/govuk_publishing_components/components/docs/translation-nav.yml
|
|
755
758
|
- app/views/govuk_publishing_components/components/docs/warning_text.yml
|
|
756
759
|
- app/views/govuk_publishing_components/components/feedback/_problem_form.html.erb
|
|
@@ -775,6 +778,7 @@ files:
|
|
|
775
778
|
- lib/generators/govuk_publishing_components/templates/component.yml.erb
|
|
776
779
|
- lib/govuk_publishing_components.rb
|
|
777
780
|
- lib/govuk_publishing_components/app_helpers/brand_helper.rb
|
|
781
|
+
- lib/govuk_publishing_components/app_helpers/countdown_helper.rb
|
|
778
782
|
- lib/govuk_publishing_components/app_helpers/environment.rb
|
|
779
783
|
- lib/govuk_publishing_components/app_helpers/table_helper.rb
|
|
780
784
|
- lib/govuk_publishing_components/app_helpers/taxon_breadcrumbs.rb
|