govuk_publishing_components 37.0.0 → 37.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/config/govuk_publishing_components_manifest.js +0 -2
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-copy-tracker.js +55 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-schemas.js +1 -1
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-video-tracker.js +1 -1
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4.js +1 -0
- data/app/assets/javascripts/govuk_publishing_components/components/option-select.js +1 -1
- data/app/assets/stylesheets/govuk_publishing_components/components/_layout-header.scss +1 -0
- data/app/views/govuk_publishing_components/components/_feedback.html.erb +8 -4
- data/app/views/govuk_publishing_components/components/_layout_footer.html.erb +5 -0
- data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb +7 -3
- data/app/views/govuk_publishing_components/components/_metadata.html.erb +1 -5
- data/app/views/govuk_publishing_components/components/docs/feedback.yml +5 -0
- data/app/views/govuk_publishing_components/components/feedback/_problem_form.html.erb +17 -7
- data/app/views/govuk_publishing_components/components/feedback/_survey_signup_form.html.erb +17 -7
- data/app/views/govuk_publishing_components/components/feedback/_yes_no_banner.html.erb +58 -6
- data/lib/govuk_publishing_components/presenters/absolute_links_helper.rb +20 -0
- data/lib/govuk_publishing_components/version.rb +1 -1
- data/lib/govuk_publishing_components.rb +1 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6371bbc7ca91fdd7a004050d47b2f09ac4d55244a8c7475692022e87af313b80
|
4
|
+
data.tar.gz: aa375ef7ebb426df626123c3832df1b926b562633c36d8af8202a82cff4d1f65
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7bc4e2777a12f8a6e6a68de36a0d4bb92d6d5f97e2b16e1a07eb264285c0a5f97c2b0b0d205946c570436368dc7319da9c5796de4c97a700939e3be39f27b120
|
7
|
+
data.tar.gz: 24472468c3ebe08a695d1a1f3b03f7e2a21a1850257d8ca0a121663a1ff3d9176de1421746c0e292b589d7f08f7127ec1670946349e2e830ebb080cd1964e9a8
|
@@ -0,0 +1,55 @@
|
|
1
|
+
window.GOVUK = window.GOVUK || {}
|
2
|
+
window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {}
|
3
|
+
window.GOVUK.analyticsGa4.analyticsModules = window.GOVUK.analyticsGa4.analyticsModules || {};
|
4
|
+
|
5
|
+
(function (analyticsModules) {
|
6
|
+
'use strict'
|
7
|
+
|
8
|
+
var Ga4CopyTracker = {
|
9
|
+
init: function () {
|
10
|
+
window.addEventListener('copy', this.trackCopy.bind(this))
|
11
|
+
},
|
12
|
+
|
13
|
+
trackCopy: function (event) {
|
14
|
+
try {
|
15
|
+
var text = this.getSelectedText()
|
16
|
+
if (!text) {
|
17
|
+
return // do nothing if no text has been selected
|
18
|
+
}
|
19
|
+
var target = event.target.tagName
|
20
|
+
if (target === 'INPUT' || target === 'TEXTAREA') {
|
21
|
+
return // do nothing if text is being copied from an input
|
22
|
+
}
|
23
|
+
|
24
|
+
var PIIRemover = new window.GOVUK.analyticsGa4.PIIRemover()
|
25
|
+
text = window.GOVUK.analyticsGa4.core.trackFunctions.removeLinesAndExtraSpaces(text)
|
26
|
+
text = PIIRemover.stripPIIWithOverride(text, true, true)
|
27
|
+
var length = text.length
|
28
|
+
text = text.substring(0, 30)
|
29
|
+
|
30
|
+
var data = {
|
31
|
+
event_name: 'copy',
|
32
|
+
type: 'copy',
|
33
|
+
action: 'copy',
|
34
|
+
method: 'browser copy',
|
35
|
+
text: text,
|
36
|
+
length: length
|
37
|
+
}
|
38
|
+
window.GOVUK.analyticsGa4.core.applySchemaAndSendData(data, 'event_data')
|
39
|
+
} catch (e) {
|
40
|
+
console.warn('GA4 copy tracker error: ' + e.message, window.location)
|
41
|
+
}
|
42
|
+
},
|
43
|
+
|
44
|
+
getSelectedText: function () {
|
45
|
+
if (window.getSelection) {
|
46
|
+
return window.getSelection().toString()
|
47
|
+
} else if (document.selection) {
|
48
|
+
return document.selection.createRange().text
|
49
|
+
}
|
50
|
+
return false
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
analyticsModules.Ga4CopyTracker = Ga4CopyTracker
|
55
|
+
})(window.GOVUK.analyticsGa4.analyticsModules)
|
@@ -78,7 +78,7 @@ window.GOVUK.analyticsGa4.analyticsModules = window.GOVUK.analyticsGa4.analytics
|
|
78
78
|
data.url = this.handlers['video-' + player.id + '-url']
|
79
79
|
data.text = this.handlers['video-' + player.id + '-title']
|
80
80
|
data.video_current_time = Math.round(player.getCurrentTime())
|
81
|
-
data.
|
81
|
+
data.length = this.handlers['video-' + player.id + '-duration']
|
82
82
|
data.video_percent = position
|
83
83
|
|
84
84
|
window.GOVUK.analyticsGa4.core.applySchemaAndSendData(data, 'event_data')
|
@@ -4,6 +4,7 @@
|
|
4
4
|
//= require ./analytics-ga4/pii-remover
|
5
5
|
//= require ./analytics-ga4/ga4-page-views
|
6
6
|
//= require ./analytics-ga4/ga4-print-intent-tracker
|
7
|
+
//= require ./analytics-ga4/ga4-copy-tracker
|
7
8
|
//= require ./analytics-ga4/ga4-specialist-link-tracker
|
8
9
|
//= require ./analytics-ga4/ga4-link-tracker
|
9
10
|
//= require ./analytics-ga4/ga4-event-tracker
|
@@ -172,7 +172,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
172
172
|
try {
|
173
173
|
buttonAttributes = JSON.parse(buttonAttributes)
|
174
174
|
for (var rawKey in buttonAttributes) {
|
175
|
-
var key = rawKey.replace(/_/
|
175
|
+
var key = rawKey.replace(/_/g, '-').toLowerCase()
|
176
176
|
var rawValue = buttonAttributes[rawKey]
|
177
177
|
var value = typeof rawValue === 'object' ? JSON.stringify(rawValue) : rawValue
|
178
178
|
button.setAttribute('data-' + key, value)
|
@@ -9,10 +9,14 @@
|
|
9
9
|
email_regex = /[^\s=\/?&]+(?:@|%40)[^\s=\/?&]+/
|
10
10
|
url_without_pii = utf_encode(request.original_url.gsub(email_regex, '[email]'))
|
11
11
|
path_without_pii = utf_encode(request.fullpath.gsub(email_regex, '[email]'))
|
12
|
+
|
13
|
+
disable_ga4 ||= false
|
14
|
+
data_module = "feedback"
|
15
|
+
data_module << " ga4-event-tracker" unless disable_ga4
|
12
16
|
%>
|
13
17
|
|
14
|
-
<div class="gem-c-feedback govuk-!-display-none-print" data-module="
|
15
|
-
<%= render "govuk_publishing_components/components/feedback/yes_no_banner" %>
|
16
|
-
<%= render "govuk_publishing_components/components/feedback/problem_form", url_without_pii: url_without_pii %>
|
17
|
-
<%= render "govuk_publishing_components/components/feedback/survey_signup_form", path_without_pii: path_without_pii %>
|
18
|
+
<div class="gem-c-feedback govuk-!-display-none-print" data-module="<%= data_module %>">
|
19
|
+
<%= render "govuk_publishing_components/components/feedback/yes_no_banner", disable_ga4: %>
|
20
|
+
<%= render "govuk_publishing_components/components/feedback/problem_form", url_without_pii: url_without_pii, disable_ga4: %>
|
21
|
+
<%= render "govuk_publishing_components/components/feedback/survey_signup_form", path_without_pii: path_without_pii, disable_ga4: %>
|
18
22
|
</div>
|
@@ -7,6 +7,7 @@
|
|
7
7
|
classes = %w(gem-c-layout-footer govuk-footer)
|
8
8
|
classes << "gem-c-layout-footer--border" if with_border
|
9
9
|
layout_footer_helper = GovukPublishingComponents::Presenters::LayoutFooterHelper.new(navigation, meta)
|
10
|
+
absolute_links_helper = GovukPublishingComponents::Presenters::AbsoluteLinksHelper.new()
|
10
11
|
%>
|
11
12
|
<%= tag.footer class: classes, role: "contentinfo", 'data-module': "ga4-link-tracker" do %>
|
12
13
|
<div class="govuk-width-container">
|
@@ -51,6 +52,8 @@
|
|
51
52
|
unless attributes[:data][:ga4_link]
|
52
53
|
attributes[:data][:ga4_link] = layout_footer_helper.generate_ga4_link_attribute(index, ga4_section_index, section[:title], index_total)
|
53
54
|
end
|
55
|
+
|
56
|
+
item[:href] = absolute_links_helper.make_url_absolute(item[:href])
|
54
57
|
%>
|
55
58
|
<%= link_to item[:text], item[:href], attributes %>
|
56
59
|
</li>
|
@@ -82,6 +85,8 @@
|
|
82
85
|
unless attributes[:data][:ga4_link]
|
83
86
|
attributes[:data][:ga4_link] = layout_footer_helper.generate_ga4_link_attribute(index, navigation.length, "Support links", index_total)
|
84
87
|
end
|
88
|
+
|
89
|
+
item[:href] = absolute_links_helper.make_url_absolute(item[:href])
|
85
90
|
%>
|
86
91
|
<%= link_to item[:text], item[:href], attributes %>
|
87
92
|
</li>
|
data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb
CHANGED
@@ -70,6 +70,8 @@
|
|
70
70
|
|
71
71
|
popular_links_heading_classes = %w(govuk-heading-m)
|
72
72
|
popular_links_heading_classes << "gem-c-layout-super-navigation-header__popular-links-heading--large-navbar" if large_navbar
|
73
|
+
|
74
|
+
absolute_links_helper = GovukPublishingComponents::Presenters::AbsoluteLinksHelper.new()
|
73
75
|
%>
|
74
76
|
<%= content_tag("header",
|
75
77
|
{
|
@@ -311,9 +313,10 @@
|
|
311
313
|
link_classes = %w[govuk-link gem-c-layout-super-navigation-header__navigation-second-item-link]
|
312
314
|
link_classes << "gem-c-layout-super-navigation-header__navigation-second-item-link--with-description" if has_description
|
313
315
|
tracking_label = column[:label].downcase.gsub(/\s+/, "")
|
316
|
+
link_href = absolute_links_helper.make_url_absolute(item[:href])
|
314
317
|
%>
|
315
318
|
<li class="gem-c-layout-super-navigation-header__dropdown-list-item">
|
316
|
-
<%= link_to item[:label],
|
319
|
+
<%= link_to item[:label], link_href, {
|
317
320
|
class: link_classes,
|
318
321
|
data: {
|
319
322
|
track_action: "#{tracking_label}Link",
|
@@ -360,7 +363,7 @@
|
|
360
363
|
data-ga4-form='{ "event_name": "search", "type": "header menu bar", "section": "Search GOV.UK", "action": "search", "url": "/search/all" }'
|
361
364
|
data-ga4-form-include-text
|
362
365
|
data-ga4-form-no-answer-undefined
|
363
|
-
action="/search"
|
366
|
+
action="<%= absolute_links_helper.make_url_absolute('/search') %>"
|
364
367
|
method="get"
|
365
368
|
role="search"
|
366
369
|
aria-label="Site-wide"
|
@@ -394,7 +397,8 @@
|
|
394
397
|
<% index_total = popular_links.length %>
|
395
398
|
<% popular_links.each_with_index do | popular_link, index | %>
|
396
399
|
<li class="gem-c-layout-super-navigation-header__popular-item">
|
397
|
-
|
400
|
+
<% link_href = absolute_links_helper.make_url_absolute(popular_link[:href]) %>
|
401
|
+
<%= link_to popular_link[:label], link_href, {
|
398
402
|
class: [
|
399
403
|
"govuk-link",
|
400
404
|
"gem-c-layout-super-navigation-header__popular-link",
|
@@ -65,11 +65,7 @@
|
|
65
65
|
class="gem-c-metadata__definition-link govuk-!-display-none-print js-see-all-updates-link"
|
66
66
|
data-track-category="content-history"
|
67
67
|
data-track-action="see-all-updates-link-clicked"
|
68
|
-
data-track-label="history"
|
69
|
-
<% unless disable_ga4 %>
|
70
|
-
data-module="ga4-link-tracker"
|
71
|
-
data-ga4-link="<%= ga4_object %>"
|
72
|
-
<% end%>>
|
68
|
+
data-track-label="history">
|
73
69
|
<%= t("components.metadata.see_all_updates") %>
|
74
70
|
</a>
|
75
71
|
<% end %>
|
@@ -25,3 +25,8 @@ shared_accessibility_criteria:
|
|
25
25
|
examples:
|
26
26
|
default:
|
27
27
|
data: {}
|
28
|
+
with_ga4_tracking_disabled:
|
29
|
+
description: |
|
30
|
+
Disables GA4 tracking on the feedback component. Tracking is enabled by default, which adds a data module and data-attributes with JSONs to the feedback buttons. See the [ga4-event-tracker documentation](https://github.com/alphagov/govuk_publishing_components/blob/main/docs/analytics-ga4/ga4-event-tracker.md) for more information.
|
31
|
+
data:
|
32
|
+
disable_ga4: true
|
@@ -1,4 +1,8 @@
|
|
1
|
-
|
1
|
+
<%
|
2
|
+
absolute_links_helper = GovukPublishingComponents::Presenters::AbsoluteLinksHelper.new()
|
3
|
+
%>
|
4
|
+
|
5
|
+
<form action="<%= absolute_links_helper.make_url_absolute('/contact/govuk/problem_reports') %>"
|
2
6
|
id="something-is-wrong"
|
3
7
|
class="gem-c-feedback__form js-feedback-form"
|
4
8
|
data-track-category="Onsite Feedback"
|
@@ -38,15 +42,21 @@
|
|
38
42
|
rows: 3
|
39
43
|
} %>
|
40
44
|
|
45
|
+
<%
|
46
|
+
unless disable_ga4
|
47
|
+
ga4_submit_button_event = {
|
48
|
+
event_name: "form_submit",
|
49
|
+
type: "feedback",
|
50
|
+
text: t("components.feedback.send", locale: :en),
|
51
|
+
section: t("components.feedback.help_us_improve_govuk", locale: :en),
|
52
|
+
}.to_json
|
53
|
+
end
|
54
|
+
%>
|
55
|
+
|
41
56
|
<%= render "govuk_publishing_components/components/button", {
|
42
57
|
text: t("components.feedback.send"),
|
43
58
|
data_attributes: {
|
44
|
-
ga4_event:
|
45
|
-
event_name: "form_submit",
|
46
|
-
type: "feedback",
|
47
|
-
text: "Send",
|
48
|
-
section: "Help us improve GOV.UK",
|
49
|
-
}
|
59
|
+
ga4_event: ga4_submit_button_event
|
50
60
|
}
|
51
61
|
} %>
|
52
62
|
|
@@ -1,4 +1,8 @@
|
|
1
|
-
|
1
|
+
<%
|
2
|
+
absolute_links_helper = GovukPublishingComponents::Presenters::AbsoluteLinksHelper.new()
|
3
|
+
%>
|
4
|
+
|
5
|
+
<form action="<%= absolute_links_helper.make_url_absolute('/contact/govuk/email-survey-signup') %>"
|
2
6
|
id="page-is-not-useful"
|
3
7
|
class="gem-c-feedback__form gem-c-feedback__form--email gem-c-feedback__js-show js-feedback-form"
|
4
8
|
data-track-category="yesNoFeedbackForm"
|
@@ -25,15 +29,21 @@
|
|
25
29
|
describedby: "survey_explanation"
|
26
30
|
} %>
|
27
31
|
|
32
|
+
<%
|
33
|
+
unless disable_ga4
|
34
|
+
ga4_send_button_event = {
|
35
|
+
event_name: "form_submit",
|
36
|
+
type: "feedback",
|
37
|
+
text: t("components.feedback.send_me_survey", locale: :en),
|
38
|
+
section: t("components.feedback.help_us_improve_govuk", locale: :en),
|
39
|
+
}.to_json
|
40
|
+
end
|
41
|
+
%>
|
42
|
+
|
28
43
|
<%= render "govuk_publishing_components/components/button", {
|
29
44
|
text: t("components.feedback.send_me_survey"),
|
30
45
|
data_attributes: {
|
31
|
-
ga4_event:
|
32
|
-
event_name: "form_submit",
|
33
|
-
type: "feedback",
|
34
|
-
text: "Send me the survey",
|
35
|
-
section: "Help us improve GOV.UK",
|
36
|
-
}
|
46
|
+
ga4_event: ga4_send_button_event
|
37
47
|
}
|
38
48
|
} %>
|
39
49
|
|
@@ -1,3 +1,28 @@
|
|
1
|
+
<%
|
2
|
+
unless disable_ga4
|
3
|
+
ga4_yes_button_event = {
|
4
|
+
"event_name": "form_submit",
|
5
|
+
"type": "feedback",
|
6
|
+
"text": t("components.feedback.yes", locale: :en),
|
7
|
+
"section": t("components.feedback.is_this_page_useful", locale: :en),
|
8
|
+
}.to_json
|
9
|
+
|
10
|
+
ga4_no_button_event = {
|
11
|
+
"event_name": "form_submit",
|
12
|
+
"type": "feedback",
|
13
|
+
"text": t("components.feedback.no", locale: :en),
|
14
|
+
"section": t("components.feedback.is_this_page_useful", locale: :en)
|
15
|
+
}.to_json
|
16
|
+
|
17
|
+
ga4_problem_button_event = {
|
18
|
+
"event_name": "form_submit",
|
19
|
+
"type": "feedback",
|
20
|
+
"text": t("components.feedback.something_wrong", locale: :en),
|
21
|
+
"section": t("components.feedback.is_this_page_useful", locale: :en)
|
22
|
+
}.to_json
|
23
|
+
end
|
24
|
+
%>
|
25
|
+
|
1
26
|
<div class="gem-c-feedback__prompt gem-c-feedback__js-show js-prompt" tabindex="-1">
|
2
27
|
<div class="gem-c-feedback__prompt-content">
|
3
28
|
<div class="gem-c-feedback__prompt-questions js-prompt-questions" hidden>
|
@@ -20,14 +45,31 @@
|
|
20
45
|
<% end %>
|
21
46
|
</li>
|
22
47
|
<li class="gem-c-feedback__option-list-item">
|
23
|
-
|
48
|
+
<%= tag.button(
|
49
|
+
class: "govuk-button gem-c-feedback__prompt-link js-page-is-useful",
|
50
|
+
data: {
|
51
|
+
track_category: "yesNoFeedbackForm",
|
52
|
+
track_action: "ffYesClick",
|
53
|
+
ga4_event: ga4_yes_button_event,
|
54
|
+
}) do %>
|
24
55
|
<%= t("components.feedback.yes") %> <span class="govuk-visually-hidden"><%= t("components.feedback.is_useful") %></span>
|
25
|
-
|
56
|
+
<% end %>
|
26
57
|
</li>
|
27
58
|
<li class="gem-c-feedback__option-list-item">
|
28
|
-
|
59
|
+
|
60
|
+
<%= tag.button(
|
61
|
+
class: "govuk-button gem-c-feedback__prompt-link js-toggle-form js-page-is-not-useful",
|
62
|
+
aria: {
|
63
|
+
controls: "page-is-not-useful",
|
64
|
+
expanded: "false",
|
65
|
+
},
|
66
|
+
data: {
|
67
|
+
track_category: "yesNoFeedbackForm",
|
68
|
+
track_action: "ffNoClick",
|
69
|
+
ga4_event: ga4_no_button_event,
|
70
|
+
}) do %>
|
29
71
|
<%= t("components.feedback.no") %> <span class="govuk-visually-hidden"><%= t("components.feedback.is_not_useful") %></span>
|
30
|
-
|
72
|
+
<% end %>
|
31
73
|
</li>
|
32
74
|
</ul>
|
33
75
|
</div>
|
@@ -38,9 +80,19 @@
|
|
38
80
|
</div>
|
39
81
|
|
40
82
|
<div class="gem-c-feedback__prompt-questions gem-c-feedback__prompt-questions--something-is-wrong js-prompt-questions" hidden>
|
41
|
-
|
83
|
+
<%= tag.button(
|
84
|
+
class: "govuk-button gem-c-feedback__prompt-link js-toggle-form js-something-is-wrong",
|
85
|
+
aria: {
|
86
|
+
expanded: "false",
|
87
|
+
controls: "something-is-wrong"
|
88
|
+
},
|
89
|
+
data: {
|
90
|
+
track_category: "Onsite Feedback",
|
91
|
+
track_action: "GOV-UK Open Form",
|
92
|
+
ga4_event: ga4_problem_button_event,
|
93
|
+
}) do %>
|
42
94
|
<%= t("components.feedback.something_wrong") %>
|
43
|
-
|
95
|
+
<% end %>
|
44
96
|
</div>
|
45
97
|
</div>
|
46
98
|
</div>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module GovukPublishingComponents
|
2
|
+
module Presenters
|
3
|
+
class AbsoluteLinksHelper
|
4
|
+
def make_url_absolute(href)
|
5
|
+
# If the URL is already absolute do nothing
|
6
|
+
unless href.start_with?("/")
|
7
|
+
return href
|
8
|
+
end
|
9
|
+
|
10
|
+
host = ENV["VIRTUAL_HOST"] || Plek.new.website_root
|
11
|
+
|
12
|
+
unless host.start_with?("http://", "https://", "//")
|
13
|
+
host = "//#{host}" # '//' preserves the current protocol, we shouldn't force https as that would break dev environments
|
14
|
+
end
|
15
|
+
|
16
|
+
"#{host}#{href}"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -7,6 +7,7 @@ require "govuk_publishing_components/engine"
|
|
7
7
|
require "govuk_publishing_components/version"
|
8
8
|
require "govuk_publishing_components/presenters/shared_helper"
|
9
9
|
require "govuk_publishing_components/presenters/component_wrapper_helper"
|
10
|
+
require "govuk_publishing_components/presenters/absolute_links_helper"
|
10
11
|
require "govuk_publishing_components/presenters/accordion_helper"
|
11
12
|
require "govuk_publishing_components/presenters/attachment_helper"
|
12
13
|
require "govuk_publishing_components/presenters/big_number_helper"
|
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: 37.
|
4
|
+
version: 37.1.1
|
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: 2023-12-
|
11
|
+
date: 2023-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: govuk_app_config
|
@@ -452,6 +452,7 @@ files:
|
|
452
452
|
- app/assets/javascripts/govuk_publishing_components/all_components.js
|
453
453
|
- app/assets/javascripts/govuk_publishing_components/analytics-ga4.js
|
454
454
|
- app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-auto-tracker.js
|
455
|
+
- app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-copy-tracker.js
|
455
456
|
- app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-core.js
|
456
457
|
- app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-ecommerce-tracker.js
|
457
458
|
- app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-event-tracker.js
|
@@ -942,6 +943,7 @@ files:
|
|
942
943
|
- lib/govuk_publishing_components/config.rb
|
943
944
|
- lib/govuk_publishing_components/engine.rb
|
944
945
|
- lib/govuk_publishing_components/minitest/component_guide_test.rb
|
946
|
+
- lib/govuk_publishing_components/presenters/absolute_links_helper.rb
|
945
947
|
- lib/govuk_publishing_components/presenters/accordion_helper.rb
|
946
948
|
- lib/govuk_publishing_components/presenters/attachment_helper.rb
|
947
949
|
- lib/govuk_publishing_components/presenters/big_number_helper.rb
|
@@ -1495,7 +1497,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1495
1497
|
- !ruby/object:Gem::Version
|
1496
1498
|
version: '0'
|
1497
1499
|
requirements: []
|
1498
|
-
rubygems_version: 3.
|
1500
|
+
rubygems_version: 3.5.1
|
1499
1501
|
signing_key:
|
1500
1502
|
specification_version: 4
|
1501
1503
|
summary: A gem to document components in GOV.UK frontend applications
|