@nationalarchives/frontend 0.41.0 → 0.42.0

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 (162) hide show
  1. package/config/.htmlvalidate.json +2 -1
  2. package/nationalarchives/all+analytics.js +1 -1
  3. package/nationalarchives/all+analytics.js.map +1 -1
  4. package/nationalarchives/all+analytics.mjs +5 -3
  5. package/nationalarchives/all.css +1 -1
  6. package/nationalarchives/all.css.map +1 -1
  7. package/nationalarchives/all.js +1 -1
  8. package/nationalarchives/all.js.map +1 -1
  9. package/nationalarchives/all.mjs +44 -30
  10. package/nationalarchives/analytics.js +1 -1
  11. package/nationalarchives/analytics.js.map +1 -1
  12. package/nationalarchives/analytics.mjs +39 -21
  13. package/nationalarchives/components/accordion/accordion.css +1 -1
  14. package/nationalarchives/components/accordion/accordion.css.map +1 -1
  15. package/nationalarchives/components/accordion/accordion.js +1 -1
  16. package/nationalarchives/components/accordion/accordion.js.map +1 -1
  17. package/nationalarchives/components/accordion/accordion.mjs +1 -1
  18. package/nationalarchives/components/back-link/back-link.css.map +1 -1
  19. package/nationalarchives/components/breadcrumbs/breadcrumbs.css.map +1 -1
  20. package/nationalarchives/components/breadcrumbs/breadcrumbs.js.map +1 -1
  21. package/nationalarchives/components/breadcrumbs/breadcrumbs.mjs +2 -1
  22. package/nationalarchives/components/button/button.css +1 -1
  23. package/nationalarchives/components/button/button.css.map +1 -1
  24. package/nationalarchives/components/button/button.scss +2 -1
  25. package/nationalarchives/components/card/card.css +1 -1
  26. package/nationalarchives/components/card/card.css.map +1 -1
  27. package/nationalarchives/components/card/card.scss +4 -4
  28. package/nationalarchives/components/checkboxes/checkboxes.css +1 -1
  29. package/nationalarchives/components/checkboxes/checkboxes.css.map +1 -1
  30. package/nationalarchives/components/checkboxes/checkboxes.scss +2 -2
  31. package/nationalarchives/components/checkboxes/fixtures.json +27 -0
  32. package/nationalarchives/components/checkboxes/macro-options.json +6 -0
  33. package/nationalarchives/components/checkboxes/template.njk +2 -2
  34. package/nationalarchives/components/code-block/code-block.css +1 -1
  35. package/nationalarchives/components/code-block/code-block.css.map +1 -1
  36. package/nationalarchives/components/code-block/code-block.js +1 -1
  37. package/nationalarchives/components/code-block/code-block.js.map +1 -1
  38. package/nationalarchives/components/code-block/code-block.mjs +2 -2
  39. package/nationalarchives/components/code-block/code-block.scss +6 -6
  40. package/nationalarchives/components/code-block/fixtures.json +6 -6
  41. package/nationalarchives/components/code-block/macro-options.json +1 -1
  42. package/nationalarchives/components/code-block/template.njk +12 -12
  43. package/nationalarchives/components/compound-filters/compound-filters.css +1 -1
  44. package/nationalarchives/components/compound-filters/compound-filters.css.map +1 -1
  45. package/nationalarchives/components/compound-filters/compound-filters.scss +2 -2
  46. package/nationalarchives/components/cookie-banner/cookie-banner.css.map +1 -1
  47. package/nationalarchives/components/cookie-banner/cookie-banner.js +1 -1
  48. package/nationalarchives/components/cookie-banner/cookie-banner.js.map +1 -1
  49. package/nationalarchives/components/date-input/date-input.css.map +1 -1
  50. package/nationalarchives/components/date-input/date-input.js +1 -1
  51. package/nationalarchives/components/date-input/date-input.js.map +1 -1
  52. package/nationalarchives/components/date-input/date-input.mjs +5 -2
  53. package/nationalarchives/components/details/analytics.js +1 -1
  54. package/nationalarchives/components/details/details.css.map +1 -1
  55. package/nationalarchives/components/details/macro-options.json +1 -1
  56. package/nationalarchives/components/error-summary/error-summary.css.map +1 -1
  57. package/nationalarchives/components/error-summary/error-summary.js +1 -1
  58. package/nationalarchives/components/error-summary/error-summary.js.map +1 -1
  59. package/nationalarchives/components/error-summary/error-summary.mjs +19 -15
  60. package/nationalarchives/components/fieldset/fieldset.css.map +1 -1
  61. package/nationalarchives/components/file-input/analytics.js +3 -3
  62. package/nationalarchives/components/file-input/file-input.css.map +1 -1
  63. package/nationalarchives/components/file-input/file-input.js +1 -1
  64. package/nationalarchives/components/file-input/file-input.js.map +1 -1
  65. package/nationalarchives/components/file-input/file-input.mjs +33 -17
  66. package/nationalarchives/components/files-list/files-list.css +1 -1
  67. package/nationalarchives/components/files-list/files-list.css.map +1 -1
  68. package/nationalarchives/components/files-list/files-list.scss +8 -8
  69. package/nationalarchives/components/footer/fixtures.json +2 -2
  70. package/nationalarchives/components/footer/footer.css.map +1 -1
  71. package/nationalarchives/components/footer/footer.js +1 -1
  72. package/nationalarchives/components/footer/footer.js.map +1 -1
  73. package/nationalarchives/components/footer/footer.mjs +2 -2
  74. package/nationalarchives/components/footer/template.njk +3 -3
  75. package/nationalarchives/components/gallery/analytics.js +1 -0
  76. package/nationalarchives/components/gallery/gallery.css.map +1 -1
  77. package/nationalarchives/components/gallery/gallery.js +1 -1
  78. package/nationalarchives/components/gallery/gallery.js.map +1 -1
  79. package/nationalarchives/components/gallery/gallery.mjs +16 -4
  80. package/nationalarchives/components/global-header/global-header.css.map +1 -1
  81. package/nationalarchives/components/global-header/global-header.js +1 -1
  82. package/nationalarchives/components/global-header/global-header.js.map +1 -1
  83. package/nationalarchives/components/global-header/global-header.mjs +11 -11
  84. package/nationalarchives/components/global-header/global-header.scss +1 -0
  85. package/nationalarchives/components/header/header.css.map +1 -1
  86. package/nationalarchives/components/header/header.js +1 -1
  87. package/nationalarchives/components/header/header.js.map +1 -1
  88. package/nationalarchives/components/header/header.mjs +11 -11
  89. package/nationalarchives/components/hero/hero.css.map +1 -1
  90. package/nationalarchives/components/index-grid/index-grid.css +1 -1
  91. package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
  92. package/nationalarchives/components/index-grid/index-grid.scss +3 -3
  93. package/nationalarchives/components/pagination/pagination.css.map +1 -1
  94. package/nationalarchives/components/panel/panel.css.map +1 -1
  95. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
  96. package/nationalarchives/components/picture/picture.css.map +1 -1
  97. package/nationalarchives/components/picture/picture.js +1 -1
  98. package/nationalarchives/components/picture/picture.js.map +1 -1
  99. package/nationalarchives/components/picture/picture.mjs +4 -2
  100. package/nationalarchives/components/quick-filters/quick-filters.css.map +1 -1
  101. package/nationalarchives/components/radios/fixtures.json +27 -0
  102. package/nationalarchives/components/radios/macro-options.json +7 -1
  103. package/nationalarchives/components/radios/radios.css +1 -1
  104. package/nationalarchives/components/radios/radios.css.map +1 -1
  105. package/nationalarchives/components/radios/radios.scss +2 -2
  106. package/nationalarchives/components/radios/template.njk +2 -2
  107. package/nationalarchives/components/search-field/analytics.js +0 -1
  108. package/nationalarchives/components/search-field/search-field.css +1 -1
  109. package/nationalarchives/components/search-field/search-field.css.map +1 -1
  110. package/nationalarchives/components/search-field/search-field.scss +2 -2
  111. package/nationalarchives/components/secondary-navigation/secondary-navigation.css +1 -1
  112. package/nationalarchives/components/secondary-navigation/secondary-navigation.css.map +1 -1
  113. package/nationalarchives/components/secondary-navigation/secondary-navigation.scss +4 -3
  114. package/nationalarchives/components/sidebar/fixtures.json +69 -0
  115. package/nationalarchives/components/sidebar/macro-options.json +7 -0
  116. package/nationalarchives/components/sidebar/sidebar.css +1 -1
  117. package/nationalarchives/components/sidebar/sidebar.css.map +1 -1
  118. package/nationalarchives/components/sidebar/sidebar.js +2 -0
  119. package/nationalarchives/components/sidebar/sidebar.js.map +1 -0
  120. package/nationalarchives/components/sidebar/sidebar.mjs +97 -0
  121. package/nationalarchives/components/sidebar/sidebar.scss +2 -2
  122. package/nationalarchives/components/sidebar/template.njk +1 -1
  123. package/nationalarchives/components/skip-link/skip-link.css +1 -1
  124. package/nationalarchives/components/skip-link/skip-link.css.map +1 -1
  125. package/nationalarchives/components/tabs/tabs.css.map +1 -1
  126. package/nationalarchives/components/tabs/tabs.js.map +1 -1
  127. package/nationalarchives/components/tabs/tabs.mjs +11 -3
  128. package/nationalarchives/components/text-input/analytics.js +1 -1
  129. package/nationalarchives/components/text-input/fixtures.json +14 -2
  130. package/nationalarchives/components/text-input/template.njk +1 -1
  131. package/nationalarchives/components/textarea/analytics.js +0 -1
  132. package/nationalarchives/components/textarea/textarea.css +1 -1
  133. package/nationalarchives/components/textarea/textarea.css.map +1 -1
  134. package/nationalarchives/components/textarea/textarea.js +1 -1
  135. package/nationalarchives/components/textarea/textarea.js.map +1 -1
  136. package/nationalarchives/components/textarea/textarea.mjs +19 -13
  137. package/nationalarchives/components/textarea/textarea.scss +2 -2
  138. package/nationalarchives/components/warning/warning.css +1 -1
  139. package/nationalarchives/components/warning/warning.css.map +1 -1
  140. package/nationalarchives/components/warning/warning.scss +2 -2
  141. package/nationalarchives/error-page.css +1 -1
  142. package/nationalarchives/error-page.css.map +1 -1
  143. package/nationalarchives/lib/analytics-helpers.mjs +21 -19
  144. package/nationalarchives/lib/cookie-events.mjs +70 -0
  145. package/nationalarchives/lib/cookies.mjs +54 -92
  146. package/nationalarchives/lib/helpers.mjs +7 -13
  147. package/nationalarchives/lib/uuid.mjs +5 -3
  148. package/nationalarchives/prototype-kit.css +1 -1
  149. package/nationalarchives/prototype-kit.css.map +1 -1
  150. package/nationalarchives/templates/fixtures.json +1 -1
  151. package/nationalarchives/templates/layouts/email.njk +2 -2
  152. package/nationalarchives/templates/prototype-kit/plain-with-sidebar.njk +74 -0
  153. package/nationalarchives/templates/prototype-kit/plain.njk +1 -1
  154. package/nationalarchives/tools/_grid.scss +3 -0
  155. package/nationalarchives/tools/_typography.scss +1 -1
  156. package/nationalarchives/utilities/reset/_index.scss +4 -0
  157. package/nationalarchives/utilities/tables/_index.scss +6 -5
  158. package/nationalarchives/utilities/typography/_index.scss +1 -0
  159. package/package.json +18 -22
  160. package/config/.eslintrc.js +0 -25
  161. package/config/stylelint.config.js +0 -244
  162. package/nationalarchives/templates/prototype-kit/index-grid.njk +0 -146
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-new */
1
2
  import { Accordion } from "./components/accordion/accordion.mjs";
2
3
  import { Breadcrumbs } from "./components/breadcrumbs/breadcrumbs.mjs";
3
4
  import { CodeBlock } from "./components/code-block/code-block.mjs";
@@ -10,18 +11,24 @@ import { Gallery } from "./components/gallery/gallery.mjs";
10
11
  import { GlobalHeader } from "./components/global-header/global-header.mjs";
11
12
  import { Header } from "./components/header/header.mjs";
12
13
  import { Picture } from "./components/picture/picture.mjs";
14
+ import { Sidebar } from "./components/sidebar/sidebar.mjs";
13
15
  import { SkipLink } from "./components/skip-link/skip-link.mjs";
14
16
  import { Tabs } from "./components/tabs/tabs.mjs";
15
17
  import { TextInputPassword } from "./components/text-input/text-input.mjs";
16
18
  import { TextAreaItemisedRows } from "./components/textarea/textarea.mjs";
17
19
  import Cookies from "./lib/cookies.mjs";
18
- import { updateTimeElement, checkTableForScroll } from "./lib/helpers.mjs";
19
-
20
- const initAll = (options) => {
21
- options = typeof options !== "undefined" ? options : {};
22
- const $scope =
23
- options.scope instanceof HTMLElement ? options.scope : document;
24
-
20
+ import { checkTableForScroll, updateTimeElement } from "./lib/helpers.mjs";
21
+
22
+ const initAll = (options = {}) => {
23
+ const { scope } = options;
24
+ let $scope = document;
25
+ if (scope) {
26
+ if (scope instanceof HTMLElement) {
27
+ $scope = scope;
28
+ } else {
29
+ throw new Error("Scope must be an HTMLElement");
30
+ }
31
+ }
25
32
  const $html = document.documentElement;
26
33
  $html.classList.add("tna-template--js-enabled");
27
34
 
@@ -31,8 +38,8 @@ const initAll = (options) => {
31
38
  };
32
39
  window.addEventListener("touchstart", onFirstTouch);
33
40
 
34
- const onKeyDown = (e) => {
35
- if (e.key === "Tab") {
41
+ const onKeyDown = (event) => {
42
+ if (event.key === "Tab") {
36
43
  $html.classList.add("tna-template--tabbed");
37
44
  $html.classList.remove("tna-template--clicked");
38
45
  }
@@ -61,7 +68,7 @@ const initAll = (options) => {
61
68
  );
62
69
  });
63
70
 
64
- // TODO: Remove this opt-in class in a later release
71
+ // Remove this opt-in class in a later release
65
72
  if ($html.classList.contains("tna-template--enhance-time-elements")) {
66
73
  document.querySelectorAll("time[datetime]").forEach(updateTimeElement);
67
74
  }
@@ -134,6 +141,12 @@ const initAll = (options) => {
134
141
  new Picture($picture);
135
142
  });
136
143
 
144
+ const $sidebar = $scope.querySelector('[data-module="tna-sidebar-sections"]');
145
+ if ($sidebar) {
146
+ const { scrollTopThreshold, disableHighlightSize } = $sidebar.dataset;
147
+ new Sidebar($sidebar, { scrollTopThreshold, disableHighlightSize });
148
+ }
149
+
137
150
  const $skipLinks = $scope.querySelectorAll('[data-module="tna-skip-link"]');
138
151
  $skipLinks.forEach(($skipLink) => {
139
152
  new SkipLink($skipLink);
@@ -144,6 +157,14 @@ const initAll = (options) => {
144
157
  new Tabs($tabModule);
145
158
  });
146
159
 
160
+ const $textAreaItemisedRows = $scope.querySelectorAll(
161
+ '[data-module="tna-textarea-itemised-rows"]',
162
+ );
163
+ $textAreaItemisedRows.forEach(($textAreaWithItemisedRows) => {
164
+ const { enhancedHint } = $textAreaWithItemisedRows.dataset;
165
+ new TextAreaItemisedRows($textAreaWithItemisedRows, { enhancedHint });
166
+ });
167
+
147
168
  const $textInputPasswords = $scope.querySelectorAll(
148
169
  '[data-module="tna-text-input-password"]',
149
170
  );
@@ -151,44 +172,36 @@ const initAll = (options) => {
151
172
  new TextInputPassword($textInputPassword);
152
173
  });
153
174
 
154
- const $textAreaItemisedRows = $scope.querySelectorAll(
155
- '[data-module="tna-textarea-itemised-rows"]',
156
- );
157
- $textAreaItemisedRows.forEach(($textAreaItemisedRows) => {
158
- const enhancedHint = $textAreaItemisedRows.dataset.enhancedHint;
159
- new TextAreaItemisedRows($textAreaItemisedRows, { enhancedHint });
160
- });
161
-
162
175
  window.matchMedia("print").addEventListener("change", (evt) => {
163
176
  if (evt.matches) {
164
177
  $scope
165
178
  .querySelectorAll(".tna-details__details:not([open])")
166
- .forEach((e) => {
167
- e.setAttribute("open", "");
168
- e.dataset.wasClosed = "";
179
+ .forEach(($element) => {
180
+ $element.setAttribute("open", "");
181
+ $element.dataset.wasClosed = "";
169
182
  });
170
183
  $scope
171
184
  .querySelectorAll(
172
185
  ".tna-accordion__content[hidden], .tna-picture__transcript[hidden]",
173
186
  )
174
- .forEach((e) => {
175
- e.removeAttribute("hidden");
176
- e.dataset.wasClosed = "";
187
+ .forEach(($element) => {
188
+ $element.removeAttribute("hidden");
189
+ $element.dataset.wasClosed = "";
177
190
  });
178
191
  } else {
179
192
  $scope
180
193
  .querySelectorAll(".tna-details__details[data-was-closed]")
181
- .forEach((e) => {
182
- e.removeAttribute("open");
183
- delete e.dataset.wasClosed;
194
+ .forEach(($element) => {
195
+ $element.removeAttribute("open");
196
+ delete $element.dataset.wasClosed;
184
197
  });
185
198
  $scope
186
199
  .querySelectorAll(
187
200
  ".tna-accordion__content[data-was-closed], .tna-picture__transcript[data-was-closed]",
188
201
  )
189
- .forEach((e) => {
190
- e.setAttribute("hidden", "");
191
- e.dataset.wasClosed = "";
202
+ .forEach(($element) => {
203
+ $element.setAttribute("hidden", "");
204
+ $element.dataset.wasClosed = "";
192
205
  });
193
206
  }
194
207
  });
@@ -209,6 +222,7 @@ export {
209
222
  GlobalHeader,
210
223
  Header,
211
224
  Picture,
225
+ Sidebar,
212
226
  SkipLink,
213
227
  Tabs,
214
228
  TextInputPassword,
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.TNAFrontendAnalytics=t():e.TNAFrontendAnalytics=t()}(self,()=>(()=>{"use strict";var e={169(e,t,n){function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach(function(t){d(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function r(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return l(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,v(a.key),a)}}function u(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function d(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function v(e){var t=function(e){if("object"!=a(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==a(t)?t:t+""}n.d(t,{A:()=>g}),window.TNAFrontendCookies=window.TNAFrontendCookies||null,window.TNAFrontendCookieEvents=window.TNAFrontendCookieEvents||null;var m=function(){return u(function e(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(c(this,e),d(this,"events",{}),d(this,"oneTimeEvents",{}),d(this,"debug",!1),this.debug=t,window.TNAFrontendCookieEvents)return this.log("Using existing TNAFrontendCookieEvents instance"),window.TNAFrontendCookieEvents;window.TNAFrontendCookieEvents=this},[{key:"log",value:function(){if(this.debug){for(var e,t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];(e=console).log.apply(e,["[TNA Frontend Cookie Events]"].concat(n))}}},{key:"on",value:function(e,t){Object.hasOwn(this.events,e)||(this.events[e]=[]),this.events[e]=[].concat(r(this.events[e]),[t])}},{key:"once",value:function(e,t){Object.hasOwn(this.oneTimeEvents,e)||(this.oneTimeEvents[e]=[]),this.oneTimeEvents[e]=[].concat(r(this.oneTimeEvents[e]),[t])}},{key:"trigger",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Object.hasOwn(this.events,e)&&(this.log("Triggering event: ".concat(e),n),this.events[e].forEach(function(e){return e.call(t,n)})),Object.hasOwn(this.oneTimeEvents,e)){this.log("Triggering one-time event: ".concat(e),n);for(var a=this.oneTimeEvents[e].length-1;a>=0;a--)this.oneTimeEvents[e][a].call(this,n),this.oneTimeEvents[e].splice(a,1)}}}])}(),f=["usage","settings","marketing","essential"],g=function(){return u(function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};c(this,e),d(this,"defaultDomain",""),d(this,"defaultPath",""),d(this,"secure",!0),d(this,"policiesKey",""),d(this,"events",null),d(this,"defaultAge",null),d(this,"policiesCorrectOnInit",!1),d(this,"debug","true"===document.documentElement.dataset.tnaFrontendDebug);var a=n.defaultDomain,o=n.defaultPath,i=n.secure,r=n.policiesKey,l=n.defaultAge,s=n.newInstance,u=void 0!==s&&s,v=n.noInit,g=void 0!==v&&v;if(!u&&window.TNAFrontendCookies)return window.TNAFrontendCookies;this.defaultDomain=void 0===a?document.documentElement.dataset.tnaCookiesDomain||window.location.hostname:a,this.defaultPath=void 0===o?document.documentElement.dataset.tnaCookiesPath||"/":o,this.secure=void 0===i?"true"!==document.documentElement.dataset.tnaCookiesInsecure:i,this.policiesKey=void 0===r?document.documentElement.dataset.tnaCookiesPoliciesKey||"cookies_policy":r,this.defaultAge=void 0===l?parseInt(document.documentElement.dataset.tnaCookiesDefaultAge)||31536e3:l,this.events=new m(this.debug),this.policiesCorrectOnInit=Object.keys(this.policies).length===f.length&&f.every(function(e){return Object.keys(t.policies).includes(e)&&"boolean"==typeof t.policies[e]}),this.policiesCorrectOnInit||g||this.init(),this.log({defaultDomain:this.defaultDomain,defaultPath:this.defaultPath,secure:this.secure,policiesKey:this.policiesKey,defaultAge:this.defaultAge,policiesCorrectOnInit:this.policiesCorrectOnInit}),u||window.TNAFrontendCookies||(window.TNAFrontendCookies=this)},[{key:"init",value:function(){var e=this.policies;this.log("Existing policies on init:",e);var t=Object.fromEntries(Object.keys(e).filter(function(e){return f.includes(e)}).map(function(t){return[t,e[t]]}));Object.keys(t).length>0&&this.log("Filtered existing policies:",t),this.savePolicies(i(i({usage:!1,settings:!1,marketing:!1},t),{},{essential:!0}))}},{key:"log",value:function(){if(this.debug){for(var e,t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];(e=console).log.apply(e,["[TNA Frontend Cookies]"].concat(n,[this.all]))}}},{key:"destroyInstance",value:function(){this.log("Destroying TNAFrontendCookies instance"),window.TNAFrontendCookies=null}},{key:"all",get:function(){var e={};return document.cookie.split("; ").filter(function(e){return e}).forEach(function(t){var n=t.trim().split("=");n[0]&&(e[n[0]]=n[1])}),e}},{key:"policies",get:function(){try{return JSON.parse(this.get(this.policiesKey)||"{}")}catch(e){return{}}}},{key:"exists",value:function(e){return Object.hasOwn(this.all,e)}},{key:"hasValue",value:function(e,t){return this.get(e)==t}},{key:"get",value:function(e){return this.exists(e)?decodeURIComponent(this.all[e]):null}},{key:"set",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=n.maxAge,o=void 0===a?this.defaultAge:a,i=n.sameSite,r=void 0===i?"Lax":i,l=n.domain,c=void 0===l?this.defaultDomain:l,s=n.path,u=void 0===s?this.defaultPath:s,d=n.secure,v=void 0===d?this.secure:d,m=n.session,f=void 0!==m&&m;if(e){var g="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(t),"; domain=").concat(c,"; samesite=").concat(r,"; path=").concat(u).concat(f?"":"; max-age=".concat(o)).concat(v?"; secure":"");document.cookie=g,this.log("Set cookie:",{key:e,value:t,maxAge:o,path:u,sameSite:r,domain:c,secure:v,session:f,cookie:g}),this.events.trigger("setCookie",{key:e,value:t,maxAge:o,path:u,sameSite:r,domain:c,secure:v,session:f,cookie:g})}}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.defaultDomain,a={maxAge:-1,path:t,domain:n||void 0};this.set(e,"",a),this.log("Deleted cookie:",i({key:e,path:t,domain:n},a)),this.events.trigger("deleteCookie",i({key:e},a))}},{key:"deleteAll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.defaultDomain;Object.keys(this.all).forEach(function(a){e.delete(a,t,n)}),this.log("Deleted all cookies",{path:t,domain:n}),this.events.trigger("deleteAllCookies",{path:t,domain:n})}},{key:"acceptPolicy",value:function(e){this.log("Accepting policy:",e),this.setPolicy(e,!0),this.events.trigger("acceptPolicy",e),this.events.trigger("changePolicy",d({},e,!0))}},{key:"rejectPolicy",value:function(e){this.log("Rejecting policy:",e),this.setPolicy(e,!1),this.events.trigger("rejectPolicy",e),this.events.trigger("changePolicy",d({},e,!1))}},{key:"setPolicy",value:function(e,t){"essential"!==e?(this.log("Setting policy ".concat(e," to ").concat(t)),this.savePolicies(i(i({},this.policies),{},d(d({},e,t),"essential",!0))),this.events.trigger("changePolicy",d({},e,t))):this.log("Cannot change essential policy, it is always accepted.")}},{key:"acceptAllPolicies",value:function(){this.log("Accepting all policies");var e=Object.fromEntries(Object.keys(this.policies).map(function(e){return[e.toLowerCase(),!0]}));this.savePolicies(e),this.events.trigger("acceptAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"rejectAllPolicies",value:function(){this.log("Rejecting all policies");var e=i(i({},Object.fromEntries(Object.keys(this.policies).map(function(e){return[e.toLowerCase(),!1]}))),{},{essential:!0});this.savePolicies(e),this.events.trigger("rejectAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"savePolicies",value:function(e){this.log("Saving policies:",e),this.set(this.policiesKey,JSON.stringify(e))}},{key:"isPolicyAccepted",value:function(e){return Object.hasOwn(this.policies,e)?!0===this.policies[e]:null}},{key:"on",value:function(e,t){this.log("Adding event listener for: ".concat(e)),this.events.on(e,t)}},{key:"once",value:function(e,t){this.log("Adding one-time event listener for: ".concat(e)),this.events.once(e,t)}}])}()}},t={};function n(a){var o=t[a];if(void 0!==o)return o.exports;var i=t[a]={exports:{}};return e[a](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};n.r(a),n.d(a,{EventTracker:()=>G,GA4:()=>V,helpers:()=>H});var o=n(169),i=function(e){if(""!==e.id)return'id("'+e.id+'")';if(e===document.body)return e.tagName;var t=0;if(!e.parentNode)return e.tagName;for(var n=e.parentNode.childNodes,a=0;a<n.length;a++){var o=n[a];if(o===e)return i(e.parentNode)+"/"+e.tagName+"["+(t+1)+"]";1===o.nodeType&&o.tagName===e.tagName&&t++}},r=function(e,t){var n="",a=e;do{for(;a.previousElementSibling;)if(a=a.previousElementSibling,t.some(function(e){return a.matches(e)})){n=a.innerText;break}a=a.parentElement}while(a.parentElement&&!n);return n},l=function(e){return r(e,["h1","h2","h3","h4","h5","h6"])},c={text:function(e){return e.innerText.replace(/\n/g," ")},html:function(e){return e.innerHTML},value:function(e){return e.value},index:function(e,t,n,a){return a},instance:function(e,t,n,a,o){return o},checked:function(e){return e.checked?"checked":"unchecked"},expanded:function(e){var t=e.getAttribute("aria-expanded");return null===t?null:"true"===t.toString()?"opened":"closed"},closestHeading:function(e){return l(e)},xpath:function(e){return i(e.target)}};const s=[{scope:".tna-breadcrumbs",areaName:"breadcrumbs",rootEventName:"select_navigation",rootData:{data_component_name:"breadcrumbs"},events:[{eventName:"click",targetElement:"a.tna-breadcrumbs__link",on:"click",data:{state:"expand",value:c.html},rootData:{data_link_type:"breadcrumb_link",data_link:c.text}},{eventName:"click",targetElement:".tna-breadcrumbs__item--expandable button.tna-breadcrumbs__link",on:"click",data:{state:"expand",value:c.html},rootData:{data_link_type:"breadcrumb_expand",data_link:c.text}}]}],u=[{scope:".tna-checkboxes",areaName:"checkboxes",events:[{eventName:"toggle",targetElement:".tna-checkboxes__item input",on:"change",data:{state:c.checked,value:function(e,t,n){return e.parentNode.innerText.trim()},group:function(e,t,n){var a;return null===(a=t.closest(".tna-form-item"))||void 0===a||null===(a=a.querySelector(".tna-form-item__heading"))||void 0===a||null===(a=a.innerText)||void 0===a?void 0:a.trim()}}}]}],d=[{scope:".tna-details",areaName:"details",events:[{eventName:"click",targetElement:".tna-details__summary",on:"click",data:{state:function(e,t,n){var a,o;return null!==(a=null===(o=t.querySelector(".tna-details__details"))||void 0===o?void 0:o.hasAttribute("open"))&&void 0!==a&&a?"closed":"opened"},value:c.text}}]}],v=[{scope:".tna-error-summary",areaName:"error-summary",events:[{eventName:"jump",targetElement:"a.tna-error-summary__link",on:"click",data:{value:c.text}}]}];var m=function(e){return JSON.stringify(Array.from(e.files).map(function(e){return{name:e.name,size:e.size,type:e.type}}))};const f=[{scope:".tna-file-input",areaName:"file-input",events:[{eventName:"blurred",on:"blur",data:{value:m,state:function(e){return e.files.length},group:function(e,t){var n;return null===(n=t.closest(".tna-form-item"))||void 0===n||null===(n=n.querySelector(".tna-form-item__heading"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}}},{eventName:"cancelled",on:"cancel",data:{value:m,state:function(e){return e.files.length},group:function(e,t){var n;return null===(n=t.closest(".tna-form-item"))||void 0===n||null===(n=n.querySelector(".tna-form-item__heading"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}}},{eventName:"changed",on:"change",data:{value:m,state:function(e){return e.files.length},group:function(e,t){var n;return null===(n=t.closest(".tna-form-item"))||void 0===n||null===(n=n.querySelector(".tna-form-item__heading"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}}}]}],g=[{scope:".tna-footer",areaName:"footer",rootEventName:"global_navigation",rootData:{data_component_name:"footer"},events:[{eventName:"link.click",targetElement:".tna-footer__navigation-block-item-link",on:"click",data:{value:c.text},rootData:{data_link_type:"link",data_section:c.closestHeading,data_link:c.text}},{eventName:"social_link.click",targetElement:".tna-footer__social-item-link",on:"click",data:{value:c.text},rootData:{data_link_type:"icon",data_section:"Social media",data_link:function(e){return e.dataset.name}}},{eventName:"legal_link.click",targetElement:".tna-footer__legal-item-link",on:"click",data:{value:c.text},rootData:{data_link_type:"link",data_section:"Legal information",data_link:c.text}},{eventName:"mailing_list.click",targetElement:".tna-footer__mailing-list a.tna-button",on:"click",data:{value:c.text},rootData:{data_link_type:"button",data_section:"Mailing list",data_link:c.text}},{eventName:"ogl.click",targetElement:".tna-footer__licence p a.tna-footer__link",on:"click",data:{value:c.text},rootData:{data_link_type:"link",data_section:"OGL",data_link:c.text}},{eventName:"govuk.click",targetElement:".tna-footer__govuk-link",on:"click",data:{value:c.text},rootData:{data_link_type:"Logo",data_section:"GOV.UK",data_link:c.text}},{eventName:"theme.change",targetElement:".tna-footer__theme-selector-button",on:"click",data:{value:c.value}}]}],p=[{scope:".tna-gallery",areaName:"gallery",rootEventName:"select_media",rootData:{media_type:"gallery",media_duration:function(e,t){return t.querySelectorAll(".tna-gallery__navigation-item").length},media_provider:"tna",media_title:function(e,t,n,a,o){var i;return(null===(i=t.querySelector(".tna-gallery__header-inner"))||void 0===i||null===(i=i.innerText)||void 0===i?void 0:i.trim())||"gallery_".concat(o)},media_progress:function(e,t){return(Array.from(t.querySelectorAll(".tna-gallery__navigation-item")).findIndex(function(e){return"true"===e.getAttribute("aria-current")})||-1)+1}},events:[{eventName:"click",targetElement:".tna-gallery__navigation-item",on:"click",data:{value:c.text},rootData:{data_link:"image",media_action:"progress",media_progress:c.index}},{eventName:"click",targetElement:".tna-gallery__navigation-prev",on:"click",data:{value:function(e,t){var n;return null===(n=t.querySelector(".tna-gallery__item:not([hidden]) .tna-gallery__item-header"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}},rootData:{data_link:"previous",media_action:"progress"}},{eventName:"click",targetElement:".tna-gallery__navigation-next",on:"click",data:{value:function(e,t){var n;return null===(n=t.querySelector(".tna-gallery__item:not([hidden]) .tna-gallery__item-header"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}},rootData:{data_link:"next",media_action:"progress"}},{eventName:"keypress",on:"keydown",onCondition:function(e,t,n){return["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","End","Home"].includes(n.key)},data:{value:function(e,t,n){return n.key}},rootData:{data_link:"keypress",media_action:"progress"}}]}],h=[{scope:".tna-global-header",areaName:"header",rootEventName:"global_navigation",rootData:{data_component_name:"header"},events:[{eventName:"toggle",targetElement:".tna-global-header__navigation-button",on:"click",data:{state:c.expanded},rootData:{data_link_type:"mobile_menu",data_link:function(e){var t=e.getAttribute("aria-expanded");return null===t?null:"true"===t.toString()?"Open menu":"Close menu"},data_section:"Burger menu"}},{eventName:"logo.click",targetElement:".tna-global-header__logo",on:"click",rootData:{data_link_type:"logo",data_link:"The National Archives",data_section:"Top navigation and logo"}},{eventName:"primary_link.click",targetElement:".tna-global-header__navigation-item-link",on:"click",data:{value:c.text},rootData:{data_link_type:"menu",data_section:c.text,data_position:1,data_link:c.text}},{eventName:"secondary_link.click",targetElement:".tna-global-header__top-navigation-link",on:"click",data:{value:c.text},rootData:{data_link_type:"icon",data_link:c.text,data_section:"Top navigation and logo"}}]}],y=[{scope:".tna-header",areaName:"header",events:[{eventName:"toggle",targetElement:".tna-header__navigation-button",on:"click",data:{state:c.expanded}}]}],b=[{scope:".tna-picture",areaName:"picture",events:[{eventName:"toggle_transcript",targetElement:".tna-picture__toggle-transcript",on:"click",data:{state:c.expanded,value:function(e,t,n){var a=l(t),o=t.querySelector(".tna-picture__image"),i=o.getAttribute("src"),r=o.getAttribute("alt"),c="".concat(r," (").concat(i,")");return a?"".concat(a," > ").concat(c):c}}}]}],k=[{scope:".tna-radios",areaName:"radios",events:[{eventName:"toggle",targetElement:".tna-radios__item input",on:"change",data:{state:c.checked,value:function(e,t,n){return e.parentNode.innerText},group:function(e,t,n){var a;return null===(a=t.closest(".tna-form-item"))||void 0===a||null===(a=a.querySelector(".tna-form-item__heading"))||void 0===a||null===(a=a.innerText)||void 0===a?void 0:a.trim()}}}]}],_=[{scope:".tna-search-field",areaName:"search-field",events:[{eventName:"blurred",targetElement:".tna-search-field__input",on:"blur",data:{value:c.value,group:function(e,t,n){var a;return null===(a=t.querySelector(".tna-form-item__heading"))||void 0===a||null===(a=a.innerText)||void 0===a?void 0:a.trim()}}}]}],w=[{scope:".tna-sidebar",areaName:"sidebar",rootEventName:"select_navigation",rootData:{data_component_name:"sidebar",data_section:function(e,t){var n;return null===(n=t.querySelector(".tna-sidebar__heading"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}},events:[{eventName:"click",targetElement:"a.tna-sidebar__link",on:"click",rootData:{data_link_type:"sidebar_link",data_link:c.text,data_position:c.index}}]}],E=[{scope:".tna-text-input",areaName:"text-input",events:[{eventName:"blurred",on:"blur",data:{value:c.value,group:function(e,t){var n;return null===(n=t.closest(".tna-form-item"))||void 0===n||null===(n=n.querySelector(".tna-form-item__heading"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}}}]}],A=[{scope:".tna-textarea",areaName:"textarea",events:[{eventName:"blurred",on:"blur",data:{value:c.value,group:function(e,t,n){var a;return null===(a=t.closest(".tna-form-item"))||void 0===a||null===(a=a.querySelector(".tna-form-item__heading"))||void 0===a||null===(a=a.innerText)||void 0===a?void 0:a.trim()}}}]}];function x(e,t){if(t&&("object"==D(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function N(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(N=function(){return!!e})()}function O(e){return O=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},O(e)}function T(e,t){return T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},T(e,t)}function j(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,o,i,r,l=[],c=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=n.return&&(r=n.return(),Object(r)!==r))return}finally{if(s)throw o}}return l}}(e,t)||R(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function P(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?S(Object(n),!0).forEach(function(t){L(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):S(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function C(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function I(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,q(a.key),a)}}function F(e,t,n){return t&&I(e.prototype,t),n&&I(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function L(e,t,n){return(t=q(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function q(e){var t=function(e){if("object"!=D(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=D(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==D(t)?t:t+""}function M(e){return function(e){if(Array.isArray(e))return U(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||R(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e,t){if(e){if("string"==typeof e)return U(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?U(e,t):void 0}}function U(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var K=[].concat(M([{scope:".tna-accordion",areaName:"accordion",rootEventName:"select_feature",rootData:{data_component_name:"accordion"},events:[{eventName:"click",targetElement:".tna-accordion__summary",on:"click",data:{state:c.expanded,value:c.text},rootData:{data_link_type:c.expanded,data_link:c.text,data_position:c.index}}]}]),M(s),M(u),M(d),M(v),M(f),M(g),M(p),M(h),M(y),M([{scope:".tna-hero",areaName:"hero",events:[{eventName:"toggle_caption",targetElement:".tna-hero__details-summary",on:"click",data:{state:function(e,t,n){var a,o;return null!==(a=null===(o=t.querySelector(".tna-hero__details"))||void 0===o?void 0:o.hasAttribute("open"))&&void 0!==a&&a?"closed":"opened"},value:function(e,t,n){var a;return null===(a=t.querySelector("img[alt]"))||void 0===a?void 0:a.getAttribute("alt")}}}]}]),M(b),M(k),M(_),M(w),M(E),M(A)),G=function(){return F(function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};C(this,e),L(this,"cookies",new o.A),L(this,"events",[]),L(this,"startTime",new Date),L(this,"prefix","tna"),L(this,"document",document);var n=t.prefix,a=void 0===n?null:n,i=t.documentScope,r=void 0===i?document:i;a&&(this.prefix=a),r&&(this.document=r)},[{key:"start",value:function(e){var t=this;navigator.doNotTrack&&1===navigator.doNotTrack||(this.cookies.isPolicyAccepted("usage")&&this.enableTracking(),this.cookies.on("changePolicy",function(e){Object.hasOwn(e,"usage")&&(e.usage?t.enableTracking():t.disableTracking())}),e&&this.initAll())}},{key:"enableTracking",value:function(){}},{key:"disableTracking",value:function(){}},{key:"initAll",value:function(){var e=this;K.forEach(function(t){e.addListeners(t.scope,t.areaName,t.events,t.rootEventName||"",t.rootData||{})})}},{key:"addListeners",value:function(e,t,n){var a,o=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};"string"==typeof e?a=Array.from(this.document.querySelectorAll(e)):"object"===D(e)&&(a=[e]),0!==a.length&&a.forEach(function(a,l){n.forEach(function(n){n.on&&(n.targetElement?Array.from(a.querySelectorAll(n.targetElement)).forEach(function(c,s){return o.attachListener(c,a,i,r,n,e,t,s+1,l+1)}):o.attachListener(a,a,i,r,n,e,t,1,l+1))})})}},{key:"generateEventName",value:function(e,t){return"".concat(this.prefix,".").concat(e,".").concat(t.eventName||t.on)}},{key:"attachListener",value:function(e,t,n,a,o,r,l,c,s){var u=this,d=o.on,v=o.data,m=o.targetElement,f=o.rootData,g=void 0===f?{}:f,p=o.onCondition,h=void 0===p?null:p;e.addEventListener(d,function(d){var f=[e,t,d,c,s];(null===h||u.computedValue.apply(u,[h].concat(f)))&&u.recordEvent(o.rootEventName?"".concat(u.prefix,".").concat(o.rootEventName):n?"".concat(u.prefix,".").concat(n):u.generateEventName(l,o),P(P({},v),{},{name:u.generateEventName(l,o),value:null!=v&&v.value?u.computedValue.apply(u,[v.value].concat(f)):null,state:null!=v&&v.state?u.computedValue.apply(u,[v.state].concat(f)):null,group:null!=v&&v.group?u.computedValue.apply(u,[v.group].concat(f)):null,xPath:i(e),targetElement:m,timeSincePageLoad:new Date-u.startTime,index:c,instance:s,scope:r,areaName:l}),Object.fromEntries(Object.entries(P(P({},a),g)).map(function(e){var t=j(e,2),n=t[0],a=t[1];return[n,u.computedValue.apply(u,[a].concat(f))]})))})}},{key:"computedValue",value:function(e,t,n,a,o,i){return"function"==typeof e?e.call(this,t,n,a,o,i):null!=e?e:null}},{key:"recordEvent",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.events.push(P(P({event:e},t),n))}},{key:"getTnaMetaTags",value:function(){var e=this;return Object.fromEntries([].concat(M(Array.from(document.head.querySelectorAll('meta[name^="'.concat(this.prefix,'_root:"][content]'))).map(function(t){return[t.getAttribute("name").replace(new RegExp("^".concat(e.prefix,"_root:")),""),t.getAttribute("content")]})),M(Array.from(document.head.querySelectorAll('meta[name^="'.concat(this.prefix,'."][content]'))).map(function(e){return[e.getAttribute("name"),e.getAttribute("content")]}))))}},{key:"getUserPreferences",value:function(){var e,t,n,a,o,i,r,l,c,s,u,d,v={};return v["".concat(this.prefix,".pref.prefers-color-scheme")]=null!==(e=(t=window).matchMedia)&&void 0!==e&&e.call(t,"(prefers-color-scheme: dark)").matches?"dark":"light",v["".concat(this.prefix,".pref.forced-colors")]=null===(n=(a=window).matchMedia)||void 0===n?void 0:n.call(a,"(forced-colors: active)").matches,v["".concat(this.prefix,".pref.prefers-contrast")]=null!==(o=(i=window).matchMedia)&&void 0!==o&&o.call(i,"(prefers-contrast: more)").matches?"more":null!==(r=(l=window).matchMedia)&&void 0!==r&&r.call(l,"(prefers-contrast: less)").matches?"less":"normal",v["".concat(this.prefix,".pref.prefers-reduced-motion")]=null===(c=(s=window).matchMedia)||void 0===c?void 0:c.call(s,"(prefers-reduced-motion: reduce)").matches,v["".concat(this.prefix,".pref.prefers-reduced-transparency")]=null===(u=(d=window).matchMedia)||void 0===u?void 0:u.call(d,"(prefers-reduced-transparency: reduce)").matches,v}}])}(),V=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(C(this,t),window.TNAFrontendAnalyticsGA4)return x(e,window.TNAFrontendAnalyticsGA4);var a,o,i,r=n.id,l=void 0===r?"":r,c=n.prefix,s=void 0===c?null:c,u=n.initAll,d=void 0===u||u,v=n.addTrackingCode,m=void 0===v||v;return a=this,i=[{prefix:s}],o=O(o=t),L(e=x(a,N()?Reflect.construct(o,i||[],O(a).constructor):o.apply(a,i)),"addTrackingCode",!0),L(e,"trackingCodeAdded",!1),L(e,"trackingEnabled",!1),L(e,"gTagId",void 0),window.TNAFrontendAnalyticsGA4=e,e.addTrackingCode=m,window.dataLayer=window.dataLayer||[],l&&(e.gTagId=l,e.ga4Disable="ga-disable-".concat(e.gTagId),e.cookies.isPolicyAccepted("usage")||(window[e.ga4Disable]=!0,e.cookies.set(e.ga4Disable,"true"))),e.start(d),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&T(e,t)}(t,e),F(t,[{key:"destroy",value:function(){window.TNAFrontendAnalyticsGA4=null}},{key:"recordEvent",value:function(e,t){var n=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=P(P({event:e},Object.fromEntries(Object.entries(t).map(function(e){var t=j(e,2),a=t[0],o=t[1];return["".concat(n.prefix,".event.").concat(a),o]}))),a);this.pushToDataLayer(o)}},{key:"gtag",value:function(){this.pushToDataLayer(arguments)}},{key:"pushToDataLayer",value:function(e){window.dataLayer.push(e)}},{key:"enableTracking",value:function(){if(!this.trackingEnabled){if(window[this.ga4Disable]=!1,this.cookies.set(this.ga4Disable,"false"),!this.trackingCodeAdded&&this.addTrackingCode){if(!this.gTagId)throw Error("ID was not specified");this.pushToDataLayer(P(P(P({},this.getTnaMetaTags()),this.getUserPreferences()),{},{"gtm.start":(new Date).getTime(),event:"gtm.js"}));var e=document.getElementsByTagName("script")[0],t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtm.js?id=".concat(this.gTagId,"&l=dataLayer"),e?e.parentNode.insertBefore(t,e):document.head.appendChild(t),this.trackingCodeAdded=!0}this.trackingEnabled=!0}}},{key:"disableTracking",value:function(){var e=this;this.trackingEnabled&&(window[this.ga4Disable]=!0,this.cookies.set(this.ga4Disable,"true"),Object.keys(this.cookies.all).forEach(function(t){t.startsWith("_ga")&&e.cookies.delete(t)}),this.trackingEnabled=!1)}}])}(G),B=document.documentElement.dataset.ga4;B&&new V({id:B});var H={getXPathTo:i,getClosestHeading:l,getClosestElement:r,valueGetters:c};return a})());
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.TNAFrontendAnalytics=t():e.TNAFrontendAnalytics=t()}(self,()=>(()=>{"use strict";var e={533(e,t,n){function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}var o;function r(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function l(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,u(a.key),a)}}function c(e,t,n){return(t=u(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e){var t=function(e){if("object"!=a(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==a(t)?t:t+""}n.d(t,{A:()=>k}),(o=window).TNAFrontendCookieEvents||(o.TNAFrontendCookieEvents=null);var s,d=function(){return e=function e(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),c(this,"events",{}),c(this,"oneTimeEvents",{}),c(this,"debug",!1),this.debug=t,window.TNAFrontendCookieEvents)return this.log("Using existing TNAFrontendCookieEvents instance"),window.TNAFrontendCookieEvents;window.TNAFrontendCookieEvents=this},t=[{key:"log",value:function(){if(this.debug){for(var e,t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];(e=console).log.apply(e,["[TNA Frontend Cookie Events]"].concat(n))}}},{key:"on",value:function(e,t){Object.hasOwn(this.events,e)||(this.events[e]=[]),this.events[e]=[].concat(r(this.events[e]),[t])}},{key:"once",value:function(e,t){Object.hasOwn(this.oneTimeEvents,e)||(this.oneTimeEvents[e]=[]),this.oneTimeEvents[e]=[].concat(r(this.oneTimeEvents[e]),[t])}},{key:"trigger",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Object.hasOwn(this.events,e)&&(this.log("Triggering event: ".concat(e),n),this.events[e].forEach(function(e){return e.call(t,n)})),Object.hasOwn(this.oneTimeEvents,e)){this.log("Triggering one-time event: ".concat(e),n);for(var a=this.oneTimeEvents[e].length-1;a>=0;a-=1)this.oneTimeEvents[e][a].call(this,n),this.oneTimeEvents[e].splice(a,1)}}}],t&&l(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}();function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?v(Object(n),!0).forEach(function(t){h(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function p(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,y(a.key),a)}}function h(e,t,n){return(t=y(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e){var t=function(e){if("object"!=f(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==f(t)?t:t+""}(s=window).TNAFrontendCookies||(s.TNAFrontendCookies=null);var b=["usage","settings","marketing","essential"],k=function(){return e=function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),h(this,"defaultDomain",""),h(this,"defaultPath",""),h(this,"secure",!0),h(this,"policiesKey",""),h(this,"events",null),h(this,"defaultAge",null),h(this,"policiesCorrectOnInit",!1),h(this,"debug","true"===document.documentElement.dataset.tnaFrontendDebug);var a=n.defaultDomain,o=n.defaultPath,r=n.secure,i=n.policiesKey,l=n.defaultAge,c=n.newInstance,u=void 0!==c&&c,s=n.noInit,f=void 0!==s&&s;if(!u&&window.TNAFrontendCookies)return window.TNAFrontendCookies;this.defaultDomain=a||document.documentElement.dataset.tnaCookiesDomain||window.location.hostname,this.defaultPath=o||document.documentElement.dataset.tnaCookiesPath||"/",this.secure=r||"true"!==document.documentElement.dataset.tnaCookiesInsecure,this.policiesKey=i||document.documentElement.dataset.tnaCookiesPoliciesKey||"cookies_policy",this.defaultAge=l||parseInt(document.documentElement.dataset.tnaCookiesDefaultAge,10)||31536e3,this.events=new d(this.debug),this.policiesCorrectOnInit=Object.keys(this.policies).length===b.length&&b.every(function(e){return Object.keys(t.policies).includes(e)&&"boolean"==typeof t.policies[e]}),this.policiesCorrectOnInit||f||this.init(),this.log({defaultDomain:this.defaultDomain,defaultPath:this.defaultPath,secure:this.secure,policiesKey:this.policiesKey,defaultAge:this.defaultAge,policiesCorrectOnInit:this.policiesCorrectOnInit}),u||window.TNAFrontendCookies||(window.TNAFrontendCookies=this)},t=[{key:"init",value:function(){var e=this.policies;this.log("Existing policies on init:",e);var t=Object.fromEntries(Object.keys(e).filter(function(e){return b.includes(e)}).map(function(t){return[t,e[t]]}));Object.keys(t).length&&this.log("Filtered existing policies:",t),this.savePolicies(g(g({usage:!1,settings:!1,marketing:!1},t),{},{essential:!0}))}},{key:"log",value:function(){if(this.debug){for(var e,t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];(e=console).log.apply(e,["[TNA Frontend Cookies]"].concat(n,[this.all]))}}},{key:"destroyInstance",value:function(){this.log("Destroying TNAFrontendCookies instance"),window.TNAFrontendCookies=null}},{key:"all",get:function(){var e={};return document.cookie.split("; ").filter(function(e){return""!==e.trim()}).forEach(function(t){var n=function(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,o,r,i,l=[],c=!0,u=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=r.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw o}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t.trim().split("="),2),a=n[0],o=n[1];a&&(e[a]=decodeURIComponent(o||""))}),e}},{key:"policies",get:function(){try{return JSON.parse(this.get(this.policiesKey)||"{}")}catch(e){return{}}}},{key:"exists",value:function(e){return Object.hasOwn(this.all,e)}},{key:"hasValue",value:function(e,t){return this.get(e)===t}},{key:"get",value:function(e){return this.exists(e)?decodeURIComponent(this.all[e]):null}},{key:"set",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=n.maxAge,o=void 0===a?this.defaultAge:a,r=n.sameSite,i=void 0===r?"Lax":r,l=n.domain,c=void 0===l?this.defaultDomain:l,u=n.path,s=void 0===u?this.defaultPath:u,d=n.secure,f=void 0===d?this.secure:d,m=n.session,v=void 0!==m&&m;if(e){var g="";f&&(g="; secure");var p="";v||(p="; max-age=".concat(o));var h="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(t),"; domain=").concat(c,"; samesite=").concat(i,"; path=").concat(s).concat(p).concat(g);document.cookie=h,this.log("Set cookie:",{key:e,value:t,maxAge:o,path:s,sameSite:i,domain:c,secure:f,session:v,cookie:h}),this.events.trigger("setCookie",{key:e,value:t,maxAge:o,path:s,sameSite:i,domain:c,secure:f,session:v,cookie:h})}}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.defaultDomain,a={maxAge:-1,path:t,domain:n||this.defaultDomain};this.set(e,"",a),this.log("Deleted cookie:",g({key:e,path:t,domain:n},a)),this.events.trigger("deleteCookie",g({key:e},a))}},{key:"deleteAll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.defaultDomain;Object.keys(this.all).forEach(function(a){e.delete(a,t,n)}),this.log("Deleted all cookies",{path:t,domain:n}),this.events.trigger("deleteAllCookies",{path:t,domain:n})}},{key:"acceptPolicy",value:function(e){this.log("Accepting policy:",e),this.setPolicy(e,!0),this.events.trigger("acceptPolicy",e),this.events.trigger("changePolicy",h({},e,!0))}},{key:"rejectPolicy",value:function(e){this.log("Rejecting policy:",e),this.setPolicy(e,!1),this.events.trigger("rejectPolicy",e),this.events.trigger("changePolicy",h({},e,!1))}},{key:"setPolicy",value:function(e,t){"essential"!==e?(this.log("Setting policy ".concat(e," to ").concat(t)),this.savePolicies(g(g({},this.policies),{},h(h({},e,t),"essential",!0))),this.events.trigger("changePolicy",h({},e,t))):this.log("Cannot change essential policy, it is always accepted.")}},{key:"acceptAllPolicies",value:function(){this.log("Accepting all policies");var e=Object.fromEntries(Object.keys(this.policies).map(function(e){return[e.toLowerCase(),!0]}));this.savePolicies(e),this.events.trigger("acceptAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"rejectAllPolicies",value:function(){this.log("Rejecting all policies");var e=g(g({},Object.fromEntries(Object.keys(this.policies).map(function(e){return[e.toLowerCase(),!1]}))),{},{essential:!0});this.savePolicies(e),this.events.trigger("rejectAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"savePolicies",value:function(e){this.log("Saving policies:",e),this.set(this.policiesKey,JSON.stringify(e))}},{key:"isPolicyAccepted",value:function(e){return Object.hasOwn(this.policies,e)?!0===this.policies[e]:null}},{key:"on",value:function(e,t){this.log("Adding event listener for: ".concat(e)),this.events.on(e,t)}},{key:"once",value:function(e,t){this.log("Adding one-time event listener for: ".concat(e)),this.events.once(e,t)}}],t&&p(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t}()}},t={};function n(a){var o=t[a];if(void 0!==o)return o.exports;var r=t[a]={exports:{}};return e[a](r,r.exports,n),r.exports}n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var a={};n.r(a),n.d(a,{EventTracker:()=>V,GA4:()=>B,helpers:()=>J});var o=function(e){if(""!==e.id)return'id("'.concat(e.id,'")');if(e===document.body)return e.tagName;var t=0;if(e.parentNode){for(var n=e.parentNode.childNodes,a=0;a<n.length;a+=1){var r=n[a];if(r===e)return"".concat(o(e.parentNode),"/").concat(e.tagName,"[").concat(t+1,"]");1===r.nodeType&&r.tagName===e.tagName&&(t+=1)}return"".concat(o(e.parentNode),"/").concat(e.tagName)}return e.tagName},r=function(e,t){var n="",a=e;do{for(;a.previousElementSibling;)if(a=a.previousElementSibling,t.some(function(e){return a.matches(e)})){n=a.innerText;break}a=a.parentElement}while(a.parentElement&&!n);return n},i=function(e){return r(e,["h1","h2","h3","h4","h5","h6"])},l={text:function(e){return e.innerText.replace(/\n/g," ")},html:function(e){return e.innerHTML},value:function(e){return e.value},index:function(e,t,n,a){return a},instance:function(e,t,n,a,o){return o},checked:function(e){return e.checked?"checked":"unchecked"},expanded:function(e){var t=e.getAttribute("aria-expanded");return null===t?null:"true"===t.toString()?"opened":"closed"},closestHeading:function(e){return i(e)},xpath:function(e){return o(e.target)}};const c=[{scope:".tna-accordion",areaName:"accordion",rootEventName:"select_feature",rootData:{data_component_name:"accordion"},events:[{eventName:"click",targetElement:".tna-accordion__summary",on:"click",data:{state:l.expanded,value:l.text},rootData:{data_link_type:l.expanded,data_link:l.text,data_position:l.index}}]}],u=[{scope:".tna-breadcrumbs",areaName:"breadcrumbs",rootEventName:"select_navigation",rootData:{data_component_name:"breadcrumbs"},events:[{eventName:"click",targetElement:"a.tna-breadcrumbs__link",on:"click",data:{state:"expand",value:l.html},rootData:{data_link_type:"breadcrumb_link",data_link:l.text}},{eventName:"click",targetElement:".tna-breadcrumbs__item--expandable button.tna-breadcrumbs__link",on:"click",data:{state:"expand",value:l.html},rootData:{data_link_type:"breadcrumb_expand",data_link:l.text}}]}],s=[{scope:".tna-checkboxes",areaName:"checkboxes",events:[{eventName:"toggle",targetElement:".tna-checkboxes__item input",on:"change",data:{state:l.checked,value:function(e,t,n){return e.parentNode.innerText.trim()},group:function(e,t,n){var a;return null===(a=t.closest(".tna-form-item"))||void 0===a||null===(a=a.querySelector(".tna-form-item__heading"))||void 0===a||null===(a=a.innerText)||void 0===a?void 0:a.trim()}}}]}],d=[{scope:".tna-details",areaName:"details",events:[{eventName:"click",targetElement:".tna-details__summary",on:"click",data:{state:function(e,t,n){var a,o;return null!==(a=null===(o=t.querySelector(".tna-details__details"))||void 0===o?void 0:o.hasAttribute("open"))&&void 0!==a&&a?"closed":"opened"},value:l.text}}]}],f=[{scope:".tna-error-summary",areaName:"error-summary",events:[{eventName:"jump",targetElement:"a.tna-error-summary__link",on:"click",data:{value:l.text}}]}];var m=function(e){return JSON.stringify(Array.from(e.files).map(function(e){return{name:e.name,size:e.size,type:e.type}}))};const v=[{scope:".tna-file-input",areaName:"file-input",events:[{eventName:"blurred",on:"blur",data:{value:m,state:function(e){return e.files.length},group:function(e,t){var n;return null===(n=t.closest(".tna-form-item"))||void 0===n||null===(n=n.querySelector(".tna-form-item__heading"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}}},{eventName:"cancelled",on:"cancel",data:{value:m,state:function(e){return e.files.length},group:function(e,t){var n;return null===(n=t.closest(".tna-form-item"))||void 0===n||null===(n=n.querySelector(".tna-form-item__heading"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}}},{eventName:"changed",on:"change",data:{value:m,state:function(e){return e.files.length},group:function(e,t){var n;return null===(n=t.closest(".tna-form-item"))||void 0===n||null===(n=n.querySelector(".tna-form-item__heading"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}}}]}],g=[{scope:".tna-footer",areaName:"footer",rootEventName:"global_navigation",rootData:{data_component_name:"footer"},events:[{eventName:"link.click",targetElement:".tna-footer__navigation-block-item-link",on:"click",data:{value:l.text},rootData:{data_link_type:"link",data_section:l.closestHeading,data_link:l.text}},{eventName:"social_link.click",targetElement:".tna-footer__social-item-link",on:"click",data:{value:l.text},rootData:{data_link_type:"icon",data_section:"Social media",data_link:function(e){return e.dataset.name}}},{eventName:"legal_link.click",targetElement:".tna-footer__legal-item-link",on:"click",data:{value:l.text},rootData:{data_link_type:"link",data_section:"Legal information",data_link:l.text}},{eventName:"mailing_list.click",targetElement:".tna-footer__mailing-list a.tna-button",on:"click",data:{value:l.text},rootData:{data_link_type:"button",data_section:"Mailing list",data_link:l.text}},{eventName:"ogl.click",targetElement:".tna-footer__licence p a.tna-footer__link",on:"click",data:{value:l.text},rootData:{data_link_type:"link",data_section:"OGL",data_link:l.text}},{eventName:"govuk.click",targetElement:".tna-footer__govuk-link",on:"click",data:{value:l.text},rootData:{data_link_type:"Logo",data_section:"GOV.UK",data_link:l.text}},{eventName:"theme.change",targetElement:".tna-footer__theme-selector-button",on:"click",data:{value:l.value}}]}],p=[{scope:".tna-gallery",areaName:"gallery",rootEventName:"select_media",rootData:{media_type:"gallery",media_duration:function(e,t){return t.querySelectorAll(".tna-gallery__navigation-item").length},media_provider:"tna",media_title:function(e,t,n,a,o){var r;return(null===(r=t.querySelector(".tna-gallery__header-inner"))||void 0===r||null===(r=r.innerText)||void 0===r?void 0:r.trim())||"gallery_".concat(o)},media_progress:function(e,t){return(Array.from(t.querySelectorAll(".tna-gallery__navigation-item")).findIndex(function(e){return"true"===e.getAttribute("aria-current")})||-1)+1}},events:[{eventName:"click",targetElement:".tna-gallery__navigation-item",on:"click",data:{value:l.text},rootData:{data_link:"image",media_action:"progress",media_progress:l.index}},{eventName:"click",targetElement:".tna-gallery__navigation-prev",on:"click",data:{value:function(e,t){var n;return null===(n=t.querySelector(".tna-gallery__item:not([hidden]) .tna-gallery__item-header"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}},rootData:{data_link:"previous",media_action:"progress"}},{eventName:"click",targetElement:".tna-gallery__navigation-next",on:"click",data:{value:function(e,t){var n;return null===(n=t.querySelector(".tna-gallery__item:not([hidden]) .tna-gallery__item-header"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}},rootData:{data_link:"next",media_action:"progress"}},{eventName:"keypress",on:"keydown",onCondition:function(e,t,n){return["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","End","Home"].includes(n.key)},data:{value:function(e,t,n){return n.key}},rootData:{data_link:"keypress",media_action:"progress"}}]}],h=[{scope:".tna-global-header",areaName:"header",rootEventName:"global_navigation",rootData:{data_component_name:"header"},events:[{eventName:"toggle",targetElement:".tna-global-header__navigation-button",on:"click",data:{state:l.expanded},rootData:{data_link_type:"mobile_menu",data_link:function(e){var t=e.getAttribute("aria-expanded");return null===t?null:"true"===t.toString()?"Open menu":"Close menu"},data_section:"Burger menu"}},{eventName:"logo.click",targetElement:".tna-global-header__logo",on:"click",rootData:{data_link_type:"logo",data_link:"The National Archives",data_section:"Top navigation and logo"}},{eventName:"primary_link.click",targetElement:".tna-global-header__navigation-item-link",on:"click",data:{value:l.text},rootData:{data_link_type:"menu",data_section:l.text,data_position:1,data_link:l.text}},{eventName:"secondary_link.click",targetElement:".tna-global-header__top-navigation-link",on:"click",data:{value:l.text},rootData:{data_link_type:"icon",data_link:l.text,data_section:"Top navigation and logo"}}]}],y=[{scope:".tna-header",areaName:"header",events:[{eventName:"toggle",targetElement:".tna-header__navigation-button",on:"click",data:{state:l.expanded}}]}],b=[{scope:".tna-picture",areaName:"picture",events:[{eventName:"toggle_transcript",targetElement:".tna-picture__toggle-transcript",on:"click",data:{state:l.expanded,value:function(e,t,n){var a=i(t),o=t.querySelector(".tna-picture__image"),r=o.getAttribute("src"),l=o.getAttribute("alt"),c="".concat(l," (").concat(r,")");return a?"".concat(a," > ").concat(c):c}}}]}],k=[{scope:".tna-radios",areaName:"radios",events:[{eventName:"toggle",targetElement:".tna-radios__item input",on:"change",data:{state:l.checked,value:function(e,t,n){return e.parentNode.innerText},group:function(e,t,n){var a;return null===(a=t.closest(".tna-form-item"))||void 0===a||null===(a=a.querySelector(".tna-form-item__heading"))||void 0===a||null===(a=a.innerText)||void 0===a?void 0:a.trim()}}}]}],_=[{scope:".tna-search-field",areaName:"search-field",events:[{eventName:"blurred",targetElement:".tna-search-field__input",on:"blur",data:{value:l.value,group:function(e,t,n){var a;return null===(a=t.querySelector(".tna-form-item__heading"))||void 0===a||null===(a=a.innerText)||void 0===a?void 0:a.trim()}}}]}],w=[{scope:".tna-sidebar",areaName:"sidebar",rootEventName:"select_navigation",rootData:{data_component_name:"sidebar",data_section:function(e,t){var n;return null===(n=t.querySelector(".tna-sidebar__heading"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}},events:[{eventName:"click",targetElement:"a.tna-sidebar__link",on:"click",rootData:{data_link_type:"sidebar_link",data_link:l.text,data_position:l.index}}]}],A=[{scope:".tna-text-input",areaName:"text-input",events:[{eventName:"blurred",on:"blur",data:{value:l.value,group:function(e,t){var n;return null===(n=t.closest(".tna-form-item"))||void 0===n||null===(n=n.querySelector(".tna-form-item__heading"))||void 0===n||null===(n=n.innerText)||void 0===n?void 0:n.trim()}}}]}],E=[{scope:".tna-textarea",areaName:"textarea",events:[{eventName:"blurred",on:"blur",data:{value:l.value,group:function(e,t,n){var a;return null===(a=t.closest(".tna-form-item"))||void 0===a||null===(a=a.querySelector(".tna-form-item__heading"))||void 0===a||null===(a=a.innerText)||void 0===a?void 0:a.trim()}}}]}];var x=n(533);function O(e,t){if(t&&("object"==C(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function N(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(N=function(){return!!e})()}function T(e){return T=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},T(e)}function j(e,t){return j=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},j(e,t)}function S(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,o,r,i,l=[],c=!0,u=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(a=r.call(n)).done)&&(l.push(a.value),l.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw o}}return l}}(e,t)||R(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,a)}return n}function D(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?P(Object(n),!0).forEach(function(t){q(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function C(e){return C="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},C(e)}function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function F(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,M(a.key),a)}}function L(e,t,n){return t&&F(e.prototype,t),n&&F(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function q(e,t,n){return(t=M(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function M(e){var t=function(e){if("object"!=C(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=C(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==C(t)?t:t+""}function U(e){return function(e){if(Array.isArray(e))return K(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||R(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e,t){if(e){if("string"==typeof e)return K(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K(e,t):void 0}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var G=[].concat(U(c),U(u),U(s),U(d),U(f),U(v),U(g),U(p),U(h),U(y),U([{scope:".tna-hero",areaName:"hero",events:[{eventName:"toggle_caption",targetElement:".tna-hero__details-summary",on:"click",data:{state:function(e,t,n){var a,o;return null!==(a=null===(o=t.querySelector(".tna-hero__details"))||void 0===o?void 0:o.hasAttribute("open"))&&void 0!==a&&a?"closed":"opened"},value:function(e,t,n){var a;return null===(a=t.querySelector("img[alt]"))||void 0===a?void 0:a.getAttribute("alt")}}}]}]),U(b),U(k),U(_),U(w),U(A),U(E)),V=function(){return L(function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};I(this,e),q(this,"cookies",new x.A),q(this,"events",[]),q(this,"startTime",new Date),q(this,"prefix","tna"),q(this,"document",document);var n=t.prefix,a=void 0===n?null:n,o=t.documentScope,r=void 0===o?document:o;a&&(this.prefix=a),r&&(this.document=r)},[{key:"start",value:function(e){var t=this;navigator.doNotTrack&&1===navigator.doNotTrack||(this.cookies.isPolicyAccepted("usage")&&this.enableTracking(),this.cookies.on("changePolicy",function(e){Object.hasOwn(e,"usage")&&(e.usage?t.enableTracking():t.disableTracking())}),e&&this.initAll())}},{key:"enableTracking",value:function(){}},{key:"disableTracking",value:function(){}},{key:"initAll",value:function(){var e=this;G.forEach(function(t){e.addListeners(t.scope,t.areaName,t.events,t.rootEventName||"",t.rootData||{})})}},{key:"addListeners",value:function(e,t,n){var a=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},i=[];"string"==typeof e?i=Array.from(this.document.querySelectorAll(e)):"object"===C(e)&&(i=[e]),0!==i.length&&i.forEach(function(i,l){n.forEach(function(n){n.on&&(n.targetElement?Array.from(i.querySelectorAll(n.targetElement)).forEach(function(c,u){return a.attachListener(c,i,o,r,n,e,t,u+1,l+1)}):a.attachListener(i,i,o,r,n,e,t,1,l+1))})})}},{key:"generateEventName",value:function(e,t){return"".concat(this.prefix,".").concat(e,".").concat(t.eventName||t.on)}},{key:"attachListener",value:function(e,t,n,a,r,i,l,c,u){var s=this,d=r.on,f=r.data,m=r.targetElement,v=r.rootData,g=void 0===v?{}:v,p=r.onCondition,h=void 0===p?null:p;e.addEventListener(d,function(d){var v=[e,t,d,c,u];(null===h||s.computedValue.apply(s,[h].concat(v)))&&s.recordEvent(r.rootEventName?"".concat(s.prefix,".").concat(r.rootEventName):n?"".concat(s.prefix,".").concat(n):s.generateEventName(l,r),D(D({},f),{},{name:s.generateEventName(l,r),value:null!=f&&f.value?s.computedValue.apply(s,[f.value].concat(v)):null,state:null!=f&&f.state?s.computedValue.apply(s,[f.state].concat(v)):null,group:null!=f&&f.group?s.computedValue.apply(s,[f.group].concat(v)):null,xPath:o(e),targetElement:m,timeSincePageLoad:new Date-s.startTime,index:c,instance:u,scope:i,areaName:l}),Object.fromEntries(Object.entries(D(D({},a),g)).map(function(e){var t=S(e,2),n=t[0],a=t[1];return[n,s.computedValue.apply(s,[a].concat(v))]})))})}},{key:"computedValue",value:function(e,t,n,a,o,r){return"function"==typeof e?e.call(this,t,n,a,o,r):null!=e?e:null}},{key:"recordEvent",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.events.push(D(D({event:e},t),n))}},{key:"getTnaMetaTags",value:function(){var e=this;return Object.fromEntries([].concat(U(Array.from(document.head.querySelectorAll('meta[name^="'.concat(this.prefix,'_root:"][content]'))).map(function(t){return[t.getAttribute("name").replace(new RegExp("^".concat(e.prefix,"_root:"),"u"),""),t.getAttribute("content")]})),U(Array.from(document.head.querySelectorAll('meta[name^="'.concat(this.prefix,'."][content]'))).map(function(e){return[e.getAttribute("name"),e.getAttribute("content")]}))))}},{key:"getUserPreferences",value:function(){var e,t,n,a,o,r,i,l,c,u,s,d,f={};f["".concat(this.prefix,".pref.prefers-color-scheme")]=null!==(e=(t=window).matchMedia)&&void 0!==e&&e.call(t,"(prefers-color-scheme: dark)").matches?"dark":"light",f["".concat(this.prefix,".pref.forced-colors")]=null===(n=(a=window).matchMedia)||void 0===n?void 0:n.call(a,"(forced-colors: active)").matches;var m="no-preference";return null!==(o=(r=window).matchMedia)&&void 0!==o&&o.call(r,"(prefers-contrast: more)").matches?m="more":null!==(i=(l=window).matchMedia)&&void 0!==i&&i.call(l,"(prefers-contrast: less)").matches&&(m="less"),f["".concat(this.prefix,".pref.prefers-contrast")]=m,f["".concat(this.prefix,".pref.prefers-reduced-motion")]=null===(c=(u=window).matchMedia)||void 0===c?void 0:c.call(u,"(prefers-reduced-motion: reduce)").matches,f["".concat(this.prefix,".pref.prefers-reduced-transparency")]=null===(s=(d=window).matchMedia)||void 0===s?void 0:s.call(d,"(prefers-reduced-transparency: reduce)").matches,f}}])}(),B=function(e){function t(){var e,n,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(I(this,t),window.TNAFrontendAnalyticsGA4)return O(n,window.TNAFrontendAnalyticsGA4);var o,r,i,l=a.id,c=void 0===l?"":l,u=a.prefix,s=void 0===u?null:u,d=a.initAll,f=void 0===d||d,m=a.addTrackingCode,v=void 0===m||m;return o=this,i=[{prefix:s}],r=T(r=t),q(n=O(o,N()?Reflect.construct(r,i||[],T(o).constructor):r.apply(o,i)),"addTrackingCode",!0),q(n,"trackingCodeAdded",!1),q(n,"trackingEnabled",!1),q(n,"gTagId",void 0),window.TNAFrontendAnalyticsGA4=n,n.addTrackingCode=v,(e=window).dataLayer||(e.dataLayer=[]),c&&(n.gTagId=c,n.ga4Disable="ga-disable-".concat(n.gTagId),n.cookies.isPolicyAccepted("usage")||(window[n.ga4Disable]=!0,n.cookies.set(n.ga4Disable,"true"))),n.start(f),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&j(e,t)}(t,e),L(t,[{key:"destroy",value:function(){window.TNAFrontendAnalyticsGA4=null}},{key:"recordEvent",value:function(e,t){var n=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=D(D({event:e},Object.fromEntries(Object.entries(t).map(function(e){var t=S(e,2),a=t[0],o=t[1];return["".concat(n.prefix,".event.").concat(a),o]}))),a);this.pushToDataLayer(o)}},{key:"gtag",value:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];this.pushToDataLayer(t)}},{key:"pushToDataLayer",value:function(e){window.dataLayer.push(e)}},{key:"enableTracking",value:function(){if(!this.trackingEnabled){if(window[this.ga4Disable]=!1,this.cookies.set(this.ga4Disable,"false"),!this.trackingCodeAdded&&this.addTrackingCode){if(!this.gTagId)throw Error("ID was not specified");this.pushToDataLayer(D(D(D({},this.getTnaMetaTags()),this.getUserPreferences()),{},{"gtm.start":(new Date).getTime(),event:"gtm.js"}));var e=S(document.getElementsByTagName("script"),1)[0],t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtm.js?id=".concat(this.gTagId,"&l=dataLayer"),e?e.parentNode.insertBefore(t,e):document.head.appendChild(t),this.trackingCodeAdded=!0}this.trackingEnabled=!0}}},{key:"disableTracking",value:function(){var e=this;this.trackingEnabled&&(window[this.ga4Disable]=!0,this.cookies.set(this.ga4Disable,"true"),Object.keys(this.cookies.all).forEach(function(t){t.startsWith("_ga")&&e.cookies.delete(t)}),this.trackingEnabled=!1)}}])}(V),H=document.documentElement.dataset.ga4;H&&new B({id:H});var J={getXPathTo:o,getClosestHeading:i,getClosestElement:r,valueGetters:l};return a})());
2
2
  //# sourceMappingURL=analytics.js.map