govuk_publishing_components 23.9.1 → 23.11.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/javascripts/govuk_publishing_components/analytics.js +1 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/explicit-cross-domain-links.js +34 -0
- data/app/assets/javascripts/govuk_publishing_components/components/show-password.js +1 -0
- data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/youtube-link-enhancement.js +3 -1
- data/app/assets/stylesheets/govuk_publishing_components/components/_contextual-sidebar.scss +46 -6
- data/app/assets/stylesheets/govuk_publishing_components/components/_search.scss +6 -2
- data/app/assets/stylesheets/govuk_publishing_components/components/_show-password.scss +2 -0
- data/app/views/govuk_publishing_components/components/_contextual_sidebar.html.erb +5 -18
- data/app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_cta.html.erb +17 -3
- data/app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_related_links.html.erb +6 -0
- data/app/views/govuk_publishing_components/components/docs/contextual_sidebar.yml +2 -2
- data/app/views/govuk_publishing_components/components/docs/image_card.yml +4 -4
- data/app/views/govuk_publishing_components/components/docs/show_password.yml +3 -1
- data/config/locales/cy.yml +2 -5
- data/config/locales/en.yml +2 -5
- data/lib/govuk_publishing_components.rb +7 -6
- data/lib/govuk_publishing_components/presenters/contextual_navigation.rb +1 -1
- data/lib/govuk_publishing_components/version.rb +1 -1
- metadata +4 -5
- data/app/views/govuk_publishing_components/components/_transition_countdown.html.erb +0 -35
- data/app/views/govuk_publishing_components/components/docs/transition_countdown.yml +0 -17
- data/lib/govuk_publishing_components/app_helpers/countdown_helper.rb +0 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 884556b32a54e514794dba01e0bbac985e9fae36beeea08e458e017ba20bc397
|
4
|
+
data.tar.gz: 920499e180389d7f7fb34ad3a84b018a3e8d02a69393244c18027a55a0272031
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e7f807097888f485b69167eadc138c279654952b4e67050312d8f12215d439a503471da4af64198201bc99c6c0b967d1203482350037d29eb1900c330c9af7f8
|
7
|
+
data.tar.gz: c360c8660c5e049177a15289856df34b84ccf25c3132361d8dcd5418a1947289afa76ff7ff0aff9ea103e8c8d8220ea57029fd790f7740169c9e6aa1aa9edf1b
|
data/app/assets/javascripts/govuk_publishing_components/analytics/explicit-cross-domain-links.js
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
;(function (global) {
|
2
|
+
'use strict'
|
3
|
+
|
4
|
+
var GOVUK = global.GOVUK || {}
|
5
|
+
GOVUK.Modules = GOVUK.Modules || {}
|
6
|
+
|
7
|
+
GOVUK.Modules.ExplicitCrossDomainLinks = function () {
|
8
|
+
this.start = function ($module) {
|
9
|
+
var element = $module[0]
|
10
|
+
|
11
|
+
if (!global.ga) { return }
|
12
|
+
|
13
|
+
global.ga(function () {
|
14
|
+
var trackers = global.ga.getAll()
|
15
|
+
|
16
|
+
if (!trackers.length) { return }
|
17
|
+
|
18
|
+
var linker = new global.gaplugins.Linker(trackers[0])
|
19
|
+
|
20
|
+
var attrAction = element.getAttribute('action')
|
21
|
+
if (attrAction) {
|
22
|
+
element.setAttribute('action', linker.decorate(attrAction))
|
23
|
+
}
|
24
|
+
|
25
|
+
var attrHref = element.getAttribute('href')
|
26
|
+
if (attrHref) {
|
27
|
+
element.href = linker.decorate(attrHref)
|
28
|
+
}
|
29
|
+
})
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
global.GOVUK = GOVUK
|
34
|
+
})(window)
|
@@ -26,6 +26,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
26
26
|
this.showHide = document.createElement('button')
|
27
27
|
this.showHide.className = 'gem-c-show-password__toggle'
|
28
28
|
this.showHide.setAttribute('aria-controls', this.input.getAttribute('id'))
|
29
|
+
this.showHide.setAttribute('type', 'button')
|
29
30
|
this.showHide.innerHTML = this.showPasswordText
|
30
31
|
this.wrapper.insertBefore(this.showHide, this.input.nextSibling)
|
31
32
|
|
data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/youtube-link-enhancement.js
CHANGED
@@ -105,8 +105,10 @@
|
|
105
105
|
events: {
|
106
106
|
onReady: function (event) {
|
107
107
|
// update iframe title attribute once video is ready
|
108
|
+
// this is done to let screen reader users know that they are focused on a video
|
109
|
+
// https://github.com/alphagov/govuk_publishing_components/pull/908#discussion_r302913995
|
108
110
|
var videoTitle = options.title
|
109
|
-
event.target.
|
111
|
+
event.target.getIframe().title = videoTitle + ' (video)'
|
110
112
|
},
|
111
113
|
onStateChange: function (event) {
|
112
114
|
var eventData = event.data
|
@@ -1,11 +1,51 @@
|
|
1
|
-
|
1
|
+
$transition-campaign-red: #ff003b;
|
2
|
+
$transition-campaign-dark-blue: #1e1348;
|
2
3
|
|
3
|
-
.gem-c-contextual-sidebar__brexit-
|
4
|
+
.gem-c-contextual-sidebar__brexit-related-links {
|
4
5
|
border-top: 2px solid $govuk-brand-colour;
|
6
|
+
|
7
|
+
.gem-c-contextual-sidebar__brexit-heading {
|
8
|
+
@include govuk-font(19, $weight: bold);
|
9
|
+
padding-top: govuk-spacing(3);
|
10
|
+
margin-bottom: govuk-spacing(2);
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
.gem-c-contextual-sidebar__brexit-cta {
|
15
|
+
@include govuk-font(19);
|
16
|
+
margin-bottom: govuk-spacing(6);
|
17
|
+
background-color: govuk-colour('light-grey', $legacy: 'grey-4');
|
18
|
+
border-top: 4px solid $transition-campaign-red;
|
19
|
+
display: block;
|
20
|
+
padding: govuk-spacing(3);
|
21
|
+
text-decoration: none;
|
22
|
+
|
23
|
+
.gem-c-contextual-sidebar__brexit-heading {
|
24
|
+
@extend %govuk-heading-m;
|
25
|
+
color: $transition-campaign-dark-blue;
|
26
|
+
}
|
27
|
+
|
28
|
+
.gem-c-contextual-sidebar__brexit-text {
|
29
|
+
@extend %govuk-link;
|
30
|
+
|
31
|
+
margin-top: 0;
|
32
|
+
margin-bottom: 0;
|
33
|
+
text-decoration: underline;
|
34
|
+
|
35
|
+
@include govuk-media-query($from: tablet) {
|
36
|
+
margin-bottom: govuk-spacing(2);
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
@include govuk-compatibility(govuk_template) {
|
41
|
+
.gem-c-contextual-sidebar__brexit-title {
|
42
|
+
margin-bottom: govuk-spacing(3);
|
43
|
+
}
|
44
|
+
}
|
5
45
|
}
|
6
46
|
|
7
|
-
.gem-c-contextual-sidebar__brexit-
|
8
|
-
|
9
|
-
|
10
|
-
|
47
|
+
.gem-c-contextual-sidebar__brexit-cta:focus {
|
48
|
+
.gem-c-contextual-sidebar__brexit-text {
|
49
|
+
text-decoration: none;
|
50
|
+
}
|
11
51
|
}
|
@@ -36,10 +36,10 @@ $large-input-size: 50px;
|
|
36
36
|
|
37
37
|
.gem-c-search__input[type="search"] { // overly specific to prevent some overrides from outside
|
38
38
|
@include govuk-font($size: 19, $line-height: (28 / 19));
|
39
|
-
padding: 6px;
|
40
39
|
margin: 0;
|
41
40
|
width: 100%;
|
42
|
-
height: em(
|
41
|
+
height: em(40, 16);
|
42
|
+
padding: em(6, 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
|
@@ -47,6 +47,10 @@ $large-input-size: 50px;
|
|
47
47
|
-webkit-appearance: none;
|
48
48
|
-moz-appearance: none;
|
49
49
|
appearance: none;
|
50
|
+
@include govuk-media-query($from: tablet) {
|
51
|
+
height: em(40, 19);
|
52
|
+
padding: em(6, 19);
|
53
|
+
}
|
50
54
|
|
51
55
|
// the .focus class is added by JS and ensures that the input remains above the label once clicked/filled in
|
52
56
|
&:focus,
|
@@ -2,23 +2,10 @@
|
|
2
2
|
<% shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns) %>
|
3
3
|
|
4
4
|
<div class="gem-c-contextual-sidebar">
|
5
|
-
<% if navigation.
|
6
|
-
<%= render 'govuk_publishing_components/components/contextual_sidebar/
|
5
|
+
<% if navigation.show_brexit_related_links? && navigation.step_by_step_count.zero? %>
|
6
|
+
<%= render 'govuk_publishing_components/components/contextual_sidebar/brexit_related_links' %>
|
7
7
|
<% elsif navigation.step_by_step_count.zero? && !navigation.transition_countdown_exception? %>
|
8
|
-
<%= render 'govuk_publishing_components/components/
|
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
|
-
} %>
|
8
|
+
<%= render 'govuk_publishing_components/components/contextual_sidebar/brexit_cta' %>
|
22
9
|
<% end %>
|
23
10
|
|
24
11
|
<% if navigation.content_tagged_to_a_reasonable_number_of_step_by_steps? %>
|
@@ -43,7 +30,7 @@
|
|
43
30
|
} %>
|
44
31
|
<% end %>
|
45
32
|
|
46
|
-
<% if navigation.
|
47
|
-
<%= render 'govuk_publishing_components/components/contextual_sidebar/
|
33
|
+
<% if navigation.show_brexit_related_links? && navigation.step_by_step_count > 0 %>
|
34
|
+
<%= render 'govuk_publishing_components/components/contextual_sidebar/brexit_related_links' %>
|
48
35
|
<% end %>
|
49
36
|
</div>
|
data/app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_cta.html.erb
CHANGED
@@ -1,6 +1,20 @@
|
|
1
|
+
<% shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns) %>
|
1
2
|
<% link_text = t("components.related_navigation.transition.link_text") %>
|
2
3
|
<% link_path = t("components.related_navigation.transition.link_path") %>
|
3
|
-
|
4
|
+
|
5
|
+
<% data_attributes = {
|
6
|
+
"module": "track-click",
|
7
|
+
"track-category": "relatedLinkClicked",
|
8
|
+
"track-action": "1.0 Transition",
|
9
|
+
"track-label": link_path,
|
10
|
+
"track-dimension": link_text,
|
11
|
+
"track-dimension-index": "29",
|
12
|
+
} %>
|
13
|
+
|
14
|
+
<%= link_to link_path,
|
15
|
+
class: "govuk-link gem-c-contextual-sidebar__brexit-cta",
|
16
|
+
data: data_attributes,
|
17
|
+
lang: shared_helper.t_locale("components.related_navigation.transition.title") do %>
|
4
18
|
<h2 class="gem-c-contextual-sidebar__brexit-heading"><%= t("components.related_navigation.transition.title") %></h2>
|
5
|
-
<
|
6
|
-
|
19
|
+
<p class="gem-c-contextual-sidebar__brexit-text"><%= link_text %></p>
|
20
|
+
<% end %>
|
@@ -0,0 +1,6 @@
|
|
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-related-links 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>
|
6
|
+
</div>
|
@@ -81,7 +81,7 @@ examples:
|
|
81
81
|
- text: The Highway Code
|
82
82
|
href: "/guidance/the-highway-code"
|
83
83
|
optional: false
|
84
|
-
|
84
|
+
with_brexit_and_other_related_links:
|
85
85
|
data:
|
86
86
|
content_item:
|
87
87
|
title: "A content item"
|
@@ -108,7 +108,7 @@ examples:
|
|
108
108
|
- title: The future of jobs and skills
|
109
109
|
base_path: /government/collections/the-future-of-jobs-and-skills
|
110
110
|
document_type: document_collection
|
111
|
-
|
111
|
+
with_brexit_related_links_and_step_by_steps:
|
112
112
|
data:
|
113
113
|
content_item:
|
114
114
|
title: "A content item"
|
@@ -70,7 +70,7 @@ examples:
|
|
70
70
|
description: Don't indent the extra links. Used for links to people pages.
|
71
71
|
data:
|
72
72
|
href: "/government/people/"
|
73
|
-
image_src: "
|
73
|
+
image_src: "https://assets.publishing.service.gov.uk/government/uploads/system/uploads/feature/image/62756/s300_courts-of-justice.JPG"
|
74
74
|
image_alt: "some meaningful alt text please"
|
75
75
|
context:
|
76
76
|
text: "The Rt Hon"
|
@@ -85,7 +85,7 @@ examples:
|
|
85
85
|
extra_links_with_no_main_link:
|
86
86
|
description: If extra links are included, the main link is not needed. Note that in this configuration the image is not a link as no link has been supplied.
|
87
87
|
data:
|
88
|
-
image_src: "
|
88
|
+
image_src: "https://assets.publishing.service.gov.uk/government/uploads/system/uploads/feature/image/62756/s300_courts-of-justice.JPG"
|
89
89
|
image_alt: "some meaningful alt text please"
|
90
90
|
heading_text: "John Whiskers MP"
|
91
91
|
extra_links: [
|
@@ -151,7 +151,7 @@ examples:
|
|
151
151
|
data:
|
152
152
|
large: true
|
153
153
|
href: "/still-not-a-page"
|
154
|
-
image_src: "https://assets.publishing.service.gov.uk/
|
154
|
+
image_src: "https://assets.publishing.service.gov.uk/government/uploads/system/uploads/feature/image/62756/s300_courts-of-justice.JPG"
|
155
155
|
image_alt: "some meaningful alt text please"
|
156
156
|
context:
|
157
157
|
date: 2017-06-14 11:30:00
|
@@ -208,7 +208,7 @@ examples:
|
|
208
208
|
with_lang:
|
209
209
|
description: |
|
210
210
|
Pass through an appropriate `lang` to set a HTML lang attribute for the component.
|
211
|
-
|
211
|
+
|
212
212
|
The `lang` attribute **must** be set to a [valid BCP47 string](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang#Language_tag_syntax). A valid code can be the two or three letter language code - for example, English is `en` or `eng`, Korean is `ko` or `kor` - but if in doubt please check.
|
213
213
|
data:
|
214
214
|
href: "/not-a-page"
|
@@ -1,9 +1,11 @@
|
|
1
|
-
name: Show password input
|
1
|
+
name: Show password input (experimental)
|
2
2
|
description: A password input field that allows the password to be shown.
|
3
3
|
body: |
|
4
4
|
Adds a password reveal button to an input that toggles its type from password to text, revealing the password. Does not appear if JavaScript is disabled.
|
5
5
|
|
6
6
|
Uses a visually hidden bit of text to inform screen reader users of the state of the input rather than announcing the content of the password input when toggled.
|
7
|
+
|
8
|
+
This component is currently experimental. If you are using it, please feed back any research findings to the Accounts team.
|
7
9
|
accessibility_criteria: |
|
8
10
|
The component must:
|
9
11
|
|
data/config/locales/cy.yml
CHANGED
@@ -10,9 +10,6 @@ cy:
|
|
10
10
|
contents: Cynnwys
|
11
11
|
related_navigation:
|
12
12
|
transition:
|
13
|
-
title: "
|
13
|
+
title: "Brexit"
|
14
14
|
link_path: "/transition.cy"
|
15
|
-
link_text: "
|
16
|
-
transition_countdown:
|
17
|
-
day_to_go: "diwrnod i fynd"
|
18
|
-
days_to_go: "diwrnod i fynd"
|
15
|
+
link_text: "Darganfyddwch sut mae’r rheolau newydd yn effeithio arnoch chi"
|
data/config/locales/en.yml
CHANGED
@@ -77,9 +77,9 @@ en:
|
|
77
77
|
topical_events: "Topical event"
|
78
78
|
world_locations: "World locations"
|
79
79
|
transition:
|
80
|
-
title: "Brexit
|
80
|
+
title: "Brexit"
|
81
81
|
link_path: "/transition"
|
82
|
-
link_text: "Check
|
82
|
+
link_text: "Check how the new rules affect you"
|
83
83
|
related_footer_navigation:
|
84
84
|
collections: "Collections"
|
85
85
|
policies: "Policies"
|
@@ -103,6 +103,3 @@ en:
|
|
103
103
|
summary_list:
|
104
104
|
edit: "Change"
|
105
105
|
delete: "Delete"
|
106
|
-
transition_countdown:
|
107
|
-
day_to_go: "day to go"
|
108
|
-
days_to_go: "days to go"
|
@@ -34,18 +34,19 @@ 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"
|
38
37
|
require "govuk_publishing_components/app_helpers/environment"
|
39
38
|
|
40
|
-
# Add
|
41
|
-
ActionController::Base.append_view_path(
|
42
|
-
File.expand_path("app/views", GovukPublishingComponents::Config.gem_directory),
|
43
|
-
)
|
44
|
-
|
39
|
+
# Add i18n paths and views for usage outside of a Rails app
|
45
40
|
I18n.load_path.unshift(
|
46
41
|
*Dir.glob(File.expand_path("config/locales/*.yml", GovukPublishingComponents::Config.gem_directory)),
|
47
42
|
)
|
48
43
|
|
44
|
+
ActiveSupport.on_load(:action_controller) do
|
45
|
+
ActionController::Base.append_view_path(
|
46
|
+
File.expand_path("app/views", GovukPublishingComponents::Config.gem_directory),
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
49
50
|
module GovukPublishingComponents
|
50
51
|
def self.render(component, options = {})
|
51
52
|
I18n.with_locale(options.fetch(:locale, "en")) do
|
@@ -104,7 +104,7 @@ module GovukPublishingComponents
|
|
104
104
|
false
|
105
105
|
end
|
106
106
|
|
107
|
-
def
|
107
|
+
def show_brexit_related_links?
|
108
108
|
# If tagged directly to /brexit or /world/brexit
|
109
109
|
# Or if tagged to a taxon which has /brexit as a parent
|
110
110
|
# And is not the brexit checker start page
|
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.11.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-12-
|
11
|
+
date: 2020-12-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: govuk_app_config
|
@@ -404,6 +404,7 @@ files:
|
|
404
404
|
- app/assets/javascripts/govuk_publishing_components/analytics/download-link-tracker.js
|
405
405
|
- app/assets/javascripts/govuk_publishing_components/analytics/ecommerce.js
|
406
406
|
- app/assets/javascripts/govuk_publishing_components/analytics/error-tracking.js
|
407
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/explicit-cross-domain-links.js
|
407
408
|
- app/assets/javascripts/govuk_publishing_components/analytics/external-link-tracker.js
|
408
409
|
- app/assets/javascripts/govuk_publishing_components/analytics/google-analytics-universal-tracker.js
|
409
410
|
- app/assets/javascripts/govuk_publishing_components/analytics/init.js
|
@@ -677,13 +678,13 @@ files:
|
|
677
678
|
- app/views/govuk_publishing_components/components/_taxonomy_list.html.erb
|
678
679
|
- app/views/govuk_publishing_components/components/_textarea.html.erb
|
679
680
|
- app/views/govuk_publishing_components/components/_title.html.erb
|
680
|
-
- app/views/govuk_publishing_components/components/_transition_countdown.html.erb
|
681
681
|
- app/views/govuk_publishing_components/components/_translation-nav.html.erb
|
682
682
|
- app/views/govuk_publishing_components/components/_warning_text.html.erb
|
683
683
|
- app/views/govuk_publishing_components/components/attachment/_thumbnail_document.svg
|
684
684
|
- app/views/govuk_publishing_components/components/attachment/_thumbnail_generic.svg
|
685
685
|
- app/views/govuk_publishing_components/components/attachment/_thumbnail_spreadsheet.svg
|
686
686
|
- app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_cta.html.erb
|
687
|
+
- app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_related_links.html.erb
|
687
688
|
- app/views/govuk_publishing_components/components/docs/accordion.yml
|
688
689
|
- app/views/govuk_publishing_components/components/docs/action_link.yml
|
689
690
|
- app/views/govuk_publishing_components/components/docs/admin_analytics.yml
|
@@ -757,7 +758,6 @@ files:
|
|
757
758
|
- app/views/govuk_publishing_components/components/docs/taxonomy_list.yml
|
758
759
|
- app/views/govuk_publishing_components/components/docs/textarea.yml
|
759
760
|
- app/views/govuk_publishing_components/components/docs/title.yml
|
760
|
-
- app/views/govuk_publishing_components/components/docs/transition_countdown.yml
|
761
761
|
- app/views/govuk_publishing_components/components/docs/translation-nav.yml
|
762
762
|
- app/views/govuk_publishing_components/components/docs/warning_text.yml
|
763
763
|
- app/views/govuk_publishing_components/components/feedback/_problem_form.html.erb
|
@@ -782,7 +782,6 @@ files:
|
|
782
782
|
- lib/generators/govuk_publishing_components/templates/component.yml.erb
|
783
783
|
- lib/govuk_publishing_components.rb
|
784
784
|
- lib/govuk_publishing_components/app_helpers/brand_helper.rb
|
785
|
-
- lib/govuk_publishing_components/app_helpers/countdown_helper.rb
|
786
785
|
- lib/govuk_publishing_components/app_helpers/environment.rb
|
787
786
|
- lib/govuk_publishing_components/app_helpers/table_helper.rb
|
788
787
|
- lib/govuk_publishing_components/app_helpers/taxon_breadcrumbs.rb
|
@@ -1,35 +0,0 @@
|
|
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,17 +0,0 @@
|
|
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"
|
@@ -1,33 +0,0 @@
|
|
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
|