govuk_publishing_components 21.69.0 → 23.3.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 +16 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/analytics.js +85 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/auto-track-event.js +30 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/custom-dimensions.js +120 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/download-link-tracker.js +41 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/ecommerce.js +101 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/error-tracking.js +51 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/external-link-tracker.js +56 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/google-analytics-universal-tracker.js +198 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/init.js +56 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/mailto-link-tracker.js +38 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/page-content.js +129 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/pii.js +74 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js +39 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/scroll-tracker.js +513 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/static-analytics.js +132 -0
- data/app/assets/javascripts/govuk_publishing_components/lib/track-click.js +61 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +4 -10
- data/app/assets/stylesheets/govuk_publishing_components/components/_layout-header.scss +5 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/_print-link.scss +0 -2
- data/app/assets/stylesheets/govuk_publishing_components/components/_search.scss +7 -1
- data/app/assets/stylesheets/govuk_publishing_components/components/print/_govspeak.scss +4 -0
- data/app/views/govuk_publishing_components/components/_contents_list.html.erb +8 -13
- data/app/views/govuk_publishing_components/components/_govspeak.html.erb +8 -12
- data/app/views/govuk_publishing_components/components/_input.html.erb +17 -4
- data/app/views/govuk_publishing_components/components/_layout_for_public.html.erb +0 -1
- data/app/views/govuk_publishing_components/components/_layout_header.html.erb +6 -5
- data/app/views/govuk_publishing_components/components/_panel.html.erb +5 -2
- data/app/views/govuk_publishing_components/components/_print_link.html.erb +18 -11
- data/app/views/govuk_publishing_components/components/docs/contents_list.yml +0 -37
- data/app/views/govuk_publishing_components/components/docs/govspeak.yml +1 -6
- data/app/views/govuk_publishing_components/components/docs/input.yml +7 -3
- data/app/views/govuk_publishing_components/components/docs/layout_header.yml +0 -3
- data/app/views/govuk_publishing_components/components/docs/panel.yml +4 -0
- data/app/views/govuk_publishing_components/components/docs/print_link.yml +5 -0
- data/app/views/govuk_publishing_components/components/layout_header/_header_logo.html.erb +3 -1
- data/config/initializers/assets.rb +1 -0
- data/config/locales/et.yml +4 -0
- data/config/locales/fr.yml +4 -0
- data/lib/govuk_publishing_components/version.rb +1 -1
- metadata +21 -2
@@ -3,33 +3,40 @@
|
|
3
3
|
href ||= nil
|
4
4
|
data_attributes ||= {}
|
5
5
|
require_js ||= href.nil?
|
6
|
+
margin_top ||= 3
|
7
|
+
margin_bottom ||= 3
|
6
8
|
|
7
|
-
data_attributes[:module] =
|
9
|
+
data_attributes[:module] = require_js ? "print-link" : "button"
|
10
|
+
|
11
|
+
shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new({
|
12
|
+
margin_top: margin_top,
|
13
|
+
margin_bottom: margin_bottom
|
14
|
+
})
|
15
|
+
|
16
|
+
wrapper_classes = %w(gem-c-print-link)
|
17
|
+
wrapper_classes << "gem-c-print-link--show-without-js" unless require_js
|
18
|
+
wrapper_classes << (shared_helper.get_margin_top)
|
19
|
+
wrapper_classes << (shared_helper.get_margin_bottom)
|
8
20
|
|
9
21
|
classes = %w(govuk-link)
|
10
22
|
classes << "gem-c-print-link__button" if href.nil?
|
11
23
|
classes << "gem-c-print-link__link govuk-link--no-visited-state" if href.present?
|
12
24
|
%>
|
13
25
|
|
14
|
-
|
15
|
-
|
26
|
+
<%= tag.div class: wrapper_classes do %>
|
27
|
+
<% if require_js %>
|
16
28
|
<%= content_tag(:button, text, {
|
17
29
|
class: classes,
|
18
30
|
data: data_attributes
|
19
31
|
}) %>
|
20
|
-
|
21
|
-
<% else %>
|
22
|
-
<div class="gem-c-print-link gem-c-print-link--show-without-js">
|
32
|
+
<% else %>
|
23
33
|
<%= link_to(
|
24
34
|
text,
|
25
35
|
href,
|
26
36
|
class: classes,
|
27
37
|
rel: "alternate",
|
28
38
|
data: data_attributes,
|
29
|
-
role: "button"
|
30
|
-
data: {
|
31
|
-
module: "button",
|
32
|
-
},
|
39
|
+
role: "button"
|
33
40
|
) %>
|
34
|
-
|
41
|
+
<% end %>
|
35
42
|
<% end %>
|
@@ -203,40 +203,3 @@ examples:
|
|
203
203
|
text: 2. Numbers not parsed
|
204
204
|
- href: "#third-thing"
|
205
205
|
text: 3. Numbers are just text
|
206
|
-
without_a_title:
|
207
|
-
description: The component can be used to provide a list of links to other pages, in which case the 'Contents' title is inappropriate and can be removed.
|
208
|
-
data:
|
209
|
-
hide_title: true
|
210
|
-
contents:
|
211
|
-
- href: "#first-thing"
|
212
|
-
text: Community best practice
|
213
|
-
items:
|
214
|
-
- href: "#second-thing"
|
215
|
-
text: Guidance and regulation
|
216
|
-
- href: "#third-thing"
|
217
|
-
text: Consultations
|
218
|
-
with_a_custom_title:
|
219
|
-
description: Override the default title of "Contents" with a custom title
|
220
|
-
data:
|
221
|
-
title: "On this page"
|
222
|
-
contents:
|
223
|
-
- href: "#first-thing"
|
224
|
-
text: First thing
|
225
|
-
- href: "#second-thing"
|
226
|
-
text: Second thing
|
227
|
-
- href: "#third-thing"
|
228
|
-
text: Third thing
|
229
|
-
with_a_custom_title_locale:
|
230
|
-
description: |
|
231
|
-
This component is often used on translated pages that don’t have a translation for the title of the contents list. This means that it could display the fallback English string if the translate method can’t find an appropriate translation. This makes sure that the lang can be set to ensure that browsers understand which parts of the page are in each language.
|
232
|
-
|
233
|
-
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.
|
234
|
-
data:
|
235
|
-
title_lang: "cy"
|
236
|
-
contents:
|
237
|
-
- href: "#first-thing"
|
238
|
-
text: First thing
|
239
|
-
- href: "#second-thing"
|
240
|
-
text: Second thing
|
241
|
-
- href: "#third-thing"
|
242
|
-
text: Third thing
|
@@ -24,12 +24,7 @@ examples:
|
|
24
24
|
data:
|
25
25
|
block: |
|
26
26
|
<h2>This is a title</h2>
|
27
|
-
<p>This is some body text with <a href
|
28
|
-
with_content:
|
29
|
-
data:
|
30
|
-
content: |
|
31
|
-
<h2>This is a title</h2>
|
32
|
-
<p>This is some body text with <a href=#>a link</a></p>
|
27
|
+
<p>This is some body text with <a href="https://example.com">a link</a>.</p>
|
33
28
|
heading_levels:
|
34
29
|
data:
|
35
30
|
block: |
|
@@ -125,12 +125,16 @@ examples:
|
|
125
125
|
name: "search-box"
|
126
126
|
type: "search"
|
127
127
|
search_icon: true
|
128
|
-
|
129
|
-
description:
|
128
|
+
with_label_as_heading:
|
129
|
+
description: |
|
130
|
+
Wraps the label in a heading tag. Valid options are 1 to 6. To adjust the size of the label/heading, use the `heading_size` option. Valid options are 's', 'm', 'l' and 'xl'.
|
131
|
+
|
132
|
+
Based on the [heading/label pattern](https://design-system.service.gov.uk/patterns/question-pages/) in the Design System.
|
130
133
|
data:
|
131
134
|
label:
|
132
|
-
text: "
|
135
|
+
text: "This is a heading 1 and a label"
|
133
136
|
name: "name"
|
137
|
+
heading_level: 1
|
134
138
|
heading_size: "l"
|
135
139
|
with_prefix:
|
136
140
|
description: To help users understand how the input should look like. Often used for units of measurement.
|
@@ -44,7 +44,6 @@ examples:
|
|
44
44
|
description: This supports pages where the search appears on the left with multiple navigation links on the right, such as the [How government works](https://www.gov.uk/government/how-government-works) page
|
45
45
|
data:
|
46
46
|
search_left: true
|
47
|
-
environment: public
|
48
47
|
navigation_items:
|
49
48
|
- text: Departments
|
50
49
|
href: "item-1"
|
@@ -71,10 +70,8 @@ examples:
|
|
71
70
|
description: This is useful for pages where a large full-width banner is the first thing to appear on the page, for example, the [GOV.UK homepage](https://www.gov.uk)
|
72
71
|
data:
|
73
72
|
remove_bottom_border: true
|
74
|
-
environment: 'public'
|
75
73
|
with_search_bar:
|
76
74
|
data:
|
77
|
-
environment: 'public'
|
78
75
|
search: true
|
79
76
|
|
80
77
|
accessibility_criteria: |
|
@@ -22,3 +22,8 @@ examples:
|
|
22
22
|
track-category: "printButton"
|
23
23
|
track-action: "clicked"
|
24
24
|
track-label: "Print this page"
|
25
|
+
with_custom_margins:
|
26
|
+
description: The component accepts a number for margin bottom from 0 to 9 (0px to 60px) using the [GOV.UK Frontend spacing scale](https://design-system.service.gov.uk/styles/spacing/#the-responsive-spacing-scale). It defaults to having margin level 3 on top and bottom.
|
27
|
+
data:
|
28
|
+
margin_top: 0
|
29
|
+
margin_bottom: 4
|
@@ -11,10 +11,12 @@
|
|
11
11
|
GOV.UK
|
12
12
|
</span>
|
13
13
|
</span>
|
14
|
-
<%
|
14
|
+
<% if product_name %>
|
15
15
|
<span class="govuk-header__product-name gem-c-header__product-name">
|
16
16
|
<%= product_name %>
|
17
17
|
</span>
|
18
|
+
<% end %>
|
19
|
+
<% if environment %>
|
18
20
|
<span class="gem-c-environment-tag govuk-tag gem-c-environment-tag--<%= environment %>">
|
19
21
|
<%= environment %>
|
20
22
|
</span>
|
@@ -11,6 +11,7 @@ Rails.application.config.assets.precompile += %w[
|
|
11
11
|
govuk_publishing_components/ie.js
|
12
12
|
govuk_publishing_components/modules.js
|
13
13
|
govuk_publishing_components/vendor/modernizr.js
|
14
|
+
govuk_publishing_components/analytics.js
|
14
15
|
govuk_publishing_components/component_guide.css
|
15
16
|
govuk_publishing_components/favicon-development.png
|
16
17
|
govuk_publishing_components/favicon-example.png
|
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:
|
4
|
+
version: 23.3.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-
|
11
|
+
date: 2020-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: govuk_app_config
|
@@ -397,6 +397,22 @@ files:
|
|
397
397
|
- app/assets/javascripts/component_guide/vendor/matches-polyfill.min.js
|
398
398
|
- app/assets/javascripts/component_guide/visual-regression.js
|
399
399
|
- app/assets/javascripts/govuk_publishing_components/all_components.js
|
400
|
+
- app/assets/javascripts/govuk_publishing_components/analytics.js
|
401
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/analytics.js
|
402
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/auto-track-event.js
|
403
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/custom-dimensions.js
|
404
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/download-link-tracker.js
|
405
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/ecommerce.js
|
406
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/error-tracking.js
|
407
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/external-link-tracker.js
|
408
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/google-analytics-universal-tracker.js
|
409
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/init.js
|
410
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/mailto-link-tracker.js
|
411
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/page-content.js
|
412
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/pii.js
|
413
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/print-intent.js
|
414
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/scroll-tracker.js
|
415
|
+
- app/assets/javascripts/govuk_publishing_components/analytics/static-analytics.js
|
400
416
|
- app/assets/javascripts/govuk_publishing_components/components/accordion.js
|
401
417
|
- app/assets/javascripts/govuk_publishing_components/components/button.js
|
402
418
|
- app/assets/javascripts/govuk_publishing_components/components/character-count.js
|
@@ -429,6 +445,7 @@ files:
|
|
429
445
|
- app/assets/javascripts/govuk_publishing_components/lib/select.js
|
430
446
|
- app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
|
431
447
|
- app/assets/javascripts/govuk_publishing_components/lib/toggle.js
|
448
|
+
- app/assets/javascripts/govuk_publishing_components/lib/track-click.js
|
432
449
|
- app/assets/javascripts/govuk_publishing_components/modules.js
|
433
450
|
- app/assets/javascripts/govuk_publishing_components/vendor/html5shiv-printshiv.js
|
434
451
|
- app/assets/javascripts/govuk_publishing_components/vendor/json2.js
|
@@ -748,6 +765,8 @@ files:
|
|
748
765
|
- config/initializers/assets.rb
|
749
766
|
- config/locales/cy.yml
|
750
767
|
- config/locales/en.yml
|
768
|
+
- config/locales/et.yml
|
769
|
+
- config/locales/fr.yml
|
751
770
|
- config/routes.rb
|
752
771
|
- lib/generators/govuk_publishing_components/USAGE
|
753
772
|
- lib/generators/govuk_publishing_components/component_generator.rb
|