govuk_publishing_components 65.2.2 → 66.0.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 (108) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/component_guide/accessibility-test.js +0 -2
  3. data/app/assets/javascripts/component_guide/application.js +1 -0
  4. data/app/assets/javascripts/component_guide/audit-filter.js +0 -3
  5. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-auto-tracker.js +0 -3
  6. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-copy-tracker.js +0 -4
  7. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-core.js +0 -3
  8. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-ecommerce-tracker.js +7 -12
  9. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-event-tracker.js +0 -3
  10. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-finder-tracker.js +2 -7
  11. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-focus-loss-tracker.js +0 -3
  12. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-form-change-tracker.js +0 -3
  13. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-form-tracker.js +6 -9
  14. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-link-tracker.js +0 -3
  15. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.js +0 -4
  16. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-print-intent-tracker.js +0 -4
  17. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-schemas.js +1 -6
  18. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-scroll-tracker.js +0 -3
  19. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-search-tracker.js +3 -3
  20. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-smart-answer-results-tracker.js +0 -2
  21. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-specialist-link-tracker.js +0 -4
  22. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-video-tracker.js +0 -4
  23. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/init-ga4.js +0 -5
  24. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/pii-remover.js +1 -5
  25. data/app/assets/javascripts/govuk_publishing_components/components/accordion.js +0 -2
  26. data/app/assets/javascripts/govuk_publishing_components/components/add-another.js +0 -3
  27. data/app/assets/javascripts/govuk_publishing_components/components/app-promo-banner.js +0 -3
  28. data/app/assets/javascripts/govuk_publishing_components/components/button.js +0 -2
  29. data/app/assets/javascripts/govuk_publishing_components/components/character-count.js +0 -2
  30. data/app/assets/javascripts/govuk_publishing_components/components/checkboxes.js +0 -2
  31. data/app/assets/javascripts/govuk_publishing_components/components/contents-list-with-body.js +0 -3
  32. data/app/assets/javascripts/govuk_publishing_components/components/contextual-guidance.js +0 -3
  33. data/app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js +0 -3
  34. data/app/assets/javascripts/govuk_publishing_components/components/copy-to-clipboard.js +0 -3
  35. data/app/assets/javascripts/govuk_publishing_components/components/cross-service-header.js +0 -3
  36. data/app/assets/javascripts/govuk_publishing_components/components/error-summary.js +0 -2
  37. data/app/assets/javascripts/govuk_publishing_components/components/feedback.js +0 -2
  38. data/app/assets/javascripts/govuk_publishing_components/components/file-upload.js +0 -2
  39. data/app/assets/javascripts/govuk_publishing_components/components/global-banner.js +0 -2
  40. data/app/assets/javascripts/govuk_publishing_components/components/govspeak.js +0 -3
  41. data/app/assets/javascripts/govuk_publishing_components/components/intervention.js +0 -3
  42. data/app/assets/javascripts/govuk_publishing_components/components/layout-header.js +0 -2
  43. data/app/assets/javascripts/govuk_publishing_components/components/layout-super-navigation-header.js +0 -3
  44. data/app/assets/javascripts/govuk_publishing_components/components/metadata.js +0 -3
  45. data/app/assets/javascripts/govuk_publishing_components/components/modal-dialogue.js +0 -3
  46. data/app/assets/javascripts/govuk_publishing_components/components/option-select.js +0 -3
  47. data/app/assets/javascripts/govuk_publishing_components/components/password-input.js +0 -2
  48. data/app/assets/javascripts/govuk_publishing_components/components/print-link.js +0 -3
  49. data/app/assets/javascripts/govuk_publishing_components/components/radio.js +0 -2
  50. data/app/assets/javascripts/govuk_publishing_components/components/reorderable-list.js +0 -3
  51. data/app/assets/javascripts/govuk_publishing_components/components/search-with-autocomplete.js +0 -4
  52. data/app/assets/javascripts/govuk_publishing_components/components/select-with-search.js +0 -2
  53. data/app/assets/javascripts/govuk_publishing_components/components/service-navigation.js +0 -2
  54. data/app/assets/javascripts/govuk_publishing_components/components/single-page-notification-button.js +0 -3
  55. data/app/assets/javascripts/govuk_publishing_components/components/skip-link.js +0 -2
  56. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +0 -3
  57. data/app/assets/javascripts/govuk_publishing_components/components/table.js +0 -3
  58. data/app/assets/javascripts/govuk_publishing_components/components/tabs.js +0 -2
  59. data/app/assets/javascripts/govuk_publishing_components/dependencies.js +0 -3
  60. data/app/assets/javascripts/govuk_publishing_components/domain-config.js +0 -1
  61. data/app/assets/javascripts/govuk_publishing_components/initialise-vars.js +7 -0
  62. data/app/assets/javascripts/govuk_publishing_components/lib/cookie-functions.js +0 -1
  63. data/app/assets/javascripts/govuk_publishing_components/lib/cookie-settings.js +0 -4
  64. data/app/assets/javascripts/govuk_publishing_components/lib/extend-object.js +0 -1
  65. data/app/assets/javascripts/govuk_publishing_components/lib/filter-list.js +0 -3
  66. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/barchart-enhancement.js +0 -2
  67. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/magna-charta.js +0 -2
  68. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/youtube-link-enhancement.js +1 -3
  69. data/app/assets/javascripts/govuk_publishing_components/lib/initial-focus.js +0 -3
  70. data/app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js +0 -2
  71. data/app/assets/javascripts/govuk_publishing_components/lib/toggle.js +0 -2
  72. data/app/assets/javascripts/govuk_publishing_components/lib/trigger-event.js +0 -1
  73. data/app/assets/javascripts/govuk_publishing_components/load-analytics.js +1 -0
  74. data/app/assets/javascripts/govuk_publishing_components/modules.js +9 -10
  75. data/app/assets/stylesheets/component_guide/application.scss +65 -0
  76. data/app/assets/stylesheets/govuk_publishing_components/components/_feedback.scss +13 -3
  77. data/app/controllers/govuk_publishing_components/applications_page_controller.rb +1 -1
  78. data/app/views/govuk_publishing_components/applications_page/show.html.erb +21 -18
  79. data/app/views/govuk_publishing_components/audit/_component_contents.html.erb +141 -139
  80. data/app/views/govuk_publishing_components/audit/show.html.erb +1 -0
  81. data/app/views/govuk_publishing_components/components/feedback/_problem_form.html.erb +16 -11
  82. data/app/views/govuk_publishing_components/components/feedback/_survey_signup_form.html.erb +8 -6
  83. data/app/views/layouts/govuk_publishing_components/application.html.erb +1 -1
  84. data/config/locales/en.yml +1 -1
  85. data/lib/govuk_publishing_components/presenters/step_by_step_nav_helper.rb +2 -2
  86. data/lib/govuk_publishing_components/version.rb +1 -1
  87. data/node_modules/axe-core/axe.js +322 -248
  88. data/node_modules/axe-core/axe.min.js +2 -2
  89. data/node_modules/axe-core/locales/_template.json +7 -0
  90. data/node_modules/axe-core/package.json +1 -1
  91. data/node_modules/axe-core/sri-history.json +4 -0
  92. data/node_modules/choices.js/package.json +1 -1
  93. data/node_modules/choices.js/public/assets/scripts/choices.js +43 -15
  94. data/node_modules/choices.js/public/assets/scripts/choices.min.js +2 -2
  95. data/node_modules/choices.js/public/assets/scripts/choices.mjs +43 -15
  96. data/node_modules/choices.js/public/assets/scripts/choices.search-basic.js +43 -15
  97. data/node_modules/choices.js/public/assets/scripts/choices.search-basic.min.js +2 -2
  98. data/node_modules/choices.js/public/assets/scripts/choices.search-basic.mjs +43 -15
  99. data/node_modules/choices.js/public/assets/scripts/choices.search-kmp.js +43 -15
  100. data/node_modules/choices.js/public/assets/scripts/choices.search-kmp.min.js +2 -2
  101. data/node_modules/choices.js/public/assets/scripts/choices.search-kmp.mjs +43 -15
  102. data/node_modules/choices.js/public/assets/scripts/choices.search-prefix.js +43 -15
  103. data/node_modules/choices.js/public/assets/scripts/choices.search-prefix.min.js +2 -2
  104. data/node_modules/choices.js/public/assets/scripts/choices.search-prefix.mjs +43 -15
  105. data/node_modules/choices.js/public/types/src/scripts/components/input.d.ts +5 -2
  106. data/node_modules/choices.js/src/scripts/choices.ts +9 -4
  107. data/node_modules/choices.js/src/scripts/components/input.ts +39 -9
  108. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b701da07f1004d269a522052f3790a05a17f4226f8e8072a26f42c3cc1158a2
4
- data.tar.gz: 063a2f154830f0499710e2c34eddbd57e330e82e42834814a3f5d3d2340f000a
3
+ metadata.gz: c3ebe9a45283274b6292dd6d30412bec57eee0ef735fa61884ba91851b829eca
4
+ data.tar.gz: 5930712affd37165c147d4cd471c30ce1cf00124f74372d32bc648766d90d1a9
5
5
  SHA512:
6
- metadata.gz: 95381793a23f31b6feaa8b8ad65074d3701a4c41576bc70a192cdd3849cb464efa8f72a911ec4c1b0bb640a2ea7fb119cfe8cae9308dadb7d7a3a251cfedb2b3
7
- data.tar.gz: 504f7261da7162a9285f9aac82327c8803463d4f258a7795a2537b93a66ae79c7a830ce67799fafd2cee2556ff0f38ac9315e2dca6767bf7838c81bf00120c79
6
+ metadata.gz: 55442932e49ee57b46b34a5969feccb32fc41e9089925921acf75031db0a1258a44831c33346a47978fcd95857f5b087c4ebbb9f6c1065411eb479347d9467b2
7
+ data.tar.gz: 8c61ae0535f3f89745a3dd52ffcb09a6f95316b1314f4487c78e39e6931d15f84ecdb1e0c9a877cc9e554287014d57cb0f42166a7d6732dc54d3643035ef7ff6
@@ -1,8 +1,6 @@
1
1
  //= require axe-core/axe.js
2
2
 
3
3
  (function (window, document, axe) {
4
- window.GOVUK = window.GOVUK || {}
5
-
6
4
  function AccessibilityTest (selector, callback) {
7
5
  if (typeof callback !== 'function') {
8
6
  return
@@ -1,3 +1,4 @@
1
+ //= require ../govuk_publishing_components/initialise-vars
1
2
  //= require_tree ./vendor
2
3
  //= require_tree .
3
4
  //= require ../govuk_publishing_components/dependencies
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  function AuditFilter ($module) {
6
3
  this.module = $module
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  'use strict'
6
3
 
@@ -1,7 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {}
3
- window.GOVUK.analyticsGa4.analyticsModules = window.GOVUK.analyticsGa4.analyticsModules || {};
4
-
5
1
  (function (analyticsModules) {
6
2
  'use strict'
7
3
 
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {};
3
-
4
1
  (function (analytics) {
5
2
  'use strict'
6
3
 
@@ -1,10 +1,7 @@
1
1
  ;(function (global) {
2
2
  'use strict'
3
3
 
4
- var GOVUK = global.GOVUK || {}
5
- GOVUK.analyticsGa4 = GOVUK.analyticsGa4 || {}
6
-
7
- GOVUK.analyticsGa4.Ga4EcommerceTracker = {
4
+ window.GOVUK.analyticsGa4.Ga4EcommerceTracker = {
8
5
  init: function (referrer) {
9
6
  if (window.dataLayer) {
10
7
  /* The referrer parameter is only passed to the init() function as a result of an AJAX request
@@ -43,30 +40,28 @@
43
40
  },
44
41
 
45
42
  trackResults: function (searchResultsBlock) {
46
- var ecommerceSchema = GOVUK.analyticsGa4.core.ecommerceHelperFunctions.populateEcommerceSchema({
43
+ var ecommerceSchema = window.GOVUK.analyticsGa4.core.ecommerceHelperFunctions.populateEcommerceSchema({
47
44
  element: searchResultsBlock,
48
45
  resultsId: 'js-result-count'
49
46
  })
50
47
 
51
- GOVUK.analyticsGa4.core.ecommerceHelperFunctions.clearEcommerceObject()
52
- GOVUK.analyticsGa4.core.sendData(ecommerceSchema)
48
+ window.GOVUK.analyticsGa4.core.ecommerceHelperFunctions.clearEcommerceObject()
49
+ window.GOVUK.analyticsGa4.core.sendData(ecommerceSchema)
53
50
  },
54
51
 
55
52
  handleClick: function (event) {
56
53
  if (event.target.getAttribute('data-ga4-ecommerce-path')) {
57
54
  var searchResultsBlock = event.target.closest('[data-ga4-ecommerce]')
58
55
 
59
- var ecommerceSchema = GOVUK.analyticsGa4.core.ecommerceHelperFunctions.populateEcommerceSchema({
56
+ var ecommerceSchema = window.GOVUK.analyticsGa4.core.ecommerceHelperFunctions.populateEcommerceSchema({
60
57
  element: searchResultsBlock,
61
58
  resultsId: 'js-result-count',
62
59
  event: event
63
60
  })
64
61
 
65
- GOVUK.analyticsGa4.core.ecommerceHelperFunctions.clearEcommerceObject()
66
- GOVUK.analyticsGa4.core.sendData(ecommerceSchema)
62
+ window.GOVUK.analyticsGa4.core.ecommerceHelperFunctions.clearEcommerceObject()
63
+ window.GOVUK.analyticsGa4.core.sendData(ecommerceSchema)
67
64
  }
68
65
  }
69
66
  }
70
-
71
- global.GOVUK = GOVUK
72
67
  })(window)
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  'use strict'
6
3
 
@@ -1,10 +1,7 @@
1
1
  ;(function (global) {
2
2
  'use strict'
3
3
 
4
- const GOVUK = global.GOVUK || {}
5
- GOVUK.analyticsGa4 = GOVUK.analyticsGa4 || {}
6
-
7
- GOVUK.analyticsGa4.Ga4FinderTracker = {
4
+ window.GOVUK.analyticsGa4.Ga4FinderTracker = {
8
5
  // Called when the search results updates. Takes the event target, and a string containing the type of change and element type. Creates the GTM schema and pushes it.
9
6
  // changeEventMetadata is a string referring to the type of form change and the element type that triggered it. For example 'update-filter checkbox'.
10
7
  trackChangeEvent: function (event) {
@@ -79,7 +76,7 @@
79
76
  schema.url = window.location.pathname
80
77
  schema.section = 'Search'
81
78
  schema.action = 'search'
82
- schema.text = GOVUK.analyticsGa4.core.trackFunctions.standardiseSearchTerm(schema.text)
79
+ schema.text = window.GOVUK.analyticsGa4.core.trackFunctions.standardiseSearchTerm(schema.text)
83
80
  break
84
81
 
85
82
  case 'clear-all-filters':
@@ -158,6 +155,4 @@
158
155
  }
159
156
  }
160
157
  }
161
-
162
- global.GOVUK = GOVUK
163
158
  })(window)
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  'use strict'
6
3
 
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  // This does not meet Grade C browser support for Edge
5
2
  // as `CSS.escape` is not supported in Edge 12-18.
6
3
  //
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  'use strict'
6
3
 
@@ -129,13 +126,13 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
129
126
  } else if (elem.checked) {
130
127
  var fieldset = elem.closest('fieldset') || null
131
128
 
132
- if (fieldset.dataset.ga4Redact && !elem.dataset.ga4RedactPermit) {
133
- input.answer = '[REDACTED]'
134
- } else {
135
- input.answer = labelText
136
- }
137
-
138
129
  if (fieldset) {
130
+ if (fieldset.dataset.ga4Redact && !elem.dataset.ga4RedactPermit) {
131
+ input.answer = '[REDACTED]'
132
+ } else {
133
+ input.answer = labelText
134
+ }
135
+
139
136
  var legend = fieldset.querySelector('legend')
140
137
 
141
138
  if (legend) {
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  'use strict'
6
3
 
@@ -1,7 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {}
3
- window.GOVUK.analyticsGa4.analyticsModules = window.GOVUK.analyticsGa4.analyticsModules || {};
4
-
5
1
  (function (analyticsModules) {
6
2
  'use strict'
7
3
 
@@ -1,7 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {}
3
- window.GOVUK.analyticsGa4.analyticsModules = window.GOVUK.analyticsGa4.analyticsModules || {};
4
-
5
1
  (function (analyticsModules) {
6
2
  'use strict'
7
3
 
@@ -1,8 +1,6 @@
1
1
  ;(function (global) {
2
2
  'use strict'
3
3
 
4
- var GOVUK = global.GOVUK || {}
5
-
6
4
  var Schemas = function () {
7
5
  this.undefined = undefined
8
6
  }
@@ -99,8 +97,5 @@
99
97
  return obj
100
98
  }
101
99
 
102
- GOVUK.analyticsGa4 = GOVUK.analyticsGa4 || {}
103
- GOVUK.analyticsGa4.Schemas = Schemas
104
-
105
- global.GOVUK = GOVUK
100
+ window.GOVUK.analyticsGa4.Schemas = Schemas
106
101
  })(window)
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  function Ga4ScrollTracker ($module) {
6
3
  this.$module = $module
@@ -1,5 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
1
  (function (Modules) {
4
2
  'use strict'
5
3
  // Tracks interactions with search forms, including on the all content finder ("site search"),
@@ -32,7 +30,9 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
32
30
  this.$module.addEventListener('change', event => this.setTriggeredAction(event))
33
31
  this.$module.addEventListener('input', event => this.setTriggeredAction(event))
34
32
 
35
- if (window.GOVUK.getConsentCookie() && window.GOVUK.getConsentCookie().usage) {
33
+ var consentCookie = window.GOVUK.getConsentCookie()
34
+
35
+ if (consentCookie && consentCookie.usage) {
36
36
  this.startModule()
37
37
  } else {
38
38
  window.addEventListener('cookie-consent', () => this.startModule())
@@ -1,5 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {}
3
1
  window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {};
4
2
 
5
3
  (function (Modules) {
@@ -1,7 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {}
3
- window.GOVUK.analyticsGa4.analyticsModules = window.GOVUK.analyticsGa4.analyticsModules || {};
4
-
5
1
  (function (analyticsModules) {
6
2
  'use strict'
7
3
 
@@ -1,7 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {}
3
- window.GOVUK.analyticsGa4.analyticsModules = window.GOVUK.analyticsGa4.analyticsModules || {};
4
-
5
1
  (function (analyticsModules) {
6
2
  'use strict'
7
3
 
@@ -1,16 +1,11 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {}
3
-
4
1
  var initFunction = function () {
5
2
  window.removeEventListener('cookie-consent', window.GOVUK.analyticsGa4.init)
6
3
  var consentCookie = window.GOVUK.getConsentCookie()
7
-
8
4
  if (consentCookie && consentCookie.usage) {
9
5
  window.GOVUK.analyticsGa4.vars.internalDomains = []
10
6
  window.GOVUK.analyticsGa4.vars.internalDomains.push(window.GOVUK.analyticsGa4.core.trackFunctions.getHostname())
11
7
  window.GOVUK.analyticsGa4.core.trackFunctions.appendDomainsWithoutWWW(window.GOVUK.analyticsGa4.vars.internalDomains)
12
8
  window.GOVUK.analyticsGa4.core.load()
13
-
14
9
  var analyticsModules = window.GOVUK.analyticsGa4.analyticsModules
15
10
  for (var property in analyticsModules) {
16
11
  var module = analyticsModules[property]
@@ -1,7 +1,6 @@
1
1
  ;(function (global) {
2
2
  'use strict'
3
3
 
4
- var GOVUK = global.GOVUK || {}
5
4
  var EMAIL_PATTERN = /[^\s=/?&#+]+(?:@|%40)[^\s=/?&+]+/g
6
5
  var POSTCODE_PATTERN = /\b[A-PR-UWYZ][A-HJ-Z]?[0-9][0-9A-HJKMNPR-Y]?(?:[\s+]|%20)*[0-9](?!refund)[ABD-HJLNPQ-Z]{2,3}\b/gi
7
6
 
@@ -160,8 +159,5 @@
160
159
  return string
161
160
  }
162
161
 
163
- GOVUK.analyticsGa4 = GOVUK.analyticsGa4 || {}
164
- GOVUK.analyticsGa4.PIIRemover = PIIRemover
165
-
166
- global.GOVUK = GOVUK
162
+ window.GOVUK.analyticsGa4.PIIRemover = PIIRemover
167
163
  })(window)
@@ -1,7 +1,5 @@
1
1
  // This component relies on JavaScript from GOV.UK Frontend
2
2
  // = require govuk/components/accordion/accordion.bundle.js
3
- window.GOVUK = window.GOVUK || {}
4
- window.GOVUK.Modules = window.GOVUK.Modules || {}
5
3
  window.GOVUK.Modules.GovukAccordion = window.GOVUKFrontend.Accordion;
6
4
 
7
5
  (function (Modules) {
@@ -1,7 +1,4 @@
1
1
  //= require sortablejs/Sortable.js
2
- window.GOVUK = window.GOVUK || {}
3
- window.GOVUK.Modules = window.GOVUK.Modules || {};
4
-
5
2
  (function (Modules) {
6
3
  function AddAnother (module) {
7
4
  this.module = module
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  class AppPromoBanner {
6
3
  constructor ($module) {
@@ -1,5 +1,3 @@
1
1
  // This component relies on JavaScript from GOV.UK Frontend
2
2
  // = require govuk/components/button/button.bundle.js
3
- window.GOVUK = window.GOVUK || {}
4
- window.GOVUK.Modules = window.GOVUK.Modules || {}
5
3
  window.GOVUK.Modules.GovukButton = window.GOVUKFrontend.Button
@@ -1,5 +1,3 @@
1
1
  // This component relies on JavaScript from GOV.UK Frontend
2
2
  // = require govuk/components/character-count/character-count.bundle.js
3
- window.GOVUK = window.GOVUK || {}
4
- window.GOVUK.Modules = window.GOVUK.Modules || {}
5
3
  window.GOVUK.Modules.GovukCharacterCount = window.GOVUKFrontend.CharacterCount
@@ -1,6 +1,4 @@
1
1
  // = require govuk/components/checkboxes/checkboxes.bundle.js
2
- window.GOVUK = window.GOVUK || {}
3
- window.GOVUK.Modules = window.GOVUK.Modules || {}
4
2
  window.GOVUK.Modules.GovukCheckboxes = window.GOVUKFrontend.Checkboxes;
5
3
 
6
4
  (function (Modules) {
@@ -8,9 +8,6 @@
8
8
  `[data-sticky-element]` to the child you want to position.
9
9
  */
10
10
 
11
- window.GOVUK = window.GOVUK || {}
12
- window.GOVUK.Modules = window.GOVUK.Modules || {};
13
-
14
11
  (function (Modules) {
15
12
  function ContentsListWithBody (element) {
16
13
  this.wrapper = element
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  function ContextualGuidance ($module) {
6
3
  this.$module = $module
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  function CookieBanner ($module) {
6
3
  this.$module = $module
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  function CopyToClipboard ($module) {
6
3
  this.$module = $module
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  /**
6
3
  * A modified adaptation of the Design System header script
@@ -1,5 +1,3 @@
1
1
  // This component relies on JavaScript from GOV.UK Frontend
2
2
  // = require govuk/components/error-summary/error-summary.bundle.js
3
- window.GOVUK = window.GOVUK || {}
4
- window.GOVUK.Modules = window.GOVUK.Modules || {}
5
3
  window.GOVUK.Modules.GovukErrorSummary = window.GOVUKFrontend.ErrorSummary
@@ -1,6 +1,4 @@
1
1
  /* global XMLHttpRequest, FormData */
2
- window.GOVUK = window.GOVUK || {}
3
- window.GOVUK.Modules = window.GOVUK.Modules || {};
4
2
 
5
3
  (function (Modules) {
6
4
  function Feedback ($module) {
@@ -1,5 +1,3 @@
1
1
  // This component relies on JavaScript from GOV.UK Frontend
2
2
  // = require govuk/components/file-upload/file-upload.bundle.js
3
- window.GOVUK = window.GOVUK || {}
4
- window.GOVUK.Modules = window.GOVUK.Modules || {}
5
3
  window.GOVUK.Modules.GovukFileUpload = window.GOVUKFrontend.FileUpload
@@ -1,6 +1,4 @@
1
1
  //= require govuk_publishing_components/lib/cookie-functions
2
- window.GOVUK = window.GOVUK || {}
3
- window.GOVUK.Modules = window.GOVUK.Modules || {};
4
2
 
5
3
  (function (Modules) {
6
4
  function GlobalBanner ($module) {
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  function Govspeak ($module) {
6
3
  this.$module = $module
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  function Intervention ($module) {
6
3
  this.$module = $module
@@ -1,5 +1,3 @@
1
1
  // This component relies on JavaScript from GOV.UK Frontend
2
2
  // = require govuk/components/header/header.bundle.js
3
- window.GOVUK = window.GOVUK || {}
4
- window.GOVUK.Modules = window.GOVUK.Modules || {}
5
3
  window.GOVUK.Modules.GovukHeader = window.GOVUKFrontend.Header
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  var SETTINGS = {
6
3
  label: {
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  function Metadata ($module) {
6
3
  this.$module = $module
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  function ModalDialogue ($module) {
6
3
  this.$module = $module
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  /* This JavaScript provides two functional enhancements to option-select components:
6
3
  1) A count that shows how many results have been checked in the option-container
@@ -1,5 +1,3 @@
1
1
  // This component relies on JavaScript from GOV.UK Frontend
2
2
  // = require govuk/components/password-input/password-input.bundle.js
3
- window.GOVUK = window.GOVUK || {}
4
- window.GOVUK.Modules = window.GOVUK.Modules || {}
5
3
  window.GOVUK.Modules.GovukPasswordInput = window.GOVUKFrontend.PasswordInput
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  function PrintLink ($module) {
6
3
  this.$module = $module
@@ -1,5 +1,3 @@
1
1
  // This component relies on JavaScript from GOV.UK Frontend
2
2
  // = require govuk/components/radios/radios.bundle.js
3
- window.GOVUK = window.GOVUK || {}
4
- window.GOVUK.Modules = window.GOVUK.Modules || {}
5
3
  window.GOVUK.Modules.GovukRadios = window.GOVUKFrontend.Radios
@@ -1,7 +1,4 @@
1
1
  //= require sortablejs/Sortable.js
2
- window.GOVUK = window.GOVUK || {}
3
- window.GOVUK.Modules = window.GOVUK.Modules || {};
4
-
5
2
  (function (Modules) {
6
3
  function ReorderableList ($module) {
7
4
  this.$module = $module
@@ -1,9 +1,5 @@
1
1
  /* global accessibleAutocomplete, fetch */
2
2
  //= require accessible-autocomplete/dist/accessible-autocomplete.min.js
3
-
4
- window.GOVUK = window.GOVUK || {}
5
- window.GOVUK.Modules = window.GOVUK.Modules || {};
6
-
7
3
  (function (Modules) {
8
4
  class GemSearchWithAutocomplete {
9
5
  constructor ($module) {
@@ -1,7 +1,5 @@
1
1
  //= require choices.js/public/assets/scripts/choices.min.js
2
2
  'use strict'
3
- window.GOVUK = window.GOVUK || {}
4
- window.GOVUK.Modules = window.GOVUK.Modules || {}
5
3
  ;(function (Modules) {
6
4
  function SelectWithSearch (module) {
7
5
  this.module = module
@@ -1,5 +1,3 @@
1
1
  // This component relies on JavaScript from GOV.UK Frontend
2
2
  // = require govuk/components/service-navigation/service-navigation.bundle.js
3
- window.GOVUK = window.GOVUK || {}
4
- window.GOVUK.Modules = window.GOVUK.Modules || {}
5
3
  window.GOVUK.Modules.GovukServiceNavigation = window.GOVUKFrontend.ServiceNavigation
@@ -1,7 +1,4 @@
1
1
  /* global XMLHttpRequest */
2
- window.GOVUK = window.GOVUK || {}
3
- window.GOVUK.Modules = window.GOVUK.Modules || {};
4
-
5
2
  (function (Modules) {
6
3
  function SinglePageNotificationButton ($module) {
7
4
  this.$module = $module
@@ -1,5 +1,3 @@
1
1
  // This component relies on JavaScript from GOV.UK Frontend
2
2
  // = require govuk/components/skip-link/skip-link.bundle.js
3
- window.GOVUK = window.GOVUK || {}
4
- window.GOVUK.Modules = window.GOVUK.Modules || {}
5
3
  window.GOVUK.Modules.GovukSkipLink = window.GOVUKFrontend.SkipLink
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  function Gemstepnav ($module) {
6
3
  this.$module = $module
@@ -1,6 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
- window.GOVUK.Modules = window.GOVUK.Modules || {};
3
-
4
1
  (function (Modules) {
5
2
  function Table ($module) {
6
3
  this.$module = $module
@@ -1,5 +1,3 @@
1
1
  // This component relies on JavaScript from GOV.UK Frontend
2
2
  // = require govuk/components/tabs/tabs.bundle.js
3
- window.GOVUK = window.GOVUK || {}
4
- window.GOVUK.Modules = window.GOVUK.Modules || {}
5
3
  window.GOVUK.Modules.GovukTabs = window.GOVUKFrontend.Tabs
@@ -5,8 +5,6 @@
5
5
  // = require ./modules.js
6
6
 
7
7
  document.addEventListener('DOMContentLoaded', function () {
8
- window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {}
9
-
10
8
  // if statements ensure these functions don't execute during testing
11
9
  if (typeof window.GOVUK.loadAnalytics !== 'undefined') {
12
10
  window.GOVUK.loadAnalytics.loadExtraDomains()
@@ -14,6 +12,5 @@ document.addEventListener('DOMContentLoaded', function () {
14
12
  window.GOVUK.loadAnalytics.loadGa4()
15
13
  }
16
14
  }
17
-
18
15
  window.GOVUK.modules.start()
19
16
  })
@@ -1,4 +1,3 @@
1
- window.GOVUK = window.GOVUK || {}
2
1
  window.GOVUK.vars = window.GOVUK.vars || {}
3
2
  window.GOVUK.vars.domains = [
4
3
  {
@@ -0,0 +1,7 @@
1
+ // This file initialises the window.GOVUK object. This is usually needed in three places:
2
+ // Before GA4 JS is compiled, Before GOV.UK Modules JS is compiled, or before the component guide JS is compiled.
3
+
4
+ window.GOVUK = window.GOVUK || {}
5
+ window.GOVUK.Modules = window.GOVUK.Modules || {}
6
+ window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {}
7
+ window.GOVUK.analyticsGa4.analyticsModules = window.GOVUK.analyticsGa4.analyticsModules || {}