@nationalarchives/frontend 0.11.3 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) 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/all.js +1 -1
  6. package/nationalarchives/all.js.map +1 -1
  7. package/nationalarchives/analytics.js +1 -1
  8. package/nationalarchives/analytics.js.map +1 -1
  9. package/nationalarchives/components/accordion/macro-options.json +2 -0
  10. package/nationalarchives/components/breadcrumbs/fixtures.json +21 -0
  11. package/nationalarchives/components/breadcrumbs/macro-options.json +9 -0
  12. package/nationalarchives/components/breadcrumbs/template.njk +1 -1
  13. package/nationalarchives/components/gallery/analytics.js +1 -1
  14. package/nationalarchives/components/gallery/fixtures.json +3 -3
  15. package/nationalarchives/components/gallery/gallery.js +1 -1
  16. package/nationalarchives/components/gallery/gallery.js.map +1 -1
  17. package/nationalarchives/components/gallery/gallery.mjs +9 -7
  18. package/nationalarchives/components/gallery/template.njk +2 -2
  19. package/nationalarchives/components/global-header/fixtures.json +40 -2
  20. package/nationalarchives/components/global-header/global-header.css +1 -1
  21. package/nationalarchives/components/global-header/global-header.css.map +1 -1
  22. package/nationalarchives/components/global-header/global-header.scss +1 -2
  23. package/nationalarchives/components/global-header/macro-options.json +7 -0
  24. package/nationalarchives/components/global-header/template.njk +5 -0
  25. package/nationalarchives/components/header/fixtures.json +116 -5
  26. package/nationalarchives/components/header/macro-options.json +7 -0
  27. package/nationalarchives/components/header/template.njk +5 -0
  28. package/nationalarchives/components/phase-banner/macro-options.json +0 -6
  29. package/nationalarchives/components/phase-banner/phase-banner.css +1 -1
  30. package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
  31. package/nationalarchives/components/phase-banner/phase-banner.scss +0 -2
  32. package/nationalarchives/components/phase-banner/template.njk +0 -3
  33. package/nationalarchives/components/picture/picture.css +1 -1
  34. package/nationalarchives/components/picture/picture.css.map +1 -1
  35. package/nationalarchives/components/picture/picture.scss +4 -0
  36. package/nationalarchives/prototype-kit.css +1 -1
  37. package/nationalarchives/prototype-kit.css.map +1 -1
  38. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"all.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","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/components/text-input/text-input.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","webpack://TNAFrontend/./src/nationalarchives/all.mjs"],"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 ","export class Accordion {\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\", \"\");\n\n const $headingButton = document.createElement(\"button\");\n $headingButton.classList.add(\"tna-accordion__summary\");\n $headingButton.setAttribute(\"type\", \"button\");\n $headingButton.setAttribute(\"aria-controls\", $content.id);\n $headingButton.innerText = $heading.innerText;\n $heading.innerText = \"\";\n $heading.appendChild($headingButton);\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.trim()}, 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.trim()}, Show this section`,\n );\n $content.setAttribute(\"hidden\", \"\");\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(\"type\", \"button\");\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 this.cookies = new Cookies({ newInstance: true });\n\n this.cookiePreferencesSetKey =\n this.$module.dataset.preferencesKey || \"cookie_preferences_set\";\n\n if (!this.cookies.completePoliciesOnInit) {\n this.cookies.delete(this.cookiePreferencesSetKey);\n }\n\n if (\n !this.cookies.exists(this.cookiePreferencesSetKey) ||\n !this.cookies.hasValue(this.cookiePreferencesSetKey, \"true\")\n ) {\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\", \"\");\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\", \"\");\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.cookiePreferencesSetKey, true);\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", \"\");\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.dataset.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\", \"\");\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\", \"\");\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\", \"\");\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\", \"\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n }\n $item.setAttribute(\"tabindex\", \"-1\");\n });\n this.$navigationItems.forEach(($item) => {\n if (id) {\n if ($item.getAttribute(\"aria-controls\") === id) {\n $item.setAttribute(\"aria-current\", \"true\");\n if (this.isFullScreen()) {\n $item.scrollIntoView({ block: \"nearest\" });\n }\n } else {\n $item.setAttribute(\"aria-current\", \"false\");\n }\n } else {\n $item.setAttribute(\"aria-current\", \"false\");\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\", \"\");\n this.$exitFullscreen.removeAttribute(\"hidden\");\n } else {\n this.$exitFullscreen.setAttribute(\"hidden\", \"\");\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.dataset.informationLabelOpen || \"Open transcript\";\n this.closeLabel =\n this.$module.dataset.informationLabelClose || \"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\", \"\");\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\", \"\");\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\", \"\");\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","export class TextInput {\n constructor($module) {\n this.$module = $module;\n this.$input = $module && $module.querySelector(\".tna-text-input\");\n\n if (!this.$module || !this.$input) {\n return;\n }\n\n if (this.$input.getAttribute(\"type\") === \"password\") {\n this.$textInputWrapper = document.createElement(\"div\");\n this.$textInputWrapper.classList.add(\"tna-text-input-wrapper\");\n\n this.$textInputPasswordToggle = document.createElement(\"button\");\n this.$textInputPasswordToggle.setAttribute(\"type\", \"button\");\n this.$textInputPasswordToggle.classList.add(\n \"tna-button\",\n \"tna-button--small\",\n \"tna-button--icon-only\",\n );\n this.$textInputPasswordToggle.setAttribute(\n \"aria-controls\",\n this.$input.id,\n );\n this.updateTogglePasswordButtonText();\n\n this.$textInputWrapper.appendChild(this.$input);\n this.$textInputWrapper.appendChild(this.$textInputPasswordToggle);\n this.$module.appendChild(this.$textInputWrapper);\n\n this.$textInputPasswordToggle.addEventListener(\"click\", () => {\n this.togglePasswordType();\n this.$input.focus();\n });\n }\n }\n\n togglePasswordType() {\n if (this.$input.getAttribute(\"type\") === \"password\") {\n this.$input.setAttribute(\"type\", \"text\");\n } else {\n this.$input.setAttribute(\"type\", \"password\");\n }\n this.updateTogglePasswordButtonText();\n }\n\n updateTogglePasswordButtonText() {\n if (this.$input.getAttribute(\"type\") === \"password\") {\n this.$textInputPasswordToggle.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\" height=\"16\" aria-hidden=\"true\" focusable=\"false\"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d=\"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z\"/></svg>Show password`;\n this.$textInputPasswordToggle.setAttribute(\"title\", \"Show password\");\n this.$textInputPasswordToggle.setAttribute(\"aria-label\", \"Show password\");\n } else {\n this.$textInputPasswordToggle.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\" height=\"16\" aria-hidden=\"true\" focusable=\"false\"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d=\"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5L373 389.9z\"/></svg></i>Hide password`;\n this.$textInputPasswordToggle.setAttribute(\"title\", \"Hide password\");\n this.$textInputPasswordToggle.setAttribute(\"aria-label\", \"Hide password\");\n }\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\nconst tnaCookiePolicies = [\"usage\", \"settings\", \"marketing\", \"essential\"];\n\n/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n defaultDomain = \"\";\n /** @protected */\n defaultPath = \"\";\n /** @protected */\n secure = true;\n /** @protected */\n policiesKey = \"\";\n /** @protected */\n events = null;\n /** @protected */\n defaultAge = null;\n /** @protected */\n completePoliciesOnInit = false;\n\n /**\n * Create a cookie handler.\n * @param {String} [options.defaultDomain] - The domain to register the cookie with.\n * @param {String} [options.path] - The domain to register the cookie with.\n * @param {Boolean} [options.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.policiesKey] - The name of the cookie.\n * @param {String} [options.newInstance=false] - Create a fresh instance of the cookie class.\n * @param {Number} [options.defaultAge] - The default age of non-session cookies.\n * @param {Boolean} [options.noInit=false] - Don't initialise a blank cookie policy.\n */\n constructor(options = {}) {\n const {\n defaultDomain,\n defaultPath,\n secure,\n policiesKey,\n newInstance = false,\n defaultAge,\n noInit = false,\n } = options;\n if (!newInstance && window.TNAFrontendCookies) {\n return window.TNAFrontendCookies;\n }\n if (defaultDomain === undefined) {\n this.defaultDomain =\n document.documentElement.dataset.tnaCookiesDomain || \"\";\n } else {\n this.defaultDomain = defaultDomain;\n }\n if (defaultPath === undefined) {\n this.defaultPath = document.documentElement.dataset.tnaCookiesPath || \"/\";\n } else {\n this.defaultPath = defaultPath;\n }\n if (secure === undefined) {\n this.secure =\n document.documentElement.dataset.tnaCookiesInsecure !== \"true\";\n } else {\n this.secure = secure;\n }\n if (policiesKey === undefined) {\n this.policiesKey =\n document.documentElement.dataset.tnaCookiesPoliciesKey ||\n \"cookies_policy\";\n } else {\n this.policiesKey = policiesKey;\n }\n if (defaultAge === undefined) {\n this.defaultAge =\n parseInt(document.documentElement.dataset.tnaCookiesDefaultAge) ||\n 31536000; // 365 days;\n } else {\n this.defaultAge = defaultAge;\n }\n this.events = new CookieEventHandler();\n this.completePoliciesOnInit =\n Object.keys(this.policies).length === tnaCookiePolicies.length &&\n tnaCookiePolicies.every(\n (policy) =>\n Object.keys(this.policies).includes(policy) &&\n typeof this.policies[policy] === \"boolean\",\n );\n if (!this.completePoliciesOnInit && !noInit) {\n this.init();\n }\n window.TNAFrontendCookies = this;\n }\n\n /** @protected */\n init() {\n const existingPolicies = this.policies;\n const filteredExistingPolicies = Object.fromEntries(\n Object.keys(existingPolicies)\n .filter((policy) => tnaCookiePolicies.includes(policy))\n .map((policy) => [policy, existingPolicies[policy]]),\n );\n this.savePolicies({\n usage: false,\n settings: false,\n marketing: false,\n ...filteredExistingPolicies,\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.defaultDomain] - The domain to register the cookie with.\n * @param {String} [options.path=this.defaultPath] - 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.defaultDomain,\n path = this.defaultPath,\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 }\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};","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 { TextInput } from \"./components/text-input/text-input.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 $textInputs = $scope.querySelectorAll('[data-module=\"tna-text-input\"]');\n $textInputs.forEach(($textInput) => {\n new TextInput($textInput);\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], .tna-picture__transcript[hidden]\",\n )\n .forEach((e) => {\n e.removeAttribute(\"hidden\");\n e.dataset.wasClosed = \"\";\n });\n } else {\n document\n .querySelectorAll(\".tna-details__details[data-was-closed]\")\n .forEach((e) => {\n e.removeAttribute(\"open\");\n delete e.dataset.wasClosed;\n });\n document\n .querySelectorAll(\n \".tna-accordion__content[data-was-closed], .tna-picture__transcript[data-was-closed]\",\n )\n .forEach((e) => {\n e.setAttribute(\"hidden\", \"\");\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 TextInput,\n};\n"],"names":["root","factory","exports","module","define","amd","self","Accordion","$module","_this","_classCallCheck","this","$items","querySelectorAll","allowMultipleItemsOpen","dataset","forEach","$item","initItem","initState","key","value","_this2","$heading","querySelector","$content","classList","add","remove","removeAttribute","setAttribute","$headingButton","document","createElement","id","innerText","appendChild","addEventListener","getAttribute","closeItem","openItem","_this3","closeAllItemsExcept","concat","trim","$excludeItem","_this4","Array","from","filter","Breadcrumbs","_createClass","$breadcrumbsList","$breadcrumbs","length","contains","uniqueId","uuidv4","$expandable","style","display","$expandButton","innerHTML","focus","insertBefore","nextSibling","CookieBanner","$acceptButton","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","cookies","Cookies","newInstance","cookiePreferencesSetKey","preferencesKey","completePoliciesOnInit","exists","hasValue","accept","reject","complete","acceptAllPolicies","rejectAllPolicies","set","$closeButton","close","ErrorSummary","disableAutofocus","setFocus","$element","_options$onBeforeFocu","options","arguments","undefined","isFocusable","onBlur","_options$onBlur","call","once","onBeforeFocus","Footer","$themeSelector","$tnaTemplate","$themeSelectorButtons","$themeSelectorButton","e","$button","target","setTheme","selectThemeSelectorButton","isPolicyAccepted","showThemeSelector","on","data","Object","hasOwn","settings","hideThemeSelector","$currentThemeButton","find","get","theme","$selectedButton","Gallery","$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","GlobalHeader","$toggleButton","$topNavigation","$links","menuOpened","mql","window","matchMedia","syncState","handleToggleNavigation","addListener","code","matches","show","hide","hidden","i","Header","Picture","$imageWrapper","$transcriptToggle","$transcript","transcriptOpened","openLabel","informationLabelOpen","closeLabel","informationLabelClose","init","toggleTranscript","SkipLink","linkedElementId","split","pop","$linkedElement","getElementById","focusLinkedElement","linkedElementListener","removeFocusProperties","Tabs","$tabList","$tabListItemLinks","$tabItems","currentTabIndex","$tabListItemLink","tabPanelID","$tabPanel","handleItemLinkClick","switchTabByIndex","handleItemLinkKeyDown","itemLinkClickEvent","targetItem","currentTarget","switchTabByID","itemLinkKeyDownEvent","previousTab","nextTab","newIndex","switchFocus","index","$tabItem","targetId","TextInput","$input","$textInputWrapper","$textInputPasswordToggle","updateTogglePasswordButtonText","togglePasswordType","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","_defineProperty","event","callback","events","_toConsumableArray","oneTimeEvents","eventToTrigger","splice","tnaCookiePolicies","defaultDomain","defaultPath","secure","policiesKey","_options$newInstance","defaultAge","_options$noInit","noInit","documentElement","tnaCookiesDomain","tnaCookiesPath","tnaCookiesInsecure","tnaCookiesPoliciesKey","parseInt","tnaCookiesDefaultAge","keys","policies","every","policy","includes","existingPolicies","filteredExistingPolicies","fromEntries","map","savePolicies","_objectSpread","usage","marketing","essential","deserialised","cookie","x","parts","JSON","parse","all","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain","domain","_options$path","path","_options$secure","_options$session","session","encodeURIComponent","trigger","setPolicy","accepted","allPolicies","k","toLowerCase","stringify","replace","c","crypto","getRandomValues","Uint8Array","toString","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","r","Symbol","toStringTag","initAll","$scope","scope","HTMLElement","$body","onFirstTouch","removeEventListener","$accordion","$cookieBanner","$errorSummary","$footer","$gallery","$globalHeader","$header","$picture","$skipLink","$tabModule","$textInput","checkTableForScroll","$tableWrapper","scrollable","scrollWidth","clientWidth","$tableCaption","$tableWrappers","evt","wasClosed"],"sourceRoot":""}
1
+ {"version":3,"file":"all.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","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/components/text-input/text-input.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","webpack://TNAFrontend/./src/nationalarchives/all.mjs"],"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 ","export class Accordion {\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\", \"\");\n\n const $headingButton = document.createElement(\"button\");\n $headingButton.classList.add(\"tna-accordion__summary\");\n $headingButton.setAttribute(\"type\", \"button\");\n $headingButton.setAttribute(\"aria-controls\", $content.id);\n $headingButton.innerText = $heading.innerText;\n $heading.innerText = \"\";\n $heading.appendChild($headingButton);\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.trim()}, 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.trim()}, Show this section`,\n );\n $content.setAttribute(\"hidden\", \"\");\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(\"type\", \"button\");\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 this.cookies = new Cookies({ newInstance: true });\n\n this.cookiePreferencesSetKey =\n this.$module.dataset.preferencesKey || \"cookie_preferences_set\";\n\n if (!this.cookies.completePoliciesOnInit) {\n this.cookies.delete(this.cookiePreferencesSetKey);\n }\n\n if (\n !this.cookies.exists(this.cookiePreferencesSetKey) ||\n !this.cookies.hasValue(this.cookiePreferencesSetKey, \"true\")\n ) {\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\", \"\");\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\", \"\");\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.cookiePreferencesSetKey, true);\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", \"\");\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.dataset.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\", \"\");\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\", \"\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n $item\n .querySelector(\".tna-gallery__item-header\")\n ?.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\"));\n this.$itemsContainer.setAttribute(\"tabindex\", \"0\");\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 this.$itemsContainer.addEventListener(\"blur\", () =>\n this.$itemsContainer.removeAttribute(\"tabindex\"),\n );\n }\n\n showIndex() {\n this.showItem(\"\");\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-items\");\n this.$showIndex?.setAttribute(\"hidden\", \"\");\n }\n\n showItem(id) {\n this.$items.forEach(($item) => {\n if (id && $item.id === id) {\n $item.removeAttribute(\"hidden\");\n $item.removeAttribute(\"aria-hidden\");\n } else {\n $item.setAttribute(\"hidden\", \"\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n }\n });\n this.$navigationItems.forEach(($item) => {\n if (id) {\n if ($item.getAttribute(\"aria-controls\") === id) {\n $item.setAttribute(\"aria-current\", \"true\");\n if (this.isFullScreen()) {\n $item.scrollIntoView({ block: \"nearest\" });\n }\n } else {\n $item.setAttribute(\"aria-current\", \"false\");\n }\n } else {\n $item.setAttribute(\"aria-current\", \"false\");\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\", \"\");\n this.$exitFullscreen.removeAttribute(\"hidden\");\n } else {\n this.$exitFullscreen.setAttribute(\"hidden\", \"\");\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.dataset.informationLabelOpen || \"Open transcript\";\n this.closeLabel =\n this.$module.dataset.informationLabelClose || \"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\", \"\");\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\", \"\");\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\", \"\");\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","export class TextInput {\n constructor($module) {\n this.$module = $module;\n this.$input = $module && $module.querySelector(\".tna-text-input\");\n\n if (!this.$module || !this.$input) {\n return;\n }\n\n if (this.$input.getAttribute(\"type\") === \"password\") {\n this.$textInputWrapper = document.createElement(\"div\");\n this.$textInputWrapper.classList.add(\"tna-text-input-wrapper\");\n\n this.$textInputPasswordToggle = document.createElement(\"button\");\n this.$textInputPasswordToggle.setAttribute(\"type\", \"button\");\n this.$textInputPasswordToggle.classList.add(\n \"tna-button\",\n \"tna-button--small\",\n \"tna-button--icon-only\",\n );\n this.$textInputPasswordToggle.setAttribute(\n \"aria-controls\",\n this.$input.id,\n );\n this.updateTogglePasswordButtonText();\n\n this.$textInputWrapper.appendChild(this.$input);\n this.$textInputWrapper.appendChild(this.$textInputPasswordToggle);\n this.$module.appendChild(this.$textInputWrapper);\n\n this.$textInputPasswordToggle.addEventListener(\"click\", () => {\n this.togglePasswordType();\n this.$input.focus();\n });\n }\n }\n\n togglePasswordType() {\n if (this.$input.getAttribute(\"type\") === \"password\") {\n this.$input.setAttribute(\"type\", \"text\");\n } else {\n this.$input.setAttribute(\"type\", \"password\");\n }\n this.updateTogglePasswordButtonText();\n }\n\n updateTogglePasswordButtonText() {\n if (this.$input.getAttribute(\"type\") === \"password\") {\n this.$textInputPasswordToggle.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\" height=\"16\" aria-hidden=\"true\" focusable=\"false\"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d=\"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z\"/></svg>Show password`;\n this.$textInputPasswordToggle.setAttribute(\"title\", \"Show password\");\n this.$textInputPasswordToggle.setAttribute(\"aria-label\", \"Show password\");\n } else {\n this.$textInputPasswordToggle.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\" height=\"16\" aria-hidden=\"true\" focusable=\"false\"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d=\"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5L373 389.9z\"/></svg></i>Hide password`;\n this.$textInputPasswordToggle.setAttribute(\"title\", \"Hide password\");\n this.$textInputPasswordToggle.setAttribute(\"aria-label\", \"Hide password\");\n }\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\nconst tnaCookiePolicies = [\"usage\", \"settings\", \"marketing\", \"essential\"];\n\n/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n defaultDomain = \"\";\n /** @protected */\n defaultPath = \"\";\n /** @protected */\n secure = true;\n /** @protected */\n policiesKey = \"\";\n /** @protected */\n events = null;\n /** @protected */\n defaultAge = null;\n /** @protected */\n completePoliciesOnInit = false;\n\n /**\n * Create a cookie handler.\n * @param {String} [options.defaultDomain] - The domain to register the cookie with.\n * @param {String} [options.path] - The domain to register the cookie with.\n * @param {Boolean} [options.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.policiesKey] - The name of the cookie.\n * @param {String} [options.newInstance=false] - Create a fresh instance of the cookie class.\n * @param {Number} [options.defaultAge] - The default age of non-session cookies.\n * @param {Boolean} [options.noInit=false] - Don't initialise a blank cookie policy.\n */\n constructor(options = {}) {\n const {\n defaultDomain,\n defaultPath,\n secure,\n policiesKey,\n newInstance = false,\n defaultAge,\n noInit = false,\n } = options;\n if (!newInstance && window.TNAFrontendCookies) {\n return window.TNAFrontendCookies;\n }\n if (defaultDomain === undefined) {\n this.defaultDomain =\n document.documentElement.dataset.tnaCookiesDomain || \"\";\n } else {\n this.defaultDomain = defaultDomain;\n }\n if (defaultPath === undefined) {\n this.defaultPath = document.documentElement.dataset.tnaCookiesPath || \"/\";\n } else {\n this.defaultPath = defaultPath;\n }\n if (secure === undefined) {\n this.secure =\n document.documentElement.dataset.tnaCookiesInsecure !== \"true\";\n } else {\n this.secure = secure;\n }\n if (policiesKey === undefined) {\n this.policiesKey =\n document.documentElement.dataset.tnaCookiesPoliciesKey ||\n \"cookies_policy\";\n } else {\n this.policiesKey = policiesKey;\n }\n if (defaultAge === undefined) {\n this.defaultAge =\n parseInt(document.documentElement.dataset.tnaCookiesDefaultAge) ||\n 31536000; // 365 days;\n } else {\n this.defaultAge = defaultAge;\n }\n this.events = new CookieEventHandler();\n this.completePoliciesOnInit =\n Object.keys(this.policies).length === tnaCookiePolicies.length &&\n tnaCookiePolicies.every(\n (policy) =>\n Object.keys(this.policies).includes(policy) &&\n typeof this.policies[policy] === \"boolean\",\n );\n if (!this.completePoliciesOnInit && !noInit) {\n this.init();\n }\n window.TNAFrontendCookies = this;\n }\n\n /** @protected */\n init() {\n const existingPolicies = this.policies;\n const filteredExistingPolicies = Object.fromEntries(\n Object.keys(existingPolicies)\n .filter((policy) => tnaCookiePolicies.includes(policy))\n .map((policy) => [policy, existingPolicies[policy]]),\n );\n this.savePolicies({\n usage: false,\n settings: false,\n marketing: false,\n ...filteredExistingPolicies,\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.defaultDomain] - The domain to register the cookie with.\n * @param {String} [options.path=this.defaultPath] - 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.defaultDomain,\n path = this.defaultPath,\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 }\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};","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 { TextInput } from \"./components/text-input/text-input.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 $textInputs = $scope.querySelectorAll('[data-module=\"tna-text-input\"]');\n $textInputs.forEach(($textInput) => {\n new TextInput($textInput);\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], .tna-picture__transcript[hidden]\",\n )\n .forEach((e) => {\n e.removeAttribute(\"hidden\");\n e.dataset.wasClosed = \"\";\n });\n } else {\n document\n .querySelectorAll(\".tna-details__details[data-was-closed]\")\n .forEach((e) => {\n e.removeAttribute(\"open\");\n delete e.dataset.wasClosed;\n });\n document\n .querySelectorAll(\n \".tna-accordion__content[data-was-closed], .tna-picture__transcript[data-was-closed]\",\n )\n .forEach((e) => {\n e.setAttribute(\"hidden\", \"\");\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 TextInput,\n};\n"],"names":["root","factory","exports","module","define","amd","self","Accordion","$module","_this","_classCallCheck","this","$items","querySelectorAll","allowMultipleItemsOpen","dataset","forEach","$item","initItem","initState","key","value","_this2","$heading","querySelector","$content","classList","add","remove","removeAttribute","setAttribute","$headingButton","document","createElement","id","innerText","appendChild","addEventListener","getAttribute","closeItem","openItem","_this3","closeAllItemsExcept","concat","trim","$excludeItem","_this4","Array","from","filter","Breadcrumbs","_createClass","$breadcrumbsList","$breadcrumbs","length","contains","uniqueId","uuidv4","$expandable","style","display","$expandButton","innerHTML","focus","insertBefore","nextSibling","CookieBanner","$acceptButton","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","cookies","Cookies","newInstance","cookiePreferencesSetKey","preferencesKey","completePoliciesOnInit","exists","hasValue","accept","reject","complete","acceptAllPolicies","rejectAllPolicies","set","$closeButton","close","ErrorSummary","disableAutofocus","setFocus","$element","_options$onBeforeFocu","options","arguments","undefined","isFocusable","onBlur","_options$onBlur","call","once","onBeforeFocus","Footer","$themeSelector","$tnaTemplate","$themeSelectorButtons","$themeSelectorButton","e","$button","target","setTheme","selectThemeSelectorButton","isPolicyAccepted","showThemeSelector","on","data","Object","hasOwn","settings","hideThemeSelector","$currentThemeButton","find","get","theme","$selectedButton","Gallery","$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","_$item$querySelector","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","GlobalHeader","$toggleButton","$topNavigation","$links","menuOpened","mql","window","matchMedia","syncState","handleToggleNavigation","addListener","code","matches","show","hide","hidden","i","Header","Picture","$imageWrapper","$transcriptToggle","$transcript","transcriptOpened","openLabel","informationLabelOpen","closeLabel","informationLabelClose","init","toggleTranscript","SkipLink","linkedElementId","split","pop","$linkedElement","getElementById","focusLinkedElement","linkedElementListener","removeFocusProperties","Tabs","$tabList","$tabListItemLinks","$tabItems","currentTabIndex","$tabListItemLink","tabPanelID","$tabPanel","handleItemLinkClick","switchTabByIndex","handleItemLinkKeyDown","itemLinkClickEvent","targetItem","currentTarget","switchTabByID","itemLinkKeyDownEvent","previousTab","nextTab","newIndex","switchFocus","index","$tabItem","targetId","TextInput","$input","$textInputWrapper","$textInputPasswordToggle","updateTogglePasswordButtonText","togglePasswordType","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","_defineProperty","event","callback","events","_toConsumableArray","oneTimeEvents","eventToTrigger","splice","tnaCookiePolicies","defaultDomain","defaultPath","secure","policiesKey","_options$newInstance","defaultAge","_options$noInit","noInit","documentElement","tnaCookiesDomain","tnaCookiesPath","tnaCookiesInsecure","tnaCookiesPoliciesKey","parseInt","tnaCookiesDefaultAge","keys","policies","every","policy","includes","existingPolicies","filteredExistingPolicies","fromEntries","map","savePolicies","_objectSpread","usage","marketing","essential","deserialised","cookie","x","parts","JSON","parse","all","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain","domain","_options$path","path","_options$secure","_options$session","session","encodeURIComponent","trigger","setPolicy","accepted","allPolicies","k","toLowerCase","stringify","replace","c","crypto","getRandomValues","Uint8Array","toString","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","r","Symbol","toStringTag","initAll","$scope","scope","HTMLElement","$body","onFirstTouch","removeEventListener","$accordion","$cookieBanner","$errorSummary","$footer","$gallery","$globalHeader","$header","$picture","$skipLink","$tabModule","$textInput","checkTableForScroll","$tableWrapper","scrollable","scrollWidth","clientWidth","$tableCaption","$tableWrappers","evt","wasClosed"],"sourceRoot":""}