@nationalarchives/frontend 0.2.14 → 0.2.15

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 (46) 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/components/button/button.css +1 -1
  8. package/nationalarchives/components/button/button.css.map +1 -1
  9. package/nationalarchives/components/button/button.scss +2 -1
  10. package/nationalarchives/components/button/fixtures.json +8 -0
  11. package/nationalarchives/components/button/macro-options.json +7 -1
  12. package/nationalarchives/components/button/template.njk +5 -1
  13. package/nationalarchives/components/details/details.css +1 -1
  14. package/nationalarchives/components/details/details.css.map +1 -1
  15. package/nationalarchives/components/details/details.scss +2 -1
  16. package/nationalarchives/components/files-list/fixtures.json +21 -21
  17. package/nationalarchives/components/files-list/template.njk +2 -2
  18. package/nationalarchives/components/footer/fixtures.json +1 -1
  19. package/nationalarchives/components/footer/template.njk +1 -1
  20. package/nationalarchives/components/gallery/fixtures.json +2 -2
  21. package/nationalarchives/components/gallery/gallery.css +1 -1
  22. package/nationalarchives/components/gallery/gallery.css.map +1 -1
  23. package/nationalarchives/components/gallery/gallery.js +1 -1
  24. package/nationalarchives/components/gallery/gallery.js.map +1 -1
  25. package/nationalarchives/components/gallery/gallery.mjs +33 -24
  26. package/nationalarchives/components/gallery/gallery.scss +3 -2
  27. package/nationalarchives/components/gallery/template.njk +4 -4
  28. package/nationalarchives/components/global-header/fixtures.json +7 -7
  29. package/nationalarchives/components/global-header/global-header.css +1 -1
  30. package/nationalarchives/components/global-header/global-header.css.map +1 -1
  31. package/nationalarchives/components/global-header/global-header.scss +1 -1
  32. package/nationalarchives/components/global-header/template.njk +2 -3
  33. package/nationalarchives/components/header/fixtures.json +1 -1
  34. package/nationalarchives/components/header/header.css +1 -1
  35. package/nationalarchives/components/header/header.css.map +1 -1
  36. package/nationalarchives/components/header/header.scss +3 -3
  37. package/nationalarchives/components/header/template.njk +11 -4
  38. package/nationalarchives/components/hero/fixtures.json +7 -7
  39. package/nationalarchives/components/hero/template.njk +2 -1
  40. package/nationalarchives/ie.css +1 -1
  41. package/nationalarchives/ie.css.map +1 -1
  42. package/nationalarchives/ie.scss +48 -5
  43. package/nationalarchives/prototype-kit.css +1 -1
  44. package/nationalarchives/prototype-kit.css.map +1 -1
  45. package/nationalarchives/templates/fixtures.json +5 -5
  46. 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/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 polyfillRequired = null;\n\n constructor($module) {\n this.$module = $module;\n this.$items = $module && $module.querySelectorAll(\".tna-accordion__item\");\n if (!this.$module || !this.$items) {\n return;\n }\n\n this.allowMultipleItemsOpen =\n this.$module.dataset[\"multiselectable\"] === \"true\";\n\n this.$items.forEach(($item) => this.initItem($item));\n this.initState();\n }\n\n initItem($item) {\n const $heading = $item.querySelector(\".tna-accordion__heading\");\n const $content = $item.querySelector(\".tna-accordion__body\");\n\n if (!$heading || !$content) {\n return;\n }\n\n $item.classList.add(\"tna-accordion__details\");\n $item.classList.remove(\"tna-accordion__item\");\n\n $heading.removeAttribute(\"class\");\n\n $content.classList.add(\"tna-accordion__content\");\n $content.classList.remove(\"tna-accordion__body\");\n $content.setAttribute(\"hidden\", \"until-found\");\n\n const $headingButton = document.createElement(\"button\");\n $headingButton.classList.add(\"tna-accordion__summary\");\n $headingButton.setAttribute(\"aria-controls\", $content.id);\n $heading.parentNode.insertBefore($headingButton, $heading.nextSibling);\n $headingButton.appendChild($heading);\n\n $headingButton.addEventListener(\"click\", () => {\n const isOpen = $headingButton.getAttribute(\"aria-expanded\") === \"true\";\n if (isOpen) {\n this.closeItem($item);\n } else {\n this.openItem($item);\n }\n });\n }\n\n initState() {\n this.$items.forEach(($item) => {\n if ($item.dataset[\"isopen\"] === \"true\") {\n this.openItem($item);\n } else {\n this.closeItem($item);\n }\n $item.removeAttribute(\"data-isopen\");\n });\n }\n\n openItem($item) {\n if (!this.allowMultipleItemsOpen) {\n this.closeAllItemsExcept($item);\n }\n const $headingButton = $item.querySelector(\".tna-accordion__summary\");\n const $content = $item.querySelector(\".tna-accordion__content\");\n $headingButton.setAttribute(\"aria-expanded\", \"true\");\n $headingButton.setAttribute(\n \"aria-label\",\n `${$headingButton.innerText}, Hide this section`,\n );\n $content.removeAttribute(\"hidden\");\n // $content.setAttribute(\"tabindex\", \"0\");\n }\n\n closeItem($item) {\n const $headingButton = $item.querySelector(\".tna-accordion__summary\");\n const $content = $item.querySelector(\".tna-accordion__content\");\n $headingButton.setAttribute(\"aria-expanded\", \"false\");\n $headingButton.setAttribute(\n \"aria-label\",\n `${$headingButton.innerText}, Show this section`,\n );\n $content.setAttribute(\"hidden\", \"until-found\");\n // $content.setAttribute(\"tabindex\", \"-1\");\n }\n\n closeAllItemsExcept($excludeItem) {\n Array.from(this.$items)\n .filter(\n ($item) =>\n $item.querySelector(\".tna-accordion__summary\") !== $excludeItem &&\n $item\n .querySelector(\".tna-accordion__summary\")\n .getAttribute(\"aria-expanded\") === \"true\",\n )\n .forEach(($item) => this.closeItem($item));\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Breadcrumbs {\n constructor($module) {\n this.$module = $module;\n this.$breadcrumbsList =\n $module && $module.querySelector(\".tna-breadcrumbs__list\");\n this.$breadcrumbs =\n $module &&\n this.$breadcrumbsList &&\n $module.querySelectorAll(\".tna-breadcrumbs__item\");\n\n if (!this.$module || !this.$breadcrumbsList || !this.$breadcrumbs) {\n return;\n }\n\n if (\n this.$breadcrumbs.length > 2 &&\n !this.$module.classList.contains(\"tna-breadcrumbs--no-collapse\")\n ) {\n const uniqueId = `tna-breadcrumbs-${uuidv4()}`;\n\n const $expandable = document.createElement(\"li\");\n $expandable.classList.add(\n \"tna-breadcrumbs__item\",\n \"tna-breadcrumbs__item--expandable\",\n );\n $expandable.style.display = \"none\";\n\n const $expandButton = document.createElement(\"button\");\n $expandButton.classList.add(\"tna-breadcrumbs__link\");\n $expandButton.innerHTML =\n \"<span class='tna-!--visually-hidden'>Expand breadcrumbs</span>&hellip;\";\n $expandButton.setAttribute(\"aria-expanded\", \"false\");\n $expandButton.setAttribute(\"aria-controls\", uniqueId);\n $expandButton.addEventListener(\"click\", () => {\n this.$module.classList.remove(\"tna-breadcrumbs--collapsed\");\n $expandable.remove();\n this.$module.setAttribute(\"tabindex\", \"0\");\n this.$module.focus();\n this.$module.setAttribute(\"tabindex\", \"-1\");\n });\n\n $expandable.appendChild($expandButton);\n\n this.$breadcrumbsList.setAttribute(\"id\", uniqueId);\n this.$breadcrumbsList.insertBefore(\n $expandable,\n this.$breadcrumbs[this.$breadcrumbs.length - 2].nextSibling,\n );\n\n this.$module.classList.add(\"tna-breadcrumbs--collapsed\");\n }\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport { Cookies };\n\nexport class CookieBanner {\n constructor($module) {\n this.$module = $module;\n this.$acceptButton = $module && $module.querySelector('[value=\"accept\"]');\n this.$rejectButton = $module && $module.querySelector('[value=\"reject\"]');\n this.$prompt =\n $module && $module.querySelector(\".tna-cookie-banner__message--prompt\");\n this.$acceptedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--accepted\");\n this.$rejectedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--rejected\");\n this.$closeButtons = $module && $module.querySelectorAll('[value=\"close\"]');\n\n if (\n !this.$module ||\n !this.$acceptButton ||\n !this.$rejectButton ||\n !this.$prompt ||\n !this.$acceptedMessage ||\n !this.$rejectedMessage ||\n !this.$closeButtons\n ) {\n return;\n }\n\n const policies = this.$module.getAttribute(\"data-policies\") || \"\";\n const extraPolicies = policies\n .split(\",\")\n .filter((x) => x)\n .map((policy) => policy.trim());\n const domain = this.$module.getAttribute(\"data-domain\") || undefined;\n const path = this.$module.getAttribute(\"data-path\") || undefined;\n const secure = this.$module.getAttribute(\"data-secure\") || undefined;\n const policiesKey =\n this.$module.getAttribute(\"data-policieskey\") || undefined;\n\n this.cookies = new Cookies({\n extraPolicies,\n domain,\n path,\n secure,\n policiesKey,\n newInstance: true,\n });\n\n this.cookiePreferencesSet =\n this.$module.getAttribute(\"data-preferenceskey\") ||\n \"cookie_preferences_set\";\n const cookiePreferencesSet = this.cookies.hasValue(\n this.cookiePreferencesSet,\n \"true\",\n );\n\n if (!cookiePreferencesSet) {\n this.$module.removeAttribute(\"hidden\");\n\n this.$acceptButton.addEventListener(\"click\", () => this.accept());\n this.$rejectButton.addEventListener(\"click\", () => this.reject());\n }\n }\n\n accept() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$acceptedMessage.removeAttribute(\"hidden\");\n this.$acceptedMessage.focus();\n this.$acceptedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.acceptAllPolicies();\n }\n\n reject() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$rejectedMessage.removeAttribute(\"hidden\");\n this.$rejectedMessage.focus();\n this.$rejectedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.rejectAllPolicies();\n }\n\n complete() {\n this.cookies.set(this.cookiePreferencesSet, true);\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", true);\n }\n}\n","export class ErrorSummary {\n constructor($module) {\n this.$module = $module;\n }\n\n init() {\n if (!this.$module) {\n return;\n }\n\n const disableAutoFocus =\n this.$module.getAttribute(\"data-disableautofocus\") === \"true\" || false;\n\n if (!disableAutoFocus) {\n this.setFocus(this.$module);\n }\n }\n\n setFocus($element, options = {}) {\n const isFocusable = $element.getAttribute(\"tabindex\");\n\n if (!isFocusable) {\n $element.setAttribute(\"tabindex\", \"-1\");\n }\n\n /**\n * Handle element focus\n */\n function onFocus() {\n $element.addEventListener(\"blur\", onBlur, { once: true });\n }\n\n /**\n * Handle element blur\n */\n function onBlur() {\n options.onBlur?.call($element);\n\n if (!isFocusable) {\n $element.removeAttribute(\"tabindex\");\n }\n }\n\n // Add listener to reset element on blur, after focus\n $element.addEventListener(\"focus\", onFocus, { once: true });\n\n // Focus element\n options.onBeforeFocus?.call($element);\n $element.focus();\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport class Footer {\n constructor($module) {\n this.$module = $module;\n this.$themeSelector =\n $module && $module.querySelector(\".tna-footer__theme-selector\");\n this.$tnaTemplate = document.querySelector(\".tna-template\");\n\n if (!this.$module || !this.$themeSelector || !this.$tnaTemplate) {\n return;\n }\n\n this.$themeSelectorButtons = this.$themeSelector.querySelectorAll(\n \"button.tna-footer__theme-selector-button[value]\",\n );\n\n Array.from(this.$themeSelectorButtons).forEach(($themeSelectorButton) => {\n $themeSelectorButton.addEventListener(\"click\", (e) => {\n const $button = e.target;\n this.setTheme($button.value);\n this.selectThemeSelectorButton($button);\n });\n });\n\n this.cookies = new Cookies();\n if (this.cookies.isPolicyAccepted(\"settings\")) {\n this.showThemeSelector();\n }\n this.cookies.on(\"changePolicy\", (data) => {\n if (Object.hasOwn(data, \"settings\")) {\n if (data.settings === true) {\n this.showThemeSelector();\n } else {\n this.cookies.delete(\"theme\");\n this.hideThemeSelector();\n }\n }\n });\n }\n\n showThemeSelector() {\n this.$themeSelector.removeAttribute(\"hidden\");\n if (this.cookies.exists(\"theme\")) {\n const $currentThemeButton = Array.from(this.$themeSelectorButtons).find(\n ($button) => $button.value === this.cookies.get(\"theme\"),\n );\n if ($currentThemeButton) {\n this.selectThemeSelectorButton($currentThemeButton);\n }\n }\n }\n\n hideThemeSelector() {\n this.$themeSelector.setAttribute(\"hidden\", true);\n }\n\n setTheme(theme) {\n if (theme === \"light\") {\n this.$tnaTemplate.classList.remove(\n \"tna-template--system-theme\",\n \"tna-template--dark-theme\",\n );\n } else if (theme === \"dark\") {\n this.$tnaTemplate.classList.remove(\"tna-template--system-theme\");\n this.$tnaTemplate.classList.add(`tna-template--dark-theme`);\n } else if (theme === \"system\") {\n this.$tnaTemplate.classList.remove(\"tna-template--dark-theme\");\n this.$tnaTemplate.classList.add(`tna-template--system-theme`);\n } else {\n return;\n }\n this.cookies.set(\"theme\", theme);\n }\n\n selectThemeSelectorButton($selectedButton) {\n Array.from(this.$themeSelectorButtons).forEach(($button) => {\n if ($button.value === $selectedButton.value) {\n $button.classList.remove(\"tna-button--plain\");\n $button.setAttribute(\"aria-current\", true);\n } else {\n $button.classList.add(\"tna-button--plain\");\n $button.removeAttribute(\"aria-current\");\n }\n });\n }\n}\n","export class Gallery {\n constructor($module) {\n this.$module = $module;\n this.$itemsContainer =\n $module && $module.querySelector(\".tna-gallery__items\");\n this.$items =\n this.$itemsContainer &&\n this.$itemsContainer.querySelectorAll(\".tna-gallery__item\");\n this.$navigation =\n $module && $module.querySelector(\".tna-gallery__navigation\");\n this.$navigationItems =\n this.$navigation &&\n $module.querySelectorAll(\".tna-gallery__navigation-item\");\n this.$options = $module && $module.querySelector(\".tna-gallery__options\");\n this.$navigationButtons =\n $module && $module.querySelector(\".tna-gallery__navigation-buttons\");\n\n if (\n !this.$module ||\n !this.$itemsContainer ||\n !this.$items ||\n !this.$navigation ||\n !this.$navigationItems ||\n !this.$options ||\n !this.$navigationButtons\n ) {\n return;\n }\n\n this.$module.classList.add(\"tna-gallery--interactive\");\n\n this.$showIndex = this.$options.querySelector('button[value=\"show-index\"]');\n this.$enterFullscreen = this.$options.querySelector(\n 'button[value=\"enter-fullscreen\"]',\n );\n this.$exitFullscreen = this.$options.querySelector(\n 'button[value=\"exit-fullscreen\"]',\n );\n\n this.$navigationButtonPrev = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-prev\",\n );\n this.$navigationButtonNext = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-next\",\n );\n\n this.$module.addEventListener(\"fullscreenchange\", () =>\n this.syncFullScreen(),\n );\n\n this.setup();\n this.allowGridIndex = this.$module.dataset[\"showgrid\"] || false;\n if (this.allowGridIndex) {\n this.showIndex();\n } else {\n this.currentId = this.$items[0].id;\n this.showItem(this.currentId);\n }\n }\n\n setup() {\n this.$items.forEach(($item) => {\n $item.setAttribute(\"hidden\", \"until-found\");\n $item.setAttribute(\"role\", \"tabpanel\");\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.setAttribute(\"tabindex\", \"0\");\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 this.$itemsContainer.focus();\n });\n this.$navigationButtonNext?.addEventListener(\"click\", () => {\n this.showNextItem();\n this.$itemsContainer.focus();\n });\n }\n\n showIndex() {\n this.showItem(\"\");\n this.$itemsContainer.setAttribute(\"tabindex\", \"-1\");\n this.$showIndex?.setAttribute(\"hidden\", true);\n }\n\n showItem(id) {\n this.$items.forEach(($item) => {\n if (id && $item.id === id) {\n $item.removeAttribute(\"hidden\");\n $item.removeAttribute(\"tabindex\");\n } else {\n $item.setAttribute(\"hidden\", \"until-found\");\n $item.setAttribute(\"tabindex\", \"-1\");\n }\n });\n this.$navigationItems.forEach(($item, index) => {\n if (id) {\n if ($item.getAttribute(\"aria-controls\") === id) {\n $item.setAttribute(\"aria-selected\", \"true\");\n $item.setAttribute(\"tabindex\", \"0\");\n } else {\n $item.setAttribute(\"aria-selected\", \"false\");\n $item.setAttribute(\"tabindex\", \"-1\");\n }\n } else {\n $item.setAttribute(\"aria-selected\", \"false\");\n $item.setAttribute(\"tabindex\", index === 0 ? \"0\" : \"-1\");\n }\n });\n if (this.allowGridIndex) {\n this.$showIndex?.removeAttribute(\"hidden\");\n }\n this.currentId = id;\n this.$itemsContainer.setAttribute(\"tabindex\", \"0\");\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, true);\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, true);\n }\n\n showFirstItem() {\n this.showItem(this.$items[0].id, true);\n }\n\n showLastItem() {\n this.showItem(this.$items[this.$items.length - 1].id, true);\n }\n\n toggleFullScreen() {\n if (!document.fullscreenElement) {\n this.enterFullScreen();\n } else if (document.exitFullscreen) {\n this.exitFullScreen();\n }\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 (document.fullscreenElement) {\n this.$enterFullscreen.setAttribute(\"hidden\", true);\n this.$exitFullscreen.removeAttribute(\"hidden\");\n } else {\n this.$exitFullscreen.setAttribute(\"hidden\", true);\n this.$enterFullscreen.removeAttribute(\"hidden\");\n }\n }\n}\n","export class GlobalHeader {\n constructor($module) {\n this.$module = $module;\n this.$toggleButton =\n $module && $module.querySelector(\".tna-global-header__navigation-button\");\n this.$navigation =\n $module &&\n $module.querySelector(\".tna-global-header__navigation-wrapper\");\n this.$topNavigation =\n $module &&\n $module.querySelector(\".tna-global-header__top-navigation-wrapper\");\n this.$links =\n $module &&\n ((this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\")) ||\n (this.$topNavigation &&\n this.$topNavigation.querySelectorAll(\"[tabindex='0']\")));\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 48em)\");\n\n if (\n !this.$module ||\n !this.$toggleButton ||\n (!this.$navigation && !this.$topNavigation)\n ) {\n return;\n }\n\n this.$toggleButton.removeAttribute(\"hidden\");\n this.syncState();\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n\n this.$module.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\" && this.mql.matches) {\n if (this.menuOpened) {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n }\n });\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.show();\n } else {\n this.hide();\n }\n } else {\n this.show();\n }\n }\n\n hide() {\n if (this.$navigation) {\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n }\n if (this.$topNavigation) {\n this.$topNavigation.hidden = true;\n this.$topNavigation.setAttribute(\"aria-hidden\", \"true\");\n }\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-global-header__navigation-button--opened\",\n );\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n\n show() {\n if (this.$navigation) {\n this.$navigation.hidden = false;\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n }\n if (this.$topNavigation) {\n this.$topNavigation.hidden = false;\n this.$topNavigation.setAttribute(\"aria-hidden\", \"false\");\n }\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\n \"tna-global-header__navigation-button--opened\",\n );\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n}\n","export class Header {\n constructor($module) {\n this.$module = $module;\n this.$toggleButton =\n $module && $module.querySelector(\".tna-header__navigation-button\");\n this.$navigation =\n $module && $module.querySelector(\".tna-header__navigation\");\n this.$links =\n $module &&\n this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\");\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 48em)\");\n\n if (!this.$module || !this.$toggleButton || !this.$navigation) {\n return;\n }\n\n this.$toggleButton.removeAttribute(\"hidden\");\n this.syncState();\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n\n this.$module.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\") {\n if (this.menuOpened && this.mql.matches) {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n }\n });\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.show();\n } else {\n this.hide();\n }\n } else {\n this.show();\n }\n }\n\n show() {\n this.$navigation.classList.add(\"tna-header__navigation--open\");\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\"tna-header__navigation-button--opened\");\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n\n hide() {\n this.$navigation.classList.remove(\"tna-header__navigation--open\");\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-header__navigation-button--opened\",\n );\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Picture {\n constructor($module) {\n this.$module = $module;\n this.$imageWrapper =\n $module && $module.querySelector(\".tna-picture__image-wrapper\");\n\n this.$transcriptToggle =\n this.$imageWrapper &&\n this.$imageWrapper.querySelector(\".tna-picture__toggle-transcript\");\n\n this.$transcript =\n $module && $module.querySelector(\".tna-picture__transcript\");\n this.transcriptOpened = false;\n\n if (\n !this.$module ||\n !this.$imageWrapper ||\n !this.$transcriptToggle ||\n !this.$transcript\n ) {\n return;\n }\n\n this.openLabel =\n this.$module.getAttribute(\"data-informationlabelopen\") ||\n \"Open transcript\";\n this.closeLabel =\n this.$module.getAttribute(\"data-informationlabelclose\") ||\n \"Close transcript\";\n\n this.init();\n }\n\n init() {\n const uniqueId = `tna-picture-${uuidv4()}`;\n\n this.$transcriptToggle.removeAttribute(\"hidden\");\n this.$transcriptToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcriptToggle.addEventListener(\"click\", () =>\n this.toggleTranscript(),\n );\n\n this.$transcript.setAttribute(\"id\", uniqueId);\n this.$transcript.setAttribute(\"hidden\", \"until-found\");\n\n this.$transcript.addEventListener(\"keydown\", (e) => {\n switch (e.key) {\n case \"Escape\":\n this.toggleTranscript();\n this.$transcriptToggle.focus();\n break;\n }\n });\n }\n\n toggleTranscript() {\n this.transcriptOpened = !this.transcriptOpened;\n if (this.transcriptOpened) {\n this.$transcriptToggle.setAttribute(\"aria-expanded\", true);\n this.$transcriptToggle.innerText = this.closeLabel;\n this.$transcript.removeAttribute(\"hidden\");\n } else {\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcript.setAttribute(\"hidden\", \"until-found\");\n }\n }\n}\n","export class SkipLink {\n linkedElementListener = false;\n\n constructor($module) {\n this.$module = $module;\n this.linkedElementId = $module.getAttribute(\"href\").split(\"#\").pop();\n this.$linkedElement =\n $module &&\n this.linkedElementId &&\n document.getElementById(this.linkedElementId);\n\n if (!this.$module || !this.$linkedElement) {\n return;\n }\n this.$module.addEventListener(\"click\", () => this.focusLinkedElement());\n }\n\n focusLinkedElement() {\n if (!this.$linkedElement.getAttribute(\"tabindex\")) {\n this.$linkedElement.setAttribute(\"tabindex\", \"-1\");\n this.$linkedElement.classList.add(\"tna-!--no-focus-style\");\n\n if (!this.linkedElementListener) {\n this.$linkedElement.addEventListener(\"blur\", () =>\n this.removeFocusProperties(),\n );\n this.linkedElementListener = true;\n }\n }\n\n this.$linkedElement.focus();\n }\n\n removeFocusProperties() {\n this.$linkedElement.removeAttribute(\"tabindex\");\n this.$linkedElement.classList.remove(\"tna-!--no-focus-style\");\n }\n}\n","export class Tabs {\n constructor($module) {\n this.$module = $module;\n this.$tabList = $module && $module.querySelector(\".tna-tabs__list\");\n this.$tabListItemLinks =\n $module &&\n this.$tabList &&\n this.$tabList.querySelectorAll(\".tna-tabs__button\");\n this.$tabItems = $module && $module.querySelectorAll(\".tna-tabs__item\");\n\n if (\n !this.$module ||\n !this.$tabList ||\n !this.$tabListItemLinks ||\n !this.$tabItems ||\n this.$tabListItemLinks.length !== this.$tabItems.length\n ) {\n return;\n }\n\n this.currentTabIndex = 0;\n this.init();\n }\n\n init() {\n this.$module.classList.add(\"tna-tabs--interactive\");\n this.$tabList.removeAttribute(\"hidden\");\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n const tabPanelID = $tabListItemLink.getAttribute(\"aria-controls\");\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n const $tabPanel = document.getElementById(tabPanelID);\n $tabPanel.setAttribute(\"aria-labelledby\", $tabListItemLink.id);\n $tabPanel.setAttribute(\"role\", \"tabpanel\");\n $tabListItemLink.addEventListener(\n \"click\",\n (e) => this.handleItemLinkClick(e),\n true,\n );\n });\n this.switchTabByIndex(this.currentTabIndex);\n this.$module.addEventListener(\"keydown\", (e) =>\n this.handleItemLinkKeyDown(e),\n );\n }\n\n handleItemLinkClick(itemLinkClickEvent) {\n itemLinkClickEvent.preventDefault();\n const targetItem =\n itemLinkClickEvent.currentTarget.getAttribute(\"aria-controls\");\n this.switchTabByID(targetItem);\n }\n\n handleItemLinkKeyDown(itemLinkKeyDownEvent) {\n let preventDefaultKeyAction = false;\n switch (itemLinkKeyDownEvent.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.previousTab();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.nextTab();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.switchTabByIndex(0, true);\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.switchTabByIndex(this.$tabListItemLinks.length - 1, true);\n preventDefaultKeyAction = true;\n break;\n default:\n break;\n }\n if (preventDefaultKeyAction) {\n itemLinkKeyDownEvent.stopPropagation();\n itemLinkKeyDownEvent.preventDefault();\n }\n }\n\n nextTab() {\n if (this.currentTabIndex < this.$tabListItemLinks.length - 1) {\n this.switchTabByIndex(this.currentTabIndex + 1, true);\n } else {\n this.switchTabByIndex(0, true);\n }\n }\n\n previousTab() {\n if (this.currentTabIndex >= 1) {\n this.switchTabByIndex(this.currentTabIndex - 1, true);\n } else {\n this.switchTabByIndex(this.$tabListItemLinks.length - 1, true);\n }\n }\n\n switchTabByIndex(newIndex, switchFocus = false) {\n this.currentTabIndex = newIndex;\n this.$tabListItemLinks.forEach(($tabListItemLink, index) => {\n if (index === this.currentTabIndex) {\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n if (switchFocus) {\n $tabListItemLink.focus();\n }\n } else {\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n $tabListItemLink.setAttribute(\"tabindex\", \"-1\");\n }\n });\n this.$tabItems.forEach(($tabItem, index) => {\n if (index === this.currentTabIndex) {\n $tabItem.removeAttribute(\"hidden\");\n $tabItem.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabItem.setAttribute(\"hidden\", \"until-found\");\n $tabItem.setAttribute(\"tabindex\", \"-1\");\n }\n });\n }\n\n switchTabByID(targetId) {\n const index = Array.from(this.$tabItems).findIndex(\n ($tabItem) => $tabItem.getAttribute(\"id\") === targetId,\n );\n this.switchTabByIndex(index);\n }\n}\n","window.TNAFrontendCookies = window.TNAFrontendCookies || null;\nwindow.TNAFrontendCookieEvents = window.TNAFrontendCookieEvents || null;\n\nexport class CookieEventHandler {\n events = {};\n oneTimeEvents = {};\n\n constructor() {\n if (window.TNAFrontendCookieEvents) {\n return window.TNAFrontendCookieEvents;\n }\n window.TNAFrontendCookieEvents = this;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n if (!Object.hasOwn(this.events, event)) {\n this.events[event] = [];\n }\n this.events[event] = [...this.events[event], callback];\n }\n\n once(event, callback) {\n if (!Object.hasOwn(this.oneTimeEvents, event)) {\n this.oneTimeEvents[event] = [];\n }\n this.oneTimeEvents[event] = [...this.oneTimeEvents[event], callback];\n }\n\n /** @protected */\n trigger(event, data = {}) {\n if (Object.hasOwn(this.events, event)) {\n this.events[event].forEach((eventToTrigger) =>\n eventToTrigger.call(this, data),\n );\n }\n if (Object.hasOwn(this.oneTimeEvents, event)) {\n for (let i = this.oneTimeEvents[event].length - 1; i >= 0; i--) {\n const eventToTrigger = this.oneTimeEvents[event][i];\n eventToTrigger.call(this, data);\n this.oneTimeEvents[event].splice(i, 1);\n }\n }\n }\n}\n\n/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n extraPolicies = [];\n /** @protected */\n domain = \"\";\n /** @protected */\n path = \"\";\n /** @protected */\n secure = true;\n /** @protected */\n policiesKey = \"\";\n /** @protected */\n events = null;\n /** @protected */\n defaultAge = null;\n\n /**\n * Create a cookie handler.\n * @param {String} [options.extraPolicies=[]] - The extra cookie policies to manage in addition to essential, settings and usage.\n * @param {String} [options.domain=\"\"] - The domain to register the cookie with.\n * @param {String} [options.path=\"\"] - The domain to register the cookie with.\n * @param {String} [options.secure=true] - Only set cookie in HTTPS environments.\n * @param {String} [options.policiesKey=\"cookies_policy\"] - The name of the cookie.\n * @param {String} [options.newInstance=false] - Create a fresh instance of the cookie class.\n * @param {String} [options.defaultAge=31536000] - The default age of non-session cookies.\n */\n constructor(options = {}) {\n const {\n extraPolicies = [],\n domain = \"\",\n path = \"/\",\n secure = true,\n policiesKey = \"cookies_policy\",\n newInstance = false,\n defaultAge = 31536000, // 365 days\n } = options;\n if (newInstance) {\n this.destroyInstance();\n } else if (window.TNAFrontendCookies) {\n return window.TNAFrontendCookies;\n }\n this.extraPolicies = extraPolicies;\n this.domain = domain;\n this.path = path;\n this.secure = secure;\n this.policiesKey = policiesKey;\n this.defaultAge = defaultAge;\n this.events = new CookieEventHandler();\n this.init();\n window.TNAFrontendCookies = this;\n }\n\n /** @protected */\n init() {\n this.savePolicies({\n ...Object.fromEntries(\n this.extraPolicies.map((k) => [k.toLowerCase(), false]),\n ),\n usage: false,\n settings: false,\n ...this.policies,\n essential: true,\n });\n }\n\n destroyInstance() {\n window.TNAFrontendCookies = null;\n }\n\n /** @protected */\n get all() {\n const deserialised = {};\n document.cookie\n .split(\"; \")\n .filter((x) => x)\n .forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n if (parts[0]) {\n deserialised[parts[0]] = parts[1];\n }\n });\n return deserialised;\n }\n\n /** @protected */\n get policies() {\n try {\n return JSON.parse(this.get(this.policiesKey) || \"{}\");\n } catch (e) {\n return {};\n }\n }\n\n /**\n * Check to see whether a cookie exists or not.\n * @param {String} key - The cookie name.\n * @returns {Boolean}\n */\n exists(key) {\n return Object.hasOwn(this.all, key);\n }\n\n /**\n * Check to see whether a cookie has a particular value.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The value to check against.\n * @returns\n */\n hasValue(key, value) {\n return this.get(key) == value;\n }\n\n /**\n * Get a cookie.\n * @param {String} key - The cookie name.\n * @returns {String|Number|Boolean}\n */\n get(key) {\n return this.exists(key) ? decodeURIComponent(this.all[key]) : null;\n }\n\n /**\n * Set a cookie.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The cookie value.\n * @param {Object} options\n * @param {Number} [options.maxAge=this.defaultAge] - The maximum age of the cookie in seconds.\n * @param {String} [options.path=/] - The path to register the cookie for.\n * @param {String} [options.sameSite=Lax] - The sameSite attribute.\n * @param {String} [options.domain=this.domain] - The domain to register the cookie with.\n * @param {String} [options.path=this.path] - The path to register the cookie with.\n * @param {String} [options.secure=this.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.session=false] - Set a session cookie.\n */\n set(key, value, options = {}) {\n const {\n maxAge = this.defaultAge,\n sameSite = \"Lax\",\n domain = this.domain,\n path = this.path,\n secure = this.secure,\n session = false,\n } = options;\n if (!key) {\n return;\n }\n const cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)};${\n domain ? ` domain=${domain}; ` : \"\"\n } samesite=${sameSite}; path=${path}${!session ? `; max-age=${maxAge}` : \"\"}${\n secure ? \"; secure\" : \"\"\n }`;\n document.cookie = cookie;\n this.events.trigger(\"setCookie\", {\n key,\n value,\n maxAge,\n path,\n sameSite,\n domain,\n secure,\n session,\n cookie,\n });\n }\n\n /**\n * Delete a cookie.\n * @param {String} key - The cookie name.\n * @param {String} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\", domain = null) {\n const options = { maxAge: -1, path, domain: domain || undefined };\n this.set(key, \"\", options);\n this.events.trigger(\"deleteCookie\", { key, ...options });\n }\n\n /**\n * Delete all cookies.\n */\n deleteAll(path = \"/\", domain = null) {\n Object.keys(this.all).forEach((cookie) => {\n this.delete(cookie, path, domain);\n });\n this.events.trigger(\"deleteAllCookies\", { path, domain });\n }\n\n /**\n * Accept a policy.\n * @param {String} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n this.events.trigger(\"acceptPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: true });\n }\n\n /**\n * Reject a policy.\n * @param {String} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n this.events.trigger(\"rejectPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: false });\n }\n\n /**\n * Set a policy.\n * @param {String} policy - The name of the policy.\n * @param {Boolean} accepted - Whether the policy is accepted or not.\n */\n setPolicy(policy, accepted) {\n if (policy === \"essential\") {\n return;\n }\n this.savePolicies({\n ...this.policies,\n [policy]: accepted,\n essential: true,\n });\n this.events.trigger(\"changePolicy\", { [policy]: accepted });\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n const allPolicies = Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), true]),\n );\n this.savePolicies(allPolicies);\n this.events.trigger(\"acceptAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n const allPolicies = {\n ...Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), false]),\n ),\n essential: true,\n };\n this.savePolicies(allPolicies);\n this.events.trigger(\"rejectAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Commit policy preferences to the browser.\n * @param {object} policies - The policies to commit.\n */\n savePolicies(policies) {\n this.set(this.policiesKey, JSON.stringify(policies), {\n maxAge: 60 * 60 * 24 * 365,\n });\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {String} policy - The name of the policy.\n * @returns {Boolean}\n */\n isPolicyAccepted(policy) {\n return Object.hasOwn(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n this.events.on(event, callback);\n }\n\n /**\n * Add a one-time event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n once(event, callback) {\n this.events.once(event, callback);\n }\n}\n","const uuidv4 = () =>\n ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n (\n c ^\n (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))\n ).toString(16),\n );\n\nexport default uuidv4;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Accordion } from \"./components/accordion/accordion.mjs\";\nimport { Breadcrumbs } from \"./components/breadcrumbs/breadcrumbs.mjs\";\nimport { CookieBanner } from \"./components/cookie-banner/cookie-banner.mjs\";\nimport { ErrorSummary } from \"./components/error-summary/error-summary.mjs\";\nimport { Footer } from \"./components/footer/footer.mjs\";\nimport { Gallery } from \"./components/gallery/gallery.mjs\";\nimport { GlobalHeader } from \"./components/global-header/global-header.mjs\";\nimport { Header } from \"./components/header/header.mjs\";\nimport { Picture } from \"./components/picture/picture.mjs\";\nimport { SkipLink } from \"./components/skip-link/skip-link.mjs\";\nimport { Tabs } from \"./components/tabs/tabs.mjs\";\nimport Cookies from \"./lib/cookies.mjs\";\n\nconst initAll = (options) => {\n options = typeof options !== \"undefined\" ? options : {};\n const $scope =\n options.scope instanceof HTMLElement ? options.scope : document;\n\n const $body = document.documentElement;\n $body.classList.add(\"tna-template--js-enabled\");\n\n const onFirstTouch = () => {\n window.removeEventListener(\"touchstart\", onFirstTouch);\n $body.classList.add(\"tna-template--touched\");\n };\n\n const onKeyDown = (e) => {\n if (e.key === \"Tab\") {\n $body.classList.add(\"tna-template--tabbed\");\n $body.classList.remove(\"tna-template--clicked\");\n }\n };\n\n const onMouseDown = () => {\n $body.classList.add(\"tna-template--clicked\");\n $body.classList.remove(\"tna-template--tabbed\");\n };\n\n window.addEventListener(\"touchstart\", onFirstTouch);\n window.addEventListener(\"keydown\", onKeyDown);\n window.addEventListener(\"mousedown\", onMouseDown);\n\n const $accordions = $scope.querySelectorAll('[data-module=\"tna-accordion\"]');\n $accordions.forEach(($accordion) => {\n new Accordion($accordion);\n });\n\n const $breadcrumbs = $scope.querySelector('[data-module=\"tna-breadcrumbs\"]');\n if ($breadcrumbs) {\n new Breadcrumbs($breadcrumbs);\n }\n\n const $cookieBanner = $scope.querySelector(\n '[data-module=\"tna-cookie-banner\"]',\n );\n if ($cookieBanner) {\n new CookieBanner($cookieBanner);\n }\n\n const $errorSummary = $scope.querySelector(\n '[data-module=\"tna-error-summary\"]',\n );\n if ($errorSummary) {\n new ErrorSummary($errorSummary).init();\n }\n\n const $footer = $scope.querySelector('[data-module=\"tna-footer\"]');\n if ($footer) {\n new Footer($footer);\n }\n\n const $galleries = $scope.querySelectorAll('[data-module=\"tna-gallery\"]');\n $galleries.forEach(($gallery) => {\n new Gallery($gallery);\n });\n\n const $globalHeader = $scope.querySelector(\n '[data-module=\"tna-global-header\"]',\n );\n if ($globalHeader) {\n new GlobalHeader($globalHeader);\n }\n\n const $header = $scope.querySelector('[data-module=\"tna-header\"]');\n if ($header) {\n new Header($header);\n }\n\n const $pictures = $scope.querySelectorAll('[data-module=\"tna-picture\"]');\n $pictures.forEach(($picture) => {\n new Picture($picture);\n });\n\n const $skipLinks = $scope.querySelectorAll('[data-module=\"tna-skip-link\"]');\n $skipLinks.forEach(($skipLink) => {\n new SkipLink($skipLink);\n });\n\n const $tabs = $scope.querySelectorAll('[data-module=\"tna-tabs\"]');\n $tabs.forEach(($tabModule) => {\n new Tabs($tabModule);\n });\n\n const checkTableForScroll = ($tableWrapper) => {\n const scrollable = $tableWrapper.scrollWidth > $tableWrapper.clientWidth;\n const $tableCaption = $tableWrapper.querySelector(\".tna-table__caption\");\n if (scrollable) {\n $tableWrapper.setAttribute(\"tabindex\", \"0\");\n $tableCaption?.classList.add(\"tna-table__caption--scroll\");\n } else {\n $tableWrapper.removeAttribute(\"tabindex\");\n $tableCaption?.classList.remove(\"tna-table__caption--scroll\");\n }\n };\n\n const $tableWrappers = document.querySelectorAll(\n \".tna-table-wrapper:has(.tna-table__caption)\",\n );\n $tableWrappers.forEach(($tableWrapper) => checkTableForScroll($tableWrapper));\n window.addEventListener(\"resize\", () => {\n $tableWrappers.forEach(($tableWrapper) =>\n checkTableForScroll($tableWrapper),\n );\n });\n\n window.matchMedia(\"print\").addEventListener(\"change\", (evt) => {\n if (evt.matches) {\n document\n .querySelectorAll(\".tna-details__details:not([open])\")\n .forEach((e) => {\n e.setAttribute(\"open\", \"\");\n e.dataset.wasclosed = \"\";\n });\n document\n .querySelectorAll(\n '.tna-accordion__content[hidden=\"until-found\"], .tna-picture__transcript[hidden=\"until-found\"]',\n )\n .forEach((e) => {\n e.removeAttribute(\"hidden\");\n e.dataset.wasclosed = \"\";\n });\n } else {\n document\n .querySelectorAll(\".tna-details__details[data-wasclosed]\")\n .forEach((e) => {\n e.removeAttribute(\"open\");\n delete e.dataset.wasclosed;\n });\n document\n .querySelectorAll(\n \".tna-accordion__content[data-wasclosed], .tna-picture__transcript[data-wasclosed]\",\n )\n .forEach((e) => {\n e.setAttribute(\"hidden\", \"until-closed\");\n e.dataset.wasclosed = \"\";\n });\n }\n });\n};\n\nexport {\n initAll,\n Cookies,\n Accordion,\n Breadcrumbs,\n CookieBanner,\n ErrorSummary,\n Footer,\n Gallery,\n GlobalHeader,\n Header,\n Picture,\n SkipLink,\n Tabs,\n};\n"],"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","parentNode","insertBefore","nextSibling","appendChild","addEventListener","getAttribute","closeItem","openItem","_this3","closeAllItemsExcept","concat","innerText","$excludeItem","_this4","Array","from","filter","Breadcrumbs","_createClass","$breadcrumbsList","$breadcrumbs","length","contains","uniqueId","uuidv4","$expandable","style","display","$expandButton","innerHTML","focus","CookieBanner","$acceptButton","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","extraPolicies","split","x","map","policy","trim","domain","undefined","path","secure","policiesKey","cookies","Cookies","newInstance","cookiePreferencesSet","hasValue","accept","reject","complete","acceptAllPolicies","rejectAllPolicies","set","$closeButton","close","ErrorSummary","setFocus","$element","_options$onBeforeFocu","options","arguments","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","exists","$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","_this$$showIndex2","_this$$showIndex3","index","findIndex","nextIndexToShow","getCurrentItemIndex","fullscreenElement","exitFullscreen","requestFullscreen","GlobalHeader","$toggleButton","$topNavigation","$links","menuOpened","mql","window","matchMedia","syncState","handleToggleNavigation","addListener","code","matches","show","hide","hidden","i","Header","Picture","$imageWrapper","$transcriptToggle","$transcript","transcriptOpened","openLabel","closeLabel","init","toggleTranscript","SkipLink","linkedElementId","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","$tabItem","targetId","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","_defineProperty","event","callback","events","_toConsumableArray","oneTimeEvents","eventToTrigger","splice","_options$extraPolicie","_options$domain","_options$path","_options$secure","_options$policiesKey","_options$newInstance","_options$defaultAge","defaultAge","destroyInstance","savePolicies","_objectSpread","fromEntries","k","toLowerCase","usage","policies","essential","deserialised","cookie","parts","JSON","parse","all","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain2","_options$path2","_options$secure2","_options$session","session","encodeURIComponent","trigger","keys","setPolicy","accepted","allPolicies","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","documentElement","onFirstTouch","removeEventListener","$accordion","$cookieBanner","$errorSummary","$footer","$gallery","$globalHeader","$header","$picture","$skipLink","$tabModule","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/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 polyfillRequired = null;\n\n constructor($module) {\n this.$module = $module;\n this.$items = $module && $module.querySelectorAll(\".tna-accordion__item\");\n if (!this.$module || !this.$items) {\n return;\n }\n\n this.allowMultipleItemsOpen =\n this.$module.dataset[\"multiselectable\"] === \"true\";\n\n this.$items.forEach(($item) => this.initItem($item));\n this.initState();\n }\n\n initItem($item) {\n const $heading = $item.querySelector(\".tna-accordion__heading\");\n const $content = $item.querySelector(\".tna-accordion__body\");\n\n if (!$heading || !$content) {\n return;\n }\n\n $item.classList.add(\"tna-accordion__details\");\n $item.classList.remove(\"tna-accordion__item\");\n\n $heading.removeAttribute(\"class\");\n\n $content.classList.add(\"tna-accordion__content\");\n $content.classList.remove(\"tna-accordion__body\");\n $content.setAttribute(\"hidden\", \"until-found\");\n\n const $headingButton = document.createElement(\"button\");\n $headingButton.classList.add(\"tna-accordion__summary\");\n $headingButton.setAttribute(\"aria-controls\", $content.id);\n $heading.parentNode.insertBefore($headingButton, $heading.nextSibling);\n $headingButton.appendChild($heading);\n\n $headingButton.addEventListener(\"click\", () => {\n const isOpen = $headingButton.getAttribute(\"aria-expanded\") === \"true\";\n if (isOpen) {\n this.closeItem($item);\n } else {\n this.openItem($item);\n }\n });\n }\n\n initState() {\n this.$items.forEach(($item) => {\n if ($item.dataset[\"isopen\"] === \"true\") {\n this.openItem($item);\n } else {\n this.closeItem($item);\n }\n $item.removeAttribute(\"data-isopen\");\n });\n }\n\n openItem($item) {\n if (!this.allowMultipleItemsOpen) {\n this.closeAllItemsExcept($item);\n }\n const $headingButton = $item.querySelector(\".tna-accordion__summary\");\n const $content = $item.querySelector(\".tna-accordion__content\");\n $headingButton.setAttribute(\"aria-expanded\", \"true\");\n $headingButton.setAttribute(\n \"aria-label\",\n `${$headingButton.innerText}, Hide this section`,\n );\n $content.removeAttribute(\"hidden\");\n // $content.setAttribute(\"tabindex\", \"0\");\n }\n\n closeItem($item) {\n const $headingButton = $item.querySelector(\".tna-accordion__summary\");\n const $content = $item.querySelector(\".tna-accordion__content\");\n $headingButton.setAttribute(\"aria-expanded\", \"false\");\n $headingButton.setAttribute(\n \"aria-label\",\n `${$headingButton.innerText}, Show this section`,\n );\n $content.setAttribute(\"hidden\", \"until-found\");\n // $content.setAttribute(\"tabindex\", \"-1\");\n }\n\n closeAllItemsExcept($excludeItem) {\n Array.from(this.$items)\n .filter(\n ($item) =>\n $item.querySelector(\".tna-accordion__summary\") !== $excludeItem &&\n $item\n .querySelector(\".tna-accordion__summary\")\n .getAttribute(\"aria-expanded\") === \"true\",\n )\n .forEach(($item) => this.closeItem($item));\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Breadcrumbs {\n constructor($module) {\n this.$module = $module;\n this.$breadcrumbsList =\n $module && $module.querySelector(\".tna-breadcrumbs__list\");\n this.$breadcrumbs =\n $module &&\n this.$breadcrumbsList &&\n $module.querySelectorAll(\".tna-breadcrumbs__item\");\n\n if (!this.$module || !this.$breadcrumbsList || !this.$breadcrumbs) {\n return;\n }\n\n if (\n this.$breadcrumbs.length > 2 &&\n !this.$module.classList.contains(\"tna-breadcrumbs--no-collapse\")\n ) {\n const uniqueId = `tna-breadcrumbs-${uuidv4()}`;\n\n const $expandable = document.createElement(\"li\");\n $expandable.classList.add(\n \"tna-breadcrumbs__item\",\n \"tna-breadcrumbs__item--expandable\",\n );\n $expandable.style.display = \"none\";\n\n const $expandButton = document.createElement(\"button\");\n $expandButton.classList.add(\"tna-breadcrumbs__link\");\n $expandButton.innerHTML =\n \"<span class='tna-!--visually-hidden'>Expand breadcrumbs</span>&hellip;\";\n $expandButton.setAttribute(\"aria-expanded\", \"false\");\n $expandButton.setAttribute(\"aria-controls\", uniqueId);\n $expandButton.addEventListener(\"click\", () => {\n this.$module.classList.remove(\"tna-breadcrumbs--collapsed\");\n $expandable.remove();\n this.$module.setAttribute(\"tabindex\", \"0\");\n this.$module.focus();\n this.$module.setAttribute(\"tabindex\", \"-1\");\n });\n\n $expandable.appendChild($expandButton);\n\n this.$breadcrumbsList.setAttribute(\"id\", uniqueId);\n this.$breadcrumbsList.insertBefore(\n $expandable,\n this.$breadcrumbs[this.$breadcrumbs.length - 2].nextSibling,\n );\n\n this.$module.classList.add(\"tna-breadcrumbs--collapsed\");\n }\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport { Cookies };\n\nexport class CookieBanner {\n constructor($module) {\n this.$module = $module;\n this.$acceptButton = $module && $module.querySelector('[value=\"accept\"]');\n this.$rejectButton = $module && $module.querySelector('[value=\"reject\"]');\n this.$prompt =\n $module && $module.querySelector(\".tna-cookie-banner__message--prompt\");\n this.$acceptedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--accepted\");\n this.$rejectedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--rejected\");\n this.$closeButtons = $module && $module.querySelectorAll('[value=\"close\"]');\n\n if (\n !this.$module ||\n !this.$acceptButton ||\n !this.$rejectButton ||\n !this.$prompt ||\n !this.$acceptedMessage ||\n !this.$rejectedMessage ||\n !this.$closeButtons\n ) {\n return;\n }\n\n const policies = this.$module.getAttribute(\"data-policies\") || \"\";\n const extraPolicies = policies\n .split(\",\")\n .filter((x) => x)\n .map((policy) => policy.trim());\n const domain = this.$module.getAttribute(\"data-domain\") || undefined;\n const path = this.$module.getAttribute(\"data-path\") || undefined;\n const secure = this.$module.getAttribute(\"data-secure\") || undefined;\n const policiesKey =\n this.$module.getAttribute(\"data-policieskey\") || undefined;\n\n this.cookies = new Cookies({\n extraPolicies,\n domain,\n path,\n secure,\n policiesKey,\n newInstance: true,\n });\n\n this.cookiePreferencesSet =\n this.$module.getAttribute(\"data-preferenceskey\") ||\n \"cookie_preferences_set\";\n const cookiePreferencesSet = this.cookies.hasValue(\n this.cookiePreferencesSet,\n \"true\",\n );\n\n if (!cookiePreferencesSet) {\n this.$module.removeAttribute(\"hidden\");\n\n this.$acceptButton.addEventListener(\"click\", () => this.accept());\n this.$rejectButton.addEventListener(\"click\", () => this.reject());\n }\n }\n\n accept() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$acceptedMessage.removeAttribute(\"hidden\");\n this.$acceptedMessage.focus();\n this.$acceptedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.acceptAllPolicies();\n }\n\n reject() {\n this.$prompt.setAttribute(\"hidden\", true);\n this.complete();\n this.$rejectedMessage.removeAttribute(\"hidden\");\n this.$rejectedMessage.focus();\n this.$rejectedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.rejectAllPolicies();\n }\n\n complete() {\n this.cookies.set(this.cookiePreferencesSet, true);\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", true);\n }\n}\n","export class ErrorSummary {\n constructor($module) {\n this.$module = $module;\n }\n\n init() {\n if (!this.$module) {\n return;\n }\n\n const disableAutoFocus =\n this.$module.getAttribute(\"data-disableautofocus\") === \"true\" || false;\n\n if (!disableAutoFocus) {\n this.setFocus(this.$module);\n }\n }\n\n setFocus($element, options = {}) {\n const isFocusable = $element.getAttribute(\"tabindex\");\n\n if (!isFocusable) {\n $element.setAttribute(\"tabindex\", \"-1\");\n }\n\n /**\n * Handle element focus\n */\n function onFocus() {\n $element.addEventListener(\"blur\", onBlur, { once: true });\n }\n\n /**\n * Handle element blur\n */\n function onBlur() {\n options.onBlur?.call($element);\n\n if (!isFocusable) {\n $element.removeAttribute(\"tabindex\");\n }\n }\n\n // Add listener to reset element on blur, after focus\n $element.addEventListener(\"focus\", onFocus, { once: true });\n\n // Focus element\n options.onBeforeFocus?.call($element);\n $element.focus();\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport class Footer {\n constructor($module) {\n this.$module = $module;\n this.$themeSelector =\n $module && $module.querySelector(\".tna-footer__theme-selector\");\n this.$tnaTemplate = document.querySelector(\".tna-template\");\n\n if (!this.$module || !this.$themeSelector || !this.$tnaTemplate) {\n return;\n }\n\n this.$themeSelectorButtons = this.$themeSelector.querySelectorAll(\n \"button.tna-footer__theme-selector-button[value]\",\n );\n\n Array.from(this.$themeSelectorButtons).forEach(($themeSelectorButton) => {\n $themeSelectorButton.addEventListener(\"click\", (e) => {\n const $button = e.target;\n this.setTheme($button.value);\n this.selectThemeSelectorButton($button);\n });\n });\n\n this.cookies = new Cookies();\n if (this.cookies.isPolicyAccepted(\"settings\")) {\n this.showThemeSelector();\n }\n this.cookies.on(\"changePolicy\", (data) => {\n if (Object.hasOwn(data, \"settings\")) {\n if (data.settings === true) {\n this.showThemeSelector();\n } else {\n this.cookies.delete(\"theme\");\n this.hideThemeSelector();\n }\n }\n });\n }\n\n showThemeSelector() {\n this.$themeSelector.removeAttribute(\"hidden\");\n if (this.cookies.exists(\"theme\")) {\n const $currentThemeButton = Array.from(this.$themeSelectorButtons).find(\n ($button) => $button.value === this.cookies.get(\"theme\"),\n );\n if ($currentThemeButton) {\n this.selectThemeSelectorButton($currentThemeButton);\n }\n }\n }\n\n hideThemeSelector() {\n this.$themeSelector.setAttribute(\"hidden\", true);\n }\n\n setTheme(theme) {\n if (theme === \"light\") {\n this.$tnaTemplate.classList.remove(\n \"tna-template--system-theme\",\n \"tna-template--dark-theme\",\n );\n } else if (theme === \"dark\") {\n this.$tnaTemplate.classList.remove(\"tna-template--system-theme\");\n this.$tnaTemplate.classList.add(`tna-template--dark-theme`);\n } else if (theme === \"system\") {\n this.$tnaTemplate.classList.remove(\"tna-template--dark-theme\");\n this.$tnaTemplate.classList.add(`tna-template--system-theme`);\n } else {\n return;\n }\n this.cookies.set(\"theme\", theme);\n }\n\n selectThemeSelectorButton($selectedButton) {\n Array.from(this.$themeSelectorButtons).forEach(($button) => {\n if ($button.value === $selectedButton.value) {\n $button.classList.remove(\"tna-button--plain\");\n $button.setAttribute(\"aria-current\", true);\n } else {\n $button.classList.add(\"tna-button--plain\");\n $button.removeAttribute(\"aria-current\");\n }\n });\n }\n}\n","export class Gallery {\n constructor($module) {\n this.$module = $module;\n this.$itemsContainer =\n $module && $module.querySelector(\".tna-gallery__items\");\n this.$items =\n this.$itemsContainer &&\n this.$itemsContainer.querySelectorAll(\".tna-gallery__item\");\n this.$navigation =\n $module && $module.querySelector(\".tna-gallery__navigation\");\n this.$navigationItems =\n this.$navigation &&\n $module.querySelectorAll(\".tna-gallery__navigation-item\");\n this.$options = $module && $module.querySelector(\".tna-gallery__options\");\n this.$navigationButtons =\n $module && $module.querySelector(\".tna-gallery__navigation-buttons\");\n\n if (\n !this.$module ||\n !this.$itemsContainer ||\n !this.$items ||\n !this.$navigation ||\n !this.$navigationItems ||\n !this.$options ||\n !this.$navigationButtons\n ) {\n return;\n }\n\n this.$module.classList.add(\"tna-gallery--interactive\");\n\n this.$showIndex = this.$options.querySelector('button[value=\"show-index\"]');\n this.$enterFullscreen = this.$options.querySelector(\n 'button[value=\"enter-fullscreen\"]',\n );\n this.$exitFullscreen = this.$options.querySelector(\n 'button[value=\"exit-fullscreen\"]',\n );\n\n this.$navigationButtonPrev = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-prev\",\n );\n this.$navigationButtonNext = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-next\",\n );\n\n this.$module.addEventListener(\"fullscreenchange\", () =>\n this.syncFullScreen(),\n );\n\n this.setup();\n this.allowGridIndex = this.$module.dataset[\"showgrid\"] || false;\n if (this.allowGridIndex) {\n this.showIndex();\n } else {\n this.currentId = this.$items[0].id;\n this.showItem(this.currentId);\n }\n }\n\n setup() {\n this.$items.forEach(($item) => {\n $item.setAttribute(\"hidden\", \"until-found\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n });\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigationItems.forEach(($item) => {\n $item.addEventListener(\"click\", () => {\n this.showItem($item.getAttribute(\"aria-controls\"), true);\n this.$itemsContainer.focus();\n });\n });\n this.$module.addEventListener(\"keydown\", (e) => {\n let preventDefaultKeyAction = false;\n switch (e.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.showPreviousItem();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.showNextItem();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.showFirstItem();\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.showLastItem();\n preventDefaultKeyAction = true;\n break;\n }\n if (preventDefaultKeyAction) {\n e.stopPropagation();\n e.preventDefault();\n }\n });\n this.$options.removeAttribute(\"hidden\");\n if (\n document.fullscreenEnabled &&\n this.$enterFullscreen &&\n this.$exitFullscreen\n ) {\n this.$enterFullscreen?.addEventListener(\"click\", () =>\n this.enterFullScreen(),\n );\n this.$exitFullscreen?.addEventListener(\"click\", () =>\n this.exitFullScreen(),\n );\n this.$enterFullscreen?.removeAttribute(\"hidden\");\n }\n this.$showIndex?.addEventListener(\"click\", () => this.showIndex());\n this.$navigationButtons?.removeAttribute(\"hidden\");\n this.$navigationButtonPrev?.addEventListener(\"click\", () => {\n this.showPreviousItem();\n });\n this.$navigationButtonNext?.addEventListener(\"click\", () => {\n this.showNextItem();\n });\n\n this.$liveRegion = document.createElement(\"div\");\n this.$liveRegion.setAttribute(\"aria-live\", \"polite\");\n this.$liveRegion.setAttribute(\"aria-atomic\", \"true\");\n this.$liveRegion.setAttribute(\"class\", \"tna-gallery__item-header\");\n this.$itemsContainer.prepend(this.$liveRegion);\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-item-titles\");\n }\n\n showIndex() {\n this.showItem(\"\");\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-items\");\n this.$showIndex?.setAttribute(\"hidden\", true);\n }\n\n showItem(id, focus = false) {\n this.$items.forEach(($item) => {\n if (id && $item.id === id) {\n $item.removeAttribute(\"hidden\");\n $item.removeAttribute(\"aria-hidden\");\n if (focus) {\n $item.setAttribute(\"tabindex\", \"0\");\n $item.focus();\n }\n } else {\n $item.setAttribute(\"hidden\", \"until-found\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n }\n $item.setAttribute(\"tabindex\", \"-1\");\n });\n this.$navigationItems.forEach(($item /*, index*/) => {\n if (id) {\n if ($item.getAttribute(\"aria-controls\") === id) {\n $item.setAttribute(\"aria-selected\", \"true\");\n // $item.setAttribute(\"tabindex\", \"0\");\n if (this.isFullScreen()) {\n $item.scrollIntoView({ block: \"nearest\" });\n }\n } else {\n $item.setAttribute(\"aria-selected\", \"false\");\n // $item.setAttribute(\"tabindex\", \"-1\");\n }\n } else {\n $item.setAttribute(\"aria-selected\", \"false\");\n // $item.setAttribute(\"tabindex\", index === 0 ? \"0\" : \"-1\");\n }\n });\n if (this.allowGridIndex) {\n this.$showIndex?.removeAttribute(\"hidden\");\n }\n this.$itemsContainer.classList.remove(\"tna-gallery__items--hide-items\");\n this.currentId = id;\n this.$liveRegion.textContent = `Image ${this.getCurrentItemIndex() + 1} of ${this.$items.length}`;\n }\n\n getCurrentItemIndex() {\n return Array.from(this.$items).findIndex(\n ($item) => $item.id === this.currentId,\n );\n }\n\n showPreviousItem() {\n let nextIndexToShow = this.getCurrentItemIndex() - 1;\n if (nextIndexToShow < 0) {\n nextIndexToShow = this.$items.length - 1;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showNextItem() {\n let nextIndexToShow = this.getCurrentItemIndex() + 1;\n if (nextIndexToShow >= this.$items.length) {\n nextIndexToShow = 0;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showFirstItem() {\n this.showItem(this.$items[0].id);\n }\n\n showLastItem() {\n this.showItem(this.$items[this.$items.length - 1].id);\n }\n\n isFullScreen() {\n return document.fullscreenElement;\n }\n\n enterFullScreen() {\n this.$module.requestFullscreen();\n this.syncFullScreen();\n this.$module.focus();\n }\n\n exitFullScreen() {\n document.exitFullscreen();\n this.syncFullScreen();\n }\n\n syncFullScreen() {\n if (this.isFullScreen()) {\n this.$enterFullscreen.setAttribute(\"hidden\", true);\n this.$exitFullscreen.removeAttribute(\"hidden\");\n } else {\n this.$exitFullscreen.setAttribute(\"hidden\", true);\n this.$enterFullscreen.removeAttribute(\"hidden\");\n }\n }\n}\n","export class GlobalHeader {\n constructor($module) {\n this.$module = $module;\n this.$toggleButton =\n $module && $module.querySelector(\".tna-global-header__navigation-button\");\n this.$navigation =\n $module &&\n $module.querySelector(\".tna-global-header__navigation-wrapper\");\n this.$topNavigation =\n $module &&\n $module.querySelector(\".tna-global-header__top-navigation-wrapper\");\n this.$links =\n $module &&\n ((this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\")) ||\n (this.$topNavigation &&\n this.$topNavigation.querySelectorAll(\"[tabindex='0']\")));\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 48em)\");\n\n if (\n !this.$module ||\n !this.$toggleButton ||\n (!this.$navigation && !this.$topNavigation)\n ) {\n return;\n }\n\n this.$toggleButton.removeAttribute(\"hidden\");\n this.syncState();\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n\n this.$module.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\" && this.mql.matches) {\n if (this.menuOpened) {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n }\n });\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.show();\n } else {\n this.hide();\n }\n } else {\n this.show();\n }\n }\n\n hide() {\n if (this.$navigation) {\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n }\n if (this.$topNavigation) {\n this.$topNavigation.hidden = true;\n this.$topNavigation.setAttribute(\"aria-hidden\", \"true\");\n }\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-global-header__navigation-button--opened\",\n );\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n\n show() {\n if (this.$navigation) {\n this.$navigation.hidden = false;\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n }\n if (this.$topNavigation) {\n this.$topNavigation.hidden = false;\n this.$topNavigation.setAttribute(\"aria-hidden\", \"false\");\n }\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\n \"tna-global-header__navigation-button--opened\",\n );\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n}\n","export class Header {\n constructor($module) {\n this.$module = $module;\n this.$toggleButton =\n $module && $module.querySelector(\".tna-header__navigation-button\");\n this.$navigation =\n $module && $module.querySelector(\".tna-header__navigation\");\n this.$links =\n $module &&\n this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\");\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 48em)\");\n\n if (!this.$module || !this.$toggleButton || !this.$navigation) {\n return;\n }\n\n this.$toggleButton.removeAttribute(\"hidden\");\n this.syncState();\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n\n this.$module.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\") {\n if (this.menuOpened && this.mql.matches) {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n }\n });\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.show();\n } else {\n this.hide();\n }\n } else {\n this.show();\n }\n }\n\n show() {\n this.$navigation.classList.add(\"tna-header__navigation--open\");\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\"tna-header__navigation-button--opened\");\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n\n hide() {\n this.$navigation.classList.remove(\"tna-header__navigation--open\");\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-header__navigation-button--opened\",\n );\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Picture {\n constructor($module) {\n this.$module = $module;\n this.$imageWrapper =\n $module && $module.querySelector(\".tna-picture__image-wrapper\");\n\n this.$transcriptToggle =\n this.$imageWrapper &&\n this.$imageWrapper.querySelector(\".tna-picture__toggle-transcript\");\n\n this.$transcript =\n $module && $module.querySelector(\".tna-picture__transcript\");\n this.transcriptOpened = false;\n\n if (\n !this.$module ||\n !this.$imageWrapper ||\n !this.$transcriptToggle ||\n !this.$transcript\n ) {\n return;\n }\n\n this.openLabel =\n this.$module.getAttribute(\"data-informationlabelopen\") ||\n \"Open transcript\";\n this.closeLabel =\n this.$module.getAttribute(\"data-informationlabelclose\") ||\n \"Close transcript\";\n\n this.init();\n }\n\n init() {\n const uniqueId = `tna-picture-${uuidv4()}`;\n\n this.$transcriptToggle.removeAttribute(\"hidden\");\n this.$transcriptToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcriptToggle.addEventListener(\"click\", () =>\n this.toggleTranscript(),\n );\n\n this.$transcript.setAttribute(\"id\", uniqueId);\n this.$transcript.setAttribute(\"hidden\", \"until-found\");\n\n this.$transcript.addEventListener(\"keydown\", (e) => {\n switch (e.key) {\n case \"Escape\":\n this.toggleTranscript();\n this.$transcriptToggle.focus();\n break;\n }\n });\n }\n\n toggleTranscript() {\n this.transcriptOpened = !this.transcriptOpened;\n if (this.transcriptOpened) {\n this.$transcriptToggle.setAttribute(\"aria-expanded\", true);\n this.$transcriptToggle.innerText = this.closeLabel;\n this.$transcript.removeAttribute(\"hidden\");\n } else {\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcript.setAttribute(\"hidden\", \"until-found\");\n }\n }\n}\n","export class SkipLink {\n linkedElementListener = false;\n\n constructor($module) {\n this.$module = $module;\n this.linkedElementId = $module.getAttribute(\"href\").split(\"#\").pop();\n this.$linkedElement =\n $module &&\n this.linkedElementId &&\n document.getElementById(this.linkedElementId);\n\n if (!this.$module || !this.$linkedElement) {\n return;\n }\n this.$module.addEventListener(\"click\", () => this.focusLinkedElement());\n }\n\n focusLinkedElement() {\n if (!this.$linkedElement.getAttribute(\"tabindex\")) {\n this.$linkedElement.setAttribute(\"tabindex\", \"-1\");\n this.$linkedElement.classList.add(\"tna-!--no-focus-style\");\n\n if (!this.linkedElementListener) {\n this.$linkedElement.addEventListener(\"blur\", () =>\n this.removeFocusProperties(),\n );\n this.linkedElementListener = true;\n }\n }\n\n this.$linkedElement.focus();\n }\n\n removeFocusProperties() {\n this.$linkedElement.removeAttribute(\"tabindex\");\n this.$linkedElement.classList.remove(\"tna-!--no-focus-style\");\n }\n}\n","export class Tabs {\n constructor($module) {\n this.$module = $module;\n this.$tabList = $module && $module.querySelector(\".tna-tabs__list\");\n this.$tabListItemLinks =\n $module &&\n this.$tabList &&\n this.$tabList.querySelectorAll(\".tna-tabs__button\");\n this.$tabItems = $module && $module.querySelectorAll(\".tna-tabs__item\");\n\n if (\n !this.$module ||\n !this.$tabList ||\n !this.$tabListItemLinks ||\n !this.$tabItems ||\n this.$tabListItemLinks.length !== this.$tabItems.length\n ) {\n return;\n }\n\n this.currentTabIndex = 0;\n this.init();\n }\n\n init() {\n this.$module.classList.add(\"tna-tabs--interactive\");\n this.$tabList.removeAttribute(\"hidden\");\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n const tabPanelID = $tabListItemLink.getAttribute(\"aria-controls\");\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n const $tabPanel = document.getElementById(tabPanelID);\n $tabPanel.setAttribute(\"aria-labelledby\", $tabListItemLink.id);\n $tabPanel.setAttribute(\"role\", \"tabpanel\");\n $tabListItemLink.addEventListener(\n \"click\",\n (e) => this.handleItemLinkClick(e),\n true,\n );\n });\n this.switchTabByIndex(this.currentTabIndex);\n this.$module.addEventListener(\"keydown\", (e) =>\n this.handleItemLinkKeyDown(e),\n );\n }\n\n handleItemLinkClick(itemLinkClickEvent) {\n itemLinkClickEvent.preventDefault();\n const targetItem =\n itemLinkClickEvent.currentTarget.getAttribute(\"aria-controls\");\n this.switchTabByID(targetItem);\n }\n\n handleItemLinkKeyDown(itemLinkKeyDownEvent) {\n let preventDefaultKeyAction = false;\n switch (itemLinkKeyDownEvent.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.previousTab();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.nextTab();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.switchTabByIndex(0, true);\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.switchTabByIndex(this.$tabListItemLinks.length - 1, true);\n preventDefaultKeyAction = true;\n break;\n default:\n break;\n }\n if (preventDefaultKeyAction) {\n itemLinkKeyDownEvent.stopPropagation();\n itemLinkKeyDownEvent.preventDefault();\n }\n }\n\n nextTab() {\n if (this.currentTabIndex < this.$tabListItemLinks.length - 1) {\n this.switchTabByIndex(this.currentTabIndex + 1, true);\n } else {\n this.switchTabByIndex(0, true);\n }\n }\n\n previousTab() {\n if (this.currentTabIndex >= 1) {\n this.switchTabByIndex(this.currentTabIndex - 1, true);\n } else {\n this.switchTabByIndex(this.$tabListItemLinks.length - 1, true);\n }\n }\n\n switchTabByIndex(newIndex, switchFocus = false) {\n this.currentTabIndex = newIndex;\n this.$tabListItemLinks.forEach(($tabListItemLink, index) => {\n if (index === this.currentTabIndex) {\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n if (switchFocus) {\n $tabListItemLink.focus();\n }\n } else {\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n $tabListItemLink.setAttribute(\"tabindex\", \"-1\");\n }\n });\n this.$tabItems.forEach(($tabItem, index) => {\n if (index === this.currentTabIndex) {\n $tabItem.removeAttribute(\"hidden\");\n $tabItem.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabItem.setAttribute(\"hidden\", \"until-found\");\n $tabItem.setAttribute(\"tabindex\", \"-1\");\n }\n });\n }\n\n switchTabByID(targetId) {\n const index = Array.from(this.$tabItems).findIndex(\n ($tabItem) => $tabItem.getAttribute(\"id\") === targetId,\n );\n this.switchTabByIndex(index);\n }\n}\n","window.TNAFrontendCookies = window.TNAFrontendCookies || null;\nwindow.TNAFrontendCookieEvents = window.TNAFrontendCookieEvents || null;\n\nexport class CookieEventHandler {\n events = {};\n oneTimeEvents = {};\n\n constructor() {\n if (window.TNAFrontendCookieEvents) {\n return window.TNAFrontendCookieEvents;\n }\n window.TNAFrontendCookieEvents = this;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n if (!Object.hasOwn(this.events, event)) {\n this.events[event] = [];\n }\n this.events[event] = [...this.events[event], callback];\n }\n\n once(event, callback) {\n if (!Object.hasOwn(this.oneTimeEvents, event)) {\n this.oneTimeEvents[event] = [];\n }\n this.oneTimeEvents[event] = [...this.oneTimeEvents[event], callback];\n }\n\n /** @protected */\n trigger(event, data = {}) {\n if (Object.hasOwn(this.events, event)) {\n this.events[event].forEach((eventToTrigger) =>\n eventToTrigger.call(this, data),\n );\n }\n if (Object.hasOwn(this.oneTimeEvents, event)) {\n for (let i = this.oneTimeEvents[event].length - 1; i >= 0; i--) {\n const eventToTrigger = this.oneTimeEvents[event][i];\n eventToTrigger.call(this, data);\n this.oneTimeEvents[event].splice(i, 1);\n }\n }\n }\n}\n\n/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n extraPolicies = [];\n /** @protected */\n domain = \"\";\n /** @protected */\n path = \"\";\n /** @protected */\n secure = true;\n /** @protected */\n policiesKey = \"\";\n /** @protected */\n events = null;\n /** @protected */\n defaultAge = null;\n\n /**\n * Create a cookie handler.\n * @param {String} [options.extraPolicies=[]] - The extra cookie policies to manage in addition to essential, settings and usage.\n * @param {String} [options.domain=\"\"] - The domain to register the cookie with.\n * @param {String} [options.path=\"\"] - The domain to register the cookie with.\n * @param {String} [options.secure=true] - Only set cookie in HTTPS environments.\n * @param {String} [options.policiesKey=\"cookies_policy\"] - The name of the cookie.\n * @param {String} [options.newInstance=false] - Create a fresh instance of the cookie class.\n * @param {String} [options.defaultAge=31536000] - The default age of non-session cookies.\n */\n constructor(options = {}) {\n const {\n extraPolicies = [],\n domain = \"\",\n path = \"/\",\n secure = true,\n policiesKey = \"cookies_policy\",\n newInstance = false,\n defaultAge = 31536000, // 365 days\n } = options;\n if (newInstance) {\n this.destroyInstance();\n } else if (window.TNAFrontendCookies) {\n return window.TNAFrontendCookies;\n }\n this.extraPolicies = extraPolicies;\n this.domain = domain;\n this.path = path;\n this.secure = secure;\n this.policiesKey = policiesKey;\n this.defaultAge = defaultAge;\n this.events = new CookieEventHandler();\n this.init();\n window.TNAFrontendCookies = this;\n }\n\n /** @protected */\n init() {\n this.savePolicies({\n ...Object.fromEntries(\n this.extraPolicies.map((k) => [k.toLowerCase(), false]),\n ),\n usage: false,\n settings: false,\n ...this.policies,\n essential: true,\n });\n }\n\n destroyInstance() {\n window.TNAFrontendCookies = null;\n }\n\n /** @protected */\n get all() {\n const deserialised = {};\n document.cookie\n .split(\"; \")\n .filter((x) => x)\n .forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n if (parts[0]) {\n deserialised[parts[0]] = parts[1];\n }\n });\n return deserialised;\n }\n\n /** @protected */\n get policies() {\n try {\n return JSON.parse(this.get(this.policiesKey) || \"{}\");\n } catch (e) {\n return {};\n }\n }\n\n /**\n * Check to see whether a cookie exists or not.\n * @param {String} key - The cookie name.\n * @returns {Boolean}\n */\n exists(key) {\n return Object.hasOwn(this.all, key);\n }\n\n /**\n * Check to see whether a cookie has a particular value.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The value to check against.\n * @returns\n */\n hasValue(key, value) {\n return this.get(key) == value;\n }\n\n /**\n * Get a cookie.\n * @param {String} key - The cookie name.\n * @returns {String|Number|Boolean}\n */\n get(key) {\n return this.exists(key) ? decodeURIComponent(this.all[key]) : null;\n }\n\n /**\n * Set a cookie.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The cookie value.\n * @param {Object} options\n * @param {Number} [options.maxAge=this.defaultAge] - The maximum age of the cookie in seconds.\n * @param {String} [options.path=/] - The path to register the cookie for.\n * @param {String} [options.sameSite=Lax] - The sameSite attribute.\n * @param {String} [options.domain=this.domain] - The domain to register the cookie with.\n * @param {String} [options.path=this.path] - The path to register the cookie with.\n * @param {String} [options.secure=this.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.session=false] - Set a session cookie.\n */\n set(key, value, options = {}) {\n const {\n maxAge = this.defaultAge,\n sameSite = \"Lax\",\n domain = this.domain,\n path = this.path,\n secure = this.secure,\n session = false,\n } = options;\n if (!key) {\n return;\n }\n const cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)};${\n domain ? ` domain=${domain}; ` : \"\"\n } samesite=${sameSite}; path=${path}${!session ? `; max-age=${maxAge}` : \"\"}${\n secure ? \"; secure\" : \"\"\n }`;\n document.cookie = cookie;\n this.events.trigger(\"setCookie\", {\n key,\n value,\n maxAge,\n path,\n sameSite,\n domain,\n secure,\n session,\n cookie,\n });\n }\n\n /**\n * Delete a cookie.\n * @param {String} key - The cookie name.\n * @param {String} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\", domain = null) {\n const options = { maxAge: -1, path, domain: domain || undefined };\n this.set(key, \"\", options);\n this.events.trigger(\"deleteCookie\", { key, ...options });\n }\n\n /**\n * Delete all cookies.\n */\n deleteAll(path = \"/\", domain = null) {\n Object.keys(this.all).forEach((cookie) => {\n this.delete(cookie, path, domain);\n });\n this.events.trigger(\"deleteAllCookies\", { path, domain });\n }\n\n /**\n * Accept a policy.\n * @param {String} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n this.events.trigger(\"acceptPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: true });\n }\n\n /**\n * Reject a policy.\n * @param {String} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n this.events.trigger(\"rejectPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: false });\n }\n\n /**\n * Set a policy.\n * @param {String} policy - The name of the policy.\n * @param {Boolean} accepted - Whether the policy is accepted or not.\n */\n setPolicy(policy, accepted) {\n if (policy === \"essential\") {\n return;\n }\n this.savePolicies({\n ...this.policies,\n [policy]: accepted,\n essential: true,\n });\n this.events.trigger(\"changePolicy\", { [policy]: accepted });\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n const allPolicies = Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), true]),\n );\n this.savePolicies(allPolicies);\n this.events.trigger(\"acceptAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n const allPolicies = {\n ...Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), false]),\n ),\n essential: true,\n };\n this.savePolicies(allPolicies);\n this.events.trigger(\"rejectAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Commit policy preferences to the browser.\n * @param {object} policies - The policies to commit.\n */\n savePolicies(policies) {\n this.set(this.policiesKey, JSON.stringify(policies), {\n maxAge: 60 * 60 * 24 * 365,\n });\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {String} policy - The name of the policy.\n * @returns {Boolean}\n */\n isPolicyAccepted(policy) {\n return Object.hasOwn(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n this.events.on(event, callback);\n }\n\n /**\n * Add a one-time event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n once(event, callback) {\n this.events.once(event, callback);\n }\n}\n","const uuidv4 = () =>\n ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n (\n c ^\n (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))\n ).toString(16),\n );\n\nexport default uuidv4;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Accordion } from \"./components/accordion/accordion.mjs\";\nimport { Breadcrumbs } from \"./components/breadcrumbs/breadcrumbs.mjs\";\nimport { CookieBanner } from \"./components/cookie-banner/cookie-banner.mjs\";\nimport { ErrorSummary } from \"./components/error-summary/error-summary.mjs\";\nimport { Footer } from \"./components/footer/footer.mjs\";\nimport { Gallery } from \"./components/gallery/gallery.mjs\";\nimport { GlobalHeader } from \"./components/global-header/global-header.mjs\";\nimport { Header } from \"./components/header/header.mjs\";\nimport { Picture } from \"./components/picture/picture.mjs\";\nimport { SkipLink } from \"./components/skip-link/skip-link.mjs\";\nimport { Tabs } from \"./components/tabs/tabs.mjs\";\nimport Cookies from \"./lib/cookies.mjs\";\n\nconst initAll = (options) => {\n options = typeof options !== \"undefined\" ? options : {};\n const $scope =\n options.scope instanceof HTMLElement ? options.scope : document;\n\n const $body = document.documentElement;\n $body.classList.add(\"tna-template--js-enabled\");\n\n const onFirstTouch = () => {\n window.removeEventListener(\"touchstart\", onFirstTouch);\n $body.classList.add(\"tna-template--touched\");\n };\n\n const onKeyDown = (e) => {\n if (e.key === \"Tab\") {\n $body.classList.add(\"tna-template--tabbed\");\n $body.classList.remove(\"tna-template--clicked\");\n }\n };\n\n const onMouseDown = () => {\n $body.classList.add(\"tna-template--clicked\");\n $body.classList.remove(\"tna-template--tabbed\");\n };\n\n window.addEventListener(\"touchstart\", onFirstTouch);\n window.addEventListener(\"keydown\", onKeyDown);\n window.addEventListener(\"mousedown\", onMouseDown);\n\n const $accordions = $scope.querySelectorAll('[data-module=\"tna-accordion\"]');\n $accordions.forEach(($accordion) => {\n new Accordion($accordion);\n });\n\n const $breadcrumbs = $scope.querySelector('[data-module=\"tna-breadcrumbs\"]');\n if ($breadcrumbs) {\n new Breadcrumbs($breadcrumbs);\n }\n\n const $cookieBanner = $scope.querySelector(\n '[data-module=\"tna-cookie-banner\"]',\n );\n if ($cookieBanner) {\n new CookieBanner($cookieBanner);\n }\n\n const $errorSummary = $scope.querySelector(\n '[data-module=\"tna-error-summary\"]',\n );\n if ($errorSummary) {\n new ErrorSummary($errorSummary).init();\n }\n\n const $footer = $scope.querySelector('[data-module=\"tna-footer\"]');\n if ($footer) {\n new Footer($footer);\n }\n\n const $galleries = $scope.querySelectorAll('[data-module=\"tna-gallery\"]');\n $galleries.forEach(($gallery) => {\n new Gallery($gallery);\n });\n\n const $globalHeader = $scope.querySelector(\n '[data-module=\"tna-global-header\"]',\n );\n if ($globalHeader) {\n new GlobalHeader($globalHeader);\n }\n\n const $header = $scope.querySelector('[data-module=\"tna-header\"]');\n if ($header) {\n new Header($header);\n }\n\n const $pictures = $scope.querySelectorAll('[data-module=\"tna-picture\"]');\n $pictures.forEach(($picture) => {\n new Picture($picture);\n });\n\n const $skipLinks = $scope.querySelectorAll('[data-module=\"tna-skip-link\"]');\n $skipLinks.forEach(($skipLink) => {\n new SkipLink($skipLink);\n });\n\n const $tabs = $scope.querySelectorAll('[data-module=\"tna-tabs\"]');\n $tabs.forEach(($tabModule) => {\n new Tabs($tabModule);\n });\n\n const checkTableForScroll = ($tableWrapper) => {\n const scrollable = $tableWrapper.scrollWidth > $tableWrapper.clientWidth;\n const $tableCaption = $tableWrapper.querySelector(\".tna-table__caption\");\n if (scrollable) {\n $tableWrapper.setAttribute(\"tabindex\", \"0\");\n $tableCaption?.classList.add(\"tna-table__caption--scroll\");\n } else {\n $tableWrapper.removeAttribute(\"tabindex\");\n $tableCaption?.classList.remove(\"tna-table__caption--scroll\");\n }\n };\n\n const $tableWrappers = document.querySelectorAll(\n \".tna-table-wrapper:has(.tna-table__caption)\",\n );\n $tableWrappers.forEach(($tableWrapper) => checkTableForScroll($tableWrapper));\n window.addEventListener(\"resize\", () => {\n $tableWrappers.forEach(($tableWrapper) =>\n checkTableForScroll($tableWrapper),\n );\n });\n\n window.matchMedia(\"print\").addEventListener(\"change\", (evt) => {\n if (evt.matches) {\n document\n .querySelectorAll(\".tna-details__details:not([open])\")\n .forEach((e) => {\n e.setAttribute(\"open\", \"\");\n e.dataset.wasclosed = \"\";\n });\n document\n .querySelectorAll(\n '.tna-accordion__content[hidden=\"until-found\"], .tna-picture__transcript[hidden=\"until-found\"]',\n )\n .forEach((e) => {\n e.removeAttribute(\"hidden\");\n e.dataset.wasclosed = \"\";\n });\n } else {\n document\n .querySelectorAll(\".tna-details__details[data-wasclosed]\")\n .forEach((e) => {\n e.removeAttribute(\"open\");\n delete e.dataset.wasclosed;\n });\n document\n .querySelectorAll(\n \".tna-accordion__content[data-wasclosed], .tna-picture__transcript[data-wasclosed]\",\n )\n .forEach((e) => {\n e.setAttribute(\"hidden\", \"until-closed\");\n e.dataset.wasclosed = \"\";\n });\n }\n });\n};\n\nexport {\n initAll,\n Cookies,\n Accordion,\n Breadcrumbs,\n CookieBanner,\n ErrorSummary,\n Footer,\n Gallery,\n GlobalHeader,\n Header,\n Picture,\n SkipLink,\n Tabs,\n};\n"],"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","parentNode","insertBefore","nextSibling","appendChild","addEventListener","getAttribute","closeItem","openItem","_this3","closeAllItemsExcept","concat","innerText","$excludeItem","_this4","Array","from","filter","Breadcrumbs","_createClass","$breadcrumbsList","$breadcrumbs","length","contains","uniqueId","uuidv4","$expandable","style","display","$expandButton","innerHTML","focus","CookieBanner","$acceptButton","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","extraPolicies","split","x","map","policy","trim","domain","undefined","path","secure","policiesKey","cookies","Cookies","newInstance","cookiePreferencesSet","hasValue","accept","reject","complete","acceptAllPolicies","rejectAllPolicies","set","$closeButton","close","ErrorSummary","setFocus","$element","_options$onBeforeFocu","options","arguments","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","exists","$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","closeLabel","init","toggleTranscript","SkipLink","linkedElementId","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","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","_defineProperty","event","callback","events","_toConsumableArray","oneTimeEvents","eventToTrigger","splice","_options$extraPolicie","_options$domain","_options$path","_options$secure","_options$policiesKey","_options$newInstance","_options$defaultAge","defaultAge","destroyInstance","savePolicies","_objectSpread","fromEntries","k","toLowerCase","usage","policies","essential","deserialised","cookie","parts","JSON","parse","all","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain2","_options$path2","_options$secure2","_options$session","session","encodeURIComponent","trigger","keys","setPolicy","accepted","allPolicies","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","documentElement","onFirstTouch","removeEventListener","$accordion","$cookieBanner","$errorSummary","$footer","$gallery","$globalHeader","$header","$picture","$skipLink","$tabModule","checkTableForScroll","$tableWrapper","scrollable","scrollWidth","clientWidth","$tableCaption","$tableWrappers","evt","wasclosed"],"sourceRoot":""}
@@ -1 +1 @@
1
- .tna-button-group{margin-top:32px}.tna-button-group:first-child{margin-top:0}.tna-button-group{display:flex;flex-wrap:wrap;align-items:center;gap:16px}@media(max-width: 30em){.tna-button-group{flex-direction:column;align-items:stretch}}.tna-button-group--small{gap:8px}.tna-button{padding:4px 16px;display:inline-flex;align-items:baseline;justify-content:center;gap:12px;line-height:2rem;text-align:center;text-decoration:none;text-wrap:balance;cursor:pointer;font-size:1.125rem;font-weight:700;background-color:var(--button-background, rgb(1, 1, 1));border:4px var(--button-background, rgb(1, 1, 1)) solid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.tna-button,.tna-button:link,.tna-button:visited{color:var(--button-text, rgb(255, 255, 255))}.tna-button:hover,.tna-button:focus{color:var(--button-hover-text, rgb(1, 1, 1));text-decoration:none;background:rgba(0,0,0,0)}.tna-button .fa-solid{display:block;font-size:.9em;line-height:1.7777777778}.tna-button svg{height:.9em;flex-shrink:0;align-self:center;fill:currentColor}.tna-button--plain{font-weight:400;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.tna-button--plain,.tna-button--plain:link,.tna-button--plain:visited,.tna-button--plain:hover,.tna-button--plain:focus{color:var(--link, #005fa3)}.tna-button--plain:hover,.tna-button--plain:focus{text-decoration:underline;text-decoration-thickness:3.5px}.tna-button--accent{background-color:var(--button-accented-background, rgb(140, 150, 148));border-color:var(--button-accented-background, rgb(140, 150, 148))}.tna-button--accent,.tna-button--accent:link,.tna-button--accent:visited{color:var(--button-accented-text, rgb(1, 1, 1))}.tna-button--accent:hover,.tna-button--accent:focus{color:var(--font-dark, rgb(1, 1, 1))}.tna-button--icon-right{flex-direction:row-reverse}.tna-button--small,.tna-button-group--small .tna-button{padding:0 8px;font-size:0.875rem;line-height:1.5rem}.tna-button--icon-only{padding-right:0;padding-left:0;gap:0;font-size:0 !important;line-height:0 !important}.tna-button--icon-only .fa-solid{width:2.5rem;font-size:1.125rem}.tna-button--icon-only svg{height:1.5rem;margin:.5rem}.tna-button--small.tna-button--icon-only,.tna-button-group--small .tna-button--icon-only{padding-right:0;padding-left:0}.tna-button--small.tna-button--icon-only .fa-solid,.tna-button-group--small .tna-button--icon-only .fa-solid{width:2rem;font-size:1.0125rem;line-height:2rem}.tna-button--small.tna-button--icon-only svg,.tna-button-group--small .tna-button--icon-only svg{height:1rem;margin:.5rem}@media(max-width: 48em){.tna-button--icon-only-mobile{padding-right:0;padding-left:0;gap:0;font-size:0 !important;line-height:0 !important}.tna-button--icon-only-mobile .fa-solid{width:2.5rem;font-size:1.125rem}.tna-button--icon-only-mobile svg{height:1.5rem;margin:.5rem}.tna-button--small.tna-button--icon-only-mobile,.tna-button-group--small .tna-button--icon-only-mobile{padding-right:0;padding-left:0}.tna-button--small.tna-button--icon-only-mobile .fa-solid,.tna-button-group--small .tna-button--icon-only-mobile .fa-solid{width:2rem;font-size:1.0125rem;line-height:2rem}.tna-button--small.tna-button--icon-only-mobile svg,.tna-button-group--small .tna-button--icon-only-mobile svg{height:1rem;margin:.5rem}}.tna-button--solid-hover:not(.tna-button--plain):hover{color:var(--font-dark, rgb(1, 1, 1));background-color:var(--background, #f4f4f4)}.tna-background-accent .tna-button:hover,.tna-background-accent .tna-button:focus,.tna-template--dark-theme .tna-background-accent-light .tna-button:hover,.tna-template--dark-theme .tna-background-accent-light .tna-button:focus{color:var(--font-dark, rgb(1, 1, 1))}.tna-background-accent .tna-button--accent,.tna-template--dark-theme .tna-background-accent-light .tna-button--accent{background-color:var(--contrast-button-background, rgb(255, 255, 255));border-color:var(--contrast-button-background, rgb(255, 255, 255))}.tna-background-accent .tna-button--accent,.tna-background-accent .tna-button--accent:link,.tna-background-accent .tna-button--accent:visited,.tna-template--dark-theme .tna-background-accent-light .tna-button--accent,.tna-template--dark-theme .tna-background-accent-light .tna-button--accent:link,.tna-template--dark-theme .tna-background-accent-light .tna-button--accent:visited{color:var(--contrast-button-text, rgb(1, 1, 1))}.tna-background-accent .tna-button--accent:hover,.tna-background-accent .tna-button--accent:focus,.tna-template--dark-theme .tna-background-accent-light .tna-button--accent:hover,.tna-template--dark-theme .tna-background-accent-light .tna-button--accent:focus{color:var(--contrast-font-dark, rgb(255, 255, 255));background-color:var(--contrast-background, #1e1e1e)}@media(prefers-color-scheme: dark){.tna-template--system-theme .tna-background-accent-light .tna-button:hover,.tna-template--system-theme .tna-background-accent-light .tna-button:focus{color:var(--font-dark, rgb(1, 1, 1))}.tna-template--system-theme .tna-background-accent-light .tna-button--accent{background-color:var(--contrast-button-background, rgb(255, 255, 255));border-color:var(--contrast-button-background, rgb(255, 255, 255))}.tna-template--system-theme .tna-background-accent-light .tna-button--accent,.tna-template--system-theme .tna-background-accent-light .tna-button--accent:link,.tna-template--system-theme .tna-background-accent-light .tna-button--accent:visited{color:var(--contrast-button-text, rgb(1, 1, 1))}.tna-template--system-theme .tna-background-accent-light .tna-button--accent:hover,.tna-template--system-theme .tna-background-accent-light .tna-button--accent:focus{color:var(--contrast-font-dark, rgb(255, 255, 255));background-color:var(--contrast-background, #1e1e1e)}}@media(forced-colors: active){.tna-button:hover,.tna-button:focus{text-decoration:underline;text-decoration-thickness:3.5px}}/*# sourceMappingURL=button.css.map */
1
+ .tna-button-group{margin-top:32px}.tna-button-group:first-child{margin-top:0}.tna-button-group{display:flex;flex-wrap:wrap;align-items:center;gap:16px}@media(max-width: 30em){.tna-button-group{flex-direction:column;align-items:stretch}}.tna-button-group--small{gap:8px}.tna-button{padding:4px 16px;display:inline-flex;align-items:baseline;justify-content:center;gap:12px;line-height:2rem;text-align:center;text-decoration:none;text-wrap:balance;cursor:pointer;font-size:1.125rem;font-weight:700;background-color:var(--button-background, rgb(1, 1, 1));border:4px var(--button-background, rgb(1, 1, 1)) solid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.tna-button,.tna-button:link,.tna-button:visited{color:var(--button-text, rgb(255, 255, 255))}.tna-button:hover,.tna-button:focus{color:var(--button-hover-text, rgb(1, 1, 1));text-decoration:none;background:rgba(0,0,0,0)}.tna-button .fa-solid{display:block;font-size:.9em;line-height:1.7777777778}.tna-button svg{height:.9em;flex-shrink:0;align-self:center;fill:currentColor}.tna-button--plain{font-weight:400;background-color:rgba(0,0,0,0);border-color:rgba(0,0,0,0)}.tna-button--plain,.tna-button--plain:link,.tna-button--plain:visited,.tna-button--plain:hover,.tna-button--plain:focus{color:var(--link, #005fa3)}.tna-button--plain:hover,.tna-button--plain:focus{text-decoration:underline;text-decoration-thickness:3.5px}.tna-button--accent{background-color:var(--button-accented-background, rgb(140, 150, 148));border-color:var(--button-accented-background, rgb(140, 150, 148))}.tna-button--accent,.tna-button--accent:link,.tna-button--accent:visited{color:var(--button-accented-text, rgb(1, 1, 1))}.tna-button--accent:hover,.tna-button--accent:focus{color:var(--font-dark, rgb(1, 1, 1))}.tna-button--icon-right{flex-direction:row-reverse}.tna-button--small,.tna-button-group--small .tna-button{padding:0 8px;font-size:0.875rem;line-height:1.5rem}.tna-button--icon-only{padding-right:0;padding-left:0;gap:0;font-size:0 !important;line-height:0 !important}.tna-button--icon-only .fa-solid{width:2.5rem;font-size:1.125rem}.tna-button--icon-only svg{height:1.5rem;margin:.5rem}.tna-button--small.tna-button--icon-only,.tna-button-group--small .tna-button--icon-only{padding-right:0;padding-left:0}.tna-button--small.tna-button--icon-only .fa-solid,.tna-button-group--small .tna-button--icon-only .fa-solid{width:2rem;font-size:1.0125rem;line-height:2rem}.tna-button--small.tna-button--icon-only svg,.tna-button-group--small .tna-button--icon-only svg{height:1rem;margin:.5rem}@media(max-width: 48em){.tna-button--icon-only-mobile{padding-right:0;padding-left:0;gap:0;font-size:0 !important;line-height:0 !important}.tna-button--icon-only-mobile .fa-solid{width:2.5rem;font-size:1.125rem}.tna-button--icon-only-mobile svg{height:1.5rem;margin:.5rem}.tna-button--small.tna-button--icon-only-mobile,.tna-button-group--small .tna-button--icon-only-mobile{padding-right:0;padding-left:0}.tna-button--small.tna-button--icon-only-mobile .fa-solid,.tna-button-group--small .tna-button--icon-only-mobile .fa-solid{width:2rem;font-size:1.0125rem;line-height:2rem}.tna-button--small.tna-button--icon-only-mobile svg,.tna-button-group--small .tna-button--icon-only-mobile svg{height:1rem;margin:.5rem}}.tna-button--solid-hover:not(.tna-button--plain):hover,.tna-button--solid-hover:not(.tna-button--plain):focus{color:var(--font-dark, rgb(1, 1, 1));background-color:var(--background, #f4f4f4)}.tna-background-accent .tna-button:hover,.tna-background-accent .tna-button:focus,.tna-template--dark-theme .tna-background-accent-light .tna-button:hover,.tna-template--dark-theme .tna-background-accent-light .tna-button:focus{color:var(--font-dark, rgb(1, 1, 1))}.tna-background-accent .tna-button--accent,.tna-template--dark-theme .tna-background-accent-light .tna-button--accent{background-color:var(--contrast-button-background, rgb(255, 255, 255));border-color:var(--contrast-button-background, rgb(255, 255, 255))}.tna-background-accent .tna-button--accent,.tna-background-accent .tna-button--accent:link,.tna-background-accent .tna-button--accent:visited,.tna-template--dark-theme .tna-background-accent-light .tna-button--accent,.tna-template--dark-theme .tna-background-accent-light .tna-button--accent:link,.tna-template--dark-theme .tna-background-accent-light .tna-button--accent:visited{color:var(--contrast-button-text, rgb(1, 1, 1))}.tna-background-accent .tna-button--accent:hover,.tna-background-accent .tna-button--accent:focus,.tna-template--dark-theme .tna-background-accent-light .tna-button--accent:hover,.tna-template--dark-theme .tna-background-accent-light .tna-button--accent:focus{color:var(--contrast-font-dark, rgb(255, 255, 255));background-color:var(--contrast-background, #1e1e1e)}@media(prefers-color-scheme: dark){.tna-template--system-theme .tna-background-accent-light .tna-button:hover,.tna-template--system-theme .tna-background-accent-light .tna-button:focus{color:var(--font-dark, rgb(1, 1, 1))}.tna-template--system-theme .tna-background-accent-light .tna-button--accent{background-color:var(--contrast-button-background, rgb(255, 255, 255));border-color:var(--contrast-button-background, rgb(255, 255, 255))}.tna-template--system-theme .tna-background-accent-light .tna-button--accent,.tna-template--system-theme .tna-background-accent-light .tna-button--accent:link,.tna-template--system-theme .tna-background-accent-light .tna-button--accent:visited{color:var(--contrast-button-text, rgb(1, 1, 1))}.tna-template--system-theme .tna-background-accent-light .tna-button--accent:hover,.tna-template--system-theme .tna-background-accent-light .tna-button--accent:focus{color:var(--contrast-font-dark, rgb(255, 255, 255));background-color:var(--contrast-background, #1e1e1e)}}@media(forced-colors: active){.tna-button:hover,.tna-button:focus{text-decoration:underline;text-decoration-thickness:3.5px}}/*# sourceMappingURL=button.css.map */