govuk_publishing_components 23.5.0 → 23.7.2

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.
Files changed (24) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/magna-charta.js +1 -1
  3. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +1 -0
  4. data/app/assets/stylesheets/govuk_publishing_components/components/_contextual-sidebar.scss +2 -0
  5. data/app/assets/stylesheets/govuk_publishing_components/components/_transition-countdown.scss +125 -0
  6. data/app/views/govuk_publishing_components/component_guide/show.html.erb +1 -2
  7. data/app/views/govuk_publishing_components/components/_attachment.html.erb +5 -4
  8. data/app/views/govuk_publishing_components/components/_contextual_sidebar.html.erb +17 -1
  9. data/app/views/govuk_publishing_components/components/_related_navigation.html.erb +3 -1
  10. data/app/views/govuk_publishing_components/components/_transition_countdown.html.erb +35 -0
  11. data/app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_cta.html.erb +5 -3
  12. data/app/views/govuk_publishing_components/components/docs/attachment.yml +10 -0
  13. data/app/views/govuk_publishing_components/components/docs/contextual_sidebar.yml +0 -1
  14. data/app/views/govuk_publishing_components/components/docs/govspeak.yml +41 -0
  15. data/app/views/govuk_publishing_components/components/docs/transition_countdown.yml +17 -0
  16. data/app/views/govuk_publishing_components/components/related_navigation/_section.html.erb +1 -1
  17. data/config/locales/cy.yml +9 -1
  18. data/config/locales/en.yml +7 -0
  19. data/lib/govuk_publishing_components.rb +1 -0
  20. data/lib/govuk_publishing_components/app_helpers/countdown_helper.rb +33 -0
  21. data/lib/govuk_publishing_components/presenters/related_navigation_helper.rb +0 -40
  22. data/lib/govuk_publishing_components/presenters/shared_helper.rb +42 -0
  23. data/lib/govuk_publishing_components/version.rb +1 -1
  24. metadata +6 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ccb3ff988da8eed7ce14013d8f0a0f054661b7ee9322a2caa75ab49a5b064162
4
- data.tar.gz: b115615020b7694cab625d98ee0abe11e98306d8776c7afb3ffd400d642fe32c
3
+ metadata.gz: 4b65d39a36c66fce7a8137823bfc36e49e0da0a079aca53915b3d45285cae845
4
+ data.tar.gz: 34d3d5d5e175fa52e7ee61e5f259828a60d767d8b19bcc5c002010b3448a531c
5
5
  SHA512:
6
- metadata.gz: cfb2771a84017aca9fc781ea5d650a1402cbf1a88770993e222e42cfe0aa946e14569c14add10ae41dd5ee7619ce028dcfaf501049b7738e56d71afe65f7d2d0
7
- data.tar.gz: 571a20b867d372fefc21d4dcf451fd59c56530146fb7c7e258a878320c905ff408f60ce793675a2fba6fbbdedc94fea17adc310eff84529d34b0529193a7f58c
6
+ metadata.gz: 64e67eaa447d97a8e42304b59c836e08131bde424cff2dac6631fae05bf035aa793d90a6987fd5af1777a6fe00e50d71f5cc176d9fc992ad8e0159ea649792f9
7
+ data.tar.gz: 59b458f62f226e28be467e1ae9c8eb4e7b5fde87dfbb09fdfe7eeb40c83190f91ecc1a3702973e459000bcb62318d5f30420c431a3b138ef28dc3807669f57a4
@@ -413,7 +413,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
413
413
  }
414
414
  } else {
415
415
  // if it's a stacked graph
416
- if (spanWidth > cellWidth && cellVal > 0) {
416
+ if ((spanWidth > cellWidth && cellVal > 0) || (cellVal < 1)) {
417
417
  $cell.classList.add('mc-value-overflow')
418
418
  }
419
419
  }
@@ -73,4 +73,5 @@
73
73
  @import "components/textarea";
74
74
  @import "components/title";
75
75
  @import "components/translation-nav";
76
+ @import "components/transition-countdown";
76
77
  @import "components/warning-text";
@@ -1,3 +1,5 @@
1
+ @import 'transition-countdown';
2
+
1
3
  .gem-c-contextual-sidebar__brexit-cta {
2
4
  border-top: 2px solid $govuk-brand-colour;
3
5
  }
@@ -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
+ }
@@ -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
- <%= tag.h2 class: "gem-c-attachment__title" do %>
54
+ <%= content_tag(shared_helper.get_heading_level, class: "gem-c-attachment__title") do %>
54
55
  <%= link_to attachment.title, attachment.url,
55
- class: "govuk-link gem-c-attachment__link",
56
- target: target,
57
- data: data_attributes %>
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.eql?(0) %>
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
- <%= related_nav_helper.t_lang(
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 %>
@@ -1,4 +1,6 @@
1
- <div class="gem-c-contextual-sidebar__brexit-cta govuk-!-margin-bottom-6" data-module="track-click">
2
- <h2 class="gem-c-contextual-sidebar__brexit-heading">Transition period</h2>
3
- <a href="/transition" class="govuk-link" data-track-category="relatedLinkClicked" data-track-action="1.0 Transition" data-track-label="/transition" data-track-options='{"dimension29":"Find out what it means for you"}'>Find out what it means for you</a>
1
+ <% link_text = t("components.related_navigation.transition.link_text") %>
2
+ <% link_path = t("components.related_navigation.transition.link_path") %>
3
+ <div class="gem-c-contextual-sidebar__brexit-cta govuk-!-margin-bottom-6" data-module="track-click" lang="en">
4
+ <h2 class="gem-c-contextual-sidebar__brexit-heading"><%= t("components.related_navigation.transition.title") %></h2>
5
+ <a href="<%= link_path %>" class="govuk-link" data-track-category="relatedLinkClicked" data-track-action="1.0 Transition" data-track-label="<%= link_path %>" data-track-options='{"dimension29":"<%= link_text %>"}'><%= link_text %></a>
4
6
  </div>
@@ -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
@@ -144,4 +144,3 @@ examples:
144
144
  - text: Find out what you’ll get
145
145
  href: "/settled-status-eu-citizens-families/what-settled-and-presettled-status-means"
146
146
  optional: false
147
-
@@ -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: related_nav_helper.t_locale_check(link[:locale]),
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')}",
@@ -6,5 +6,13 @@ cy:
6
6
  or: 'neu'
7
7
  back_link:
8
8
  back: "Yn ôl"
9
- contents_list:
9
+ contents_list:
10
10
  contents: Cynnwys
11
+ related_navigation:
12
+ transition:
13
+ title: "Pontio Brexit"
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"
@@ -71,6 +71,10 @@ en:
71
71
  topics: "Explore the topic"
72
72
  topical_events: "Topical event"
73
73
  world_locations: "World locations"
74
+ transition:
75
+ title: "Brexit transition"
76
+ link_path: "/transition"
77
+ link_text: "Check you’re ready for 2021"
74
78
  related_footer_navigation:
75
79
  collections: "Collections"
76
80
  policies: "Policies"
@@ -94,3 +98,6 @@ en:
94
98
  summary_list:
95
99
  edit: "Change"
96
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
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = "23.5.0".freeze
2
+ VERSION = "23.7.2".freeze
3
3
  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.5.0
4
+ version: 23.7.2
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-10 00:00:00.000000000 Z
11
+ date: 2020-11-23 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