govuk_publishing_components 37.0.0 → 37.1.1

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 (20) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/govuk_publishing_components_manifest.js +0 -2
  3. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-copy-tracker.js +55 -0
  4. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-schemas.js +1 -1
  5. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-video-tracker.js +1 -1
  6. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4.js +1 -0
  7. data/app/assets/javascripts/govuk_publishing_components/components/option-select.js +1 -1
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-header.scss +1 -0
  9. data/app/views/govuk_publishing_components/components/_feedback.html.erb +8 -4
  10. data/app/views/govuk_publishing_components/components/_layout_footer.html.erb +5 -0
  11. data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb +7 -3
  12. data/app/views/govuk_publishing_components/components/_metadata.html.erb +1 -5
  13. data/app/views/govuk_publishing_components/components/docs/feedback.yml +5 -0
  14. data/app/views/govuk_publishing_components/components/feedback/_problem_form.html.erb +17 -7
  15. data/app/views/govuk_publishing_components/components/feedback/_survey_signup_form.html.erb +17 -7
  16. data/app/views/govuk_publishing_components/components/feedback/_yes_no_banner.html.erb +58 -6
  17. data/lib/govuk_publishing_components/presenters/absolute_links_helper.rb +20 -0
  18. data/lib/govuk_publishing_components/version.rb +1 -1
  19. data/lib/govuk_publishing_components.rb +1 -0
  20. metadata +5 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fe726cba8402c5e0b082b9183eb50b531bc4024e0a8d8420e8aa9bc01bf792ee
4
- data.tar.gz: a0ca9fdb633e3f78bacd25fe5f6b1d10353d3ec70b49c8881f65c667c8cb5a6f
3
+ metadata.gz: 6371bbc7ca91fdd7a004050d47b2f09ac4d55244a8c7475692022e87af313b80
4
+ data.tar.gz: aa375ef7ebb426df626123c3832df1b926b562633c36d8af8202a82cff4d1f65
5
5
  SHA512:
6
- metadata.gz: 983fb3da1f16193554ae6f850a6da73ce0a3a4a92df1e430ab8ccc028e50739188f8225a79cfeefd5aca477632b70105349b853e0bce55b704bba91947700dc4
7
- data.tar.gz: bdcc215e867f598b8afd6d502ef393656b4bbca8e2059aa21f15bce7838d4a6ff9f02319f13c365c684f780b544272034d6fd0233e4aa7a5f978d3e6529eda50
6
+ metadata.gz: 7bc4e2777a12f8a6e6a68de36a0d4bb92d6d5f97e2b16e1a07eb264285c0a5f97c2b0b0d205946c570436368dc7319da9c5796de4c97a700939e3be39f27b120
7
+ data.tar.gz: 24472468c3ebe08a695d1a1f3b03f7e2a21a1850257d8ca0a121663a1ff3d9176de1421746c0e292b589d7f08f7127ec1670946349e2e830ebb080cd1964e9a8
@@ -11,5 +11,3 @@
11
11
  //= link govuk_publishing_components/vendor/modernizr.js
12
12
  //= link govuk_publishing_components/vendor/lux/lux-reporter.js
13
13
  //= link govuk_publishing_components/vendor/lux/lux-measurer.js
14
-
15
- //= link_tree ../builds
@@ -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)
@@ -30,7 +30,7 @@
30
30
  tool_name: this.undefined,
31
31
  percent_scrolled: this.undefined,
32
32
  video_current_time: this.undefined,
33
- video_duration: this.undefined,
33
+ length: this.undefined,
34
34
  video_percent: this.undefined
35
35
  }
36
36
  }
@@ -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.video_duration = this.handlers['video-' + player.id + '-duration']
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(/_/i, '-').toLowerCase()
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)
@@ -1,3 +1,4 @@
1
+ @import "govuk_publishing_components/individual_component_support";
1
2
  @import "govuk_publishing_components/components/search";
2
3
  @import "govuk_publishing_components/components/skip-link";
3
4
  @import "govuk/components/header/header";
@@ -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="feedback ga4-event-tracker">
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>
@@ -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], item[:href], {
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
- <%= link_to popular_link[:label], popular_link[:href], {
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
- <form action="/contact/govuk/problem_reports"
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
- <form action="/contact/govuk/email-survey-signup"
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
- <button class="govuk-button gem-c-feedback__prompt-link js-page-is-useful" data-track-category="yesNoFeedbackForm" data-track-action="ffYesClick" data-ga4-event='{"event_name":"form_submit","type":"feedback","text":"Yes", "section": "Is this page useful?"}'>
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
- </button>
56
+ <% end %>
26
57
  </li>
27
58
  <li class="gem-c-feedback__option-list-item">
28
- <button class="govuk-button gem-c-feedback__prompt-link js-toggle-form js-page-is-not-useful" data-track-category="yesNoFeedbackForm" data-track-action="ffNoClick" aria-controls="page-is-not-useful" aria-expanded="false" data-ga4-event='{"event_name":"form_submit","type":"feedback","text":"No", "section": "Is this page useful?"}'>
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
- </button>
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
- <button class="govuk-button gem-c-feedback__prompt-link js-toggle-form js-something-is-wrong" data-track-category="Onsite Feedback" data-track-action="GOV-UK Open Form" aria-controls="something-is-wrong" aria-expanded="false" data-ga4-event='{"event_name":"form_submit","type":"feedback","text":"Report a problem with this page", "section": "Is this page useful?"}'>
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
- </button>
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
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = "37.0.0".freeze
2
+ VERSION = "37.1.1".freeze
3
3
  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.0.0
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-12 00:00:00.000000000 Z
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.4.22
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