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.
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