@nationalarchives/frontend 0.2.15 → 0.2.16

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 (73) hide show
  1. package/nationalarchives/all+analytics.js +1 -1
  2. package/nationalarchives/all+analytics.js.map +1 -1
  3. package/nationalarchives/all.css +1 -1
  4. package/nationalarchives/all.css.map +1 -1
  5. package/nationalarchives/analytics.js +1 -1
  6. package/nationalarchives/analytics.js.map +1 -1
  7. package/nationalarchives/components/accordion/accordion.css +1 -1
  8. package/nationalarchives/components/accordion/accordion.css.map +1 -1
  9. package/nationalarchives/components/breadcrumbs/breadcrumbs.css.map +1 -1
  10. package/nationalarchives/components/button/button.css.map +1 -1
  11. package/nationalarchives/components/card/card.css +1 -1
  12. package/nationalarchives/components/card/card.css.map +1 -1
  13. package/nationalarchives/components/card/card.scss +12 -4
  14. package/nationalarchives/components/checkboxes/checkboxes.css +1 -1
  15. package/nationalarchives/components/checkboxes/checkboxes.css.map +1 -1
  16. package/nationalarchives/components/compound-filters/compound-filters.css +1 -1
  17. package/nationalarchives/components/compound-filters/compound-filters.css.map +1 -1
  18. package/nationalarchives/components/date-input/date-input.css +1 -1
  19. package/nationalarchives/components/date-input/date-input.css.map +1 -1
  20. package/nationalarchives/components/date-search/date-search.css +1 -1
  21. package/nationalarchives/components/date-search/date-search.css.map +1 -1
  22. package/nationalarchives/components/details/details.css +1 -1
  23. package/nationalarchives/components/details/details.css.map +1 -1
  24. package/nationalarchives/components/error-summary/error-summary.css +1 -1
  25. package/nationalarchives/components/error-summary/error-summary.css.map +1 -1
  26. package/nationalarchives/components/files-list/files-list.css +1 -1
  27. package/nationalarchives/components/files-list/files-list.css.map +1 -1
  28. package/nationalarchives/components/footer/footer.css +1 -1
  29. package/nationalarchives/components/footer/footer.css.map +1 -1
  30. package/nationalarchives/components/gallery/gallery.css +1 -1
  31. package/nationalarchives/components/gallery/gallery.css.map +1 -1
  32. package/nationalarchives/components/gallery/gallery.scss +35 -5
  33. package/nationalarchives/components/global-header/global-header.css +1 -1
  34. package/nationalarchives/components/global-header/global-header.css.map +1 -1
  35. package/nationalarchives/components/header/header.css +1 -1
  36. package/nationalarchives/components/header/header.css.map +1 -1
  37. package/nationalarchives/components/hero/hero.css.map +1 -1
  38. package/nationalarchives/components/index-grid/index-grid.css +1 -1
  39. package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
  40. package/nationalarchives/components/phase-banner/phase-banner.css +1 -1
  41. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
  42. package/nationalarchives/components/picture/picture.css +1 -1
  43. package/nationalarchives/components/picture/picture.css.map +1 -1
  44. package/nationalarchives/components/quick-filters/quick-filters.css +1 -1
  45. package/nationalarchives/components/quick-filters/quick-filters.css.map +1 -1
  46. package/nationalarchives/components/radios/radios.css +1 -1
  47. package/nationalarchives/components/radios/radios.css.map +1 -1
  48. package/nationalarchives/components/records-list/records-list.css +1 -1
  49. package/nationalarchives/components/records-list/records-list.css.map +1 -1
  50. package/nationalarchives/components/search-field/search-field.css +1 -1
  51. package/nationalarchives/components/search-field/search-field.css.map +1 -1
  52. package/nationalarchives/components/select/select.css +1 -1
  53. package/nationalarchives/components/select/select.css.map +1 -1
  54. package/nationalarchives/components/sidebar/sidebar.css +1 -1
  55. package/nationalarchives/components/sidebar/sidebar.css.map +1 -1
  56. package/nationalarchives/components/skip-link/skip-link.css.map +1 -1
  57. package/nationalarchives/components/tabs/tabs.css +1 -1
  58. package/nationalarchives/components/tabs/tabs.css.map +1 -1
  59. package/nationalarchives/components/text-input/text-input.css +1 -1
  60. package/nationalarchives/components/text-input/text-input.css.map +1 -1
  61. package/nationalarchives/components/textarea/textarea.css +1 -1
  62. package/nationalarchives/components/textarea/textarea.css.map +1 -1
  63. package/nationalarchives/components/warning/warning.css +1 -1
  64. package/nationalarchives/components/warning/warning.css.map +1 -1
  65. package/nationalarchives/ie.css +1 -1
  66. package/nationalarchives/ie.css.map +1 -1
  67. package/nationalarchives/print.css +1 -1
  68. package/nationalarchives/print.css.map +1 -1
  69. package/nationalarchives/prototype-kit.css +1 -1
  70. package/nationalarchives/prototype-kit.css.map +1 -1
  71. package/nationalarchives/tools/_colour.scss +1 -1
  72. package/nationalarchives/variables/_colour.scss +5 -4
  73. package/package.json +30 -30
@@ -1 +1 @@
1
- {"version":3,"file":"all+analytics.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","webpack://TNAFrontend/./src/nationalarchives/all.mjs","webpack://TNAFrontend/./src/nationalarchives/lib/analytics-helpers.mjs","webpack://TNAFrontend/./src/nationalarchives/components/accordion/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/breadcrumbs/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/checkboxes/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/details/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/footer/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/gallery/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/global-header/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/header/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/picture/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/radios/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/search-field/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/text-input/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/textarea/analytics.js","webpack://TNAFrontend/./src/nationalarchives/analytics.mjs","webpack://TNAFrontend/./src/nationalarchives/components/hero/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/accordion/accordion.mjs","webpack://TNAFrontend/./src/nationalarchives/components/breadcrumbs/breadcrumbs.mjs","webpack://TNAFrontend/./src/nationalarchives/components/cookie-banner/cookie-banner.mjs","webpack://TNAFrontend/./src/nationalarchives/components/error-summary/error-summary.mjs","webpack://TNAFrontend/./src/nationalarchives/components/footer/footer.mjs","webpack://TNAFrontend/./src/nationalarchives/components/gallery/gallery.mjs","webpack://TNAFrontend/./src/nationalarchives/components/global-header/global-header.mjs","webpack://TNAFrontend/./src/nationalarchives/components/header/header.mjs","webpack://TNAFrontend/./src/nationalarchives/components/picture/picture.mjs","webpack://TNAFrontend/./src/nationalarchives/components/skip-link/skip-link.mjs","webpack://TNAFrontend/./src/nationalarchives/components/tabs/tabs.mjs","webpack://TNAFrontend/./src/nationalarchives/lib/cookies.mjs","webpack://TNAFrontend/./src/nationalarchives/lib/uuid.mjs","webpack://TNAFrontend/webpack/bootstrap","webpack://TNAFrontend/webpack/runtime/define property getters","webpack://TNAFrontend/webpack/runtime/hasOwnProperty shorthand","webpack://TNAFrontend/webpack/runtime/make namespace object"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TNAFrontend\"] = factory();\n\telse\n\t\troot[\"TNAFrontend\"] = factory();\n})(self, () => {\nreturn ","import { Accordion } from \"./components/accordion/accordion.mjs\";\nimport { Breadcrumbs } from \"./components/breadcrumbs/breadcrumbs.mjs\";\nimport { CookieBanner } from \"./components/cookie-banner/cookie-banner.mjs\";\nimport { ErrorSummary } from \"./components/error-summary/error-summary.mjs\";\nimport { Footer } from \"./components/footer/footer.mjs\";\nimport { Gallery } from \"./components/gallery/gallery.mjs\";\nimport { GlobalHeader } from \"./components/global-header/global-header.mjs\";\nimport { Header } from \"./components/header/header.mjs\";\nimport { Picture } from \"./components/picture/picture.mjs\";\nimport { SkipLink } from \"./components/skip-link/skip-link.mjs\";\nimport { Tabs } from \"./components/tabs/tabs.mjs\";\nimport Cookies from \"./lib/cookies.mjs\";\n\nconst initAll = (options) => {\n options = typeof options !== \"undefined\" ? options : {};\n const $scope =\n options.scope instanceof HTMLElement ? options.scope : document;\n\n const $body = document.documentElement;\n $body.classList.add(\"tna-template--js-enabled\");\n\n const onFirstTouch = () => {\n window.removeEventListener(\"touchstart\", onFirstTouch);\n $body.classList.add(\"tna-template--touched\");\n };\n\n const onKeyDown = (e) => {\n if (e.key === \"Tab\") {\n $body.classList.add(\"tna-template--tabbed\");\n $body.classList.remove(\"tna-template--clicked\");\n }\n };\n\n const onMouseDown = () => {\n $body.classList.add(\"tna-template--clicked\");\n $body.classList.remove(\"tna-template--tabbed\");\n };\n\n window.addEventListener(\"touchstart\", onFirstTouch);\n window.addEventListener(\"keydown\", onKeyDown);\n window.addEventListener(\"mousedown\", onMouseDown);\n\n const $accordions = $scope.querySelectorAll('[data-module=\"tna-accordion\"]');\n $accordions.forEach(($accordion) => {\n new Accordion($accordion);\n });\n\n const $breadcrumbs = $scope.querySelector('[data-module=\"tna-breadcrumbs\"]');\n if ($breadcrumbs) {\n new Breadcrumbs($breadcrumbs);\n }\n\n const $cookieBanner = $scope.querySelector(\n '[data-module=\"tna-cookie-banner\"]',\n );\n if ($cookieBanner) {\n new CookieBanner($cookieBanner);\n }\n\n const $errorSummary = $scope.querySelector(\n '[data-module=\"tna-error-summary\"]',\n );\n if ($errorSummary) {\n new ErrorSummary($errorSummary).init();\n }\n\n const $footer = $scope.querySelector('[data-module=\"tna-footer\"]');\n if ($footer) {\n new Footer($footer);\n }\n\n const $galleries = $scope.querySelectorAll('[data-module=\"tna-gallery\"]');\n $galleries.forEach(($gallery) => {\n new Gallery($gallery);\n });\n\n const $globalHeader = $scope.querySelector(\n '[data-module=\"tna-global-header\"]',\n );\n if ($globalHeader) {\n new GlobalHeader($globalHeader);\n }\n\n const $header = $scope.querySelector('[data-module=\"tna-header\"]');\n if ($header) {\n new Header($header);\n }\n\n const $pictures = $scope.querySelectorAll('[data-module=\"tna-picture\"]');\n $pictures.forEach(($picture) => {\n new Picture($picture);\n });\n\n const $skipLinks = $scope.querySelectorAll('[data-module=\"tna-skip-link\"]');\n $skipLinks.forEach(($skipLink) => {\n new SkipLink($skipLink);\n });\n\n const $tabs = $scope.querySelectorAll('[data-module=\"tna-tabs\"]');\n $tabs.forEach(($tabModule) => {\n new Tabs($tabModule);\n });\n\n const checkTableForScroll = ($tableWrapper) => {\n const scrollable = $tableWrapper.scrollWidth > $tableWrapper.clientWidth;\n const $tableCaption = $tableWrapper.querySelector(\".tna-table__caption\");\n if (scrollable) {\n $tableWrapper.setAttribute(\"tabindex\", \"0\");\n $tableCaption?.classList.add(\"tna-table__caption--scroll\");\n } else {\n $tableWrapper.removeAttribute(\"tabindex\");\n $tableCaption?.classList.remove(\"tna-table__caption--scroll\");\n }\n };\n\n const $tableWrappers = document.querySelectorAll(\n \".tna-table-wrapper:has(.tna-table__caption)\",\n );\n $tableWrappers.forEach(($tableWrapper) => checkTableForScroll($tableWrapper));\n window.addEventListener(\"resize\", () => {\n $tableWrappers.forEach(($tableWrapper) =>\n checkTableForScroll($tableWrapper),\n );\n });\n\n window.matchMedia(\"print\").addEventListener(\"change\", (evt) => {\n if (evt.matches) {\n document\n .querySelectorAll(\".tna-details__details:not([open])\")\n .forEach((e) => {\n e.setAttribute(\"open\", \"\");\n e.dataset.wasclosed = \"\";\n });\n document\n .querySelectorAll(\n '.tna-accordion__content[hidden=\"until-found\"], .tna-picture__transcript[hidden=\"until-found\"]',\n )\n .forEach((e) => {\n e.removeAttribute(\"hidden\");\n e.dataset.wasclosed = \"\";\n });\n } else {\n document\n .querySelectorAll(\".tna-details__details[data-wasclosed]\")\n .forEach((e) => {\n e.removeAttribute(\"open\");\n delete e.dataset.wasclosed;\n });\n document\n .querySelectorAll(\n \".tna-accordion__content[data-wasclosed], .tna-picture__transcript[data-wasclosed]\",\n )\n .forEach((e) => {\n e.setAttribute(\"hidden\", \"until-closed\");\n e.dataset.wasclosed = \"\";\n });\n }\n });\n};\n\nexport {\n initAll,\n Cookies,\n Accordion,\n Breadcrumbs,\n CookieBanner,\n ErrorSummary,\n Footer,\n Gallery,\n GlobalHeader,\n Header,\n Picture,\n SkipLink,\n Tabs,\n};\n","const getXPathTo = ($element) => {\n if ($element.id !== \"\") {\n return 'id(\"' + $element.id + '\")';\n }\n if ($element === document.body) {\n return $element.tagName;\n }\n let ix = 0;\n const siblings = $element.parentNode.childNodes;\n for (let i = 0; i < siblings.length; i++) {\n const sibling = siblings[i];\n if (sibling === $element)\n return (\n getXPathTo($element.parentNode) +\n \"/\" +\n $element.tagName +\n \"[\" +\n (ix + 1) +\n \"]\"\n );\n if (sibling.nodeType === 1 && sibling.tagName === $element.tagName) ix++;\n }\n};\n\nconst includesAny = (arr, values) => values.some((v) => arr.includes(v));\n\nconst getClosestHeading = ($element) => {\n let heading = \"\";\n let $search = $element;\n do {\n while ($search.previousElementSibling) {\n $search = $search.previousElementSibling;\n if (\n [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"].includes($search.tagName) ||\n ($search.classList.length &&\n includesAny(Array.from($search.classList), [\n \"tna-heading-xl\",\n \"tna-heading-l\",\n \"tna-heading-m\",\n \"tna-heading-s\",\n ]))\n ) {\n heading = $search.innerText;\n break;\n }\n }\n $search = $search.parentElement;\n } while ($search.parentElement && !heading);\n return heading;\n};\n\nconst valueGetters = {\n text: ($el) => $el.innerText,\n html: ($el) => $el.innerHTML,\n value: ($el) => $el.value,\n index: ($el, $scope, event, index) => index,\n checked: ($el) => ($el.checked ? \"checked\" : \"unchecked\"),\n expanded: ($el) => {\n const expanded = $el.getAttribute(\"aria-expanded\");\n if (expanded === null) {\n return null;\n }\n return expanded.toString() === \"true\" ? \"opened\" : \"closed\";\n },\n closestHeading: ($el) => getClosestHeading($el),\n};\n\nexport { getXPathTo, getClosestHeading, valueGetters };\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-accordion\",\n areaName: \"accordion\",\n events: [\n {\n eventName: \"click\",\n targetElement: \".tna-accordion__summary\",\n on: \"click\",\n data: { state: valueGetters.expanded, value: valueGetters.text },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-breadcrumbs\",\n areaName: \"breadcrumbs\",\n events: [\n {\n eventName: \"click\",\n targetElement:\n \".tna-breadcrumbs__item--expandable button.tna-breadcrumbs__link\",\n on: \"click\",\n data: { state: \"expand\", value: valueGetters.html },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-checkboxes\",\n areaName: \"checkboxes\",\n events: [\n {\n eventName: \"toggle\",\n targetElement: \".tna-checkboxes__item input\",\n on: \"change\",\n data: {\n state: valueGetters.checked,\n // eslint-disable-next-line no-unused-vars\n value: ($el, $scope, event) => $el.parentNode.innerText,\n // eslint-disable-next-line no-unused-vars\n group: ($el, $scope, event) =>\n $scope\n .closest(\".tna-form__group\")\n ?.querySelector(\".tna-form__heading\")?.innerText,\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-details\",\n areaName: \"details\",\n events: [\n {\n eventName: \"click\",\n targetElement: \".tna-details__summary\",\n on: \"click\",\n data: {\n // eslint-disable-next-line no-unused-vars\n state: ($el, $scope, event) => {\n const wasExpanded =\n $scope\n .querySelector(\".tna-details__details\")\n ?.hasAttribute(\"open\") ?? false;\n return wasExpanded ? \"closed\" : \"opened\";\n },\n // eslint-disable-next-line no-unused-vars\n value: valueGetters.text,\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-footer\",\n areaName: \"footer\",\n rootEventName: \"global_navigation\",\n events: [\n {\n eventName: \"link.click\",\n targetElement: \".tna-footer__navigation-block-item-link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Footer\",\n data_link_type: \"Link\",\n data_section: valueGetters.closestHeading,\n data_link: valueGetters.text,\n },\n },\n {\n eventName: \"social_link.click\",\n targetElement: \".tna-footer__social-item-link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Footer\",\n data_link_type: \"Icon\",\n data_section: \"Social media\",\n data_link: ($el) => $el.getAttribute(\"data-name\"),\n },\n },\n {\n eventName: \"legal_link.click\",\n targetElement: \".tna-footer__legal-item-link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Footer\",\n data_link_type: \"Link\",\n data_section: \"Legal information\",\n data_link: valueGetters.text,\n },\n },\n {\n eventName: \"mailing_list.click\",\n targetElement: \".tna-footer__mailing-list a.tna-button\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Footer\",\n data_link_type: \"Button\",\n data_section: \"Mailing list\",\n data_link: valueGetters.text,\n },\n },\n {\n eventName: \"ogl.click\",\n targetElement: \".tna-footer__licence p a.tna-footer__link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Footer\",\n data_link_type: \"Link\",\n data_section: \"OGL\",\n data_link: valueGetters.text,\n },\n },\n {\n eventName: \"govuk.click\",\n targetElement: \".tna-footer__govuk-link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Footer\",\n data_link_type: \"Logo\",\n data_section: \"GOV.UK\",\n data_link: valueGetters.text,\n },\n },\n {\n eventName: \"theme.change\",\n targetElement: \".tna-footer__theme-selector-button\",\n on: \"click\",\n data: {\n value: valueGetters.value,\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-gallery\",\n areaName: \"gallery\",\n events: [\n {\n eventName: \"click\",\n targetElement: \".tna-gallery__navigation-item\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n },\n {\n eventName: \"click\",\n targetElement: \".tna-gallery__navigation-prev\",\n on: \"click\",\n data: {\n value: ($el, $scope) =>\n $scope.querySelector(\n \".tna-gallery__item:not([hidden]) .tna-gallery__item-header\",\n ).innerText,\n },\n },\n {\n eventName: \"click\",\n targetElement: \".tna-gallery__navigation-next\",\n on: \"click\",\n data: {\n value: ($el, $scope) =>\n $scope.querySelector(\n \".tna-gallery__item:not([hidden]) .tna-gallery__item-header\",\n ).innerText,\n },\n },\n {\n eventName: \"keypress\",\n on: \"keydown\",\n data: {\n value: ($el, $scope, event) => event.key,\n },\n },\n {\n eventName: \"enter-fullscreen\",\n targetElement: '.tna-gallery__options button[value=\"enter-fullscreen\"]',\n on: \"click\",\n },\n {\n eventName: \"exit-fullscreen\",\n targetElement: '.tna-gallery__options button[value=\"exit-fullscreen\"]',\n on: \"click\",\n },\n {\n eventName: \"index\",\n targetElement: '.tna-gallery__options button[value=\"show-index\"]',\n on: \"click\",\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-global-header\",\n areaName: \"header\",\n rootEventName: \"global_navigation\",\n events: [\n {\n eventName: \"toggle\",\n targetElement: \".tna-global-header__navigation-button\",\n on: \"click\",\n data: {\n state: valueGetters.expanded,\n },\n rootData: {\n data_component_name: \"Header\",\n data_link_type: \"Mobile menu\",\n data_link: ($el) => {\n const expanded = $el.getAttribute(\"aria-expanded\");\n if (expanded === null) {\n return null;\n }\n return expanded.toString() === \"true\" ? \"Open menu\" : \"Close menu\";\n },\n data_section: \"Burger menu\",\n },\n },\n {\n eventName: \"logo.click\",\n targetElement: \".tna-global-header__logo\",\n on: \"click\",\n rootData: {\n data_component_name: \"Header\",\n data_link_type: \"Logo\",\n data_link: \"The National Archives\",\n data_section: \"Top navigation and logo\",\n },\n },\n {\n eventName: \"primary_link.click\",\n targetElement: \".tna-global-header__navigation-item-link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Header\",\n data_link_type: \"Menu\",\n data_section: valueGetters.text,\n data_position: 1,\n data_link: valueGetters.text,\n },\n },\n {\n eventName: \"secondary_link.click\",\n targetElement: \".tna-global-header__top-navigation-link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Header\",\n data_link_type: \"Icon\",\n data_link: valueGetters.text,\n data_section: \"Top navigation and logo\",\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-header\",\n areaName: \"header\",\n events: [\n {\n eventName: \"toggle\",\n targetElement: \".tna-header__navigation-button\",\n on: \"click\",\n data: {\n state: valueGetters.expanded,\n },\n },\n ],\n },\n];\n","import {\n getClosestHeading,\n valueGetters,\n} from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-picture\",\n areaName: \"picture\",\n events: [\n {\n eventName: \"toggle_transcript\",\n targetElement: \".tna-picture__toggle-transcript\",\n on: \"click\",\n data: {\n state: valueGetters.expanded,\n // eslint-disable-next-line no-unused-vars\n value: ($el, $scope, event) => {\n const heading = getClosestHeading($scope);\n const image = $scope.querySelector(\".tna-picture__image\");\n const imageSrc = image.getAttribute(\"src\");\n const imageAlt = image.getAttribute(\"alt\");\n const value = `${imageAlt} (${imageSrc})`;\n return heading ? `${heading} > ${value}` : value;\n },\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-radios\",\n areaName: \"radios\",\n events: [\n {\n eventName: \"toggle\",\n targetElement: \".tna-radios__item input\",\n on: \"change\",\n data: {\n state: valueGetters.checked,\n // eslint-disable-next-line no-unused-vars\n value: ($el, $scope, event) => $el.parentNode.innerText,\n // eslint-disable-next-line no-unused-vars\n group: ($el, $scope, event) =>\n $scope\n .closest(\".tna-form__group\")\n ?.querySelector(\".tna-form__heading\")?.innerText,\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-search-field\",\n areaName: \"search-field\",\n events: [\n {\n eventName: \"blurred\",\n targetElement: \".tna-search-field__input\",\n on: \"blur\",\n data: {\n // eslint-disable-next-line no-unused-vars\n value: valueGetters.value,\n // eslint-disable-next-line no-unused-vars\n group: ($el, $scope, event) =>\n $scope.querySelector(\".tna-form__heading\")?.innerText,\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-text-input\",\n areaName: \"text-input\",\n events: [\n {\n eventName: \"blurred\",\n on: \"blur\",\n data: {\n // eslint-disable-next-line no-unused-vars\n value: valueGetters.value,\n // eslint-disable-next-line no-unused-vars\n group: ($el, $scope, event) =>\n $scope\n .closest(\".tna-form__group\")\n ?.querySelector(\".tna-form__heading\")?.innerText,\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-textarea\",\n areaName: \"textarea\",\n events: [\n {\n eventName: \"blurred\",\n on: \"blur\",\n data: {\n // eslint-disable-next-line no-unused-vars\n value: valueGetters.value,\n // eslint-disable-next-line no-unused-vars\n group: ($el, $scope, event) =>\n $scope\n .closest(\".tna-form__group\")\n ?.querySelector(\".tna-form__heading\")?.innerText,\n },\n },\n ],\n },\n];\n","import Cookies from \"./lib/cookies.mjs\";\nimport {\n getXPathTo,\n getClosestHeading,\n valueGetters,\n} from \"./lib/analytics-helpers.mjs\";\nimport AccordionAnalytics from \"./components/accordion/analytics.js\";\nimport BreadcrumbAnalytics from \"./components/breadcrumbs/analytics.js\";\nimport CheckboxesAnalytics from \"./components/checkboxes/analytics.js\";\nimport DetailsAnalytics from \"./components/details/analytics.js\";\nimport FooterAnalytics from \"./components/footer/analytics.js\";\nimport GalleryAnalytics from \"./components/gallery/analytics.js\";\nimport GlobalHeaderAnalytics from \"./components/global-header/analytics.js\";\nimport HeaderAnalytics from \"./components/header/analytics.js\";\nimport HeroAnalytics from \"./components/hero/analytics.js\";\nimport PictureAnalytics from \"./components/picture/analytics.js\";\nimport RadiosAnalytics from \"./components/radios/analytics.js\";\nimport SearchFieldAnalytics from \"./components/search-field/analytics.js\";\nimport TextInputAnalytics from \"./components/text-input/analytics.js\";\nimport TextareaAnalytics from \"./components/textarea/analytics.js\";\n\nconst componentAnalytics = [\n ...AccordionAnalytics,\n ...BreadcrumbAnalytics,\n ...CheckboxesAnalytics,\n ...DetailsAnalytics,\n ...FooterAnalytics,\n ...GalleryAnalytics,\n ...GlobalHeaderAnalytics,\n ...HeaderAnalytics,\n ...HeroAnalytics,\n ...PictureAnalytics,\n ...RadiosAnalytics,\n ...SearchFieldAnalytics,\n ...TextInputAnalytics,\n ...TextareaAnalytics,\n];\n\nclass EventTracker {\n /** @protected */\n cookies = new Cookies();\n\n /** @protected */\n events = [];\n\n /** @protected */\n startTime = new Date();\n\n /** @protected */\n prefix = \"tna\";\n\n /** @protected */\n addTrackingCode = true;\n\n constructor(options = {}) {\n const { prefix = null, addTrackingCode = true } = options;\n if (prefix) {\n this.prefix = prefix;\n }\n this.addTrackingCode = addTrackingCode;\n }\n\n start(initAll) {\n if (!navigator.doNotTrack || navigator.doNotTrack !== 1) {\n if (this.cookies.isPolicyAccepted(\"usage\")) {\n this.enableTracking();\n }\n this.cookies.on(\"changePolicy\", (policies) => {\n if (Object.hasOwn(policies, \"usage\")) {\n if (policies[\"usage\"]) {\n this.enableTracking();\n } else {\n this.disableTracking();\n }\n }\n });\n if (initAll) {\n this.initAll();\n }\n }\n }\n\n enableTracking() {}\n\n disableTracking() {}\n\n /**\n * Initialise all TNA Frontend component analytics.\n */\n initAll() {\n componentAnalytics.forEach((componentConfig) => {\n this.addListeners(\n componentConfig.scope,\n componentConfig.areaName,\n componentConfig.events,\n componentConfig.rootEventName || \"\",\n );\n });\n }\n\n /**\n * Add an event listener.\n * @param {String|HTMLElement} scope - The element to which the listener is scoped.\n * @param {String} areaName - The name of the component to pass on to the tracker.\n * @param {{eventName: String, targetElement: String|undefined, on: String, data: {value: Function|String|undefined, state: Function|String|undefined, group: Function|String|undefined, [String]: String|Integer}, rootData:{[String]: Function|String}}[]} events - The configuration of events to track along with their optional value and state which can be computed.\n * @param {String} rootEventName - The event name to use if specified (prefix).\n */\n addListeners(scope, areaName, events, rootEventName = \"\") {\n let scopeArray;\n if (typeof scope === \"string\") {\n scopeArray = Array.from(document.querySelectorAll(scope));\n } else if (typeof scope === \"object\") {\n scopeArray = [scope];\n }\n if (!scopeArray) {\n return;\n }\n scopeArray.forEach(($scope) => {\n events.forEach((eventConfig) => {\n if (!eventConfig.on) {\n return;\n }\n if (eventConfig.targetElement) {\n Array.from(\n $scope.querySelectorAll(eventConfig.targetElement),\n ).forEach(($el, index) =>\n this.attachListener(\n $el,\n $scope,\n rootEventName,\n eventConfig,\n scope,\n areaName,\n index + 1,\n ),\n );\n } else {\n this.attachListener(\n $scope,\n $scope,\n rootEventName,\n eventConfig,\n scope,\n areaName,\n 1,\n );\n }\n });\n });\n }\n\n /** @protected */\n generateEventName(areaName, eventConfig) {\n return `${this.prefix}.${areaName}.${eventConfig.eventName || eventConfig.on}`;\n }\n\n /** @protected */\n attachListener(\n $el,\n $scope,\n rootEventName,\n eventConfig,\n scope,\n areaName,\n index,\n ) {\n const { on, data, targetElement, rootData = {} } = eventConfig;\n $el.addEventListener(on, (event) =>\n this.recordEvent(\n rootEventName\n ? `${this.prefix}.${rootEventName}`\n : this.generateEventName(areaName, eventConfig),\n {\n ...data,\n name: this.generateEventName(areaName, eventConfig),\n value: data?.value\n ? this.computedValue(data.value, $el, $scope, event, index)\n : null,\n state: data?.state\n ? this.computedValue(data.state, $el, $scope, event, index)\n : null,\n group: data?.group\n ? this.computedValue(data.group, $el, $scope, event, index)\n : null,\n xPath: getXPathTo($el),\n targetElement: targetElement,\n timeSincePageLoad: new Date() - this.startTime,\n index,\n scope,\n areaName,\n },\n Object.fromEntries(\n Object.entries(rootData).map(([key, value]) => [\n key,\n this.computedValue(value, $el, $scope, event, index),\n ]),\n ),\n ),\n );\n }\n\n /** @protected */\n computedValue(value, $el, $scope, event, index) {\n return typeof value === \"function\"\n ? value.call(this, $el, $scope, event, index)\n : (value ?? null);\n }\n\n /** @protected */\n recordEvent(eventName, data, rootData = {}) {\n this.events.push({\n event: eventName,\n [`${this.prefix}.event`]: data,\n ...rootData,\n });\n }\n\n /** @protected */\n getTnaMetaTags() {\n return Object.fromEntries(\n Array.from(\n document.head.querySelectorAll(\n `meta[name^='${this.prefix}.'][content]`,\n ),\n ).map(($metaEl) => [\n $metaEl.getAttribute(\"name\"),\n $metaEl.getAttribute(\"content\"),\n ]),\n );\n }\n}\n\n/**\n * Class to handle Google Analytics 4 reporting.\n * @class GA4\n * @extends EventTracker\n * @constructor\n * @public\n */\nclass GA4 extends EventTracker {\n /** @protected */\n trackingCodeAdded = false;\n\n /** @protected */\n trackingEnabled = false;\n\n /** @protected */\n gTagId;\n\n constructor(options = {}) {\n if (window.TNAFrontendAnalyticsGA4) {\n return window.TNAFrontendAnalyticsGA4;\n }\n const {\n id = \"\",\n prefix = null,\n initAll = true,\n addTrackingCode = true,\n } = options;\n super({ prefix, addTrackingCode });\n window.TNAFrontendAnalyticsGA4 = this;\n window.dataLayer = window.dataLayer || [];\n if (id) {\n this.gTagId = id;\n this.ga4Disable = `ga-disable-${this.gTagId}`;\n if (!this.cookies.isPolicyAccepted(\"usage\")) {\n window[this.ga4Disable] = true;\n this.cookies.set(this.ga4Disable, \"true\");\n }\n }\n this.start(initAll);\n }\n\n destroy() {\n window.TNAFrontendAnalyticsGA4 = null;\n }\n\n /** @protected */\n recordEvent(eventName, data, rootData = {}) {\n const ga4Data = {\n event: eventName,\n ...Object.fromEntries(\n Object.entries(data).map(([key, value]) => [\n `${this.prefix}.event.${key}`,\n value,\n ]),\n ),\n ...rootData,\n };\n this.pushToDataLayer(ga4Data);\n }\n\n /** @protected */\n gtag() {\n this.pushToDataLayer(arguments);\n }\n\n /** @protected */\n pushToDataLayer(data) {\n window.dataLayer.push(data);\n }\n\n /** @protected */\n enableTracking() {\n if (!this.trackingEnabled) {\n window[this.ga4Disable] = false;\n this.cookies.set(this.ga4Disable, \"false\");\n if (!this.trackingCodeAdded && this.addTrackingCode) {\n if (!this.gTagId) {\n throw Error(\"ID was not specified\");\n }\n const tnaMetaTags = this.getTnaMetaTags();\n this.pushToDataLayer({\n ...tnaMetaTags,\n \"gtm.start\": new Date().getTime(),\n event: \"gtm.js\",\n });\n const firstScript = document.getElementsByTagName(\"script\")[0];\n const script = document.createElement(\"script\");\n script.async = true;\n script.src = `https://www.googletagmanager.com/gtm.js?id=${this.gTagId}&l=dataLayer`;\n if (firstScript) {\n firstScript.parentNode.insertBefore(script, firstScript);\n } else {\n document.head.appendChild(script);\n }\n this.trackingCodeAdded = true;\n }\n this.trackingEnabled = true;\n }\n }\n\n /** @protected */\n disableTracking() {\n if (this.trackingEnabled) {\n window[this.ga4Disable] = true;\n this.cookies.set(this.ga4Disable, \"true\");\n Object.keys(this.cookies.all).forEach((key) => {\n if (key.startsWith(\"_ga\")) {\n this.cookies.delete(key);\n }\n });\n this.trackingEnabled = false;\n // window.location.reload();\n }\n }\n}\n\nconst ga4Id = document.documentElement.getAttribute(\"data-ga4\");\nif (ga4Id) {\n new GA4({ id: ga4Id });\n}\n\nconst helpers = { getXPathTo, getClosestHeading, valueGetters };\n\nexport { EventTracker, GA4, helpers };\n","export default [\n {\n scope: \".tna-hero\",\n areaName: \"hero\",\n events: [\n {\n eventName: \"toggle_caption\",\n targetElement: \".tna-hero__details-summary\",\n on: \"click\",\n data: {\n // eslint-disable-next-line no-unused-vars\n state: ($el, $scope, event) => {\n const wasExpanded =\n $scope\n .querySelector(\".tna-hero__details\")\n ?.hasAttribute(\"open\") ?? false;\n return wasExpanded ? \"closed\" : \"opened\";\n },\n // eslint-disable-next-line no-unused-vars\n value: ($el, $scope, event) =>\n $scope.querySelector(\"img[alt]\")?.getAttribute(\"alt\"),\n },\n },\n ],\n },\n];\n","export class Accordion {\n polyfillRequired = null;\n\n constructor($module) {\n this.$module = $module;\n this.$items = $module && $module.querySelectorAll(\".tna-accordion__item\");\n if (!this.$module || !this.$items) {\n return;\n }\n\n this.allowMultipleItemsOpen =\n this.$module.dataset[\"multiselectable\"] === \"true\";\n\n this.$items.forEach(($item) => this.initItem($item));\n this.initState();\n }\n\n initItem($item) {\n const $heading = $item.querySelector(\".tna-accordion__heading\");\n const $content = $item.querySelector(\".tna-accordion__body\");\n\n if (!$heading || !$content) {\n return;\n }\n\n $item.classList.add(\"tna-accordion__details\");\n $item.classList.remove(\"tna-accordion__item\");\n\n $heading.removeAttribute(\"class\");\n\n $content.classList.add(\"tna-accordion__content\");\n $content.classList.remove(\"tna-accordion__body\");\n $content.setAttribute(\"hidden\", \"until-found\");\n\n const $headingButton = document.createElement(\"button\");\n $headingButton.classList.add(\"tna-accordion__summary\");\n $headingButton.setAttribute(\"aria-controls\", $content.id);\n $heading.parentNode.insertBefore($headingButton, $heading.nextSibling);\n $headingButton.appendChild($heading);\n\n $headingButton.addEventListener(\"click\", () => {\n const isOpen = $headingButton.getAttribute(\"aria-expanded\") === \"true\";\n if (isOpen) {\n this.closeItem($item);\n } else {\n this.openItem($item);\n }\n });\n }\n\n initState() {\n this.$items.forEach(($item) => {\n if ($item.dataset[\"isopen\"] === \"true\") {\n this.openItem($item);\n } else {\n this.closeItem($item);\n }\n $item.removeAttribute(\"data-isopen\");\n });\n }\n\n openItem($item) {\n if (!this.allowMultipleItemsOpen) {\n this.closeAllItemsExcept($item);\n }\n const $headingButton = $item.querySelector(\".tna-accordion__summary\");\n const $content = $item.querySelector(\".tna-accordion__content\");\n $headingButton.setAttribute(\"aria-expanded\", \"true\");\n $headingButton.setAttribute(\n \"aria-label\",\n `${$headingButton.innerText}, Hide this section`,\n );\n $content.removeAttribute(\"hidden\");\n // $content.setAttribute(\"tabindex\", \"0\");\n }\n\n closeItem($item) {\n const $headingButton = $item.querySelector(\".tna-accordion__summary\");\n const $content = $item.querySelector(\".tna-accordion__content\");\n $headingButton.setAttribute(\"aria-expanded\", \"false\");\n $headingButton.setAttribute(\n \"aria-label\",\n `${$headingButton.innerText}, Show this section`,\n );\n $content.setAttribute(\"hidden\", \"until-found\");\n // $content.setAttribute(\"tabindex\", \"-1\");\n }\n\n closeAllItemsExcept($excludeItem) {\n Array.from(this.$items)\n .filter(\n ($item) =>\n $item.querySelector(\".tna-accordion__summary\") !== $excludeItem &&\n $item\n .querySelector(\".tna-accordion__summary\")\n .getAttribute(\"aria-expanded\") === \"true\",\n )\n .forEach(($item) => this.closeItem($item));\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Breadcrumbs {\n constructor($module) {\n this.$module = $module;\n this.$breadcrumbsList =\n $module && $module.querySelector(\".tna-breadcrumbs__list\");\n this.$breadcrumbs =\n $module &&\n this.$breadcrumbsList &&\n $module.querySelectorAll(\".tna-breadcrumbs__item\");\n\n if (!this.$module || !this.$breadcrumbsList || !this.$breadcrumbs) {\n return;\n }\n\n if (\n this.$breadcrumbs.length > 2 &&\n !this.$module.classList.contains(\"tna-breadcrumbs--no-collapse\")\n ) {\n const uniqueId = `tna-breadcrumbs-${uuidv4()}`;\n\n const $expandable = document.createElement(\"li\");\n $expandable.classList.add(\n \"tna-breadcrumbs__item\",\n \"tna-breadcrumbs__item--expandable\",\n );\n $expandable.style.display = \"none\";\n\n const $expandButton = document.createElement(\"button\");\n $expandButton.classList.add(\"tna-breadcrumbs__link\");\n $expandButton.innerHTML =\n \"<span class='tna-!--visually-hidden'>Expand breadcrumbs</span>&hellip;\";\n $expandButton.setAttribute(\"aria-expanded\", \"false\");\n $expandButton.setAttribute(\"aria-controls\", uniqueId);\n $expandButton.addEventListener(\"click\", () => {\n this.$module.classList.remove(\"tna-breadcrumbs--collapsed\");\n $expandable.remove();\n this.$module.setAttribute(\"tabindex\", \"0\");\n this.$module.focus();\n this.$module.setAttribute(\"tabindex\", \"-1\");\n });\n\n $expandable.appendChild($expandButton);\n\n this.$breadcrumbsList.setAttribute(\"id\", uniqueId);\n this.$breadcrumbsList.insertBefore(\n $expandable,\n this.$breadcrumbs[this.$breadcrumbs.length - 2].nextSibling,\n );\n\n this.$module.classList.add(\"tna-breadcrumbs--collapsed\");\n }\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport { Cookies };\n\nexport class CookieBanner {\n constructor($module) {\n this.$module = $module;\n this.$acceptButton = $module && $module.querySelector('[value=\"accept\"]');\n this.$rejectButton = $module && $module.querySelector('[value=\"reject\"]');\n this.$prompt =\n $module && $module.querySelector(\".tna-cookie-banner__message--prompt\");\n this.$acceptedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--accepted\");\n this.$rejectedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--rejected\");\n this.$closeButtons = $module && $module.querySelectorAll('[value=\"close\"]');\n\n if (\n !this.$module ||\n !this.$acceptButton ||\n !this.$rejectButton ||\n !this.$prompt ||\n !this.$acceptedMessage ||\n !this.$rejectedMessage ||\n !this.$closeButtons\n ) {\n return;\n }\n\n const policies = this.$module.getAttribute(\"data-policies\") || \"\";\n const extraPolicies = policies\n .split(\",\")\n .filter((x) => x)\n .map((policy) => policy.trim());\n const domain = this.$module.getAttribute(\"data-domain\") || undefined;\n const path = this.$module.getAttribute(\"data-path\") || undefined;\n const secure = this.$module.getAttribute(\"data-secure\") || undefined;\n const policiesKey =\n this.$module.getAttribute(\"data-policieskey\") || undefined;\n\n this.cookies = new Cookies({\n extraPolicies,\n domain,\n path,\n secure,\n policiesKey,\n newInstance: true,\n });\n\n this.cookiePreferencesSet =\n this.$module.getAttribute(\"data-preferenceskey\") ||\n \"cookie_preferences_set\";\n const cookiePreferencesSet = this.cookies.hasValue(\n this.cookiePreferencesSet,\n \"true\",\n );\n\n if (!cookiePreferencesSet) {\n this.$module.removeAttribute(\"hidden\");\n\n this.$acceptButton.addEventListener(\"click\", () => this.accept());\n this.$rejectButton.addEventListener(\"click\", () => this.reject());\n }\n }\n\n accept() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$acceptedMessage.removeAttribute(\"hidden\");\n this.$acceptedMessage.focus();\n this.$acceptedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.acceptAllPolicies();\n }\n\n reject() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$rejectedMessage.removeAttribute(\"hidden\");\n this.$rejectedMessage.focus();\n this.$rejectedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.rejectAllPolicies();\n }\n\n complete() {\n this.cookies.set(this.cookiePreferencesSet, true);\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", true);\n }\n}\n","export class ErrorSummary {\n constructor($module) {\n this.$module = $module;\n }\n\n init() {\n if (!this.$module) {\n return;\n }\n\n const disableAutoFocus =\n this.$module.getAttribute(\"data-disableautofocus\") === \"true\" || false;\n\n if (!disableAutoFocus) {\n this.setFocus(this.$module);\n }\n }\n\n setFocus($element, options = {}) {\n const isFocusable = $element.getAttribute(\"tabindex\");\n\n if (!isFocusable) {\n $element.setAttribute(\"tabindex\", \"-1\");\n }\n\n /**\n * Handle element focus\n */\n function onFocus() {\n $element.addEventListener(\"blur\", onBlur, { once: true });\n }\n\n /**\n * Handle element blur\n */\n function onBlur() {\n options.onBlur?.call($element);\n\n if (!isFocusable) {\n $element.removeAttribute(\"tabindex\");\n }\n }\n\n // Add listener to reset element on blur, after focus\n $element.addEventListener(\"focus\", onFocus, { once: true });\n\n // Focus element\n options.onBeforeFocus?.call($element);\n $element.focus();\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport class Footer {\n constructor($module) {\n this.$module = $module;\n this.$themeSelector =\n $module && $module.querySelector(\".tna-footer__theme-selector\");\n this.$tnaTemplate = document.querySelector(\".tna-template\");\n\n if (!this.$module || !this.$themeSelector || !this.$tnaTemplate) {\n return;\n }\n\n this.$themeSelectorButtons = this.$themeSelector.querySelectorAll(\n \"button.tna-footer__theme-selector-button[value]\",\n );\n\n Array.from(this.$themeSelectorButtons).forEach(($themeSelectorButton) => {\n $themeSelectorButton.addEventListener(\"click\", (e) => {\n const $button = e.target;\n this.setTheme($button.value);\n this.selectThemeSelectorButton($button);\n });\n });\n\n this.cookies = new Cookies();\n if (this.cookies.isPolicyAccepted(\"settings\")) {\n this.showThemeSelector();\n }\n this.cookies.on(\"changePolicy\", (data) => {\n if (Object.hasOwn(data, \"settings\")) {\n if (data.settings === true) {\n this.showThemeSelector();\n } else {\n this.cookies.delete(\"theme\");\n this.hideThemeSelector();\n }\n }\n });\n }\n\n showThemeSelector() {\n this.$themeSelector.removeAttribute(\"hidden\");\n if (this.cookies.exists(\"theme\")) {\n const $currentThemeButton = Array.from(this.$themeSelectorButtons).find(\n ($button) => $button.value === this.cookies.get(\"theme\"),\n );\n if ($currentThemeButton) {\n this.selectThemeSelectorButton($currentThemeButton);\n }\n }\n }\n\n hideThemeSelector() {\n this.$themeSelector.setAttribute(\"hidden\", true);\n }\n\n setTheme(theme) {\n if (theme === \"light\") {\n this.$tnaTemplate.classList.remove(\n \"tna-template--system-theme\",\n \"tna-template--dark-theme\",\n );\n } else if (theme === \"dark\") {\n this.$tnaTemplate.classList.remove(\"tna-template--system-theme\");\n this.$tnaTemplate.classList.add(`tna-template--dark-theme`);\n } else if (theme === \"system\") {\n this.$tnaTemplate.classList.remove(\"tna-template--dark-theme\");\n this.$tnaTemplate.classList.add(`tna-template--system-theme`);\n } else {\n return;\n }\n this.cookies.set(\"theme\", theme);\n }\n\n selectThemeSelectorButton($selectedButton) {\n Array.from(this.$themeSelectorButtons).forEach(($button) => {\n if ($button.value === $selectedButton.value) {\n $button.classList.remove(\"tna-button--plain\");\n $button.setAttribute(\"aria-current\", true);\n } else {\n $button.classList.add(\"tna-button--plain\");\n $button.removeAttribute(\"aria-current\");\n }\n });\n }\n}\n","export class Gallery {\n constructor($module) {\n this.$module = $module;\n this.$itemsContainer =\n $module && $module.querySelector(\".tna-gallery__items\");\n this.$items =\n this.$itemsContainer &&\n this.$itemsContainer.querySelectorAll(\".tna-gallery__item\");\n this.$navigation =\n $module && $module.querySelector(\".tna-gallery__navigation\");\n this.$navigationItems =\n this.$navigation &&\n $module.querySelectorAll(\".tna-gallery__navigation-item\");\n this.$options = $module && $module.querySelector(\".tna-gallery__options\");\n this.$navigationButtons =\n $module && $module.querySelector(\".tna-gallery__navigation-buttons\");\n\n if (\n !this.$module ||\n !this.$itemsContainer ||\n !this.$items ||\n !this.$navigation ||\n !this.$navigationItems ||\n !this.$options ||\n !this.$navigationButtons\n ) {\n return;\n }\n\n this.$module.classList.add(\"tna-gallery--interactive\");\n\n this.$showIndex = this.$options.querySelector('button[value=\"show-index\"]');\n this.$enterFullscreen = this.$options.querySelector(\n 'button[value=\"enter-fullscreen\"]',\n );\n this.$exitFullscreen = this.$options.querySelector(\n 'button[value=\"exit-fullscreen\"]',\n );\n\n this.$navigationButtonPrev = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-prev\",\n );\n this.$navigationButtonNext = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-next\",\n );\n\n this.$module.addEventListener(\"fullscreenchange\", () =>\n this.syncFullScreen(),\n );\n\n this.setup();\n this.allowGridIndex = this.$module.dataset[\"showgrid\"] || false;\n if (this.allowGridIndex) {\n this.showIndex();\n } else {\n this.currentId = this.$items[0].id;\n this.showItem(this.currentId);\n }\n }\n\n setup() {\n this.$items.forEach(($item) => {\n $item.setAttribute(\"hidden\", \"until-found\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n });\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigationItems.forEach(($item) => {\n $item.addEventListener(\"click\", () => {\n this.showItem($item.getAttribute(\"aria-controls\"), true);\n this.$itemsContainer.focus();\n });\n });\n this.$module.addEventListener(\"keydown\", (e) => {\n let preventDefaultKeyAction = false;\n switch (e.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.showPreviousItem();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.showNextItem();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.showFirstItem();\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.showLastItem();\n preventDefaultKeyAction = true;\n break;\n }\n if (preventDefaultKeyAction) {\n e.stopPropagation();\n e.preventDefault();\n }\n });\n this.$options.removeAttribute(\"hidden\");\n if (\n document.fullscreenEnabled &&\n this.$enterFullscreen &&\n this.$exitFullscreen\n ) {\n this.$enterFullscreen?.addEventListener(\"click\", () =>\n this.enterFullScreen(),\n );\n this.$exitFullscreen?.addEventListener(\"click\", () =>\n this.exitFullScreen(),\n );\n this.$enterFullscreen?.removeAttribute(\"hidden\");\n }\n this.$showIndex?.addEventListener(\"click\", () => this.showIndex());\n this.$navigationButtons?.removeAttribute(\"hidden\");\n this.$navigationButtonPrev?.addEventListener(\"click\", () => {\n this.showPreviousItem();\n });\n this.$navigationButtonNext?.addEventListener(\"click\", () => {\n this.showNextItem();\n });\n\n this.$liveRegion = document.createElement(\"div\");\n this.$liveRegion.setAttribute(\"aria-live\", \"polite\");\n this.$liveRegion.setAttribute(\"aria-atomic\", \"true\");\n this.$liveRegion.setAttribute(\"class\", \"tna-gallery__item-header\");\n this.$itemsContainer.prepend(this.$liveRegion);\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-item-titles\");\n }\n\n showIndex() {\n this.showItem(\"\");\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-items\");\n this.$showIndex?.setAttribute(\"hidden\", true);\n }\n\n showItem(id, focus = false) {\n this.$items.forEach(($item) => {\n if (id && $item.id === id) {\n $item.removeAttribute(\"hidden\");\n $item.removeAttribute(\"aria-hidden\");\n if (focus) {\n $item.setAttribute(\"tabindex\", \"0\");\n $item.focus();\n }\n } else {\n $item.setAttribute(\"hidden\", \"until-found\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n }\n $item.setAttribute(\"tabindex\", \"-1\");\n });\n this.$navigationItems.forEach(($item /*, index*/) => {\n if (id) {\n if ($item.getAttribute(\"aria-controls\") === id) {\n $item.setAttribute(\"aria-selected\", \"true\");\n // $item.setAttribute(\"tabindex\", \"0\");\n if (this.isFullScreen()) {\n $item.scrollIntoView({ block: \"nearest\" });\n }\n } else {\n $item.setAttribute(\"aria-selected\", \"false\");\n // $item.setAttribute(\"tabindex\", \"-1\");\n }\n } else {\n $item.setAttribute(\"aria-selected\", \"false\");\n // $item.setAttribute(\"tabindex\", index === 0 ? \"0\" : \"-1\");\n }\n });\n if (this.allowGridIndex) {\n this.$showIndex?.removeAttribute(\"hidden\");\n }\n this.$itemsContainer.classList.remove(\"tna-gallery__items--hide-items\");\n this.currentId = id;\n this.$liveRegion.textContent = `Image ${this.getCurrentItemIndex() + 1} of ${this.$items.length}`;\n }\n\n getCurrentItemIndex() {\n return Array.from(this.$items).findIndex(\n ($item) => $item.id === this.currentId,\n );\n }\n\n showPreviousItem() {\n let nextIndexToShow = this.getCurrentItemIndex() - 1;\n if (nextIndexToShow < 0) {\n nextIndexToShow = this.$items.length - 1;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showNextItem() {\n let nextIndexToShow = this.getCurrentItemIndex() + 1;\n if (nextIndexToShow >= this.$items.length) {\n nextIndexToShow = 0;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showFirstItem() {\n this.showItem(this.$items[0].id);\n }\n\n showLastItem() {\n this.showItem(this.$items[this.$items.length - 1].id);\n }\n\n isFullScreen() {\n return document.fullscreenElement;\n }\n\n enterFullScreen() {\n this.$module.requestFullscreen();\n this.syncFullScreen();\n this.$module.focus();\n }\n\n exitFullScreen() {\n document.exitFullscreen();\n this.syncFullScreen();\n }\n\n syncFullScreen() {\n if (this.isFullScreen()) {\n this.$enterFullscreen.setAttribute(\"hidden\", true);\n this.$exitFullscreen.removeAttribute(\"hidden\");\n } else {\n this.$exitFullscreen.setAttribute(\"hidden\", true);\n this.$enterFullscreen.removeAttribute(\"hidden\");\n }\n }\n}\n","export class GlobalHeader {\n constructor($module) {\n this.$module = $module;\n this.$toggleButton =\n $module && $module.querySelector(\".tna-global-header__navigation-button\");\n this.$navigation =\n $module &&\n $module.querySelector(\".tna-global-header__navigation-wrapper\");\n this.$topNavigation =\n $module &&\n $module.querySelector(\".tna-global-header__top-navigation-wrapper\");\n this.$links =\n $module &&\n ((this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\")) ||\n (this.$topNavigation &&\n this.$topNavigation.querySelectorAll(\"[tabindex='0']\")));\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 48em)\");\n\n if (\n !this.$module ||\n !this.$toggleButton ||\n (!this.$navigation && !this.$topNavigation)\n ) {\n return;\n }\n\n this.$toggleButton.removeAttribute(\"hidden\");\n this.syncState();\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n\n this.$module.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\" && this.mql.matches) {\n if (this.menuOpened) {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n }\n });\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.show();\n } else {\n this.hide();\n }\n } else {\n this.show();\n }\n }\n\n hide() {\n if (this.$navigation) {\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n }\n if (this.$topNavigation) {\n this.$topNavigation.hidden = true;\n this.$topNavigation.setAttribute(\"aria-hidden\", \"true\");\n }\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-global-header__navigation-button--opened\",\n );\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n\n show() {\n if (this.$navigation) {\n this.$navigation.hidden = false;\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n }\n if (this.$topNavigation) {\n this.$topNavigation.hidden = false;\n this.$topNavigation.setAttribute(\"aria-hidden\", \"false\");\n }\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\n \"tna-global-header__navigation-button--opened\",\n );\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n}\n","export class Header {\n constructor($module) {\n this.$module = $module;\n this.$toggleButton =\n $module && $module.querySelector(\".tna-header__navigation-button\");\n this.$navigation =\n $module && $module.querySelector(\".tna-header__navigation\");\n this.$links =\n $module &&\n this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\");\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 48em)\");\n\n if (!this.$module || !this.$toggleButton || !this.$navigation) {\n return;\n }\n\n this.$toggleButton.removeAttribute(\"hidden\");\n this.syncState();\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n\n this.$module.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\") {\n if (this.menuOpened && this.mql.matches) {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n }\n });\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.show();\n } else {\n this.hide();\n }\n } else {\n this.show();\n }\n }\n\n show() {\n this.$navigation.classList.add(\"tna-header__navigation--open\");\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\"tna-header__navigation-button--opened\");\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n\n hide() {\n this.$navigation.classList.remove(\"tna-header__navigation--open\");\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-header__navigation-button--opened\",\n );\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Picture {\n constructor($module) {\n this.$module = $module;\n this.$imageWrapper =\n $module && $module.querySelector(\".tna-picture__image-wrapper\");\n\n this.$transcriptToggle =\n this.$imageWrapper &&\n this.$imageWrapper.querySelector(\".tna-picture__toggle-transcript\");\n\n this.$transcript =\n $module && $module.querySelector(\".tna-picture__transcript\");\n this.transcriptOpened = false;\n\n if (\n !this.$module ||\n !this.$imageWrapper ||\n !this.$transcriptToggle ||\n !this.$transcript\n ) {\n return;\n }\n\n this.openLabel =\n this.$module.getAttribute(\"data-informationlabelopen\") ||\n \"Open transcript\";\n this.closeLabel =\n this.$module.getAttribute(\"data-informationlabelclose\") ||\n \"Close transcript\";\n\n this.init();\n }\n\n init() {\n const uniqueId = `tna-picture-${uuidv4()}`;\n\n this.$transcriptToggle.removeAttribute(\"hidden\");\n this.$transcriptToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcriptToggle.addEventListener(\"click\", () =>\n this.toggleTranscript(),\n );\n\n this.$transcript.setAttribute(\"id\", uniqueId);\n this.$transcript.setAttribute(\"hidden\", \"until-found\");\n\n this.$transcript.addEventListener(\"keydown\", (e) => {\n switch (e.key) {\n case \"Escape\":\n this.toggleTranscript();\n this.$transcriptToggle.focus();\n break;\n }\n });\n }\n\n toggleTranscript() {\n this.transcriptOpened = !this.transcriptOpened;\n if (this.transcriptOpened) {\n this.$transcriptToggle.setAttribute(\"aria-expanded\", true);\n this.$transcriptToggle.innerText = this.closeLabel;\n this.$transcript.removeAttribute(\"hidden\");\n } else {\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcript.setAttribute(\"hidden\", \"until-found\");\n }\n }\n}\n","export class SkipLink {\n linkedElementListener = false;\n\n constructor($module) {\n this.$module = $module;\n this.linkedElementId = $module.getAttribute(\"href\").split(\"#\").pop();\n this.$linkedElement =\n $module &&\n this.linkedElementId &&\n document.getElementById(this.linkedElementId);\n\n if (!this.$module || !this.$linkedElement) {\n return;\n }\n this.$module.addEventListener(\"click\", () => this.focusLinkedElement());\n }\n\n focusLinkedElement() {\n if (!this.$linkedElement.getAttribute(\"tabindex\")) {\n this.$linkedElement.setAttribute(\"tabindex\", \"-1\");\n this.$linkedElement.classList.add(\"tna-!--no-focus-style\");\n\n if (!this.linkedElementListener) {\n this.$linkedElement.addEventListener(\"blur\", () =>\n this.removeFocusProperties(),\n );\n this.linkedElementListener = true;\n }\n }\n\n this.$linkedElement.focus();\n }\n\n removeFocusProperties() {\n this.$linkedElement.removeAttribute(\"tabindex\");\n this.$linkedElement.classList.remove(\"tna-!--no-focus-style\");\n }\n}\n","export class Tabs {\n constructor($module) {\n this.$module = $module;\n this.$tabList = $module && $module.querySelector(\".tna-tabs__list\");\n this.$tabListItemLinks =\n $module &&\n this.$tabList &&\n this.$tabList.querySelectorAll(\".tna-tabs__button\");\n this.$tabItems = $module && $module.querySelectorAll(\".tna-tabs__item\");\n\n if (\n !this.$module ||\n !this.$tabList ||\n !this.$tabListItemLinks ||\n !this.$tabItems ||\n this.$tabListItemLinks.length !== this.$tabItems.length\n ) {\n return;\n }\n\n this.currentTabIndex = 0;\n this.init();\n }\n\n init() {\n this.$module.classList.add(\"tna-tabs--interactive\");\n this.$tabList.removeAttribute(\"hidden\");\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n const tabPanelID = $tabListItemLink.getAttribute(\"aria-controls\");\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n const $tabPanel = document.getElementById(tabPanelID);\n $tabPanel.setAttribute(\"aria-labelledby\", $tabListItemLink.id);\n $tabPanel.setAttribute(\"role\", \"tabpanel\");\n $tabListItemLink.addEventListener(\n \"click\",\n (e) => this.handleItemLinkClick(e),\n true,\n );\n });\n this.switchTabByIndex(this.currentTabIndex);\n this.$module.addEventListener(\"keydown\", (e) =>\n this.handleItemLinkKeyDown(e),\n );\n }\n\n handleItemLinkClick(itemLinkClickEvent) {\n itemLinkClickEvent.preventDefault();\n const targetItem =\n itemLinkClickEvent.currentTarget.getAttribute(\"aria-controls\");\n this.switchTabByID(targetItem);\n }\n\n handleItemLinkKeyDown(itemLinkKeyDownEvent) {\n let preventDefaultKeyAction = false;\n switch (itemLinkKeyDownEvent.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.previousTab();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.nextTab();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.switchTabByIndex(0, true);\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.switchTabByIndex(this.$tabListItemLinks.length - 1, true);\n preventDefaultKeyAction = true;\n break;\n default:\n break;\n }\n if (preventDefaultKeyAction) {\n itemLinkKeyDownEvent.stopPropagation();\n itemLinkKeyDownEvent.preventDefault();\n }\n }\n\n nextTab() {\n if (this.currentTabIndex < this.$tabListItemLinks.length - 1) {\n this.switchTabByIndex(this.currentTabIndex + 1, true);\n } else {\n this.switchTabByIndex(0, true);\n }\n }\n\n previousTab() {\n if (this.currentTabIndex >= 1) {\n this.switchTabByIndex(this.currentTabIndex - 1, true);\n } else {\n this.switchTabByIndex(this.$tabListItemLinks.length - 1, true);\n }\n }\n\n switchTabByIndex(newIndex, switchFocus = false) {\n this.currentTabIndex = newIndex;\n this.$tabListItemLinks.forEach(($tabListItemLink, index) => {\n if (index === this.currentTabIndex) {\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n if (switchFocus) {\n $tabListItemLink.focus();\n }\n } else {\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n $tabListItemLink.setAttribute(\"tabindex\", \"-1\");\n }\n });\n this.$tabItems.forEach(($tabItem, index) => {\n if (index === this.currentTabIndex) {\n $tabItem.removeAttribute(\"hidden\");\n $tabItem.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabItem.setAttribute(\"hidden\", \"until-found\");\n $tabItem.setAttribute(\"tabindex\", \"-1\");\n }\n });\n }\n\n switchTabByID(targetId) {\n const index = Array.from(this.$tabItems).findIndex(\n ($tabItem) => $tabItem.getAttribute(\"id\") === targetId,\n );\n this.switchTabByIndex(index);\n }\n}\n","window.TNAFrontendCookies = window.TNAFrontendCookies || null;\nwindow.TNAFrontendCookieEvents = window.TNAFrontendCookieEvents || null;\n\nexport class CookieEventHandler {\n events = {};\n oneTimeEvents = {};\n\n constructor() {\n if (window.TNAFrontendCookieEvents) {\n return window.TNAFrontendCookieEvents;\n }\n window.TNAFrontendCookieEvents = this;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n if (!Object.hasOwn(this.events, event)) {\n this.events[event] = [];\n }\n this.events[event] = [...this.events[event], callback];\n }\n\n once(event, callback) {\n if (!Object.hasOwn(this.oneTimeEvents, event)) {\n this.oneTimeEvents[event] = [];\n }\n this.oneTimeEvents[event] = [...this.oneTimeEvents[event], callback];\n }\n\n /** @protected */\n trigger(event, data = {}) {\n if (Object.hasOwn(this.events, event)) {\n this.events[event].forEach((eventToTrigger) =>\n eventToTrigger.call(this, data),\n );\n }\n if (Object.hasOwn(this.oneTimeEvents, event)) {\n for (let i = this.oneTimeEvents[event].length - 1; i >= 0; i--) {\n const eventToTrigger = this.oneTimeEvents[event][i];\n eventToTrigger.call(this, data);\n this.oneTimeEvents[event].splice(i, 1);\n }\n }\n }\n}\n\n/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n extraPolicies = [];\n /** @protected */\n domain = \"\";\n /** @protected */\n path = \"\";\n /** @protected */\n secure = true;\n /** @protected */\n policiesKey = \"\";\n /** @protected */\n events = null;\n /** @protected */\n defaultAge = null;\n\n /**\n * Create a cookie handler.\n * @param {String} [options.extraPolicies=[]] - The extra cookie policies to manage in addition to essential, settings and usage.\n * @param {String} [options.domain=\"\"] - The domain to register the cookie with.\n * @param {String} [options.path=\"\"] - The domain to register the cookie with.\n * @param {String} [options.secure=true] - Only set cookie in HTTPS environments.\n * @param {String} [options.policiesKey=\"cookies_policy\"] - The name of the cookie.\n * @param {String} [options.newInstance=false] - Create a fresh instance of the cookie class.\n * @param {String} [options.defaultAge=31536000] - The default age of non-session cookies.\n */\n constructor(options = {}) {\n const {\n extraPolicies = [],\n domain = \"\",\n path = \"/\",\n secure = true,\n policiesKey = \"cookies_policy\",\n newInstance = false,\n defaultAge = 31536000, // 365 days\n } = options;\n if (newInstance) {\n this.destroyInstance();\n } else if (window.TNAFrontendCookies) {\n return window.TNAFrontendCookies;\n }\n this.extraPolicies = extraPolicies;\n this.domain = domain;\n this.path = path;\n this.secure = secure;\n this.policiesKey = policiesKey;\n this.defaultAge = defaultAge;\n this.events = new CookieEventHandler();\n this.init();\n window.TNAFrontendCookies = this;\n }\n\n /** @protected */\n init() {\n this.savePolicies({\n ...Object.fromEntries(\n this.extraPolicies.map((k) => [k.toLowerCase(), false]),\n ),\n usage: false,\n settings: false,\n ...this.policies,\n essential: true,\n });\n }\n\n destroyInstance() {\n window.TNAFrontendCookies = null;\n }\n\n /** @protected */\n get all() {\n const deserialised = {};\n document.cookie\n .split(\"; \")\n .filter((x) => x)\n .forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n if (parts[0]) {\n deserialised[parts[0]] = parts[1];\n }\n });\n return deserialised;\n }\n\n /** @protected */\n get policies() {\n try {\n return JSON.parse(this.get(this.policiesKey) || \"{}\");\n } catch (e) {\n return {};\n }\n }\n\n /**\n * Check to see whether a cookie exists or not.\n * @param {String} key - The cookie name.\n * @returns {Boolean}\n */\n exists(key) {\n return Object.hasOwn(this.all, key);\n }\n\n /**\n * Check to see whether a cookie has a particular value.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The value to check against.\n * @returns\n */\n hasValue(key, value) {\n return this.get(key) == value;\n }\n\n /**\n * Get a cookie.\n * @param {String} key - The cookie name.\n * @returns {String|Number|Boolean}\n */\n get(key) {\n return this.exists(key) ? decodeURIComponent(this.all[key]) : null;\n }\n\n /**\n * Set a cookie.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The cookie value.\n * @param {Object} options\n * @param {Number} [options.maxAge=this.defaultAge] - The maximum age of the cookie in seconds.\n * @param {String} [options.path=/] - The path to register the cookie for.\n * @param {String} [options.sameSite=Lax] - The sameSite attribute.\n * @param {String} [options.domain=this.domain] - The domain to register the cookie with.\n * @param {String} [options.path=this.path] - The path to register the cookie with.\n * @param {String} [options.secure=this.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.session=false] - Set a session cookie.\n */\n set(key, value, options = {}) {\n const {\n maxAge = this.defaultAge,\n sameSite = \"Lax\",\n domain = this.domain,\n path = this.path,\n secure = this.secure,\n session = false,\n } = options;\n if (!key) {\n return;\n }\n const cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)};${\n domain ? ` domain=${domain}; ` : \"\"\n } samesite=${sameSite}; path=${path}${!session ? `; max-age=${maxAge}` : \"\"}${\n secure ? \"; secure\" : \"\"\n }`;\n document.cookie = cookie;\n this.events.trigger(\"setCookie\", {\n key,\n value,\n maxAge,\n path,\n sameSite,\n domain,\n secure,\n session,\n cookie,\n });\n }\n\n /**\n * Delete a cookie.\n * @param {String} key - The cookie name.\n * @param {String} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\", domain = null) {\n const options = { maxAge: -1, path, domain: domain || undefined };\n this.set(key, \"\", options);\n this.events.trigger(\"deleteCookie\", { key, ...options });\n }\n\n /**\n * Delete all cookies.\n */\n deleteAll(path = \"/\", domain = null) {\n Object.keys(this.all).forEach((cookie) => {\n this.delete(cookie, path, domain);\n });\n this.events.trigger(\"deleteAllCookies\", { path, domain });\n }\n\n /**\n * Accept a policy.\n * @param {String} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n this.events.trigger(\"acceptPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: true });\n }\n\n /**\n * Reject a policy.\n * @param {String} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n this.events.trigger(\"rejectPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: false });\n }\n\n /**\n * Set a policy.\n * @param {String} policy - The name of the policy.\n * @param {Boolean} accepted - Whether the policy is accepted or not.\n */\n setPolicy(policy, accepted) {\n if (policy === \"essential\") {\n return;\n }\n this.savePolicies({\n ...this.policies,\n [policy]: accepted,\n essential: true,\n });\n this.events.trigger(\"changePolicy\", { [policy]: accepted });\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n const allPolicies = Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), true]),\n );\n this.savePolicies(allPolicies);\n this.events.trigger(\"acceptAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n const allPolicies = {\n ...Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), false]),\n ),\n essential: true,\n };\n this.savePolicies(allPolicies);\n this.events.trigger(\"rejectAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Commit policy preferences to the browser.\n * @param {object} policies - The policies to commit.\n */\n savePolicies(policies) {\n this.set(this.policiesKey, JSON.stringify(policies), {\n maxAge: 60 * 60 * 24 * 365,\n });\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {String} policy - The name of the policy.\n * @returns {Boolean}\n */\n isPolicyAccepted(policy) {\n return Object.hasOwn(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n this.events.on(event, callback);\n }\n\n /**\n * Add a one-time event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n once(event, callback) {\n this.events.once(event, callback);\n }\n}\n","const uuidv4 = () =>\n ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n (\n c ^\n (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))\n ).toString(16),\n );\n\nexport default uuidv4;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["root","factory","exports","module","define","amd","self","initAll","options","$scope","scope","HTMLElement","document","$body","documentElement","classList","add","onFirstTouch","window","removeEventListener","addEventListener","e","key","remove","querySelectorAll","forEach","$accordion","Accordion","$breadcrumbs","querySelector","Breadcrumbs","$cookieBanner","CookieBanner","$errorSummary","ErrorSummary","init","$footer","Footer","$gallery","Gallery","$globalHeader","GlobalHeader","$header","Header","$picture","Picture","$skipLink","SkipLink","$tabModule","Tabs","checkTableForScroll","$tableWrapper","scrollable","scrollWidth","clientWidth","$tableCaption","setAttribute","removeAttribute","$tableWrappers","matchMedia","evt","matches","dataset","wasclosed","getXPathTo","$element","id","body","tagName","ix","siblings","parentNode","childNodes","i","length","sibling","nodeType","includesAny","arr","values","some","v","includes","getClosestHeading","heading","$search","previousElementSibling","Array","from","innerText","parentElement","valueGetters","text","$el","html","innerHTML","value","index","event","checked","expanded","getAttribute","toString","closestHeading","areaName","events","eventName","targetElement","on","data","state","group","_$scope$closest","closest","_$scope$querySelector","_$scope$querySelector2","hasAttribute","rootEventName","rootData","data_component_name","data_link_type","data_section","data_link","data_position","image","imageSrc","imageAlt","concat","componentAnalytics","_toConsumableArray","BreadcrumbAnalytics","CheckboxesAnalytics","DetailsAnalytics","FooterAnalytics","GalleryAnalytics","GlobalHeaderAnalytics","HeaderAnalytics","_$scope$querySelector3","PictureAnalytics","RadiosAnalytics","SearchFieldAnalytics","TextInputAnalytics","TextareaAnalytics","EventTracker","_createClass","arguments","undefined","_classCallCheck","_defineProperty","Cookies","Date","_options$prefix","prefix","_options$addTrackingC","addTrackingCode","this","_this","navigator","doNotTrack","cookies","isPolicyAccepted","enableTracking","policies","Object","hasOwn","disableTracking","_this2","componentConfig","addListeners","scopeArray","_this3","_typeof","eventConfig","attachListener","_this4","_eventConfig$rootData","recordEvent","generateEventName","_objectSpread","name","computedValue","xPath","timeSincePageLoad","startTime","fromEntries","entries","map","_ref","_ref2","_slicedToArray","call","push","head","$metaEl","GA4","_EventTracker2","_this5","TNAFrontendAnalyticsGA4","_possibleConstructorReturn","_options$id","_options$prefix2","_options$initAll","_options$addTrackingC2","_callSuper","dataLayer","gTagId","ga4Disable","set","start","_inherits","_this6","ga4Data","_ref3","_ref4","pushToDataLayer","trackingEnabled","trackingCodeAdded","Error","tnaMetaTags","getTnaMetaTags","getTime","firstScript","getElementsByTagName","script","createElement","async","src","insertBefore","appendChild","_this7","keys","all","startsWith","ga4Id","helpers","$module","$items","allowMultipleItemsOpen","$item","initItem","initState","$heading","$content","$headingButton","nextSibling","closeItem","openItem","closeAllItemsExcept","$excludeItem","filter","$breadcrumbsList","contains","uniqueId","uuidv4","$expandable","style","display","$expandButton","focus","$acceptButton","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","extraPolicies","split","x","policy","trim","domain","path","secure","policiesKey","newInstance","cookiePreferencesSet","hasValue","accept","reject","complete","acceptAllPolicies","rejectAllPolicies","$closeButton","close","setFocus","_options$onBeforeFocu","isFocusable","onBlur","_options$onBlur","once","onBeforeFocus","$themeSelector","$tnaTemplate","$themeSelectorButtons","$themeSelectorButton","$button","target","setTheme","selectThemeSelectorButton","showThemeSelector","settings","hideThemeSelector","exists","$currentThemeButton","find","get","theme","$selectedButton","$itemsContainer","$navigation","$navigationItems","$options","$navigationButtons","$showIndex","$enterFullscreen","$exitFullscreen","$navigationButtonPrev","$navigationButtonNext","syncFullScreen","setup","allowGridIndex","showIndex","currentId","showItem","_this$$showIndex","_this$$navigationButt","_this$$navigationButt2","_this$$navigationButt3","_this$$enterFullscree","_this$$exitFullscreen","_this$$enterFullscree2","preventDefaultKeyAction","showPreviousItem","showNextItem","showFirstItem","showLastItem","stopPropagation","preventDefault","fullscreenEnabled","enterFullScreen","exitFullScreen","$liveRegion","prepend","_this$$showIndex2","_this$$showIndex3","isFullScreen","scrollIntoView","block","textContent","getCurrentItemIndex","findIndex","nextIndexToShow","fullscreenElement","requestFullscreen","exitFullscreen","$toggleButton","$topNavigation","$links","menuOpened","mql","syncState","handleToggleNavigation","addListener","code","show","hide","hidden","$imageWrapper","$transcriptToggle","$transcript","transcriptOpened","openLabel","closeLabel","toggleTranscript","linkedElementId","pop","$linkedElement","getElementById","focusLinkedElement","linkedElementListener","removeFocusProperties","$tabList","$tabListItemLinks","$tabItems","currentTabIndex","$tabListItemLink","tabPanelID","$tabPanel","handleItemLinkClick","switchTabByIndex","handleItemLinkKeyDown","itemLinkClickEvent","targetItem","currentTarget","switchTabByID","itemLinkKeyDownEvent","previousTab","nextTab","newIndex","switchFocus","$tabItem","targetId","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","callback","oneTimeEvents","eventToTrigger","splice","_options$extraPolicie","_options$domain","_options$path","_options$secure","_options$policiesKey","_options$newInstance","_options$defaultAge","defaultAge","destroyInstance","savePolicies","k","toLowerCase","usage","essential","deserialised","cookie","parts","JSON","parse","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain2","_options$path2","_options$secure2","_options$session","session","encodeURIComponent","trigger","setPolicy","accepted","allPolicies","stringify","replace","c","crypto","getRandomValues","Uint8Array","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","r","Symbol","toStringTag"],"sourceRoot":""}
1
+ {"version":3,"file":"all+analytics.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","webpack://TNAFrontend/./src/nationalarchives/all.mjs","webpack://TNAFrontend/./src/nationalarchives/lib/analytics-helpers.mjs","webpack://TNAFrontend/./src/nationalarchives/components/accordion/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/breadcrumbs/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/checkboxes/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/details/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/footer/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/gallery/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/global-header/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/header/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/picture/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/radios/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/search-field/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/text-input/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/textarea/analytics.js","webpack://TNAFrontend/./src/nationalarchives/analytics.mjs","webpack://TNAFrontend/./src/nationalarchives/components/hero/analytics.js","webpack://TNAFrontend/./src/nationalarchives/components/accordion/accordion.mjs","webpack://TNAFrontend/./src/nationalarchives/components/breadcrumbs/breadcrumbs.mjs","webpack://TNAFrontend/./src/nationalarchives/components/cookie-banner/cookie-banner.mjs","webpack://TNAFrontend/./src/nationalarchives/components/error-summary/error-summary.mjs","webpack://TNAFrontend/./src/nationalarchives/components/footer/footer.mjs","webpack://TNAFrontend/./src/nationalarchives/components/gallery/gallery.mjs","webpack://TNAFrontend/./src/nationalarchives/components/global-header/global-header.mjs","webpack://TNAFrontend/./src/nationalarchives/components/header/header.mjs","webpack://TNAFrontend/./src/nationalarchives/components/picture/picture.mjs","webpack://TNAFrontend/./src/nationalarchives/components/skip-link/skip-link.mjs","webpack://TNAFrontend/./src/nationalarchives/components/tabs/tabs.mjs","webpack://TNAFrontend/./src/nationalarchives/lib/cookies.mjs","webpack://TNAFrontend/./src/nationalarchives/lib/uuid.mjs","webpack://TNAFrontend/webpack/bootstrap","webpack://TNAFrontend/webpack/runtime/define property getters","webpack://TNAFrontend/webpack/runtime/hasOwnProperty shorthand","webpack://TNAFrontend/webpack/runtime/make namespace object"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"TNAFrontend\"] = factory();\n\telse\n\t\troot[\"TNAFrontend\"] = factory();\n})(self, () => {\nreturn ","import { Accordion } from \"./components/accordion/accordion.mjs\";\nimport { Breadcrumbs } from \"./components/breadcrumbs/breadcrumbs.mjs\";\nimport { CookieBanner } from \"./components/cookie-banner/cookie-banner.mjs\";\nimport { ErrorSummary } from \"./components/error-summary/error-summary.mjs\";\nimport { Footer } from \"./components/footer/footer.mjs\";\nimport { Gallery } from \"./components/gallery/gallery.mjs\";\nimport { GlobalHeader } from \"./components/global-header/global-header.mjs\";\nimport { Header } from \"./components/header/header.mjs\";\nimport { Picture } from \"./components/picture/picture.mjs\";\nimport { SkipLink } from \"./components/skip-link/skip-link.mjs\";\nimport { Tabs } from \"./components/tabs/tabs.mjs\";\nimport Cookies from \"./lib/cookies.mjs\";\n\nconst initAll = (options) => {\n options = typeof options !== \"undefined\" ? options : {};\n const $scope =\n options.scope instanceof HTMLElement ? options.scope : document;\n\n const $body = document.documentElement;\n $body.classList.add(\"tna-template--js-enabled\");\n\n const onFirstTouch = () => {\n window.removeEventListener(\"touchstart\", onFirstTouch);\n $body.classList.add(\"tna-template--touched\");\n };\n\n const onKeyDown = (e) => {\n if (e.key === \"Tab\") {\n $body.classList.add(\"tna-template--tabbed\");\n $body.classList.remove(\"tna-template--clicked\");\n }\n };\n\n const onMouseDown = () => {\n $body.classList.add(\"tna-template--clicked\");\n $body.classList.remove(\"tna-template--tabbed\");\n };\n\n window.addEventListener(\"touchstart\", onFirstTouch);\n window.addEventListener(\"keydown\", onKeyDown);\n window.addEventListener(\"mousedown\", onMouseDown);\n\n const $accordions = $scope.querySelectorAll('[data-module=\"tna-accordion\"]');\n $accordions.forEach(($accordion) => {\n new Accordion($accordion);\n });\n\n const $breadcrumbs = $scope.querySelector('[data-module=\"tna-breadcrumbs\"]');\n if ($breadcrumbs) {\n new Breadcrumbs($breadcrumbs);\n }\n\n const $cookieBanner = $scope.querySelector(\n '[data-module=\"tna-cookie-banner\"]',\n );\n if ($cookieBanner) {\n new CookieBanner($cookieBanner);\n }\n\n const $errorSummary = $scope.querySelector(\n '[data-module=\"tna-error-summary\"]',\n );\n if ($errorSummary) {\n new ErrorSummary($errorSummary).init();\n }\n\n const $footer = $scope.querySelector('[data-module=\"tna-footer\"]');\n if ($footer) {\n new Footer($footer);\n }\n\n const $galleries = $scope.querySelectorAll('[data-module=\"tna-gallery\"]');\n $galleries.forEach(($gallery) => {\n new Gallery($gallery);\n });\n\n const $globalHeader = $scope.querySelector(\n '[data-module=\"tna-global-header\"]',\n );\n if ($globalHeader) {\n new GlobalHeader($globalHeader);\n }\n\n const $header = $scope.querySelector('[data-module=\"tna-header\"]');\n if ($header) {\n new Header($header);\n }\n\n const $pictures = $scope.querySelectorAll('[data-module=\"tna-picture\"]');\n $pictures.forEach(($picture) => {\n new Picture($picture);\n });\n\n const $skipLinks = $scope.querySelectorAll('[data-module=\"tna-skip-link\"]');\n $skipLinks.forEach(($skipLink) => {\n new SkipLink($skipLink);\n });\n\n const $tabs = $scope.querySelectorAll('[data-module=\"tna-tabs\"]');\n $tabs.forEach(($tabModule) => {\n new Tabs($tabModule);\n });\n\n const checkTableForScroll = ($tableWrapper) => {\n const scrollable = $tableWrapper.scrollWidth > $tableWrapper.clientWidth;\n const $tableCaption = $tableWrapper.querySelector(\".tna-table__caption\");\n if (scrollable) {\n $tableWrapper.setAttribute(\"tabindex\", \"0\");\n $tableCaption?.classList.add(\"tna-table__caption--scroll\");\n } else {\n $tableWrapper.removeAttribute(\"tabindex\");\n $tableCaption?.classList.remove(\"tna-table__caption--scroll\");\n }\n };\n\n const $tableWrappers = document.querySelectorAll(\n \".tna-table-wrapper:has(.tna-table__caption)\",\n );\n $tableWrappers.forEach(($tableWrapper) => checkTableForScroll($tableWrapper));\n window.addEventListener(\"resize\", () => {\n $tableWrappers.forEach(($tableWrapper) =>\n checkTableForScroll($tableWrapper),\n );\n });\n\n window.matchMedia(\"print\").addEventListener(\"change\", (evt) => {\n if (evt.matches) {\n document\n .querySelectorAll(\".tna-details__details:not([open])\")\n .forEach((e) => {\n e.setAttribute(\"open\", \"\");\n e.dataset.wasclosed = \"\";\n });\n document\n .querySelectorAll(\n '.tna-accordion__content[hidden=\"until-found\"], .tna-picture__transcript[hidden=\"until-found\"]',\n )\n .forEach((e) => {\n e.removeAttribute(\"hidden\");\n e.dataset.wasclosed = \"\";\n });\n } else {\n document\n .querySelectorAll(\".tna-details__details[data-wasclosed]\")\n .forEach((e) => {\n e.removeAttribute(\"open\");\n delete e.dataset.wasclosed;\n });\n document\n .querySelectorAll(\n \".tna-accordion__content[data-wasclosed], .tna-picture__transcript[data-wasclosed]\",\n )\n .forEach((e) => {\n e.setAttribute(\"hidden\", \"until-closed\");\n e.dataset.wasclosed = \"\";\n });\n }\n });\n};\n\nexport {\n initAll,\n Cookies,\n Accordion,\n Breadcrumbs,\n CookieBanner,\n ErrorSummary,\n Footer,\n Gallery,\n GlobalHeader,\n Header,\n Picture,\n SkipLink,\n Tabs,\n};\n","const getXPathTo = ($element) => {\n if ($element.id !== \"\") {\n return 'id(\"' + $element.id + '\")';\n }\n if ($element === document.body) {\n return $element.tagName;\n }\n let ix = 0;\n const siblings = $element.parentNode.childNodes;\n for (let i = 0; i < siblings.length; i++) {\n const sibling = siblings[i];\n if (sibling === $element)\n return (\n getXPathTo($element.parentNode) +\n \"/\" +\n $element.tagName +\n \"[\" +\n (ix + 1) +\n \"]\"\n );\n if (sibling.nodeType === 1 && sibling.tagName === $element.tagName) ix++;\n }\n};\n\nconst includesAny = (arr, values) => values.some((v) => arr.includes(v));\n\nconst getClosestHeading = ($element) => {\n let heading = \"\";\n let $search = $element;\n do {\n while ($search.previousElementSibling) {\n $search = $search.previousElementSibling;\n if (\n [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"].includes($search.tagName) ||\n ($search.classList.length &&\n includesAny(Array.from($search.classList), [\n \"tna-heading-xl\",\n \"tna-heading-l\",\n \"tna-heading-m\",\n \"tna-heading-s\",\n ]))\n ) {\n heading = $search.innerText;\n break;\n }\n }\n $search = $search.parentElement;\n } while ($search.parentElement && !heading);\n return heading;\n};\n\nconst valueGetters = {\n text: ($el) => $el.innerText,\n html: ($el) => $el.innerHTML,\n value: ($el) => $el.value,\n index: ($el, $scope, event, index) => index,\n checked: ($el) => ($el.checked ? \"checked\" : \"unchecked\"),\n expanded: ($el) => {\n const expanded = $el.getAttribute(\"aria-expanded\");\n if (expanded === null) {\n return null;\n }\n return expanded.toString() === \"true\" ? \"opened\" : \"closed\";\n },\n closestHeading: ($el) => getClosestHeading($el),\n};\n\nexport { getXPathTo, getClosestHeading, valueGetters };\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-accordion\",\n areaName: \"accordion\",\n events: [\n {\n eventName: \"click\",\n targetElement: \".tna-accordion__summary\",\n on: \"click\",\n data: { state: valueGetters.expanded, value: valueGetters.text },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-breadcrumbs\",\n areaName: \"breadcrumbs\",\n events: [\n {\n eventName: \"click\",\n targetElement:\n \".tna-breadcrumbs__item--expandable button.tna-breadcrumbs__link\",\n on: \"click\",\n data: { state: \"expand\", value: valueGetters.html },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-checkboxes\",\n areaName: \"checkboxes\",\n events: [\n {\n eventName: \"toggle\",\n targetElement: \".tna-checkboxes__item input\",\n on: \"change\",\n data: {\n state: valueGetters.checked,\n // eslint-disable-next-line no-unused-vars\n value: ($el, $scope, event) => $el.parentNode.innerText,\n // eslint-disable-next-line no-unused-vars\n group: ($el, $scope, event) =>\n $scope\n .closest(\".tna-form__group\")\n ?.querySelector(\".tna-form__heading\")?.innerText,\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-details\",\n areaName: \"details\",\n events: [\n {\n eventName: \"click\",\n targetElement: \".tna-details__summary\",\n on: \"click\",\n data: {\n // eslint-disable-next-line no-unused-vars\n state: ($el, $scope, event) => {\n const wasExpanded =\n $scope\n .querySelector(\".tna-details__details\")\n ?.hasAttribute(\"open\") ?? false;\n return wasExpanded ? \"closed\" : \"opened\";\n },\n // eslint-disable-next-line no-unused-vars\n value: valueGetters.text,\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-footer\",\n areaName: \"footer\",\n rootEventName: \"global_navigation\",\n events: [\n {\n eventName: \"link.click\",\n targetElement: \".tna-footer__navigation-block-item-link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Footer\",\n data_link_type: \"Link\",\n data_section: valueGetters.closestHeading,\n data_link: valueGetters.text,\n },\n },\n {\n eventName: \"social_link.click\",\n targetElement: \".tna-footer__social-item-link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Footer\",\n data_link_type: \"Icon\",\n data_section: \"Social media\",\n data_link: ($el) => $el.getAttribute(\"data-name\"),\n },\n },\n {\n eventName: \"legal_link.click\",\n targetElement: \".tna-footer__legal-item-link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Footer\",\n data_link_type: \"Link\",\n data_section: \"Legal information\",\n data_link: valueGetters.text,\n },\n },\n {\n eventName: \"mailing_list.click\",\n targetElement: \".tna-footer__mailing-list a.tna-button\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Footer\",\n data_link_type: \"Button\",\n data_section: \"Mailing list\",\n data_link: valueGetters.text,\n },\n },\n {\n eventName: \"ogl.click\",\n targetElement: \".tna-footer__licence p a.tna-footer__link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Footer\",\n data_link_type: \"Link\",\n data_section: \"OGL\",\n data_link: valueGetters.text,\n },\n },\n {\n eventName: \"govuk.click\",\n targetElement: \".tna-footer__govuk-link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Footer\",\n data_link_type: \"Logo\",\n data_section: \"GOV.UK\",\n data_link: valueGetters.text,\n },\n },\n {\n eventName: \"theme.change\",\n targetElement: \".tna-footer__theme-selector-button\",\n on: \"click\",\n data: {\n value: valueGetters.value,\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-gallery\",\n areaName: \"gallery\",\n events: [\n {\n eventName: \"click\",\n targetElement: \".tna-gallery__navigation-item\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n },\n {\n eventName: \"click\",\n targetElement: \".tna-gallery__navigation-prev\",\n on: \"click\",\n data: {\n value: ($el, $scope) =>\n $scope.querySelector(\n \".tna-gallery__item:not([hidden]) .tna-gallery__item-header\",\n ).innerText,\n },\n },\n {\n eventName: \"click\",\n targetElement: \".tna-gallery__navigation-next\",\n on: \"click\",\n data: {\n value: ($el, $scope) =>\n $scope.querySelector(\n \".tna-gallery__item:not([hidden]) .tna-gallery__item-header\",\n ).innerText,\n },\n },\n {\n eventName: \"keypress\",\n on: \"keydown\",\n data: {\n value: ($el, $scope, event) => event.key,\n },\n },\n {\n eventName: \"enter-fullscreen\",\n targetElement: '.tna-gallery__options button[value=\"enter-fullscreen\"]',\n on: \"click\",\n },\n {\n eventName: \"exit-fullscreen\",\n targetElement: '.tna-gallery__options button[value=\"exit-fullscreen\"]',\n on: \"click\",\n },\n {\n eventName: \"index\",\n targetElement: '.tna-gallery__options button[value=\"show-index\"]',\n on: \"click\",\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-global-header\",\n areaName: \"header\",\n rootEventName: \"global_navigation\",\n events: [\n {\n eventName: \"toggle\",\n targetElement: \".tna-global-header__navigation-button\",\n on: \"click\",\n data: {\n state: valueGetters.expanded,\n },\n rootData: {\n data_component_name: \"Header\",\n data_link_type: \"Mobile menu\",\n data_link: ($el) => {\n const expanded = $el.getAttribute(\"aria-expanded\");\n if (expanded === null) {\n return null;\n }\n return expanded.toString() === \"true\" ? \"Open menu\" : \"Close menu\";\n },\n data_section: \"Burger menu\",\n },\n },\n {\n eventName: \"logo.click\",\n targetElement: \".tna-global-header__logo\",\n on: \"click\",\n rootData: {\n data_component_name: \"Header\",\n data_link_type: \"Logo\",\n data_link: \"The National Archives\",\n data_section: \"Top navigation and logo\",\n },\n },\n {\n eventName: \"primary_link.click\",\n targetElement: \".tna-global-header__navigation-item-link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Header\",\n data_link_type: \"Menu\",\n data_section: valueGetters.text,\n data_position: 1,\n data_link: valueGetters.text,\n },\n },\n {\n eventName: \"secondary_link.click\",\n targetElement: \".tna-global-header__top-navigation-link\",\n on: \"click\",\n data: {\n value: valueGetters.text,\n },\n rootData: {\n data_component_name: \"Header\",\n data_link_type: \"Icon\",\n data_link: valueGetters.text,\n data_section: \"Top navigation and logo\",\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-header\",\n areaName: \"header\",\n events: [\n {\n eventName: \"toggle\",\n targetElement: \".tna-header__navigation-button\",\n on: \"click\",\n data: {\n state: valueGetters.expanded,\n },\n },\n ],\n },\n];\n","import {\n getClosestHeading,\n valueGetters,\n} from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-picture\",\n areaName: \"picture\",\n events: [\n {\n eventName: \"toggle_transcript\",\n targetElement: \".tna-picture__toggle-transcript\",\n on: \"click\",\n data: {\n state: valueGetters.expanded,\n // eslint-disable-next-line no-unused-vars\n value: ($el, $scope, event) => {\n const heading = getClosestHeading($scope);\n const image = $scope.querySelector(\".tna-picture__image\");\n const imageSrc = image.getAttribute(\"src\");\n const imageAlt = image.getAttribute(\"alt\");\n const value = `${imageAlt} (${imageSrc})`;\n return heading ? `${heading} > ${value}` : value;\n },\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-radios\",\n areaName: \"radios\",\n events: [\n {\n eventName: \"toggle\",\n targetElement: \".tna-radios__item input\",\n on: \"change\",\n data: {\n state: valueGetters.checked,\n // eslint-disable-next-line no-unused-vars\n value: ($el, $scope, event) => $el.parentNode.innerText,\n // eslint-disable-next-line no-unused-vars\n group: ($el, $scope, event) =>\n $scope\n .closest(\".tna-form__group\")\n ?.querySelector(\".tna-form__heading\")?.innerText,\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-search-field\",\n areaName: \"search-field\",\n events: [\n {\n eventName: \"blurred\",\n targetElement: \".tna-search-field__input\",\n on: \"blur\",\n data: {\n // eslint-disable-next-line no-unused-vars\n value: valueGetters.value,\n // eslint-disable-next-line no-unused-vars\n group: ($el, $scope, event) =>\n $scope.querySelector(\".tna-form__heading\")?.innerText,\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-text-input\",\n areaName: \"text-input\",\n events: [\n {\n eventName: \"blurred\",\n on: \"blur\",\n data: {\n // eslint-disable-next-line no-unused-vars\n value: valueGetters.value,\n // eslint-disable-next-line no-unused-vars\n group: ($el, $scope, event) =>\n $scope\n .closest(\".tna-form__group\")\n ?.querySelector(\".tna-form__heading\")?.innerText,\n },\n },\n ],\n },\n];\n","import { valueGetters } from \"../../lib/analytics-helpers.mjs\";\n\nexport default [\n {\n scope: \".tna-textarea\",\n areaName: \"textarea\",\n events: [\n {\n eventName: \"blurred\",\n on: \"blur\",\n data: {\n // eslint-disable-next-line no-unused-vars\n value: valueGetters.value,\n // eslint-disable-next-line no-unused-vars\n group: ($el, $scope, event) =>\n $scope\n .closest(\".tna-form__group\")\n ?.querySelector(\".tna-form__heading\")?.innerText,\n },\n },\n ],\n },\n];\n","import Cookies from \"./lib/cookies.mjs\";\nimport {\n getXPathTo,\n getClosestHeading,\n valueGetters,\n} from \"./lib/analytics-helpers.mjs\";\nimport AccordionAnalytics from \"./components/accordion/analytics.js\";\nimport BreadcrumbAnalytics from \"./components/breadcrumbs/analytics.js\";\nimport CheckboxesAnalytics from \"./components/checkboxes/analytics.js\";\nimport DetailsAnalytics from \"./components/details/analytics.js\";\nimport FooterAnalytics from \"./components/footer/analytics.js\";\nimport GalleryAnalytics from \"./components/gallery/analytics.js\";\nimport GlobalHeaderAnalytics from \"./components/global-header/analytics.js\";\nimport HeaderAnalytics from \"./components/header/analytics.js\";\nimport HeroAnalytics from \"./components/hero/analytics.js\";\nimport PictureAnalytics from \"./components/picture/analytics.js\";\nimport RadiosAnalytics from \"./components/radios/analytics.js\";\nimport SearchFieldAnalytics from \"./components/search-field/analytics.js\";\nimport TextInputAnalytics from \"./components/text-input/analytics.js\";\nimport TextareaAnalytics from \"./components/textarea/analytics.js\";\n\nconst componentAnalytics = [\n ...AccordionAnalytics,\n ...BreadcrumbAnalytics,\n ...CheckboxesAnalytics,\n ...DetailsAnalytics,\n ...FooterAnalytics,\n ...GalleryAnalytics,\n ...GlobalHeaderAnalytics,\n ...HeaderAnalytics,\n ...HeroAnalytics,\n ...PictureAnalytics,\n ...RadiosAnalytics,\n ...SearchFieldAnalytics,\n ...TextInputAnalytics,\n ...TextareaAnalytics,\n];\n\nclass EventTracker {\n /** @protected */\n cookies = new Cookies();\n\n /** @protected */\n events = [];\n\n /** @protected */\n startTime = new Date();\n\n /** @protected */\n prefix = \"tna\";\n\n /** @protected */\n addTrackingCode = true;\n\n constructor(options = {}) {\n const { prefix = null, addTrackingCode = true } = options;\n if (prefix) {\n this.prefix = prefix;\n }\n this.addTrackingCode = addTrackingCode;\n }\n\n start(initAll) {\n if (!navigator.doNotTrack || navigator.doNotTrack !== 1) {\n if (this.cookies.isPolicyAccepted(\"usage\")) {\n this.enableTracking();\n }\n this.cookies.on(\"changePolicy\", (policies) => {\n if (Object.hasOwn(policies, \"usage\")) {\n if (policies[\"usage\"]) {\n this.enableTracking();\n } else {\n this.disableTracking();\n }\n }\n });\n if (initAll) {\n this.initAll();\n }\n }\n }\n\n enableTracking() {}\n\n disableTracking() {}\n\n /**\n * Initialise all TNA Frontend component analytics.\n */\n initAll() {\n componentAnalytics.forEach((componentConfig) => {\n this.addListeners(\n componentConfig.scope,\n componentConfig.areaName,\n componentConfig.events,\n componentConfig.rootEventName || \"\",\n );\n });\n }\n\n /**\n * Add an event listener.\n * @param {String|HTMLElement} scope - The element to which the listener is scoped.\n * @param {String} areaName - The name of the component to pass on to the tracker.\n * @param {{eventName: String, targetElement: String|undefined, on: String, data: {value: Function|String|undefined, state: Function|String|undefined, group: Function|String|undefined, [String]: String|Integer}, rootData:{[String]: Function|String}}[]} events - The configuration of events to track along with their optional value and state which can be computed.\n * @param {String} rootEventName - The event name to use if specified (prefix).\n */\n addListeners(scope, areaName, events, rootEventName = \"\") {\n let scopeArray;\n if (typeof scope === \"string\") {\n scopeArray = Array.from(document.querySelectorAll(scope));\n } else if (typeof scope === \"object\") {\n scopeArray = [scope];\n }\n if (!scopeArray) {\n return;\n }\n scopeArray.forEach(($scope) => {\n events.forEach((eventConfig) => {\n if (!eventConfig.on) {\n return;\n }\n if (eventConfig.targetElement) {\n Array.from(\n $scope.querySelectorAll(eventConfig.targetElement),\n ).forEach(($el, index) =>\n this.attachListener(\n $el,\n $scope,\n rootEventName,\n eventConfig,\n scope,\n areaName,\n index + 1,\n ),\n );\n } else {\n this.attachListener(\n $scope,\n $scope,\n rootEventName,\n eventConfig,\n scope,\n areaName,\n 1,\n );\n }\n });\n });\n }\n\n /** @protected */\n generateEventName(areaName, eventConfig) {\n return `${this.prefix}.${areaName}.${eventConfig.eventName || eventConfig.on}`;\n }\n\n /** @protected */\n attachListener(\n $el,\n $scope,\n rootEventName,\n eventConfig,\n scope,\n areaName,\n index,\n ) {\n const { on, data, targetElement, rootData = {} } = eventConfig;\n $el.addEventListener(on, (event) =>\n this.recordEvent(\n rootEventName\n ? `${this.prefix}.${rootEventName}`\n : this.generateEventName(areaName, eventConfig),\n {\n ...data,\n name: this.generateEventName(areaName, eventConfig),\n value: data?.value\n ? this.computedValue(data.value, $el, $scope, event, index)\n : null,\n state: data?.state\n ? this.computedValue(data.state, $el, $scope, event, index)\n : null,\n group: data?.group\n ? this.computedValue(data.group, $el, $scope, event, index)\n : null,\n xPath: getXPathTo($el),\n targetElement: targetElement,\n timeSincePageLoad: new Date() - this.startTime,\n index,\n scope,\n areaName,\n },\n Object.fromEntries(\n Object.entries(rootData).map(([key, value]) => [\n key,\n this.computedValue(value, $el, $scope, event, index),\n ]),\n ),\n ),\n );\n }\n\n /** @protected */\n computedValue(value, $el, $scope, event, index) {\n return typeof value === \"function\"\n ? value.call(this, $el, $scope, event, index)\n : (value ?? null);\n }\n\n /** @protected */\n recordEvent(eventName, data, rootData = {}) {\n this.events.push({\n event: eventName,\n [`${this.prefix}.event`]: data,\n ...rootData,\n });\n }\n\n /** @protected */\n getTnaMetaTags() {\n return Object.fromEntries(\n Array.from(\n document.head.querySelectorAll(\n `meta[name^='${this.prefix}.'][content]`,\n ),\n ).map(($metaEl) => [\n $metaEl.getAttribute(\"name\"),\n $metaEl.getAttribute(\"content\"),\n ]),\n );\n }\n}\n\n/**\n * Class to handle Google Analytics 4 reporting.\n * @class GA4\n * @extends EventTracker\n * @constructor\n * @public\n */\nclass GA4 extends EventTracker {\n /** @protected */\n trackingCodeAdded = false;\n\n /** @protected */\n trackingEnabled = false;\n\n /** @protected */\n gTagId;\n\n constructor(options = {}) {\n if (window.TNAFrontendAnalyticsGA4) {\n return window.TNAFrontendAnalyticsGA4;\n }\n const {\n id = \"\",\n prefix = null,\n initAll = true,\n addTrackingCode = true,\n } = options;\n super({ prefix, addTrackingCode });\n window.TNAFrontendAnalyticsGA4 = this;\n window.dataLayer = window.dataLayer || [];\n if (id) {\n this.gTagId = id;\n this.ga4Disable = `ga-disable-${this.gTagId}`;\n if (!this.cookies.isPolicyAccepted(\"usage\")) {\n window[this.ga4Disable] = true;\n this.cookies.set(this.ga4Disable, \"true\");\n }\n }\n this.start(initAll);\n }\n\n destroy() {\n window.TNAFrontendAnalyticsGA4 = null;\n }\n\n /** @protected */\n recordEvent(eventName, data, rootData = {}) {\n const ga4Data = {\n event: eventName,\n ...Object.fromEntries(\n Object.entries(data).map(([key, value]) => [\n `${this.prefix}.event.${key}`,\n value,\n ]),\n ),\n ...rootData,\n };\n this.pushToDataLayer(ga4Data);\n }\n\n /** @protected */\n gtag() {\n this.pushToDataLayer(arguments);\n }\n\n /** @protected */\n pushToDataLayer(data) {\n window.dataLayer.push(data);\n }\n\n /** @protected */\n enableTracking() {\n if (!this.trackingEnabled) {\n window[this.ga4Disable] = false;\n this.cookies.set(this.ga4Disable, \"false\");\n if (!this.trackingCodeAdded && this.addTrackingCode) {\n if (!this.gTagId) {\n throw Error(\"ID was not specified\");\n }\n const tnaMetaTags = this.getTnaMetaTags();\n this.pushToDataLayer({\n ...tnaMetaTags,\n \"gtm.start\": new Date().getTime(),\n event: \"gtm.js\",\n });\n const firstScript = document.getElementsByTagName(\"script\")[0];\n const script = document.createElement(\"script\");\n script.async = true;\n script.src = `https://www.googletagmanager.com/gtm.js?id=${this.gTagId}&l=dataLayer`;\n if (firstScript) {\n firstScript.parentNode.insertBefore(script, firstScript);\n } else {\n document.head.appendChild(script);\n }\n this.trackingCodeAdded = true;\n }\n this.trackingEnabled = true;\n }\n }\n\n /** @protected */\n disableTracking() {\n if (this.trackingEnabled) {\n window[this.ga4Disable] = true;\n this.cookies.set(this.ga4Disable, \"true\");\n Object.keys(this.cookies.all).forEach((key) => {\n if (key.startsWith(\"_ga\")) {\n this.cookies.delete(key);\n }\n });\n this.trackingEnabled = false;\n // window.location.reload();\n }\n }\n}\n\nconst ga4Id = document.documentElement.getAttribute(\"data-ga4\");\nif (ga4Id) {\n new GA4({ id: ga4Id });\n}\n\nconst helpers = { getXPathTo, getClosestHeading, valueGetters };\n\nexport { EventTracker, GA4, helpers };\n","export default [\n {\n scope: \".tna-hero\",\n areaName: \"hero\",\n events: [\n {\n eventName: \"toggle_caption\",\n targetElement: \".tna-hero__details-summary\",\n on: \"click\",\n data: {\n // eslint-disable-next-line no-unused-vars\n state: ($el, $scope, event) => {\n const wasExpanded =\n $scope\n .querySelector(\".tna-hero__details\")\n ?.hasAttribute(\"open\") ?? false;\n return wasExpanded ? \"closed\" : \"opened\";\n },\n // eslint-disable-next-line no-unused-vars\n value: ($el, $scope, event) =>\n $scope.querySelector(\"img[alt]\")?.getAttribute(\"alt\"),\n },\n },\n ],\n },\n];\n","export class Accordion {\n polyfillRequired = null;\n\n constructor($module) {\n this.$module = $module;\n this.$items = $module && $module.querySelectorAll(\".tna-accordion__item\");\n if (!this.$module || !this.$items) {\n return;\n }\n\n this.allowMultipleItemsOpen =\n this.$module.dataset[\"multiselectable\"] === \"true\";\n\n this.$items.forEach(($item) => this.initItem($item));\n this.initState();\n }\n\n initItem($item) {\n const $heading = $item.querySelector(\".tna-accordion__heading\");\n const $content = $item.querySelector(\".tna-accordion__body\");\n\n if (!$heading || !$content) {\n return;\n }\n\n $item.classList.add(\"tna-accordion__details\");\n $item.classList.remove(\"tna-accordion__item\");\n\n $heading.removeAttribute(\"class\");\n\n $content.classList.add(\"tna-accordion__content\");\n $content.classList.remove(\"tna-accordion__body\");\n $content.setAttribute(\"hidden\", \"until-found\");\n\n const $headingButton = document.createElement(\"button\");\n $headingButton.classList.add(\"tna-accordion__summary\");\n $headingButton.setAttribute(\"aria-controls\", $content.id);\n $heading.parentNode.insertBefore($headingButton, $heading.nextSibling);\n $headingButton.appendChild($heading);\n\n $headingButton.addEventListener(\"click\", () => {\n const isOpen = $headingButton.getAttribute(\"aria-expanded\") === \"true\";\n if (isOpen) {\n this.closeItem($item);\n } else {\n this.openItem($item);\n }\n });\n }\n\n initState() {\n this.$items.forEach(($item) => {\n if ($item.dataset[\"isopen\"] === \"true\") {\n this.openItem($item);\n } else {\n this.closeItem($item);\n }\n $item.removeAttribute(\"data-isopen\");\n });\n }\n\n openItem($item) {\n if (!this.allowMultipleItemsOpen) {\n this.closeAllItemsExcept($item);\n }\n const $headingButton = $item.querySelector(\".tna-accordion__summary\");\n const $content = $item.querySelector(\".tna-accordion__content\");\n $headingButton.setAttribute(\"aria-expanded\", \"true\");\n $headingButton.setAttribute(\n \"aria-label\",\n `${$headingButton.innerText}, Hide this section`,\n );\n $content.removeAttribute(\"hidden\");\n // $content.setAttribute(\"tabindex\", \"0\");\n }\n\n closeItem($item) {\n const $headingButton = $item.querySelector(\".tna-accordion__summary\");\n const $content = $item.querySelector(\".tna-accordion__content\");\n $headingButton.setAttribute(\"aria-expanded\", \"false\");\n $headingButton.setAttribute(\n \"aria-label\",\n `${$headingButton.innerText}, Show this section`,\n );\n $content.setAttribute(\"hidden\", \"until-found\");\n // $content.setAttribute(\"tabindex\", \"-1\");\n }\n\n closeAllItemsExcept($excludeItem) {\n Array.from(this.$items)\n .filter(\n ($item) =>\n $item.querySelector(\".tna-accordion__summary\") !== $excludeItem &&\n $item\n .querySelector(\".tna-accordion__summary\")\n .getAttribute(\"aria-expanded\") === \"true\",\n )\n .forEach(($item) => this.closeItem($item));\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Breadcrumbs {\n constructor($module) {\n this.$module = $module;\n this.$breadcrumbsList =\n $module && $module.querySelector(\".tna-breadcrumbs__list\");\n this.$breadcrumbs =\n $module &&\n this.$breadcrumbsList &&\n $module.querySelectorAll(\".tna-breadcrumbs__item\");\n\n if (!this.$module || !this.$breadcrumbsList || !this.$breadcrumbs) {\n return;\n }\n\n if (\n this.$breadcrumbs.length > 2 &&\n !this.$module.classList.contains(\"tna-breadcrumbs--no-collapse\")\n ) {\n const uniqueId = `tna-breadcrumbs-${uuidv4()}`;\n\n const $expandable = document.createElement(\"li\");\n $expandable.classList.add(\n \"tna-breadcrumbs__item\",\n \"tna-breadcrumbs__item--expandable\",\n );\n $expandable.style.display = \"none\";\n\n const $expandButton = document.createElement(\"button\");\n $expandButton.classList.add(\"tna-breadcrumbs__link\");\n $expandButton.innerHTML =\n \"<span class='tna-!--visually-hidden'>Expand breadcrumbs</span>&hellip;\";\n $expandButton.setAttribute(\"aria-expanded\", \"false\");\n $expandButton.setAttribute(\"aria-controls\", uniqueId);\n $expandButton.addEventListener(\"click\", () => {\n this.$module.classList.remove(\"tna-breadcrumbs--collapsed\");\n $expandable.remove();\n this.$module.setAttribute(\"tabindex\", \"0\");\n this.$module.focus();\n this.$module.setAttribute(\"tabindex\", \"-1\");\n });\n\n $expandable.appendChild($expandButton);\n\n this.$breadcrumbsList.setAttribute(\"id\", uniqueId);\n this.$breadcrumbsList.insertBefore(\n $expandable,\n this.$breadcrumbs[this.$breadcrumbs.length - 2].nextSibling,\n );\n\n this.$module.classList.add(\"tna-breadcrumbs--collapsed\");\n }\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport { Cookies };\n\nexport class CookieBanner {\n constructor($module) {\n this.$module = $module;\n this.$acceptButton = $module && $module.querySelector('[value=\"accept\"]');\n this.$rejectButton = $module && $module.querySelector('[value=\"reject\"]');\n this.$prompt =\n $module && $module.querySelector(\".tna-cookie-banner__message--prompt\");\n this.$acceptedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--accepted\");\n this.$rejectedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--rejected\");\n this.$closeButtons = $module && $module.querySelectorAll('[value=\"close\"]');\n\n if (\n !this.$module ||\n !this.$acceptButton ||\n !this.$rejectButton ||\n !this.$prompt ||\n !this.$acceptedMessage ||\n !this.$rejectedMessage ||\n !this.$closeButtons\n ) {\n return;\n }\n\n const policies = this.$module.getAttribute(\"data-policies\") || \"\";\n const extraPolicies = policies\n .split(\",\")\n .filter((x) => x)\n .map((policy) => policy.trim());\n const domain = this.$module.getAttribute(\"data-domain\") || undefined;\n const path = this.$module.getAttribute(\"data-path\") || undefined;\n const secure = this.$module.getAttribute(\"data-secure\") || undefined;\n const policiesKey =\n this.$module.getAttribute(\"data-policieskey\") || undefined;\n\n this.cookies = new Cookies({\n extraPolicies,\n domain,\n path,\n secure,\n policiesKey,\n newInstance: true,\n });\n\n this.cookiePreferencesSet =\n this.$module.getAttribute(\"data-preferenceskey\") ||\n \"cookie_preferences_set\";\n const cookiePreferencesSet = this.cookies.hasValue(\n this.cookiePreferencesSet,\n \"true\",\n );\n\n if (!cookiePreferencesSet) {\n this.$module.removeAttribute(\"hidden\");\n\n this.$acceptButton.addEventListener(\"click\", () => this.accept());\n this.$rejectButton.addEventListener(\"click\", () => this.reject());\n }\n }\n\n accept() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$acceptedMessage.removeAttribute(\"hidden\");\n this.$acceptedMessage.focus();\n this.$acceptedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.acceptAllPolicies();\n }\n\n reject() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$rejectedMessage.removeAttribute(\"hidden\");\n this.$rejectedMessage.focus();\n this.$rejectedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.rejectAllPolicies();\n }\n\n complete() {\n this.cookies.set(this.cookiePreferencesSet, true);\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", true);\n }\n}\n","export class ErrorSummary {\n constructor($module) {\n this.$module = $module;\n }\n\n init() {\n if (!this.$module) {\n return;\n }\n\n const disableAutoFocus =\n this.$module.getAttribute(\"data-disableautofocus\") === \"true\" || false;\n\n if (!disableAutoFocus) {\n this.setFocus(this.$module);\n }\n }\n\n setFocus($element, options = {}) {\n const isFocusable = $element.getAttribute(\"tabindex\");\n\n if (!isFocusable) {\n $element.setAttribute(\"tabindex\", \"-1\");\n }\n\n /**\n * Handle element focus\n */\n function onFocus() {\n $element.addEventListener(\"blur\", onBlur, { once: true });\n }\n\n /**\n * Handle element blur\n */\n function onBlur() {\n options.onBlur?.call($element);\n\n if (!isFocusable) {\n $element.removeAttribute(\"tabindex\");\n }\n }\n\n // Add listener to reset element on blur, after focus\n $element.addEventListener(\"focus\", onFocus, { once: true });\n\n // Focus element\n options.onBeforeFocus?.call($element);\n $element.focus();\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport class Footer {\n constructor($module) {\n this.$module = $module;\n this.$themeSelector =\n $module && $module.querySelector(\".tna-footer__theme-selector\");\n this.$tnaTemplate = document.querySelector(\".tna-template\");\n\n if (!this.$module || !this.$themeSelector || !this.$tnaTemplate) {\n return;\n }\n\n this.$themeSelectorButtons = this.$themeSelector.querySelectorAll(\n \"button.tna-footer__theme-selector-button[value]\",\n );\n\n Array.from(this.$themeSelectorButtons).forEach(($themeSelectorButton) => {\n $themeSelectorButton.addEventListener(\"click\", (e) => {\n const $button = e.target;\n this.setTheme($button.value);\n this.selectThemeSelectorButton($button);\n });\n });\n\n this.cookies = new Cookies();\n if (this.cookies.isPolicyAccepted(\"settings\")) {\n this.showThemeSelector();\n }\n this.cookies.on(\"changePolicy\", (data) => {\n if (Object.hasOwn(data, \"settings\")) {\n if (data.settings === true) {\n this.showThemeSelector();\n } else {\n this.cookies.delete(\"theme\");\n this.hideThemeSelector();\n }\n }\n });\n }\n\n showThemeSelector() {\n this.$themeSelector.removeAttribute(\"hidden\");\n if (this.cookies.exists(\"theme\")) {\n const $currentThemeButton = Array.from(this.$themeSelectorButtons).find(\n ($button) => $button.value === this.cookies.get(\"theme\"),\n );\n if ($currentThemeButton) {\n this.selectThemeSelectorButton($currentThemeButton);\n }\n }\n }\n\n hideThemeSelector() {\n this.$themeSelector.setAttribute(\"hidden\", true);\n }\n\n setTheme(theme) {\n if (theme === \"light\") {\n this.$tnaTemplate.classList.remove(\n \"tna-template--system-theme\",\n \"tna-template--dark-theme\",\n );\n } else if (theme === \"dark\") {\n this.$tnaTemplate.classList.remove(\"tna-template--system-theme\");\n this.$tnaTemplate.classList.add(`tna-template--dark-theme`);\n } else if (theme === \"system\") {\n this.$tnaTemplate.classList.remove(\"tna-template--dark-theme\");\n this.$tnaTemplate.classList.add(`tna-template--system-theme`);\n } else {\n return;\n }\n this.cookies.set(\"theme\", theme);\n }\n\n selectThemeSelectorButton($selectedButton) {\n Array.from(this.$themeSelectorButtons).forEach(($button) => {\n if ($button.value === $selectedButton.value) {\n $button.classList.remove(\"tna-button--plain\");\n $button.setAttribute(\"aria-current\", true);\n } else {\n $button.classList.add(\"tna-button--plain\");\n $button.removeAttribute(\"aria-current\");\n }\n });\n }\n}\n","export class Gallery {\n constructor($module) {\n this.$module = $module;\n this.$itemsContainer =\n $module && $module.querySelector(\".tna-gallery__items\");\n this.$items =\n this.$itemsContainer &&\n this.$itemsContainer.querySelectorAll(\".tna-gallery__item\");\n this.$navigation =\n $module && $module.querySelector(\".tna-gallery__navigation\");\n this.$navigationItems =\n this.$navigation &&\n $module.querySelectorAll(\".tna-gallery__navigation-item\");\n this.$options = $module && $module.querySelector(\".tna-gallery__options\");\n this.$navigationButtons =\n $module && $module.querySelector(\".tna-gallery__navigation-buttons\");\n\n if (\n !this.$module ||\n !this.$itemsContainer ||\n !this.$items ||\n !this.$navigation ||\n !this.$navigationItems ||\n !this.$options ||\n !this.$navigationButtons\n ) {\n return;\n }\n\n this.$module.classList.add(\"tna-gallery--interactive\");\n\n this.$showIndex = this.$options.querySelector('button[value=\"show-index\"]');\n this.$enterFullscreen = this.$options.querySelector(\n 'button[value=\"enter-fullscreen\"]',\n );\n this.$exitFullscreen = this.$options.querySelector(\n 'button[value=\"exit-fullscreen\"]',\n );\n\n this.$navigationButtonPrev = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-prev\",\n );\n this.$navigationButtonNext = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-next\",\n );\n\n this.$module.addEventListener(\"fullscreenchange\", () =>\n this.syncFullScreen(),\n );\n\n this.setup();\n this.allowGridIndex = this.$module.dataset[\"showgrid\"] || false;\n if (this.allowGridIndex) {\n this.showIndex();\n } else {\n this.currentId = this.$items[0].id;\n this.showItem(this.currentId);\n }\n }\n\n setup() {\n this.$items.forEach(($item) => {\n $item.setAttribute(\"hidden\", \"until-found\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n });\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigationItems.forEach(($item) => {\n $item.addEventListener(\"click\", () => {\n this.showItem($item.getAttribute(\"aria-controls\"), true);\n this.$itemsContainer.focus();\n });\n });\n this.$module.addEventListener(\"keydown\", (e) => {\n let preventDefaultKeyAction = false;\n switch (e.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.showPreviousItem();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.showNextItem();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.showFirstItem();\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.showLastItem();\n preventDefaultKeyAction = true;\n break;\n }\n if (preventDefaultKeyAction) {\n e.stopPropagation();\n e.preventDefault();\n }\n });\n this.$options.removeAttribute(\"hidden\");\n if (\n document.fullscreenEnabled &&\n this.$enterFullscreen &&\n this.$exitFullscreen\n ) {\n this.$enterFullscreen?.addEventListener(\"click\", () =>\n this.enterFullScreen(),\n );\n this.$exitFullscreen?.addEventListener(\"click\", () =>\n this.exitFullScreen(),\n );\n this.$enterFullscreen?.removeAttribute(\"hidden\");\n }\n this.$showIndex?.addEventListener(\"click\", () => this.showIndex());\n this.$navigationButtons?.removeAttribute(\"hidden\");\n this.$navigationButtonPrev?.addEventListener(\"click\", () => {\n this.showPreviousItem();\n });\n this.$navigationButtonNext?.addEventListener(\"click\", () => {\n this.showNextItem();\n });\n\n this.$liveRegion = document.createElement(\"div\");\n this.$liveRegion.setAttribute(\"aria-live\", \"polite\");\n this.$liveRegion.setAttribute(\"aria-atomic\", \"true\");\n this.$liveRegion.setAttribute(\"class\", \"tna-gallery__item-header\");\n this.$itemsContainer.prepend(this.$liveRegion);\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-item-titles\");\n }\n\n showIndex() {\n this.showItem(\"\");\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-items\");\n this.$showIndex?.setAttribute(\"hidden\", true);\n }\n\n showItem(id, focus = false) {\n this.$items.forEach(($item) => {\n if (id && $item.id === id) {\n $item.removeAttribute(\"hidden\");\n $item.removeAttribute(\"aria-hidden\");\n if (focus) {\n $item.setAttribute(\"tabindex\", \"0\");\n $item.focus();\n }\n } else {\n $item.setAttribute(\"hidden\", \"until-found\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n }\n $item.setAttribute(\"tabindex\", \"-1\");\n });\n this.$navigationItems.forEach(($item /*, index*/) => {\n if (id) {\n if ($item.getAttribute(\"aria-controls\") === id) {\n $item.setAttribute(\"aria-selected\", \"true\");\n // $item.setAttribute(\"tabindex\", \"0\");\n if (this.isFullScreen()) {\n $item.scrollIntoView({ block: \"nearest\" });\n }\n } else {\n $item.setAttribute(\"aria-selected\", \"false\");\n // $item.setAttribute(\"tabindex\", \"-1\");\n }\n } else {\n $item.setAttribute(\"aria-selected\", \"false\");\n // $item.setAttribute(\"tabindex\", index === 0 ? \"0\" : \"-1\");\n }\n });\n if (this.allowGridIndex) {\n this.$showIndex?.removeAttribute(\"hidden\");\n }\n this.$itemsContainer.classList.remove(\"tna-gallery__items--hide-items\");\n this.currentId = id;\n this.$liveRegion.textContent = `Image ${this.getCurrentItemIndex() + 1} of ${this.$items.length}`;\n }\n\n getCurrentItemIndex() {\n return Array.from(this.$items).findIndex(\n ($item) => $item.id === this.currentId,\n );\n }\n\n showPreviousItem() {\n let nextIndexToShow = this.getCurrentItemIndex() - 1;\n if (nextIndexToShow < 0) {\n nextIndexToShow = this.$items.length - 1;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showNextItem() {\n let nextIndexToShow = this.getCurrentItemIndex() + 1;\n if (nextIndexToShow >= this.$items.length) {\n nextIndexToShow = 0;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showFirstItem() {\n this.showItem(this.$items[0].id);\n }\n\n showLastItem() {\n this.showItem(this.$items[this.$items.length - 1].id);\n }\n\n isFullScreen() {\n return document.fullscreenElement;\n }\n\n enterFullScreen() {\n this.$module.requestFullscreen();\n this.syncFullScreen();\n this.$module.focus();\n }\n\n exitFullScreen() {\n document.exitFullscreen();\n this.syncFullScreen();\n }\n\n syncFullScreen() {\n if (this.isFullScreen()) {\n this.$enterFullscreen.setAttribute(\"hidden\", true);\n this.$exitFullscreen.removeAttribute(\"hidden\");\n } else {\n this.$exitFullscreen.setAttribute(\"hidden\", true);\n this.$enterFullscreen.removeAttribute(\"hidden\");\n }\n }\n}\n","export class GlobalHeader {\n constructor($module) {\n this.$module = $module;\n this.$toggleButton =\n $module && $module.querySelector(\".tna-global-header__navigation-button\");\n this.$navigation =\n $module &&\n $module.querySelector(\".tna-global-header__navigation-wrapper\");\n this.$topNavigation =\n $module &&\n $module.querySelector(\".tna-global-header__top-navigation-wrapper\");\n this.$links =\n $module &&\n ((this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\")) ||\n (this.$topNavigation &&\n this.$topNavigation.querySelectorAll(\"[tabindex='0']\")));\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 48em)\");\n\n if (\n !this.$module ||\n !this.$toggleButton ||\n (!this.$navigation && !this.$topNavigation)\n ) {\n return;\n }\n\n this.$toggleButton.removeAttribute(\"hidden\");\n this.syncState();\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n\n this.$module.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\" && this.mql.matches) {\n if (this.menuOpened) {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n }\n });\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.show();\n } else {\n this.hide();\n }\n } else {\n this.show();\n }\n }\n\n hide() {\n if (this.$navigation) {\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n }\n if (this.$topNavigation) {\n this.$topNavigation.hidden = true;\n this.$topNavigation.setAttribute(\"aria-hidden\", \"true\");\n }\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-global-header__navigation-button--opened\",\n );\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n\n show() {\n if (this.$navigation) {\n this.$navigation.hidden = false;\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n }\n if (this.$topNavigation) {\n this.$topNavigation.hidden = false;\n this.$topNavigation.setAttribute(\"aria-hidden\", \"false\");\n }\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\n \"tna-global-header__navigation-button--opened\",\n );\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n}\n","export class Header {\n constructor($module) {\n this.$module = $module;\n this.$toggleButton =\n $module && $module.querySelector(\".tna-header__navigation-button\");\n this.$navigation =\n $module && $module.querySelector(\".tna-header__navigation\");\n this.$links =\n $module &&\n this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\");\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 48em)\");\n\n if (!this.$module || !this.$toggleButton || !this.$navigation) {\n return;\n }\n\n this.$toggleButton.removeAttribute(\"hidden\");\n this.syncState();\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n\n this.$module.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\") {\n if (this.menuOpened && this.mql.matches) {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n }\n });\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.show();\n } else {\n this.hide();\n }\n } else {\n this.show();\n }\n }\n\n show() {\n this.$navigation.classList.add(\"tna-header__navigation--open\");\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\"tna-header__navigation-button--opened\");\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n\n hide() {\n this.$navigation.classList.remove(\"tna-header__navigation--open\");\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-header__navigation-button--opened\",\n );\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Picture {\n constructor($module) {\n this.$module = $module;\n this.$imageWrapper =\n $module && $module.querySelector(\".tna-picture__image-wrapper\");\n\n this.$transcriptToggle =\n this.$imageWrapper &&\n this.$imageWrapper.querySelector(\".tna-picture__toggle-transcript\");\n\n this.$transcript =\n $module && $module.querySelector(\".tna-picture__transcript\");\n this.transcriptOpened = false;\n\n if (\n !this.$module ||\n !this.$imageWrapper ||\n !this.$transcriptToggle ||\n !this.$transcript\n ) {\n return;\n }\n\n this.openLabel =\n this.$module.getAttribute(\"data-informationlabelopen\") ||\n \"Open transcript\";\n this.closeLabel =\n this.$module.getAttribute(\"data-informationlabelclose\") ||\n \"Close transcript\";\n\n this.init();\n }\n\n init() {\n const uniqueId = `tna-picture-${uuidv4()}`;\n\n this.$transcriptToggle.removeAttribute(\"hidden\");\n this.$transcriptToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcriptToggle.addEventListener(\"click\", () =>\n this.toggleTranscript(),\n );\n\n this.$transcript.setAttribute(\"id\", uniqueId);\n this.$transcript.setAttribute(\"hidden\", \"until-found\");\n\n this.$transcript.addEventListener(\"keydown\", (e) => {\n switch (e.key) {\n case \"Escape\":\n this.toggleTranscript();\n this.$transcriptToggle.focus();\n break;\n }\n });\n }\n\n toggleTranscript() {\n this.transcriptOpened = !this.transcriptOpened;\n if (this.transcriptOpened) {\n this.$transcriptToggle.setAttribute(\"aria-expanded\", true);\n this.$transcriptToggle.innerText = this.closeLabel;\n this.$transcript.removeAttribute(\"hidden\");\n } else {\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcript.setAttribute(\"hidden\", \"until-found\");\n }\n }\n}\n","export class SkipLink {\n linkedElementListener = false;\n\n constructor($module) {\n this.$module = $module;\n this.linkedElementId = $module.getAttribute(\"href\").split(\"#\").pop();\n this.$linkedElement =\n $module &&\n this.linkedElementId &&\n document.getElementById(this.linkedElementId);\n\n if (!this.$module || !this.$linkedElement) {\n return;\n }\n this.$module.addEventListener(\"click\", () => this.focusLinkedElement());\n }\n\n focusLinkedElement() {\n if (!this.$linkedElement.getAttribute(\"tabindex\")) {\n this.$linkedElement.setAttribute(\"tabindex\", \"-1\");\n this.$linkedElement.classList.add(\"tna-!--no-focus-style\");\n\n if (!this.linkedElementListener) {\n this.$linkedElement.addEventListener(\"blur\", () =>\n this.removeFocusProperties(),\n );\n this.linkedElementListener = true;\n }\n }\n\n this.$linkedElement.focus();\n }\n\n removeFocusProperties() {\n this.$linkedElement.removeAttribute(\"tabindex\");\n this.$linkedElement.classList.remove(\"tna-!--no-focus-style\");\n }\n}\n","export class Tabs {\n constructor($module) {\n this.$module = $module;\n this.$tabList = $module && $module.querySelector(\".tna-tabs__list\");\n this.$tabListItemLinks =\n $module &&\n this.$tabList &&\n this.$tabList.querySelectorAll(\".tna-tabs__button\");\n this.$tabItems = $module && $module.querySelectorAll(\".tna-tabs__item\");\n\n if (\n !this.$module ||\n !this.$tabList ||\n !this.$tabListItemLinks ||\n !this.$tabItems ||\n this.$tabListItemLinks.length !== this.$tabItems.length\n ) {\n return;\n }\n\n this.currentTabIndex = 0;\n this.init();\n }\n\n init() {\n this.$module.classList.add(\"tna-tabs--interactive\");\n this.$tabList.removeAttribute(\"hidden\");\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n const tabPanelID = $tabListItemLink.getAttribute(\"aria-controls\");\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n const $tabPanel = document.getElementById(tabPanelID);\n $tabPanel.setAttribute(\"aria-labelledby\", $tabListItemLink.id);\n $tabPanel.setAttribute(\"role\", \"tabpanel\");\n $tabListItemLink.addEventListener(\n \"click\",\n (e) => this.handleItemLinkClick(e),\n true,\n );\n });\n this.switchTabByIndex(this.currentTabIndex);\n this.$module.addEventListener(\"keydown\", (e) =>\n this.handleItemLinkKeyDown(e),\n );\n }\n\n handleItemLinkClick(itemLinkClickEvent) {\n itemLinkClickEvent.preventDefault();\n const targetItem =\n itemLinkClickEvent.currentTarget.getAttribute(\"aria-controls\");\n this.switchTabByID(targetItem);\n }\n\n handleItemLinkKeyDown(itemLinkKeyDownEvent) {\n let preventDefaultKeyAction = false;\n switch (itemLinkKeyDownEvent.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.previousTab();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.nextTab();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.switchTabByIndex(0, true);\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.switchTabByIndex(this.$tabListItemLinks.length - 1, true);\n preventDefaultKeyAction = true;\n break;\n default:\n break;\n }\n if (preventDefaultKeyAction) {\n itemLinkKeyDownEvent.stopPropagation();\n itemLinkKeyDownEvent.preventDefault();\n }\n }\n\n nextTab() {\n if (this.currentTabIndex < this.$tabListItemLinks.length - 1) {\n this.switchTabByIndex(this.currentTabIndex + 1, true);\n } else {\n this.switchTabByIndex(0, true);\n }\n }\n\n previousTab() {\n if (this.currentTabIndex >= 1) {\n this.switchTabByIndex(this.currentTabIndex - 1, true);\n } else {\n this.switchTabByIndex(this.$tabListItemLinks.length - 1, true);\n }\n }\n\n switchTabByIndex(newIndex, switchFocus = false) {\n this.currentTabIndex = newIndex;\n this.$tabListItemLinks.forEach(($tabListItemLink, index) => {\n if (index === this.currentTabIndex) {\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n if (switchFocus) {\n $tabListItemLink.focus();\n }\n } else {\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n $tabListItemLink.setAttribute(\"tabindex\", \"-1\");\n }\n });\n this.$tabItems.forEach(($tabItem, index) => {\n if (index === this.currentTabIndex) {\n $tabItem.removeAttribute(\"hidden\");\n $tabItem.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabItem.setAttribute(\"hidden\", \"until-found\");\n $tabItem.setAttribute(\"tabindex\", \"-1\");\n }\n });\n }\n\n switchTabByID(targetId) {\n const index = Array.from(this.$tabItems).findIndex(\n ($tabItem) => $tabItem.getAttribute(\"id\") === targetId,\n );\n this.switchTabByIndex(index);\n }\n}\n","window.TNAFrontendCookies = window.TNAFrontendCookies || null;\nwindow.TNAFrontendCookieEvents = window.TNAFrontendCookieEvents || null;\n\nexport class CookieEventHandler {\n events = {};\n oneTimeEvents = {};\n\n constructor() {\n if (window.TNAFrontendCookieEvents) {\n return window.TNAFrontendCookieEvents;\n }\n window.TNAFrontendCookieEvents = this;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n if (!Object.hasOwn(this.events, event)) {\n this.events[event] = [];\n }\n this.events[event] = [...this.events[event], callback];\n }\n\n once(event, callback) {\n if (!Object.hasOwn(this.oneTimeEvents, event)) {\n this.oneTimeEvents[event] = [];\n }\n this.oneTimeEvents[event] = [...this.oneTimeEvents[event], callback];\n }\n\n /** @protected */\n trigger(event, data = {}) {\n if (Object.hasOwn(this.events, event)) {\n this.events[event].forEach((eventToTrigger) =>\n eventToTrigger.call(this, data),\n );\n }\n if (Object.hasOwn(this.oneTimeEvents, event)) {\n for (let i = this.oneTimeEvents[event].length - 1; i >= 0; i--) {\n const eventToTrigger = this.oneTimeEvents[event][i];\n eventToTrigger.call(this, data);\n this.oneTimeEvents[event].splice(i, 1);\n }\n }\n }\n}\n\n/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n extraPolicies = [];\n /** @protected */\n domain = \"\";\n /** @protected */\n path = \"\";\n /** @protected */\n secure = true;\n /** @protected */\n policiesKey = \"\";\n /** @protected */\n events = null;\n /** @protected */\n defaultAge = null;\n\n /**\n * Create a cookie handler.\n * @param {String} [options.extraPolicies=[]] - The extra cookie policies to manage in addition to essential, settings and usage.\n * @param {String} [options.domain=\"\"] - The domain to register the cookie with.\n * @param {String} [options.path=\"\"] - The domain to register the cookie with.\n * @param {String} [options.secure=true] - Only set cookie in HTTPS environments.\n * @param {String} [options.policiesKey=\"cookies_policy\"] - The name of the cookie.\n * @param {String} [options.newInstance=false] - Create a fresh instance of the cookie class.\n * @param {String} [options.defaultAge=31536000] - The default age of non-session cookies.\n */\n constructor(options = {}) {\n const {\n extraPolicies = [],\n domain = \"\",\n path = \"/\",\n secure = true,\n policiesKey = \"cookies_policy\",\n newInstance = false,\n defaultAge = 31536000, // 365 days\n } = options;\n if (newInstance) {\n this.destroyInstance();\n } else if (window.TNAFrontendCookies) {\n return window.TNAFrontendCookies;\n }\n this.extraPolicies = extraPolicies;\n this.domain = domain;\n this.path = path;\n this.secure = secure;\n this.policiesKey = policiesKey;\n this.defaultAge = defaultAge;\n this.events = new CookieEventHandler();\n this.init();\n window.TNAFrontendCookies = this;\n }\n\n /** @protected */\n init() {\n this.savePolicies({\n ...Object.fromEntries(\n this.extraPolicies.map((k) => [k.toLowerCase(), false]),\n ),\n usage: false,\n settings: false,\n ...this.policies,\n essential: true,\n });\n }\n\n destroyInstance() {\n window.TNAFrontendCookies = null;\n }\n\n /** @protected */\n get all() {\n const deserialised = {};\n document.cookie\n .split(\"; \")\n .filter((x) => x)\n .forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n if (parts[0]) {\n deserialised[parts[0]] = parts[1];\n }\n });\n return deserialised;\n }\n\n /** @protected */\n get policies() {\n try {\n return JSON.parse(this.get(this.policiesKey) || \"{}\");\n } catch (e) {\n return {};\n }\n }\n\n /**\n * Check to see whether a cookie exists or not.\n * @param {String} key - The cookie name.\n * @returns {Boolean}\n */\n exists(key) {\n return Object.hasOwn(this.all, key);\n }\n\n /**\n * Check to see whether a cookie has a particular value.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The value to check against.\n * @returns\n */\n hasValue(key, value) {\n return this.get(key) == value;\n }\n\n /**\n * Get a cookie.\n * @param {String} key - The cookie name.\n * @returns {String|Number|Boolean}\n */\n get(key) {\n return this.exists(key) ? decodeURIComponent(this.all[key]) : null;\n }\n\n /**\n * Set a cookie.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The cookie value.\n * @param {Object} options\n * @param {Number} [options.maxAge=this.defaultAge] - The maximum age of the cookie in seconds.\n * @param {String} [options.path=/] - The path to register the cookie for.\n * @param {String} [options.sameSite=Lax] - The sameSite attribute.\n * @param {String} [options.domain=this.domain] - The domain to register the cookie with.\n * @param {String} [options.path=this.path] - The path to register the cookie with.\n * @param {String} [options.secure=this.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.session=false] - Set a session cookie.\n */\n set(key, value, options = {}) {\n const {\n maxAge = this.defaultAge,\n sameSite = \"Lax\",\n domain = this.domain,\n path = this.path,\n secure = this.secure,\n session = false,\n } = options;\n if (!key) {\n return;\n }\n const cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)};${\n domain ? ` domain=${domain}; ` : \"\"\n } samesite=${sameSite}; path=${path}${!session ? `; max-age=${maxAge}` : \"\"}${\n secure ? \"; secure\" : \"\"\n }`;\n document.cookie = cookie;\n this.events.trigger(\"setCookie\", {\n key,\n value,\n maxAge,\n path,\n sameSite,\n domain,\n secure,\n session,\n cookie,\n });\n }\n\n /**\n * Delete a cookie.\n * @param {String} key - The cookie name.\n * @param {String} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\", domain = null) {\n const options = { maxAge: -1, path, domain: domain || undefined };\n this.set(key, \"\", options);\n this.events.trigger(\"deleteCookie\", { key, ...options });\n }\n\n /**\n * Delete all cookies.\n */\n deleteAll(path = \"/\", domain = null) {\n Object.keys(this.all).forEach((cookie) => {\n this.delete(cookie, path, domain);\n });\n this.events.trigger(\"deleteAllCookies\", { path, domain });\n }\n\n /**\n * Accept a policy.\n * @param {String} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n this.events.trigger(\"acceptPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: true });\n }\n\n /**\n * Reject a policy.\n * @param {String} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n this.events.trigger(\"rejectPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: false });\n }\n\n /**\n * Set a policy.\n * @param {String} policy - The name of the policy.\n * @param {Boolean} accepted - Whether the policy is accepted or not.\n */\n setPolicy(policy, accepted) {\n if (policy === \"essential\") {\n return;\n }\n this.savePolicies({\n ...this.policies,\n [policy]: accepted,\n essential: true,\n });\n this.events.trigger(\"changePolicy\", { [policy]: accepted });\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n const allPolicies = Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), true]),\n );\n this.savePolicies(allPolicies);\n this.events.trigger(\"acceptAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n const allPolicies = {\n ...Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), false]),\n ),\n essential: true,\n };\n this.savePolicies(allPolicies);\n this.events.trigger(\"rejectAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Commit policy preferences to the browser.\n * @param {object} policies - The policies to commit.\n */\n savePolicies(policies) {\n this.set(this.policiesKey, JSON.stringify(policies), {\n maxAge: 60 * 60 * 24 * 365,\n });\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {String} policy - The name of the policy.\n * @returns {Boolean}\n */\n isPolicyAccepted(policy) {\n return Object.hasOwn(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n this.events.on(event, callback);\n }\n\n /**\n * Add a one-time event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n once(event, callback) {\n this.events.once(event, callback);\n }\n}\n","const uuidv4 = () =>\n ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n (\n c ^\n (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))\n ).toString(16),\n );\n\nexport default uuidv4;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["root","factory","exports","module","define","amd","self","initAll","options","$scope","scope","HTMLElement","document","$body","documentElement","classList","add","onFirstTouch","window","removeEventListener","addEventListener","e","key","remove","querySelectorAll","forEach","$accordion","Accordion","$breadcrumbs","querySelector","Breadcrumbs","$cookieBanner","CookieBanner","$errorSummary","ErrorSummary","init","$footer","Footer","$gallery","Gallery","$globalHeader","GlobalHeader","$header","Header","$picture","Picture","$skipLink","SkipLink","$tabModule","Tabs","checkTableForScroll","$tableWrapper","scrollable","scrollWidth","clientWidth","$tableCaption","setAttribute","removeAttribute","$tableWrappers","matchMedia","evt","matches","dataset","wasclosed","getXPathTo","$element","id","body","tagName","ix","siblings","parentNode","childNodes","i","length","sibling","nodeType","includesAny","arr","values","some","v","includes","getClosestHeading","heading","$search","previousElementSibling","Array","from","innerText","parentElement","valueGetters","text","$el","html","innerHTML","value","index","event","checked","expanded","getAttribute","toString","closestHeading","areaName","events","eventName","targetElement","on","data","state","group","_$scope$closest","closest","_$scope$querySelector","_$scope$querySelector2","hasAttribute","rootEventName","rootData","data_component_name","data_link_type","data_section","data_link","data_position","image","imageSrc","imageAlt","concat","componentAnalytics","_toConsumableArray","BreadcrumbAnalytics","CheckboxesAnalytics","DetailsAnalytics","FooterAnalytics","GalleryAnalytics","GlobalHeaderAnalytics","HeaderAnalytics","_$scope$querySelector3","PictureAnalytics","RadiosAnalytics","SearchFieldAnalytics","TextInputAnalytics","TextareaAnalytics","EventTracker","_createClass","arguments","undefined","_classCallCheck","_defineProperty","Cookies","Date","_options$prefix","prefix","_options$addTrackingC","addTrackingCode","this","_this","navigator","doNotTrack","cookies","isPolicyAccepted","enableTracking","policies","Object","hasOwn","disableTracking","_this2","componentConfig","addListeners","scopeArray","_this3","_typeof","eventConfig","attachListener","_this4","_eventConfig$rootData","recordEvent","generateEventName","_objectSpread","name","computedValue","xPath","timeSincePageLoad","startTime","fromEntries","entries","map","_ref","_ref2","_slicedToArray","call","push","head","$metaEl","GA4","_EventTracker2","_this5","TNAFrontendAnalyticsGA4","_possibleConstructorReturn","_options$id","_options$prefix2","_options$initAll","_options$addTrackingC2","dataLayer","gTagId","ga4Disable","set","start","_inherits","_this6","ga4Data","_ref3","_ref4","pushToDataLayer","trackingEnabled","trackingCodeAdded","Error","tnaMetaTags","getTnaMetaTags","getTime","firstScript","getElementsByTagName","script","createElement","async","src","insertBefore","appendChild","_this7","keys","all","startsWith","ga4Id","helpers","$module","$items","allowMultipleItemsOpen","$item","initItem","initState","$heading","$content","$headingButton","nextSibling","closeItem","openItem","closeAllItemsExcept","$excludeItem","filter","$breadcrumbsList","contains","uniqueId","uuidv4","$expandable","style","display","$expandButton","focus","$acceptButton","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","extraPolicies","split","x","policy","trim","domain","path","secure","policiesKey","newInstance","cookiePreferencesSet","hasValue","accept","reject","complete","acceptAllPolicies","rejectAllPolicies","$closeButton","close","setFocus","_options$onBeforeFocu","isFocusable","onBlur","_options$onBlur","once","onBeforeFocus","$themeSelector","$tnaTemplate","$themeSelectorButtons","$themeSelectorButton","$button","target","setTheme","selectThemeSelectorButton","showThemeSelector","settings","hideThemeSelector","exists","$currentThemeButton","find","get","theme","$selectedButton","$itemsContainer","$navigation","$navigationItems","$options","$navigationButtons","$showIndex","$enterFullscreen","$exitFullscreen","$navigationButtonPrev","$navigationButtonNext","syncFullScreen","setup","allowGridIndex","showIndex","currentId","showItem","_this$$showIndex","_this$$navigationButt","_this$$navigationButt2","_this$$navigationButt3","_this$$enterFullscree","_this$$exitFullscreen","_this$$enterFullscree2","preventDefaultKeyAction","showPreviousItem","showNextItem","showFirstItem","showLastItem","stopPropagation","preventDefault","fullscreenEnabled","enterFullScreen","exitFullScreen","$liveRegion","prepend","_this$$showIndex2","_this$$showIndex3","isFullScreen","scrollIntoView","block","textContent","getCurrentItemIndex","findIndex","nextIndexToShow","fullscreenElement","requestFullscreen","exitFullscreen","$toggleButton","$topNavigation","$links","menuOpened","mql","syncState","handleToggleNavigation","addListener","code","show","hide","hidden","$imageWrapper","$transcriptToggle","$transcript","transcriptOpened","openLabel","closeLabel","toggleTranscript","linkedElementId","pop","$linkedElement","getElementById","focusLinkedElement","linkedElementListener","removeFocusProperties","$tabList","$tabListItemLinks","$tabItems","currentTabIndex","$tabListItemLink","tabPanelID","$tabPanel","handleItemLinkClick","switchTabByIndex","handleItemLinkKeyDown","itemLinkClickEvent","targetItem","currentTarget","switchTabByID","itemLinkKeyDownEvent","previousTab","nextTab","newIndex","switchFocus","$tabItem","targetId","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","callback","oneTimeEvents","eventToTrigger","splice","_options$extraPolicie","_options$domain","_options$path","_options$secure","_options$policiesKey","_options$newInstance","_options$defaultAge","defaultAge","destroyInstance","savePolicies","k","toLowerCase","usage","essential","deserialised","cookie","parts","JSON","parse","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain2","_options$path2","_options$secure2","_options$session","session","encodeURIComponent","trigger","setPolicy","accepted","allPolicies","stringify","replace","c","crypto","getRandomValues","Uint8Array","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","r","Symbol","toStringTag"],"sourceRoot":""}