@nationalarchives/frontend 0.1.52 → 0.1.54
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.
- package/nationalarchives/all.css +1 -1
- package/nationalarchives/all.css.map +1 -1
- package/nationalarchives/all.js +1 -1
- package/nationalarchives/all.js.map +1 -1
- package/nationalarchives/all.mjs +7 -0
- package/nationalarchives/analytics.js +1 -1
- package/nationalarchives/analytics.js.map +1 -1
- package/nationalarchives/analytics.mjs +4 -4
- package/nationalarchives/assets/fonts/OpenSans-SemiBold.ttf +0 -0
- package/nationalarchives/components/breadcrumbs/breadcrumbs.css +1 -1
- package/nationalarchives/components/breadcrumbs/breadcrumbs.css.map +1 -1
- package/nationalarchives/components/breadcrumbs/breadcrumbs.scss +9 -8
- package/nationalarchives/components/button/button-group.stories.js +0 -8
- package/nationalarchives/components/button/button.css +1 -1
- package/nationalarchives/components/button/button.css.map +1 -1
- package/nationalarchives/components/button/button.scss +12 -6
- package/nationalarchives/components/button/fixtures.json +76 -0
- package/nationalarchives/components/card/card.css +1 -1
- package/nationalarchives/components/card/card.css.map +1 -1
- package/nationalarchives/components/card/card.scss +1 -1
- package/nationalarchives/components/card/fixtures.json +24 -24
- package/nationalarchives/components/card/macro-options.json +1 -1
- package/nationalarchives/components/card/template.njk +1 -1
- package/nationalarchives/components/checkboxes/checkboxes.css +1 -1
- package/nationalarchives/components/checkboxes/checkboxes.css.map +1 -1
- package/nationalarchives/components/checkboxes/checkboxes.scss +3 -2
- package/nationalarchives/components/compound-filters/compound-filters.css +1 -1
- package/nationalarchives/components/compound-filters/compound-filters.css.map +1 -1
- package/nationalarchives/components/compound-filters/compound-filters.scss +10 -6
- package/nationalarchives/components/cookie-banner/README.md +6 -2
- package/nationalarchives/components/cookie-banner/cookie-banner.css.map +1 -1
- package/nationalarchives/components/cookie-banner/cookie-banner.js +1 -1
- package/nationalarchives/components/cookie-banner/cookie-banner.js.map +1 -1
- package/nationalarchives/components/cookie-banner/cookie-banner.mjs +2 -1
- package/nationalarchives/components/cookie-banner/cookie-banner.stories.js +7 -8
- package/nationalarchives/components/date-input/date-input.css +1 -1
- package/nationalarchives/components/date-input/date-input.css.map +1 -1
- package/nationalarchives/components/date-search/date-search.css +1 -1
- package/nationalarchives/components/date-search/date-search.css.map +1 -1
- package/nationalarchives/components/date-search/date-search.scss +2 -0
- package/nationalarchives/components/error-summary/error-summary.css +1 -1
- package/nationalarchives/components/error-summary/error-summary.css.map +1 -1
- package/nationalarchives/components/featured-records/featured-records.css +1 -1
- package/nationalarchives/components/featured-records/featured-records.css.map +1 -1
- package/nationalarchives/components/featured-records/featured-records.scss +5 -3
- package/nationalarchives/components/footer/analytics.js +8 -0
- package/nationalarchives/components/footer/fixtures.json +9 -2
- package/nationalarchives/components/footer/footer.css +1 -1
- package/nationalarchives/components/footer/footer.css.map +1 -1
- package/nationalarchives/components/footer/footer.js +2 -0
- package/nationalarchives/components/footer/footer.js.map +1 -0
- package/nationalarchives/components/footer/footer.mjs +87 -0
- package/nationalarchives/components/footer/footer.scss +28 -8
- package/nationalarchives/components/footer/footer.stories.js +62 -3
- package/nationalarchives/components/footer/template.njk +168 -120
- package/nationalarchives/components/gallery/gallery.css +1 -1
- package/nationalarchives/components/gallery/gallery.css.map +1 -1
- package/nationalarchives/components/gallery/gallery.scss +2 -1
- package/nationalarchives/components/global-header/global-header.css +1 -1
- package/nationalarchives/components/global-header/global-header.css.map +1 -1
- package/nationalarchives/components/global-header/global-header.scss +13 -10
- package/nationalarchives/components/grid/grid.css +1 -1
- package/nationalarchives/components/grid/grid.css.map +1 -1
- package/nationalarchives/components/grid/grid.scss +3 -3
- package/nationalarchives/components/header/header.css +1 -1
- package/nationalarchives/components/header/header.css.map +1 -1
- package/nationalarchives/components/header/header.scss +17 -15
- package/nationalarchives/components/hero/fixtures.json +106 -18
- package/nationalarchives/components/hero/hero.css +1 -1
- package/nationalarchives/components/hero/hero.css.map +1 -1
- package/nationalarchives/components/hero/hero.scss +78 -19
- package/nationalarchives/components/hero/hero.stories.js +60 -32
- package/nationalarchives/components/hero/macro-options.json +34 -3
- package/nationalarchives/components/hero/template.njk +27 -6
- package/nationalarchives/components/index-grid/index-grid.css +1 -1
- package/nationalarchives/components/index-grid/index-grid.css.map +1 -1
- package/nationalarchives/components/index-grid/macro-options.json +1 -1
- package/nationalarchives/components/pagination/pagination.css +1 -1
- package/nationalarchives/components/pagination/pagination.css.map +1 -1
- package/nationalarchives/components/pagination/pagination.scss +2 -2
- package/nationalarchives/components/phase-banner/phase-banner.css.map +1 -1
- package/nationalarchives/components/picture/picture.css +1 -1
- package/nationalarchives/components/picture/picture.css.map +1 -1
- package/nationalarchives/components/picture/picture.scss +5 -1
- package/nationalarchives/components/quick-filters/quick-filters.css +1 -1
- package/nationalarchives/components/quick-filters/quick-filters.css.map +1 -1
- package/nationalarchives/components/quick-filters/quick-filters.scss +4 -2
- package/nationalarchives/components/radios/radios.css +1 -1
- package/nationalarchives/components/radios/radios.css.map +1 -1
- package/nationalarchives/components/radios/radios.scss +3 -2
- package/nationalarchives/components/search-field/search-field.css +1 -1
- package/nationalarchives/components/search-field/search-field.css.map +1 -1
- package/nationalarchives/components/search-filters/search-filters.css +1 -1
- package/nationalarchives/components/search-filters/search-filters.css.map +1 -1
- package/nationalarchives/components/search-filters/search-filters.scss +7 -6
- package/nationalarchives/components/select/select.css +1 -1
- package/nationalarchives/components/select/select.css.map +1 -1
- package/nationalarchives/components/sensitive-image/sensitive-image.css +1 -1
- package/nationalarchives/components/sensitive-image/sensitive-image.css.map +1 -1
- package/nationalarchives/components/sensitive-image/sensitive-image.scss +7 -6
- package/nationalarchives/components/skip-link/skip-link.css +1 -1
- package/nationalarchives/components/skip-link/skip-link.css.map +1 -1
- package/nationalarchives/components/skip-link/skip-link.scss +4 -4
- package/nationalarchives/components/tabs/tabs.css +1 -1
- package/nationalarchives/components/tabs/tabs.css.map +1 -1
- package/nationalarchives/components/tabs/tabs.scss +8 -6
- package/nationalarchives/components/text-input/text-input.css +1 -1
- package/nationalarchives/components/text-input/text-input.css.map +1 -1
- package/nationalarchives/components/textarea/textarea.css +1 -1
- package/nationalarchives/components/textarea/textarea.css.map +1 -1
- package/nationalarchives/components/textarea/textarea.scss +7 -4
- package/nationalarchives/components/warning/warning.css +1 -1
- package/nationalarchives/components/warning/warning.css.map +1 -1
- package/nationalarchives/components/warning/warning.scss +7 -5
- package/nationalarchives/global-header-package.css +1 -1
- package/nationalarchives/global-header-package.css.map +1 -1
- package/nationalarchives/lib/cookies.mjs +21 -4
- package/nationalarchives/lib/functions.css +1 -0
- package/nationalarchives/lib/functions.css.map +1 -0
- package/nationalarchives/lib/functions.scss +16 -0
- package/nationalarchives/prototype-kit.css +1 -1
- package/nationalarchives/prototype-kit.css.map +1 -1
- package/nationalarchives/stories/utilities/colour-schemes/colour-combinations.stories.js +6 -2
- package/nationalarchives/stories/utilities/colour-schemes/colour-themes.stories.js +2 -1
- package/nationalarchives/templates/fixtures.json +27 -4
- package/nationalarchives/templates/layouts/_generic.njk +15 -15
- package/nationalarchives/tools/_colour.scss +3 -3
- package/nationalarchives/tools/_typography.scss +8 -9
- package/nationalarchives/utilities/_a11y.scss +4 -4
- package/nationalarchives/utilities/_debug.scss +2 -2
- package/nationalarchives/utilities/_global.scss +8 -0
- package/nationalarchives/utilities/_imports.scss +57 -0
- package/nationalarchives/utilities/_index.scss +1 -0
- package/nationalarchives/utilities/_lists.scss +36 -19
- package/nationalarchives/utilities/_tables.scss +8 -8
- package/nationalarchives/utilities/_typography.scss +6 -42
- package/nationalarchives/variables/_colour.scss +7 -2
- package/nationalarchives/variables/_typography.scss +55 -4
- package/package.json +21 -20
- package/nationalarchives/assets/fonts/OpenSans-Italic.ttf +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"all.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","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/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/search-filters/search-filters.mjs","webpack://TNAFrontend/./src/nationalarchives/components/sensitive-image/sensitive-image.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 ","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>…\";\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 (window.TNAFrontend?.Cookies || Cookies)({\n extraPolicies,\n domain,\n path,\n secure,\n policiesKey,\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 uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Gallery {\n constructor($module) {\n this.$module = $module;\n this.$items = $module && $module.querySelector(\".tna-gallery__items\");\n this.opened = false;\n\n if (!this.$module || !this.$items) {\n return;\n }\n\n const supportTouchHorizontal = false;\n\n this.items = this.$module.querySelectorAll(\".tna-gallery__item\").length;\n\n if (this.items > 1) {\n const uniqueId = `tna-gallery-${uuidv4()}`;\n\n this.$module.classList.add(\"tna-gallery--collapsed\");\n this.$items.setAttribute(\"tabindex\", \"-1\");\n\n this.$galleryToggle = document.createElement(\"button\");\n this.$galleryToggle.classList.add(\n \"tna-gallery__toggle\",\n \"tna-button\",\n \"tna-button--accent\",\n );\n this.$galleryToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$galleryToggle.setAttribute(\"aria-expanded\", false);\n this.$galleryToggle.innerText = `View ${this.items} images`;\n\n const onFirstTouch = () => {\n this.$module.removeEventListener(\"touchstart\", onFirstTouch);\n this.$module.classList.add(\"tna-gallery--touchable\");\n };\n\n if (supportTouchHorizontal) {\n this.$module.addEventListener(\"touchstart\", onFirstTouch);\n }\n\n this.$galleryToggle.addEventListener(\"click\", () => {\n if (supportTouchHorizontal) {\n this.$module.removeEventListener(\"touchstart\", onFirstTouch);\n }\n this.handleToggleGallery();\n });\n\n this.$galleryToggleWrapper = document.createElement(\"div\");\n this.$galleryToggleWrapper.classList.add(\n \"tna-column\",\n \"tna-column--full\",\n \"tna-gallery__toggle-wrapper\",\n );\n\n this.$galleryToggleWrapper.appendChild(this.$galleryToggle);\n this.$items.parentElement.appendChild(this.$galleryToggleWrapper);\n\n this.$items.setAttribute(\"id\", uniqueId);\n }\n }\n\n handleToggleGallery() {\n this.opened = !this.opened;\n if (this.opened) {\n this.$module.classList.remove(\"tna-gallery--collapsed\");\n this.$galleryToggle.setAttribute(\"aria-expanded\", true);\n this.$galleryToggle.innerText = \"Close images\";\n this.$items.setAttribute(\"tabindex\", \"0\");\n this.$items.focus();\n this.$items.setAttribute(\"tabindex\", \"-1\");\n } else {\n this.$module.classList.add(\"tna-gallery--collapsed\");\n this.$galleryToggle.setAttribute(\"aria-expanded\", false);\n this.$galleryToggle.innerText = `View ${this.items} images`;\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.$navigation.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\") {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n });\n this.$topNavigation.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\") {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\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-toggle-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.$navigation.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\") {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\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.hidden = false;\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(\n \"tna-header__navigation-toggle-button--opened\",\n );\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-toggle-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 this.$transcript =\n $module && $module.querySelector(\".tna-picture__transcript\");\n this.transcriptOpened = false;\n\n if (!this.$module || !this.$imageWrapper || !this.$transcript) {\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 const uniqueId = `tna-picture-${uuidv4()}`;\n\n this.$transcriptToggle = document.createElement(\"button\");\n this.$transcriptToggle.classList.add(\n \"tna-picture__toggle-transcript\",\n \"tna-button\",\n \"tna-button--small\",\n \"tna-button--solid-hover\",\n );\n this.$transcriptToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcriptToggle.addEventListener(\"click\", () =>\n this.handleToggleTranscript(),\n );\n this.$imageWrapper.appendChild(this.$transcriptToggle);\n\n this.$transcript.setAttribute(\"id\", uniqueId);\n this.$transcript.setAttribute(\"hidden\", true);\n }\n\n handleToggleTranscript() {\n const transcriptToggleOpenedClass =\n \"tna-picture__toggle-transcript--opened\";\n this.transcriptOpened = !this.transcriptOpened;\n if (this.transcriptOpened) {\n this.$transcriptToggle.classList.add(transcriptToggleOpenedClass);\n this.$transcriptToggle.setAttribute(\"aria-expanded\", true);\n this.$transcriptToggle.innerText = this.closeLabel;\n this.$transcript.removeAttribute(\"hidden\");\n } else {\n this.$transcriptToggle.classList.remove(transcriptToggleOpenedClass);\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcript.setAttribute(\"hidden\", true);\n }\n }\n}\n","export class SearchFilters {\n constructor($module) {\n this.$module = $module;\n\n if (!this.$module) {\n return;\n }\n\n this.$module.classList.add(\"tna-search-filters--js-enabled\");\n\n Array.from(\n this.$module.querySelectorAll(\".tna-search-filters__fieldset\"),\n ).forEach(($fieldset) => {\n // const type = $fieldset.dataset.type;\n const $toggle = $fieldset.querySelector(\n \".tna-search-filters__item-toggle\",\n );\n const $headingInner = $fieldset.querySelector(\n \".tna-search-filters__heading-inner\",\n );\n const $item = $fieldset.querySelector(\".tna-search-filters__item\");\n\n if (!$toggle || !$headingInner || !$item) {\n return;\n }\n\n $toggle.removeAttribute(\"hidden\");\n $headingInner.remove();\n\n this.syncItem($toggle, $item);\n\n $toggle.addEventListener(\"click\", () => {\n this.toggleItem($toggle, $item);\n });\n\n // if (type === \"multiple\") {\n // const $count = $toggle.querySelector(\n // \".tna-search-filters__item-toggle-info\",\n // );\n // if ($count) {\n // $item.addEventListener(\"change\", () => {\n // const selected = Array.from(\n // $item.querySelectorAll('input[type=\"checkbox\"]:checked'),\n // ).length;\n // $count.innerText = selected ? `(${selected} selected)` : \"\";\n // });\n // }\n // }\n });\n }\n\n toggleItem($toggle, $item) {\n $toggle.setAttribute(\n \"aria-expanded\",\n $toggle.getAttribute(\"aria-expanded\") == \"false\",\n );\n this.syncItem($toggle, $item);\n }\n\n syncItem($toggle, $item) {\n if ($toggle.getAttribute(\"aria-expanded\") == \"true\") {\n $item.removeAttribute(\"hidden\");\n } else {\n $item.setAttribute(\"hidden\", true);\n }\n }\n}\n","export class SensitiveImage {\n constructor($module) {\n this.$module = $module;\n this.$imageDetails =\n $module && $module.querySelector(\".tna-sensitive-image__details\");\n this.$image =\n $module && $module.querySelector(\".tna-sensitive-image__image\");\n this.imageIsVisible = false;\n\n if (!this.$module || !this.$imageDetails || !this.$image) {\n return;\n }\n this.$imageDetails.addEventListener(\"toggle\", () =>\n this.handleImageDetailsToggle(),\n );\n }\n\n handleImageDetailsToggle() {\n if (this.$imageDetails.hasAttribute(\"open\")) {\n this.$image.focus({ preventScroll: true, focusVisible: true });\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 $module.querySelectorAll(\".tna-tabs__list-item-link\");\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.sticky = this.$module.classList.contains(\"tna-tabs--sticky\");\n\n const startingTarget = window.location.hash.replace(/^#/, \"\");\n const doesStartingTargetExist = [...this.$tabItems].some(\n ($tabItem) => $tabItem.getAttribute(\"id\") === startingTarget,\n );\n\n this.$newTabList = document.createElement(\"div\");\n this.$newTabList.setAttribute(\"role\", \"tablist\");\n this.$newTabList.setAttribute(\"class\", this.$tabList.getAttribute(\"class\"));\n\n this.$tabItems.forEach(($tabItem, index) => {\n $tabItem.setAttribute(\"role\", \"tabpanel\");\n $tabItem.setAttribute(\n \"aria-labelledby\",\n `${$tabItem.getAttribute(\"id\")}-tab`,\n );\n $tabItem.setAttribute(\"tabindex\", \"0\");\n if (\n (doesStartingTargetExist &&\n $tabItem.getAttribute(\"id\") !== startingTarget) ||\n (!doesStartingTargetExist && index > 0)\n ) {\n $tabItem.setAttribute(\"hidden\", true);\n }\n });\n\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n const $replacementButton = document.createElement(\"button\");\n $replacementButton.innerText = $tabListItemLink.innerText;\n $replacementButton.setAttribute(\n \"class\",\n $tabListItemLink.getAttribute(\"class\"),\n );\n $replacementButton.setAttribute(\"role\", \"tab\");\n $replacementButton.setAttribute(\n \"id\",\n $tabListItemLink.getAttribute(\"id\"),\n );\n $replacementButton.setAttribute(\n \"aria-controls\",\n $tabListItemLink.getAttribute(\"href\")?.replace(/^#/, \"\"),\n );\n $replacementButton.setAttribute(\"tabindex\", \"-1\");\n this.$newTabList.appendChild($replacementButton);\n });\n\n this.$tabList.replaceWith(this.$newTabList);\n\n this.$tabListItemLinks = this.$module.querySelectorAll(\n \".tna-tabs__list-item-link\",\n );\n\n this.$tabListItemLinks.forEach(($tabListItemLink, index) => {\n if (\n (startingTarget &&\n $tabListItemLink.getAttribute(\"aria-controls\") ===\n `${startingTarget}`) ||\n (!startingTarget && index === 0)\n ) {\n $tabListItemLink.classList.add(\"tna-tabs__list-item-link--selected\");\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n }\n\n $tabListItemLink.addEventListener(\n \"keydown\",\n (e) => this.handleItemLinkKeyDown(e),\n true,\n );\n $tabListItemLink.addEventListener(\n \"click\",\n (e) => this.handleItemLinkClick(e),\n true,\n );\n });\n }\n\n handleItemLinkClick(itemLinkClickEvent) {\n itemLinkClickEvent.preventDefault();\n const targetItem =\n itemLinkClickEvent.currentTarget.getAttribute(\"aria-controls\");\n\n this.switchTab(targetItem);\n }\n\n handleItemLinkKeyDown(itemLinkKeyDownEvent) {\n const targetItem = itemLinkKeyDownEvent.currentTarget;\n let overwriteKeyAction = false;\n\n switch (itemLinkKeyDownEvent.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.setSelectedToPreviousTab(targetItem);\n overwriteKeyAction = true;\n break;\n\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.setSelectedToNextTab(targetItem);\n overwriteKeyAction = true;\n break;\n\n case \"Home\":\n this.switchTab(this.$tabListItemLinks[0].getAttribute(\"aria-controls\"));\n overwriteKeyAction = true;\n break;\n\n case \"End\":\n this.switchTab(\n this.$tabListItemLinks[\n this.$tabListItemLinks.length - 1\n ].getAttribute(\"aria-controls\"),\n );\n overwriteKeyAction = true;\n break;\n\n default:\n break;\n }\n\n if (overwriteKeyAction) {\n itemLinkKeyDownEvent.stopPropagation();\n itemLinkKeyDownEvent.preventDefault();\n }\n }\n\n setSelectedToNextTab(targetItem) {\n const currentIndex = [...this.$tabListItemLinks].findIndex(\n ($tabListItemLink) =>\n $tabListItemLink.getAttribute(\"id\") === targetItem.getAttribute(\"id\"),\n );\n let newIndex;\n if (currentIndex < this.$tabListItemLinks.length - 1) {\n newIndex = currentIndex + 1;\n } else {\n newIndex = 0;\n }\n this.switchTab(\n this.$tabListItemLinks[newIndex].getAttribute(\"aria-controls\"),\n );\n }\n\n setSelectedToPreviousTab(targetItem) {\n const currentIndex = [...this.$tabListItemLinks].findIndex(\n ($tabListItemLink) =>\n $tabListItemLink.getAttribute(\"id\") === targetItem.getAttribute(\"id\"),\n );\n let newIndex;\n if (currentIndex >= 1) {\n newIndex = currentIndex - 1;\n } else {\n newIndex = this.$tabListItemLinks.length - 1;\n }\n this.switchTab(\n this.$tabListItemLinks[newIndex].getAttribute(\"aria-controls\"),\n );\n }\n\n switchTab(targetId) {\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n if ($tabListItemLink.getAttribute(\"aria-controls\") === targetId) {\n $tabListItemLink.classList.add(\"tna-tabs__list-item-link--selected\");\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n $tabListItemLink.focus();\n } else {\n $tabListItemLink.classList.remove(\"tna-tabs__list-item-link--selected\");\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n $tabListItemLink.setAttribute(\"tabindex\", \"-1\");\n }\n });\n\n this.$tabItems.forEach(($tabItem) => {\n if ($tabItem.getAttribute(\"id\") === targetId) {\n $tabItem.removeAttribute(\"hidden\");\n $tabItem.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabItem.setAttribute(\"hidden\", true);\n $tabItem.setAttribute(\"tabindex\", \"-1\");\n }\n });\n\n if (this.sticky) {\n if (history.replaceState) {\n history.replaceState(null, null, `#${targetId}`);\n } else {\n location.hash = `#${targetId}`;\n }\n }\n }\n}\n","export class CookieEventHandler {\n events = {};\n oneTimeEvents = {};\n\n constructor() {\n if (CookieEventHandler._instance) {\n return CookieEventHandler._instance;\n }\n CookieEventHandler._instance = 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\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 */\n constructor(options = {}) {\n const {\n extraPolicies = [],\n domain = \"\",\n path = \"/\",\n secure = true,\n policiesKey = \"cookies_policy\",\n } = options;\n this.extraPolicies = extraPolicies;\n this.domain = domain;\n this.path = path;\n this.secure = secure;\n this.policiesKey = policiesKey;\n this.events = new CookieEventHandler();\n this.init();\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 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 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=31536000] - 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 */\n set(key, value, options = {}) {\n const {\n maxAge = 60 * 60 * 24 * 365,\n sameSite = \"Lax\",\n domain = this.domain,\n path = this.path,\n secure = this.secure,\n } = options;\n if (!key) {\n return;\n }\n const cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)};${\n domain ? ` domain=${domain}; ` : \"\"\n } samesite=${sameSite}; path=${path}; 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 cookie,\n });\n }\n\n /**\n * Delete a cookie.\n * @param {String} key - The cookie name.\n * @param {String} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\", domain = null) {\n const options = { maxAge: -1, path, domain: domain || undefined };\n this.set(key, \"\", options);\n this.events.trigger(\"deleteCookie\", { key, ...options });\n }\n\n /**\n * Delete all cookies.\n */\n deleteAll(path = \"/\", domain = null) {\n Object.keys(this.all).forEach((cookie) => {\n this.delete(cookie, path, domain);\n });\n this.events.trigger(\"deleteAllCookies\", { path, domain });\n }\n\n /**\n * Accept a policy.\n * @param {String} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n this.events.trigger(\"acceptPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: true });\n }\n\n /**\n * Reject a policy.\n * @param {String} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n this.events.trigger(\"rejectPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: false });\n }\n\n /**\n * Set a policy.\n * @param {String} policy - The name of the policy.\n * @param {Boolean} accepted - Whether the policy is accepted or not.\n */\n setPolicy(policy, accepted) {\n if (policy === \"essential\") {\n return;\n }\n this.savePolicies({\n ...this.policies,\n [policy]: accepted,\n essential: true,\n });\n this.events.trigger(\"changePolicy\", { [policy]: accepted });\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n const allPolicies = Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), true]),\n );\n this.savePolicies(allPolicies);\n this.events.trigger(\"acceptAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n const allPolicies = {\n ...Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), false]),\n ),\n essential: true,\n };\n this.savePolicies(allPolicies);\n this.events.trigger(\"rejectAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Commit policy preferences to the browser.\n * @param {object} policies - The policies to commit.\n */\n savePolicies(policies) {\n this.set(this.policiesKey, JSON.stringify(policies));\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {String} policy - The name of the policy.\n * @returns {Boolean}\n */\n isPolicyAccepted(policy) {\n return Object.hasOwn(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n this.events.on(event, callback);\n }\n\n /**\n * Add a one-time event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n once(event, callback) {\n this.events.once(event, callback);\n }\n}\n","const uuidv4 = () =>\n ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n (\n c ^\n (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))\n ).toString(16),\n );\n\nexport default uuidv4;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { 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 { 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 { SearchFilters } from \"./components/search-filters/search-filters.mjs\";\nimport { SensitiveImage } from \"./components/sensitive-image/sensitive-image.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 $body = document.documentElement;\n$body.classList.add(\"tna-template--js-enabled\");\n\nconst onFirstTouch = () => {\n window.removeEventListener(\"touchstart\", onFirstTouch);\n $body.classList.add(\"tna-template--touched\");\n};\n\nconst onKeyDown = (e) => {\n if (e.key === \"Tab\") {\n $body.classList.add(\"tna-template--tabbed\");\n $body.classList.remove(\"tna-template--clicked\");\n }\n};\n\nconst onMouseDown = () => {\n $body.classList.add(\"tna-template--clicked\");\n $body.classList.remove(\"tna-template--tabbed\");\n};\n\nwindow.addEventListener(\"touchstart\", onFirstTouch);\nwindow.addEventListener(\"keydown\", onKeyDown);\nwindow.addEventListener(\"mousedown\", onMouseDown);\n\nconst initAll = (options) => {\n options = typeof options !== \"undefined\" ? options : {};\n const $scope =\n options.scope instanceof HTMLElement ? options.scope : document;\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 $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 $searchFilters = $scope.querySelectorAll(\n '[data-module=\"tna-search-filters\"]',\n );\n $searchFilters.forEach(($searchFilter) => {\n new SearchFilters($searchFilter);\n });\n\n const $sensitiveImages = $scope.querySelectorAll(\n '[data-module=\"tna-sensitive-image\"]',\n );\n $sensitiveImages.forEach(($sensitiveImage) => {\n new SensitiveImage($sensitiveImage);\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\nexport {\n initAll,\n Cookies,\n Breadcrumbs,\n CookieBanner,\n ErrorSummary,\n Gallery,\n GlobalHeader,\n Header,\n Picture,\n SearchFilters,\n SensitiveImage,\n SkipLink,\n Tabs,\n};\n"],"names":["root","factory","exports","module","define","amd","self","Breadcrumbs","_createClass","$module","_this","_classCallCheck","this","$breadcrumbsList","querySelector","$breadcrumbs","querySelectorAll","length","classList","contains","uniqueId","concat","uuidv4","$expandable","document","createElement","add","style","display","$expandButton","innerHTML","setAttribute","addEventListener","remove","focus","appendChild","insertBefore","nextSibling","CookieBanner","_window$TNAFrontend","$acceptButton","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","extraPolicies","getAttribute","split","filter","x","map","policy","trim","domain","undefined","path","secure","policiesKey","cookies","window","TNAFrontend","Cookies","cookiePreferencesSet","hasValue","removeAttribute","accept","reject","key","value","complete","acceptAllPolicies","rejectAllPolicies","_this2","set","forEach","$closeButton","close","ErrorSummary","_ref","setFocus","$element","_options$onBeforeFocu","options","arguments","isFocusable","onBlur","_options$onBlur","call","once","onBeforeFocus","Gallery","$items","opened","items","$galleryToggle","innerText","handleToggleGallery","$galleryToggleWrapper","parentElement","GlobalHeader","$toggleButton","$navigation","$topNavigation","$links","menuOpened","mql","matchMedia","syncState","handleToggleNavigation","addListener","e","code","matches","show","hide","hidden","i","Header","Picture","$imageWrapper","$transcript","transcriptOpened","openLabel","closeLabel","$transcriptToggle","handleToggleTranscript","transcriptToggleOpenedClass","SearchFilters","Array","from","$fieldset","$toggle","$headingInner","$item","syncItem","toggleItem","SensitiveImage","$imageDetails","$image","imageIsVisible","handleImageDetailsToggle","hasAttribute","preventScroll","focusVisible","SkipLink","linkedElementId","pop","$linkedElement","getElementById","focusLinkedElement","linkedElementListener","removeFocusProperties","Tabs","$tabList","$tabListItemLinks","$tabItems","sticky","startingTarget","location","hash","replace","doesStartingTargetExist","_toConsumableArray","some","$tabItem","$newTabList","index","$tabListItemLink","_$tabListItemLink$get","$replacementButton","replaceWith","handleItemLinkKeyDown","handleItemLinkClick","itemLinkClickEvent","preventDefault","targetItem","currentTarget","switchTab","itemLinkKeyDownEvent","overwriteKeyAction","setSelectedToPreviousTab","setSelectedToNextTab","stopPropagation","newIndex","currentIndex","findIndex","targetId","history","replaceState","CookieEventHandler","_defineProperty","_instance","event","callback","Object","hasOwn","events","oneTimeEvents","data","eventToTrigger","splice","_options$extraPolicie","_options$domain","_options$path","_options$secure","_options$policiesKey","init","savePolicies","_objectSpread","fromEntries","k","toLowerCase","usage","settings","policies","essential","get","deserialised","cookie","parts","JSON","parse","all","exists","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain2","_options$path2","_options$secure2","encodeURIComponent","trigger","keys","setPolicy","accepted","allPolicies","stringify","on","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","$body","documentElement","onFirstTouch","removeEventListener","initAll","$scope","scope","HTMLElement","$cookieBanner","$errorSummary","$gallery","$globalHeader","$header","$picture","$searchFilter","$sensitiveImage","$skipLink","$tabModule"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"all.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","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/search-filters/search-filters.mjs","webpack://TNAFrontend/./src/nationalarchives/components/sensitive-image/sensitive-image.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 ","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>…\";\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","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Gallery {\n constructor($module) {\n this.$module = $module;\n this.$items = $module && $module.querySelector(\".tna-gallery__items\");\n this.opened = false;\n\n if (!this.$module || !this.$items) {\n return;\n }\n\n const supportTouchHorizontal = false;\n\n this.items = this.$module.querySelectorAll(\".tna-gallery__item\").length;\n\n if (this.items > 1) {\n const uniqueId = `tna-gallery-${uuidv4()}`;\n\n this.$module.classList.add(\"tna-gallery--collapsed\");\n this.$items.setAttribute(\"tabindex\", \"-1\");\n\n this.$galleryToggle = document.createElement(\"button\");\n this.$galleryToggle.classList.add(\n \"tna-gallery__toggle\",\n \"tna-button\",\n \"tna-button--accent\",\n );\n this.$galleryToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$galleryToggle.setAttribute(\"aria-expanded\", false);\n this.$galleryToggle.innerText = `View ${this.items} images`;\n\n const onFirstTouch = () => {\n this.$module.removeEventListener(\"touchstart\", onFirstTouch);\n this.$module.classList.add(\"tna-gallery--touchable\");\n };\n\n if (supportTouchHorizontal) {\n this.$module.addEventListener(\"touchstart\", onFirstTouch);\n }\n\n this.$galleryToggle.addEventListener(\"click\", () => {\n if (supportTouchHorizontal) {\n this.$module.removeEventListener(\"touchstart\", onFirstTouch);\n }\n this.handleToggleGallery();\n });\n\n this.$galleryToggleWrapper = document.createElement(\"div\");\n this.$galleryToggleWrapper.classList.add(\n \"tna-column\",\n \"tna-column--full\",\n \"tna-gallery__toggle-wrapper\",\n );\n\n this.$galleryToggleWrapper.appendChild(this.$galleryToggle);\n this.$items.parentElement.appendChild(this.$galleryToggleWrapper);\n\n this.$items.setAttribute(\"id\", uniqueId);\n }\n }\n\n handleToggleGallery() {\n this.opened = !this.opened;\n if (this.opened) {\n this.$module.classList.remove(\"tna-gallery--collapsed\");\n this.$galleryToggle.setAttribute(\"aria-expanded\", true);\n this.$galleryToggle.innerText = \"Close images\";\n this.$items.setAttribute(\"tabindex\", \"0\");\n this.$items.focus();\n this.$items.setAttribute(\"tabindex\", \"-1\");\n } else {\n this.$module.classList.add(\"tna-gallery--collapsed\");\n this.$galleryToggle.setAttribute(\"aria-expanded\", false);\n this.$galleryToggle.innerText = `View ${this.items} images`;\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.$navigation.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\") {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n });\n this.$topNavigation.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\") {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\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-toggle-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.$navigation.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\") {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\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.hidden = false;\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(\n \"tna-header__navigation-toggle-button--opened\",\n );\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-toggle-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 this.$transcript =\n $module && $module.querySelector(\".tna-picture__transcript\");\n this.transcriptOpened = false;\n\n if (!this.$module || !this.$imageWrapper || !this.$transcript) {\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 const uniqueId = `tna-picture-${uuidv4()}`;\n\n this.$transcriptToggle = document.createElement(\"button\");\n this.$transcriptToggle.classList.add(\n \"tna-picture__toggle-transcript\",\n \"tna-button\",\n \"tna-button--small\",\n \"tna-button--solid-hover\",\n );\n this.$transcriptToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcriptToggle.addEventListener(\"click\", () =>\n this.handleToggleTranscript(),\n );\n this.$imageWrapper.appendChild(this.$transcriptToggle);\n\n this.$transcript.setAttribute(\"id\", uniqueId);\n this.$transcript.setAttribute(\"hidden\", true);\n }\n\n handleToggleTranscript() {\n const transcriptToggleOpenedClass =\n \"tna-picture__toggle-transcript--opened\";\n this.transcriptOpened = !this.transcriptOpened;\n if (this.transcriptOpened) {\n this.$transcriptToggle.classList.add(transcriptToggleOpenedClass);\n this.$transcriptToggle.setAttribute(\"aria-expanded\", true);\n this.$transcriptToggle.innerText = this.closeLabel;\n this.$transcript.removeAttribute(\"hidden\");\n } else {\n this.$transcriptToggle.classList.remove(transcriptToggleOpenedClass);\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcript.setAttribute(\"hidden\", true);\n }\n }\n}\n","export class SearchFilters {\n constructor($module) {\n this.$module = $module;\n\n if (!this.$module) {\n return;\n }\n\n this.$module.classList.add(\"tna-search-filters--js-enabled\");\n\n Array.from(\n this.$module.querySelectorAll(\".tna-search-filters__fieldset\"),\n ).forEach(($fieldset) => {\n // const type = $fieldset.dataset.type;\n const $toggle = $fieldset.querySelector(\n \".tna-search-filters__item-toggle\",\n );\n const $headingInner = $fieldset.querySelector(\n \".tna-search-filters__heading-inner\",\n );\n const $item = $fieldset.querySelector(\".tna-search-filters__item\");\n\n if (!$toggle || !$headingInner || !$item) {\n return;\n }\n\n $toggle.removeAttribute(\"hidden\");\n $headingInner.remove();\n\n this.syncItem($toggle, $item);\n\n $toggle.addEventListener(\"click\", () => {\n this.toggleItem($toggle, $item);\n });\n\n // if (type === \"multiple\") {\n // const $count = $toggle.querySelector(\n // \".tna-search-filters__item-toggle-info\",\n // );\n // if ($count) {\n // $item.addEventListener(\"change\", () => {\n // const selected = Array.from(\n // $item.querySelectorAll('input[type=\"checkbox\"]:checked'),\n // ).length;\n // $count.innerText = selected ? `(${selected} selected)` : \"\";\n // });\n // }\n // }\n });\n }\n\n toggleItem($toggle, $item) {\n $toggle.setAttribute(\n \"aria-expanded\",\n $toggle.getAttribute(\"aria-expanded\") == \"false\",\n );\n this.syncItem($toggle, $item);\n }\n\n syncItem($toggle, $item) {\n if ($toggle.getAttribute(\"aria-expanded\") == \"true\") {\n $item.removeAttribute(\"hidden\");\n } else {\n $item.setAttribute(\"hidden\", true);\n }\n }\n}\n","export class SensitiveImage {\n constructor($module) {\n this.$module = $module;\n this.$imageDetails =\n $module && $module.querySelector(\".tna-sensitive-image__details\");\n this.$image =\n $module && $module.querySelector(\".tna-sensitive-image__image\");\n this.imageIsVisible = false;\n\n if (!this.$module || !this.$imageDetails || !this.$image) {\n return;\n }\n this.$imageDetails.addEventListener(\"toggle\", () =>\n this.handleImageDetailsToggle(),\n );\n }\n\n handleImageDetailsToggle() {\n if (this.$imageDetails.hasAttribute(\"open\")) {\n this.$image.focus({ preventScroll: true, focusVisible: true });\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 $module.querySelectorAll(\".tna-tabs__list-item-link\");\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.sticky = this.$module.classList.contains(\"tna-tabs--sticky\");\n\n const startingTarget = window.location.hash.replace(/^#/, \"\");\n const doesStartingTargetExist = [...this.$tabItems].some(\n ($tabItem) => $tabItem.getAttribute(\"id\") === startingTarget,\n );\n\n this.$newTabList = document.createElement(\"div\");\n this.$newTabList.setAttribute(\"role\", \"tablist\");\n this.$newTabList.setAttribute(\"class\", this.$tabList.getAttribute(\"class\"));\n\n this.$tabItems.forEach(($tabItem, index) => {\n $tabItem.setAttribute(\"role\", \"tabpanel\");\n $tabItem.setAttribute(\n \"aria-labelledby\",\n `${$tabItem.getAttribute(\"id\")}-tab`,\n );\n $tabItem.setAttribute(\"tabindex\", \"0\");\n if (\n (doesStartingTargetExist &&\n $tabItem.getAttribute(\"id\") !== startingTarget) ||\n (!doesStartingTargetExist && index > 0)\n ) {\n $tabItem.setAttribute(\"hidden\", true);\n }\n });\n\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n const $replacementButton = document.createElement(\"button\");\n $replacementButton.innerText = $tabListItemLink.innerText;\n $replacementButton.setAttribute(\n \"class\",\n $tabListItemLink.getAttribute(\"class\"),\n );\n $replacementButton.setAttribute(\"role\", \"tab\");\n $replacementButton.setAttribute(\n \"id\",\n $tabListItemLink.getAttribute(\"id\"),\n );\n $replacementButton.setAttribute(\n \"aria-controls\",\n $tabListItemLink.getAttribute(\"href\")?.replace(/^#/, \"\"),\n );\n $replacementButton.setAttribute(\"tabindex\", \"-1\");\n this.$newTabList.appendChild($replacementButton);\n });\n\n this.$tabList.replaceWith(this.$newTabList);\n\n this.$tabListItemLinks = this.$module.querySelectorAll(\n \".tna-tabs__list-item-link\",\n );\n\n this.$tabListItemLinks.forEach(($tabListItemLink, index) => {\n if (\n (startingTarget &&\n $tabListItemLink.getAttribute(\"aria-controls\") ===\n `${startingTarget}`) ||\n (!startingTarget && index === 0)\n ) {\n $tabListItemLink.classList.add(\"tna-tabs__list-item-link--selected\");\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n }\n\n $tabListItemLink.addEventListener(\n \"keydown\",\n (e) => this.handleItemLinkKeyDown(e),\n true,\n );\n $tabListItemLink.addEventListener(\n \"click\",\n (e) => this.handleItemLinkClick(e),\n true,\n );\n });\n }\n\n handleItemLinkClick(itemLinkClickEvent) {\n itemLinkClickEvent.preventDefault();\n const targetItem =\n itemLinkClickEvent.currentTarget.getAttribute(\"aria-controls\");\n\n this.switchTab(targetItem);\n }\n\n handleItemLinkKeyDown(itemLinkKeyDownEvent) {\n const targetItem = itemLinkKeyDownEvent.currentTarget;\n let overwriteKeyAction = false;\n\n switch (itemLinkKeyDownEvent.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.setSelectedToPreviousTab(targetItem);\n overwriteKeyAction = true;\n break;\n\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.setSelectedToNextTab(targetItem);\n overwriteKeyAction = true;\n break;\n\n case \"Home\":\n this.switchTab(this.$tabListItemLinks[0].getAttribute(\"aria-controls\"));\n overwriteKeyAction = true;\n break;\n\n case \"End\":\n this.switchTab(\n this.$tabListItemLinks[\n this.$tabListItemLinks.length - 1\n ].getAttribute(\"aria-controls\"),\n );\n overwriteKeyAction = true;\n break;\n\n default:\n break;\n }\n\n if (overwriteKeyAction) {\n itemLinkKeyDownEvent.stopPropagation();\n itemLinkKeyDownEvent.preventDefault();\n }\n }\n\n setSelectedToNextTab(targetItem) {\n const currentIndex = [...this.$tabListItemLinks].findIndex(\n ($tabListItemLink) =>\n $tabListItemLink.getAttribute(\"id\") === targetItem.getAttribute(\"id\"),\n );\n let newIndex;\n if (currentIndex < this.$tabListItemLinks.length - 1) {\n newIndex = currentIndex + 1;\n } else {\n newIndex = 0;\n }\n this.switchTab(\n this.$tabListItemLinks[newIndex].getAttribute(\"aria-controls\"),\n );\n }\n\n setSelectedToPreviousTab(targetItem) {\n const currentIndex = [...this.$tabListItemLinks].findIndex(\n ($tabListItemLink) =>\n $tabListItemLink.getAttribute(\"id\") === targetItem.getAttribute(\"id\"),\n );\n let newIndex;\n if (currentIndex >= 1) {\n newIndex = currentIndex - 1;\n } else {\n newIndex = this.$tabListItemLinks.length - 1;\n }\n this.switchTab(\n this.$tabListItemLinks[newIndex].getAttribute(\"aria-controls\"),\n );\n }\n\n switchTab(targetId) {\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n if ($tabListItemLink.getAttribute(\"aria-controls\") === targetId) {\n $tabListItemLink.classList.add(\"tna-tabs__list-item-link--selected\");\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n $tabListItemLink.focus();\n } else {\n $tabListItemLink.classList.remove(\"tna-tabs__list-item-link--selected\");\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n $tabListItemLink.setAttribute(\"tabindex\", \"-1\");\n }\n });\n\n this.$tabItems.forEach(($tabItem) => {\n if ($tabItem.getAttribute(\"id\") === targetId) {\n $tabItem.removeAttribute(\"hidden\");\n $tabItem.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabItem.setAttribute(\"hidden\", true);\n $tabItem.setAttribute(\"tabindex\", \"-1\");\n }\n });\n\n if (this.sticky) {\n if (history.replaceState) {\n history.replaceState(null, null, `#${targetId}`);\n } else {\n location.hash = `#${targetId}`;\n }\n }\n }\n}\n","window.TNAFrontendCookies = window.TNAFrontendCookies || null;\nwindow.TNAFrontendCookieEvents = window.TNAFrontendCookieEvents || null;\n\nexport class CookieEventHandler {\n events = {};\n oneTimeEvents = {};\n\n constructor() {\n if (window.TNAFrontendCookieEvents) {\n return window.TNAFrontendCookieEvents;\n }\n window.TNAFrontendCookieEvents = this;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n if (!Object.hasOwn(this.events, event)) {\n this.events[event] = [];\n }\n this.events[event] = [...this.events[event], callback];\n }\n\n once(event, callback) {\n if (!Object.hasOwn(this.oneTimeEvents, event)) {\n this.oneTimeEvents[event] = [];\n }\n this.oneTimeEvents[event] = [...this.oneTimeEvents[event], callback];\n }\n\n /** @protected */\n trigger(event, data = {}) {\n if (Object.hasOwn(this.events, event)) {\n this.events[event].forEach((eventToTrigger) =>\n eventToTrigger.call(this, data),\n );\n }\n if (Object.hasOwn(this.oneTimeEvents, event)) {\n for (let i = this.oneTimeEvents[event].length - 1; i >= 0; i--) {\n const eventToTrigger = this.oneTimeEvents[event][i];\n eventToTrigger.call(this, data);\n this.oneTimeEvents[event].splice(i, 1);\n }\n }\n }\n}\n\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\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 */\n constructor(options = {}) {\n const {\n extraPolicies = [],\n domain = \"\",\n path = \"/\",\n secure = true,\n policiesKey = \"cookies_policy\",\n newInstance = false,\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.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=31536000] - 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 */\n set(key, value, options = {}) {\n const {\n maxAge = 60 * 60 * 24 * 365,\n sameSite = \"Lax\",\n domain = this.domain,\n path = this.path,\n secure = this.secure,\n } = options;\n if (!key) {\n return;\n }\n const cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)};${\n domain ? ` domain=${domain}; ` : \"\"\n } samesite=${sameSite}; path=${path}; 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 cookie,\n });\n }\n\n /**\n * Delete a cookie.\n * @param {String} key - The cookie name.\n * @param {String} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\", domain = null) {\n const options = { maxAge: -1, path, domain: domain || undefined };\n this.set(key, \"\", options);\n this.events.trigger(\"deleteCookie\", { key, ...options });\n }\n\n /**\n * Delete all cookies.\n */\n deleteAll(path = \"/\", domain = null) {\n Object.keys(this.all).forEach((cookie) => {\n this.delete(cookie, path, domain);\n });\n this.events.trigger(\"deleteAllCookies\", { path, domain });\n }\n\n /**\n * Accept a policy.\n * @param {String} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n this.events.trigger(\"acceptPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: true });\n }\n\n /**\n * Reject a policy.\n * @param {String} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n this.events.trigger(\"rejectPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: false });\n }\n\n /**\n * Set a policy.\n * @param {String} policy - The name of the policy.\n * @param {Boolean} accepted - Whether the policy is accepted or not.\n */\n setPolicy(policy, accepted) {\n if (policy === \"essential\") {\n return;\n }\n this.savePolicies({\n ...this.policies,\n [policy]: accepted,\n essential: true,\n });\n this.events.trigger(\"changePolicy\", { [policy]: accepted });\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n const allPolicies = Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), true]),\n );\n this.savePolicies(allPolicies);\n this.events.trigger(\"acceptAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n const allPolicies = {\n ...Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), false]),\n ),\n essential: true,\n };\n this.savePolicies(allPolicies);\n this.events.trigger(\"rejectAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Commit policy preferences to the browser.\n * @param {object} policies - The policies to commit.\n */\n savePolicies(policies) {\n this.set(this.policiesKey, JSON.stringify(policies));\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {String} policy - The name of the policy.\n * @returns {Boolean}\n */\n isPolicyAccepted(policy) {\n return Object.hasOwn(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n this.events.on(event, callback);\n }\n\n /**\n * Add a one-time event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n once(event, callback) {\n this.events.once(event, callback);\n }\n}\n","const uuidv4 = () =>\n ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n (\n c ^\n (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))\n ).toString(16),\n );\n\nexport default uuidv4;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { 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 { SearchFilters } from \"./components/search-filters/search-filters.mjs\";\nimport { SensitiveImage } from \"./components/sensitive-image/sensitive-image.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 $body = document.documentElement;\n$body.classList.add(\"tna-template--js-enabled\");\n\nconst onFirstTouch = () => {\n window.removeEventListener(\"touchstart\", onFirstTouch);\n $body.classList.add(\"tna-template--touched\");\n};\n\nconst onKeyDown = (e) => {\n if (e.key === \"Tab\") {\n $body.classList.add(\"tna-template--tabbed\");\n $body.classList.remove(\"tna-template--clicked\");\n }\n};\n\nconst onMouseDown = () => {\n $body.classList.add(\"tna-template--clicked\");\n $body.classList.remove(\"tna-template--tabbed\");\n};\n\nwindow.addEventListener(\"touchstart\", onFirstTouch);\nwindow.addEventListener(\"keydown\", onKeyDown);\nwindow.addEventListener(\"mousedown\", onMouseDown);\n\nconst initAll = (options) => {\n options = typeof options !== \"undefined\" ? options : {};\n const $scope =\n options.scope instanceof HTMLElement ? options.scope : document;\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 $searchFilters = $scope.querySelectorAll(\n '[data-module=\"tna-search-filters\"]',\n );\n $searchFilters.forEach(($searchFilter) => {\n new SearchFilters($searchFilter);\n });\n\n const $sensitiveImages = $scope.querySelectorAll(\n '[data-module=\"tna-sensitive-image\"]',\n );\n $sensitiveImages.forEach(($sensitiveImage) => {\n new SensitiveImage($sensitiveImage);\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\nexport {\n initAll,\n Cookies,\n Breadcrumbs,\n CookieBanner,\n ErrorSummary,\n Footer,\n Gallery,\n GlobalHeader,\n Header,\n Picture,\n SearchFilters,\n SensitiveImage,\n SkipLink,\n Tabs,\n};\n"],"names":["root","factory","exports","module","define","amd","self","Breadcrumbs","_createClass","$module","_this","_classCallCheck","this","$breadcrumbsList","querySelector","$breadcrumbs","querySelectorAll","length","classList","contains","uniqueId","concat","uuidv4","$expandable","document","createElement","add","style","display","$expandButton","innerHTML","setAttribute","addEventListener","remove","focus","appendChild","insertBefore","nextSibling","CookieBanner","$acceptButton","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","extraPolicies","getAttribute","split","filter","x","map","policy","trim","domain","undefined","path","secure","policiesKey","cookies","Cookies","newInstance","cookiePreferencesSet","hasValue","removeAttribute","accept","reject","key","value","complete","acceptAllPolicies","rejectAllPolicies","_this2","set","forEach","$closeButton","close","ErrorSummary","_ref","setFocus","$element","_options$onBeforeFocu","options","arguments","isFocusable","onBlur","_options$onBlur","call","once","onBeforeFocus","Footer","$themeSelector","$tnaTemplate","$themeSelectorButtons","Array","from","$themeSelectorButton","e","$button","target","setTheme","selectThemeSelectorButton","isPolicyAccepted","showThemeSelector","on","data","Object","hasOwn","settings","hideThemeSelector","exists","$currentThemeButton","find","get","theme","$selectedButton","Gallery","$items","opened","items","$galleryToggle","innerText","handleToggleGallery","$galleryToggleWrapper","parentElement","GlobalHeader","$toggleButton","$navigation","$topNavigation","$links","menuOpened","mql","window","matchMedia","syncState","handleToggleNavigation","addListener","code","matches","show","hide","hidden","i","Header","Picture","$imageWrapper","$transcript","transcriptOpened","openLabel","closeLabel","$transcriptToggle","handleToggleTranscript","transcriptToggleOpenedClass","SearchFilters","$fieldset","$toggle","$headingInner","$item","syncItem","toggleItem","SensitiveImage","$imageDetails","$image","imageIsVisible","handleImageDetailsToggle","hasAttribute","preventScroll","focusVisible","SkipLink","linkedElementId","pop","$linkedElement","getElementById","focusLinkedElement","linkedElementListener","removeFocusProperties","Tabs","$tabList","$tabListItemLinks","$tabItems","sticky","startingTarget","location","hash","replace","doesStartingTargetExist","_toConsumableArray","some","$tabItem","$newTabList","index","$tabListItemLink","_$tabListItemLink$get","$replacementButton","replaceWith","handleItemLinkKeyDown","handleItemLinkClick","itemLinkClickEvent","preventDefault","targetItem","currentTarget","switchTab","itemLinkKeyDownEvent","overwriteKeyAction","setSelectedToPreviousTab","setSelectedToNextTab","stopPropagation","newIndex","currentIndex","findIndex","targetId","history","replaceState","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","_defineProperty","event","callback","events","oneTimeEvents","eventToTrigger","splice","_options$extraPolicie","_options$domain","_options$path","_options$secure","_options$policiesKey","_options$newInstance","destroyInstance","init","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","encodeURIComponent","trigger","keys","setPolicy","accepted","allPolicies","stringify","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","$body","documentElement","onFirstTouch","removeEventListener","initAll","$scope","scope","HTMLElement","$cookieBanner","$errorSummary","$footer","$gallery","$globalHeader","$header","$picture","$searchFilter","$sensitiveImage","$skipLink","$tabModule"],"sourceRoot":""}
|
package/nationalarchives/all.mjs
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import { Breadcrumbs } from "./components/breadcrumbs/breadcrumbs.mjs";
|
2
2
|
import { CookieBanner } from "./components/cookie-banner/cookie-banner.mjs";
|
3
3
|
import { ErrorSummary } from "./components/error-summary/error-summary.mjs";
|
4
|
+
import { Footer } from "./components/footer/footer.mjs";
|
4
5
|
import { Gallery } from "./components/gallery/gallery.mjs";
|
5
6
|
import { GlobalHeader } from "./components/global-header/global-header.mjs";
|
6
7
|
import { Header } from "./components/header/header.mjs";
|
@@ -59,6 +60,11 @@ const initAll = (options) => {
|
|
59
60
|
new ErrorSummary($errorSummary).init();
|
60
61
|
}
|
61
62
|
|
63
|
+
const $footer = $scope.querySelector('[data-module="tna-footer"]');
|
64
|
+
if ($footer) {
|
65
|
+
new Footer($footer);
|
66
|
+
}
|
67
|
+
|
62
68
|
const $galleries = $scope.querySelectorAll('[data-module="tna-gallery"]');
|
63
69
|
$galleries.forEach(($gallery) => {
|
64
70
|
new Gallery($gallery);
|
@@ -112,6 +118,7 @@ export {
|
|
112
118
|
Breadcrumbs,
|
113
119
|
CookieBanner,
|
114
120
|
ErrorSummary,
|
121
|
+
Footer,
|
115
122
|
Gallery,
|
116
123
|
GlobalHeader,
|
117
124
|
Header,
|
@@ -1,2 +1,2 @@
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.TNAFrontendAnalytics=t():e.TNAFrontendAnalytics=t()}(self,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var a in n)e.o(n,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:n[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?a(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function o(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,d(a.key),a)}}function u(e,t,n){return t&&l(e.prototype,t),n&&l(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function s(e,t,n){return(t=d(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(t)?t:t+""}e.r(t),e.d(t,{EventTracker:()=>G,GA4:()=>J,helpers:()=>$});var f=function(){return u((function e(){if(c(this,e),s(this,"events",{}),s(this,"oneTimeEvents",{}),e._instance)return e._instance;e._instance=this}),[{key:"on",value:function(e,t){Object.hasOwn(this.events,e)||(this.events[e]=[]),this.events[e]=[].concat(o(this.events[e]),[t])}},{key:"once",value:function(e,t){Object.hasOwn(this.oneTimeEvents,e)||(this.oneTimeEvents[e]=[]),this.oneTimeEvents[e]=[].concat(o(this.oneTimeEvents[e]),[t])}},{key:"trigger",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Object.hasOwn(this.events,e)&&this.events[e].forEach((function(e){return e.call(t,n)})),Object.hasOwn(this.oneTimeEvents,e))for(var a=this.oneTimeEvents[e].length-1;a>=0;a--)this.oneTimeEvents[e][a].call(this,n),this.oneTimeEvents[e].splice(a,1)}}])}(),v=function(){return u((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};c(this,e),s(this,"extraPolicies",[]),s(this,"domain",""),s(this,"path",""),s(this,"secure",!0),s(this,"policiesKey",""),s(this,"events",null);var n=t.extraPolicies,a=void 0===n?[]:n,r=t.domain,o=void 0===r?"":r,i=t.path,l=void 0===i?"/":i,u=t.secure,d=void 0===u||u,v=t.policiesKey,g=void 0===v?"cookies_policy":v;this.extraPolicies=a,this.domain=o,this.path=l,this.secure=d,this.policiesKey=g,this.events=new f,this.init()}),[{key:"init",value:function(){this.savePolicies(r(r(r({},Object.fromEntries(this.extraPolicies.map((function(e){return[e.toLowerCase(),!1]})))),{},{usage:!1,settings:!1},this.policies),{},{essential:!0}))}},{key:"all",get:function(){var e={};return document.cookie.split("; ").filter((function(e){return e})).forEach((function(t){var n=t.trim().split("=");n[0]&&(e[n[0]]=n[1])})),e}},{key:"policies",get:function(){try{return JSON.parse(this.get(this.policiesKey)||"{}")}catch(e){return{}}}},{key:"exists",value:function(e){return Object.hasOwn(this.all,e)}},{key:"hasValue",value:function(e,t){return this.get(e)==t}},{key:"get",value:function(e){return this.exists(e)?decodeURIComponent(this.all[e]):null}},{key:"set",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=n.maxAge,r=void 0===a?31536e3:a,o=n.sameSite,i=void 0===o?"Lax":o,c=n.domain,l=void 0===c?this.domain:c,u=n.path,s=void 0===u?this.path:u,d=n.secure,f=void 0===d?this.secure:d;if(e){var v="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(t),";").concat(l?" domain=".concat(l,"; "):""," samesite=").concat(i,"; path=").concat(s,"; max-age=").concat(r).concat(f?"; secure":"");document.cookie=v,this.events.trigger("setCookie",{key:e,value:t,maxAge:r,path:s,sameSite:i,domain:l,secure:f,cookie:v})}}},{key:"delete",value:function(e){var t={maxAge:-1,path:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",domain:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:null)||void 0};this.set(e,"",t),this.events.trigger("deleteCookie",r({key:e},t))}},{key:"deleteAll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;Object.keys(this.all).forEach((function(a){e.delete(a,t,n)})),this.events.trigger("deleteAllCookies",{path:t,domain:n})}},{key:"acceptPolicy",value:function(e){this.setPolicy(e,!0),this.events.trigger("acceptPolicy",e),this.events.trigger("changePolicy",s({},e,!0))}},{key:"rejectPolicy",value:function(e){this.setPolicy(e,!1),this.events.trigger("rejectPolicy",e),this.events.trigger("changePolicy",s({},e,!1))}},{key:"setPolicy",value:function(e,t){"essential"!==e&&(this.savePolicies(r(r({},this.policies),{},s(s({},e,t),"essential",!0))),this.events.trigger("changePolicy",s({},e,t)))}},{key:"acceptAllPolicies",value:function(){var e=Object.fromEntries(Object.keys(this.policies).map((function(e){return[e.toLowerCase(),!0]})));this.savePolicies(e),this.events.trigger("acceptAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"rejectAllPolicies",value:function(){var e=r(r({},Object.fromEntries(Object.keys(this.policies).map((function(e){return[e.toLowerCase(),!1]})))),{},{essential:!0});this.savePolicies(e),this.events.trigger("rejectAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"savePolicies",value:function(e){this.set(this.policiesKey,JSON.stringify(e))}},{key:"isPolicyAccepted",value:function(e){return Object.hasOwn(this.policies,e)?!0===this.policies[e]:null}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"once",value:function(e,t){this.events.once(e,t)}}])}(),g=function e(t){if(""!==t.id)return'id("'+t.id+'")';if(t===document.body)return t.tagName;for(var n=0,a=t.parentNode.childNodes,r=0;r<a.length;r++){var o=a[r];if(o===t)return e(t.parentNode)+"/"+t.tagName+"["+(n+1)+"]";1===o.nodeType&&o.tagName===t.tagName&&n++}},p=function(e,t){return t.some((function(t){return e.includes(t)}))},h=function(e){var t="",n=e;do{for(;n.previousElementSibling;)if(n=n.previousElementSibling,["h1","h2","h3","h4","h5","h6"].includes(n.tagName)||n.classList.length&&p(Array.from(n.classList),["tna-heading-xl","tna-heading-l","tna-heading-m","tna-heading-s"])){t=n.innerText;break}n=n.parentElement}while(n.parentElement&&!t);return t},m={text:function(e){return e.innerText},html:function(e){return e.innerHTML},value:function(e){return e.value},index:function(e,t,n,a){return a},checked:function(e){return e.checked?"checked":"unchecked"},expanded:function(e){var t=e.getAttribute("aria-expanded");return null===t?null:"true"===t.toString()?"opened":"closed"},closestHeading:function(e){return h(e)}};const y=[{scope:".tna-checkboxes",areaName:"checkboxes",events:[{eventName:"toggle",targetElement:".tna-checkboxes__item input",on:"change",data:{state:m.checked,value:function(e,t,n){return e.parentNode.innerText},group:function(e,t,n){var a;return null===(a=t.closest(".tna-form__group"))||void 0===a||null===(a=a.querySelector(".tna-form__heading"))||void 0===a?void 0:a.innerText}}}]}],b=[{scope:".tna-footer",areaName:"footer",rootEventName:"global_navigation",events:[{eventName:"link.click",targetElement:".tna-footer__navigation-block-item-link",on:"click",data:{value:m.text},rootData:{data_component_name:"Footer",data_link_type:"Link",data_section:m.closestHeading,data_link:m.text}},{eventName:"social_link.click",targetElement:".tna-footer__social-item-link",on:"click",data:{value:m.text},rootData:{data_component_name:"Footer",data_link_type:"Icon",data_section:"Social media",data_link:function(e){return e.getAttribute("data-name")}}},{eventName:"legal_link.click",targetElement:".tna-footer__legal-item-link",on:"click",data:{value:m.text},rootData:{data_component_name:"Footer",data_link_type:"Link",data_section:"Legal information",data_link:m.text}},{eventName:"mailing_list.click",targetElement:".tna-footer__mailing-list a.tna-button",on:"click",data:{value:m.text},rootData:{data_component_name:"Footer",data_link_type:"Button",data_section:"Mailing list",data_link:m.text}},{eventName:"ogl.click",targetElement:".tna-footer__licence p a.tna-footer__link",on:"click",data:{value:m.text},rootData:{data_component_name:"Footer",data_link_type:"Link",data_section:"OGL",data_link:m.text}},{eventName:"govuk.click",targetElement:".tna-footer__govuk-link",on:"click",data:{value:m.text},rootData:{data_component_name:"Footer",data_link_type:"Logo",data_section:"GOV.UK",data_link:m.text}}]}],k=[{scope:".tna-global-header",areaName:"header",rootEventName:"global_navigation",events:[{eventName:"toggle",targetElement:".tna-global-header__navigation-button",on:"click",data:{state:m.expanded},rootData:{data_component_name:"Header",data_link_type:"Mobile menu",data_link:function(e){var t=e.getAttribute("aria-expanded");return null===t?null:"true"===t.toString()?"Open menu":"Close menu"},data_section:"Burger menu"}},{eventName:"logo.click",targetElement:".tna-global-header__logo",on:"click",rootData:{data_component_name:"Header",data_link_type:"Logo",data_link:"The National Archives",data_section:"Top navigation and logo"}},{eventName:"primary_link.click",targetElement:".tna-global-header__navigation-item-link",on:"click",data:{value:m.text},rootData:{data_component_name:"Header",data_link_type:"Menu",data_section:m.text,data_position:1,data_link:m.text}},{eventName:"secondary_link.click",targetElement:".tna-global-header__top-navigation-link",on:"click",data:{value:m.text},rootData:{data_component_name:"Header",data_link_type:"Icon",data_link:m.text,data_section:"Top navigation and logo"}}]}],_=[{scope:".tna-header",areaName:"header",events:[{eventName:"toggle",targetElement:".tna-header__navigation-toggle-button",on:"click",data:{state:m.expanded}}]}],O=[{scope:".tna-picture",areaName:"picture",events:[{eventName:"toggle_transcript",targetElement:".tna-picture__toggle-transcript",on:"click",data:{state:m.expanded,value:function(e,t,n){var a=h(t),r=t.querySelector(".tna-picture__image"),o=r.getAttribute("src"),i=r.getAttribute("alt"),c="".concat(i," (").concat(o,")");return a?"".concat(a," > ").concat(c):c}}}]}],j=[{scope:".tna-radios",areaName:"radios",events:[{eventName:"toggle",targetElement:".tna-radios__item input",on:"change",data:{state:m.checked,value:function(e,t,n){return e.parentNode.innerText},group:function(e,t,n){var a;return null===(a=t.closest(".tna-form__group"))||void 0===a||null===(a=a.querySelector(".tna-form__heading"))||void 0===a?void 0:a.innerText}}}]}],w=[{scope:".tna-search-field",areaName:"search-field",events:[{eventName:"blurred",targetElement:".tna-search-field__input",on:"blur",data:{value:m.value,group:function(e,t,n){var a;return null===(a=t.querySelector(".tna-form__heading"))||void 0===a?void 0:a.innerText}}}]}],E=[{scope:".tna-text-input",areaName:"text-input",events:[{eventName:"blurred",on:"blur",data:{value:m.value,group:function(e,t,n){var a;return null===(a=t.closest(".tna-form__group"))||void 0===a||null===(a=a.querySelector(".tna-form__heading"))||void 0===a?void 0:a.innerText}}}]}],x=[{scope:".tna-textarea",areaName:"textarea",events:[{eventName:"blurred",on:"blur",data:{value:m.value,group:function(e,t,n){var a;return null===(a=t.closest(".tna-form__group"))||void 0===a||null===(a=a.querySelector(".tna-form__heading"))||void 0===a?void 0:a.innerText}}}]}];function T(e,t,n){return t=S(t),P(e,N()?Reflect.construct(t,n||[],S(e).constructor):t.apply(e,n))}function P(e,t){if(t&&("object"===I(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function N(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(N=function(){return!!e})()}function S(e){return S=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},S(e)}function A(e,t){return A=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},A(e,t)}function D(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,o,i,c=[],l=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(a=o.call(n)).done)&&(c.push(a.value),c.length!==t);l=!0);}catch(e){u=!0,r=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw r}}return c}}(e,t)||K(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function L(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function C(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?L(Object(n),!0).forEach((function(t){H(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):L(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function I(e){return I="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},I(e)}function q(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function M(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,V(a.key),a)}}function F(e,t,n){return t&&M(e.prototype,t),n&&M(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function H(e,t,n){return(t=V(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V(e){var t=function(e,t){if("object"!=I(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,"string");if("object"!=I(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==I(t)?t:t+""}function B(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||K(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(e,t){if(e){if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?R(e,t):void 0}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=new Array(t);n<t;n++)a[n]=e[n];return a}var U=[].concat(B([{scope:".tna-breadcrumbs",areaName:"breadcrumbs",events:[{eventName:"click",targetElement:".tna-breadcrumbs__item--expandable button.tna-breadcrumbs__link",on:"click",data:{state:"expand",value:m.html}}]}]),B(y),B(b),B(k),B(_),B([{scope:".tna-hero",areaName:"hero",events:[{eventName:"toggle_caption",targetElement:".tna-hero__details-summary",on:"click",data:{state:function(e,t,n){var a,r;return null!==(a=null===(r=t.querySelector(".tna-hero__details"))||void 0===r?void 0:r.hasAttribute("open"))&&void 0!==a&&a?"closed":"opened"},value:function(e,t,n){var a;return null===(a=t.querySelector("img[alt]"))||void 0===a?void 0:a.getAttribute("alt")}}}]}]),B(O),B(j),B(w),B(E),B(x)),G=function(){return F((function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};q(this,e),H(this,"cookies",new((null===(t=window.TNAFrontend)||void 0===t?void 0:t.Cookies)||v)),H(this,"events",[]),H(this,"startTime",new Date),H(this,"prefix","tna"),H(this,"addTrackingCode",!0);var a=n.prefix,r=void 0===a?null:a,o=n.addTrackingCode,i=void 0===o||o;r&&(this.prefix=r),this.addTrackingCode=i}),[{key:"start",value:function(e){var t=this;navigator.doNotTrack&&1===navigator.doNotTrack||(this.cookies.isPolicyAccepted("usage")&&this.enableTracking(),this.cookies.on("changePolicy",(function(e){Object.hasOwn(e,"usage")&&(e.usage?t.enableTracking():t.disableTracking())})),e&&this.initAll())}},{key:"enableTracking",value:function(){}},{key:"disableTracking",value:function(){}},{key:"initAll",value:function(){var e=this;U.forEach((function(t){e.addListeners(t.scope,t.areaName,t.events,t.rootEventName||"")}))}},{key:"addListeners",value:function(e,t,n){var a,r=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";"string"==typeof e?a=Array.from(document.querySelectorAll(e)):"object"===I(e)&&(a=[e]),a&&a.forEach((function(a){n.forEach((function(n){n.on&&(n.targetElement?Array.from(a.querySelectorAll(n.targetElement)).forEach((function(i,c){return r.attachListener(i,a,o,n,e,t,c+1)})):r.attachListener(a,a,o,n,e,t,1))}))}))}},{key:"generateEventName",value:function(e,t){return"".concat(this.prefix,".").concat(e,".").concat(t.eventName||t.on)}},{key:"attachListener",value:function(e,t,n,a,r,o,i){var c=this,l=a.on,u=a.data,s=a.targetElement,d=a.rootData,f=void 0===d?{}:d;e.addEventListener(l,(function(l){return c.recordEvent(n?"".concat(c.prefix,".").concat(n):c.generateEventName(o,a),C(C({},u),{},{name:c.generateEventName(o,a),value:null!=u&&u.value?c.computedValue(u.value,e,t,l,i):null,state:null!=u&&u.state?c.computedValue(u.state,e,t,l,i):null,group:null!=u&&u.group?c.computedValue(u.group,e,t,l,i):null,xPath:g(e),targetElement:s,timeSincePageLoad:new Date-c.startTime,index:i,scope:r,areaName:o}),Object.fromEntries(Object.entries(f).map((function(n){var a=D(n,2),r=a[0],o=a[1];return[r,c.computedValue(o,e,t,l,i)]}))))}))}},{key:"computedValue",value:function(e,t,n,a,r){return"function"==typeof e?e.call(this,t,n,a,r):null!=e?e:null}},{key:"recordEvent",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.events.push(C(H({event:e},"".concat(this.prefix,".event"),t),n))}},{key:"getTnaMetaTags",value:function(){return Object.fromEntries(Array.from(document.head.querySelectorAll("meta[name^='".concat(this.prefix,".'][content]"))).map((function(e){return[e.getAttribute("name"),e.getAttribute("content")]})))}}])}(),J=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(q(this,t),t._instance)return P(e,t._instance);var a=n.id,r=void 0===a?"":a,o=n.prefix,i=void 0===o?null:o,c=n.initAll,l=void 0===c||c,u=n.addTrackingCode;return H(e=T(this,t,[{prefix:i,addTrackingCode:void 0===u||u}]),"trackingCodeAdded",!1),H(e,"trackingEnabled",!1),H(e,"gTagId",void 0),t._instance=e,e.gTagId=r,e.ga4Disable="ga-disable-".concat(e.gTagId),window.dataLayer=window.dataLayer||[],e.cookies.isPolicyAccepted("usage")||(window[e.ga4Disable]=!0,e.cookies.set(e.ga4Disable,"true")),e.start(l),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&A(e,t)}(t,e),F(t,[{key:"destroy",value:function(){t._instance=null}},{key:"recordEvent",value:function(e,t){var n=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=C(C({event:e},Object.fromEntries(Object.entries(t).map((function(e){var t=D(e,2),a=t[0],r=t[1];return["".concat(n.prefix,".event.").concat(a),r]})))),a);this.pushToDataLayer(r)}},{key:"gtag",value:function(){this.pushToDataLayer(arguments)}},{key:"pushToDataLayer",value:function(e){window.dataLayer.push(e)}},{key:"enableTracking",value:function(){if(!this.trackingEnabled){if(window[this.ga4Disable]=!1,this.cookies.set(this.ga4Disable,"false"),!this.trackingCodeAdded&&this.addTrackingCode){if(!this.gTagId)throw Error("ID was not specified");this.pushToDataLayer({"gtm.start":(new Date).getTime(),event:"gtm.js"});var e=document.getElementsByTagName("script")[0],t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtm.js?id=".concat(this.gTagId,"&l=dataLayer"),e?e.parentNode.insertBefore(t,e):document.head.appendChild(t),this.trackingCodeAdded=!0;var n=this.getTnaMetaTags();Object.keys(n).length&&this.pushToDataLayer(n)}this.trackingEnabled=!0}}},{key:"disableTracking",value:function(){var e=this;this.trackingEnabled&&(window[this.ga4Disable]=!0,this.cookies.set(this.ga4Disable,"true"),this.cookies.all.forEach((function(t){t.startsWith("_ga")&&e.cookies.delete(t)})),this.trackingEnabled=!1,window.location.reload())}}])}(G),$={getXPathTo:g,getClosestHeading:h,valueGetters:m};return t})()));
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.TNAFrontendAnalytics=t():e.TNAFrontendAnalytics=t()}(self,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){s(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function r(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,d(o.key),o)}}function u(e,t,n){return t&&l(e.prototype,t),n&&l(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function s(e,t,n){return(t=d(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var o=e[Symbol.toPrimitive];if(void 0!==o){var a=o.call(e,"string");if("object"!=n(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(t)?t:t+""}e.r(t),e.d(t,{EventTracker:()=>G,GA4:()=>J,helpers:()=>$}),window.TNAFrontendCookies=window.TNAFrontendCookies||null,window.TNAFrontendCookieEvents=window.TNAFrontendCookieEvents||null;var f=function(){return u((function e(){if(c(this,e),s(this,"events",{}),s(this,"oneTimeEvents",{}),window.TNAFrontendCookieEvents)return window.TNAFrontendCookieEvents;window.TNAFrontendCookieEvents=this}),[{key:"on",value:function(e,t){Object.hasOwn(this.events,e)||(this.events[e]=[]),this.events[e]=[].concat(r(this.events[e]),[t])}},{key:"once",value:function(e,t){Object.hasOwn(this.oneTimeEvents,e)||(this.oneTimeEvents[e]=[]),this.oneTimeEvents[e]=[].concat(r(this.oneTimeEvents[e]),[t])}},{key:"trigger",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Object.hasOwn(this.events,e)&&this.events[e].forEach((function(e){return e.call(t,n)})),Object.hasOwn(this.oneTimeEvents,e))for(var o=this.oneTimeEvents[e].length-1;o>=0;o--)this.oneTimeEvents[e][o].call(this,n),this.oneTimeEvents[e].splice(o,1)}}])}(),v=function(){return u((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};c(this,e),s(this,"extraPolicies",[]),s(this,"domain",""),s(this,"path",""),s(this,"secure",!0),s(this,"policiesKey",""),s(this,"events",null);var n=t.extraPolicies,o=void 0===n?[]:n,a=t.domain,r=void 0===a?"":a,i=t.path,l=void 0===i?"/":i,u=t.secure,d=void 0===u||u,v=t.policiesKey,g=void 0===v?"cookies_policy":v,p=t.newInstance;if(void 0!==p&&p)this.destroyInstance();else if(window.TNAFrontendCookies)return window.TNAFrontendCookies;this.extraPolicies=o,this.domain=r,this.path=l,this.secure=d,this.policiesKey=g,this.events=new f,this.init(),window.TNAFrontendCookies=this}),[{key:"init",value:function(){this.savePolicies(a(a(a({},Object.fromEntries(this.extraPolicies.map((function(e){return[e.toLowerCase(),!1]})))),{},{usage:!1,settings:!1},this.policies),{},{essential:!0}))}},{key:"destroyInstance",value:function(){window.TNAFrontendCookies=null}},{key:"all",get:function(){var e={};return document.cookie.split("; ").filter((function(e){return e})).forEach((function(t){var n=t.trim().split("=");n[0]&&(e[n[0]]=n[1])})),e}},{key:"policies",get:function(){try{return JSON.parse(this.get(this.policiesKey)||"{}")}catch(e){return{}}}},{key:"exists",value:function(e){return Object.hasOwn(this.all,e)}},{key:"hasValue",value:function(e,t){return this.get(e)==t}},{key:"get",value:function(e){return this.exists(e)?decodeURIComponent(this.all[e]):null}},{key:"set",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.maxAge,a=void 0===o?31536e3:o,r=n.sameSite,i=void 0===r?"Lax":r,c=n.domain,l=void 0===c?this.domain:c,u=n.path,s=void 0===u?this.path:u,d=n.secure,f=void 0===d?this.secure:d;if(e){var v="".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(t),";").concat(l?" domain=".concat(l,"; "):""," samesite=").concat(i,"; path=").concat(s,"; max-age=").concat(a).concat(f?"; secure":"");document.cookie=v,this.events.trigger("setCookie",{key:e,value:t,maxAge:a,path:s,sameSite:i,domain:l,secure:f,cookie:v})}}},{key:"delete",value:function(e){var t={maxAge:-1,path:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",domain:(arguments.length>2&&void 0!==arguments[2]?arguments[2]:null)||void 0};this.set(e,"",t),this.events.trigger("deleteCookie",a({key:e},t))}},{key:"deleteAll",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;Object.keys(this.all).forEach((function(o){e.delete(o,t,n)})),this.events.trigger("deleteAllCookies",{path:t,domain:n})}},{key:"acceptPolicy",value:function(e){this.setPolicy(e,!0),this.events.trigger("acceptPolicy",e),this.events.trigger("changePolicy",s({},e,!0))}},{key:"rejectPolicy",value:function(e){this.setPolicy(e,!1),this.events.trigger("rejectPolicy",e),this.events.trigger("changePolicy",s({},e,!1))}},{key:"setPolicy",value:function(e,t){"essential"!==e&&(this.savePolicies(a(a({},this.policies),{},s(s({},e,t),"essential",!0))),this.events.trigger("changePolicy",s({},e,t)))}},{key:"acceptAllPolicies",value:function(){var e=Object.fromEntries(Object.keys(this.policies).map((function(e){return[e.toLowerCase(),!0]})));this.savePolicies(e),this.events.trigger("acceptAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"rejectAllPolicies",value:function(){var e=a(a({},Object.fromEntries(Object.keys(this.policies).map((function(e){return[e.toLowerCase(),!1]})))),{},{essential:!0});this.savePolicies(e),this.events.trigger("rejectAllPolicies"),this.events.trigger("changePolicy",e)}},{key:"savePolicies",value:function(e){this.set(this.policiesKey,JSON.stringify(e))}},{key:"isPolicyAccepted",value:function(e){return Object.hasOwn(this.policies,e)?!0===this.policies[e]:null}},{key:"on",value:function(e,t){this.events.on(e,t)}},{key:"once",value:function(e,t){this.events.once(e,t)}}])}(),g=function e(t){if(""!==t.id)return'id("'+t.id+'")';if(t===document.body)return t.tagName;for(var n=0,o=t.parentNode.childNodes,a=0;a<o.length;a++){var r=o[a];if(r===t)return e(t.parentNode)+"/"+t.tagName+"["+(n+1)+"]";1===r.nodeType&&r.tagName===t.tagName&&n++}},p=function(e,t){return t.some((function(t){return e.includes(t)}))},h=function(e){var t="",n=e;do{for(;n.previousElementSibling;)if(n=n.previousElementSibling,["h1","h2","h3","h4","h5","h6"].includes(n.tagName)||n.classList.length&&p(Array.from(n.classList),["tna-heading-xl","tna-heading-l","tna-heading-m","tna-heading-s"])){t=n.innerText;break}n=n.parentElement}while(n.parentElement&&!t);return t},m={text:function(e){return e.innerText},html:function(e){return e.innerHTML},value:function(e){return e.value},index:function(e,t,n,o){return o},checked:function(e){return e.checked?"checked":"unchecked"},expanded:function(e){var t=e.getAttribute("aria-expanded");return null===t?null:"true"===t.toString()?"opened":"closed"},closestHeading:function(e){return h(e)}};const y=[{scope:".tna-checkboxes",areaName:"checkboxes",events:[{eventName:"toggle",targetElement:".tna-checkboxes__item input",on:"change",data:{state:m.checked,value:function(e,t,n){return e.parentNode.innerText},group:function(e,t,n){var o;return null===(o=t.closest(".tna-form__group"))||void 0===o||null===(o=o.querySelector(".tna-form__heading"))||void 0===o?void 0:o.innerText}}}]}],b=[{scope:".tna-footer",areaName:"footer",rootEventName:"global_navigation",events:[{eventName:"link.click",targetElement:".tna-footer__navigation-block-item-link",on:"click",data:{value:m.text},rootData:{data_component_name:"Footer",data_link_type:"Link",data_section:m.closestHeading,data_link:m.text}},{eventName:"social_link.click",targetElement:".tna-footer__social-item-link",on:"click",data:{value:m.text},rootData:{data_component_name:"Footer",data_link_type:"Icon",data_section:"Social media",data_link:function(e){return e.getAttribute("data-name")}}},{eventName:"legal_link.click",targetElement:".tna-footer__legal-item-link",on:"click",data:{value:m.text},rootData:{data_component_name:"Footer",data_link_type:"Link",data_section:"Legal information",data_link:m.text}},{eventName:"mailing_list.click",targetElement:".tna-footer__mailing-list a.tna-button",on:"click",data:{value:m.text},rootData:{data_component_name:"Footer",data_link_type:"Button",data_section:"Mailing list",data_link:m.text}},{eventName:"ogl.click",targetElement:".tna-footer__licence p a.tna-footer__link",on:"click",data:{value:m.text},rootData:{data_component_name:"Footer",data_link_type:"Link",data_section:"OGL",data_link:m.text}},{eventName:"govuk.click",targetElement:".tna-footer__govuk-link",on:"click",data:{value:m.text},rootData:{data_component_name:"Footer",data_link_type:"Logo",data_section:"GOV.UK",data_link:m.text}},{eventName:"theme.change",targetElement:".tna-footer__theme-selector-button",on:"click",data:{value:m.value}}]}],k=[{scope:".tna-global-header",areaName:"header",rootEventName:"global_navigation",events:[{eventName:"toggle",targetElement:".tna-global-header__navigation-button",on:"click",data:{state:m.expanded},rootData:{data_component_name:"Header",data_link_type:"Mobile menu",data_link:function(e){var t=e.getAttribute("aria-expanded");return null===t?null:"true"===t.toString()?"Open menu":"Close menu"},data_section:"Burger menu"}},{eventName:"logo.click",targetElement:".tna-global-header__logo",on:"click",rootData:{data_component_name:"Header",data_link_type:"Logo",data_link:"The National Archives",data_section:"Top navigation and logo"}},{eventName:"primary_link.click",targetElement:".tna-global-header__navigation-item-link",on:"click",data:{value:m.text},rootData:{data_component_name:"Header",data_link_type:"Menu",data_section:m.text,data_position:1,data_link:m.text}},{eventName:"secondary_link.click",targetElement:".tna-global-header__top-navigation-link",on:"click",data:{value:m.text},rootData:{data_component_name:"Header",data_link_type:"Icon",data_link:m.text,data_section:"Top navigation and logo"}}]}],_=[{scope:".tna-header",areaName:"header",events:[{eventName:"toggle",targetElement:".tna-header__navigation-toggle-button",on:"click",data:{state:m.expanded}}]}],w=[{scope:".tna-picture",areaName:"picture",events:[{eventName:"toggle_transcript",targetElement:".tna-picture__toggle-transcript",on:"click",data:{state:m.expanded,value:function(e,t,n){var o=h(t),a=t.querySelector(".tna-picture__image"),r=a.getAttribute("src"),i=a.getAttribute("alt"),c="".concat(i," (").concat(r,")");return o?"".concat(o," > ").concat(c):c}}}]}],O=[{scope:".tna-radios",areaName:"radios",events:[{eventName:"toggle",targetElement:".tna-radios__item input",on:"change",data:{state:m.checked,value:function(e,t,n){return e.parentNode.innerText},group:function(e,t,n){var o;return null===(o=t.closest(".tna-form__group"))||void 0===o||null===(o=o.querySelector(".tna-form__heading"))||void 0===o?void 0:o.innerText}}}]}],E=[{scope:".tna-search-field",areaName:"search-field",events:[{eventName:"blurred",targetElement:".tna-search-field__input",on:"blur",data:{value:m.value,group:function(e,t,n){var o;return null===(o=t.querySelector(".tna-form__heading"))||void 0===o?void 0:o.innerText}}}]}],T=[{scope:".tna-text-input",areaName:"text-input",events:[{eventName:"blurred",on:"blur",data:{value:m.value,group:function(e,t,n){var o;return null===(o=t.closest(".tna-form__group"))||void 0===o||null===(o=o.querySelector(".tna-form__heading"))||void 0===o?void 0:o.innerText}}}]}],j=[{scope:".tna-textarea",areaName:"textarea",events:[{eventName:"blurred",on:"blur",data:{value:m.value,group:function(e,t,n){var o;return null===(o=t.closest(".tna-form__group"))||void 0===o||null===(o=o.querySelector(".tna-form__heading"))||void 0===o?void 0:o.innerText}}}]}];function A(e,t,n){return t=P(t),N(e,x()?Reflect.construct(t,n||[],P(e).constructor):t.apply(e,n))}function N(e,t){if(t&&("object"===F(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function x(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(x=function(){return!!e})()}function P(e){return P=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},P(e)}function S(e,t){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},S(e,t)}function C(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,a,r,i,c=[],l=!0,u=!1;try{if(r=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(o=r.call(n)).done)&&(c.push(o.value),c.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw a}}return c}}(e,t)||K(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function L(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?D(Object(n),!0).forEach((function(t){H(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):D(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function F(e){return F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},F(e)}function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function q(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,V(o.key),o)}}function M(e,t,n){return t&&q(e.prototype,t),n&&q(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function H(e,t,n){return(t=V(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V(e){var t=function(e,t){if("object"!=F(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,"string");if("object"!=F(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==F(t)?t:t+""}function B(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||K(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(e,t){if(e){if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?R(e,t):void 0}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}var U=[].concat(B([{scope:".tna-breadcrumbs",areaName:"breadcrumbs",events:[{eventName:"click",targetElement:".tna-breadcrumbs__item--expandable button.tna-breadcrumbs__link",on:"click",data:{state:"expand",value:m.html}}]}]),B(y),B(b),B(k),B(_),B([{scope:".tna-hero",areaName:"hero",events:[{eventName:"toggle_caption",targetElement:".tna-hero__details-summary",on:"click",data:{state:function(e,t,n){var o,a;return null!==(o=null===(a=t.querySelector(".tna-hero__details"))||void 0===a?void 0:a.hasAttribute("open"))&&void 0!==o&&o?"closed":"opened"},value:function(e,t,n){var o;return null===(o=t.querySelector("img[alt]"))||void 0===o?void 0:o.getAttribute("alt")}}}]}]),B(w),B(O),B(E),B(T),B(j)),G=function(){return M((function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};I(this,e),H(this,"cookies",new((null===(t=window.TNAFrontend)||void 0===t?void 0:t.Cookies)||v)),H(this,"events",[]),H(this,"startTime",new Date),H(this,"prefix","tna"),H(this,"addTrackingCode",!0);var o=n.prefix,a=void 0===o?null:o,r=n.addTrackingCode,i=void 0===r||r;a&&(this.prefix=a),this.addTrackingCode=i}),[{key:"start",value:function(e){var t=this;navigator.doNotTrack&&1===navigator.doNotTrack||(this.cookies.isPolicyAccepted("usage")&&this.enableTracking(),this.cookies.on("changePolicy",(function(e){Object.hasOwn(e,"usage")&&(e.usage?t.enableTracking():t.disableTracking())})),e&&this.initAll())}},{key:"enableTracking",value:function(){}},{key:"disableTracking",value:function(){}},{key:"initAll",value:function(){var e=this;U.forEach((function(t){e.addListeners(t.scope,t.areaName,t.events,t.rootEventName||"")}))}},{key:"addListeners",value:function(e,t,n){var o,a=this,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";"string"==typeof e?o=Array.from(document.querySelectorAll(e)):"object"===F(e)&&(o=[e]),o&&o.forEach((function(o){n.forEach((function(n){n.on&&(n.targetElement?Array.from(o.querySelectorAll(n.targetElement)).forEach((function(i,c){return a.attachListener(i,o,r,n,e,t,c+1)})):a.attachListener(o,o,r,n,e,t,1))}))}))}},{key:"generateEventName",value:function(e,t){return"".concat(this.prefix,".").concat(e,".").concat(t.eventName||t.on)}},{key:"attachListener",value:function(e,t,n,o,a,r,i){var c=this,l=o.on,u=o.data,s=o.targetElement,d=o.rootData,f=void 0===d?{}:d;e.addEventListener(l,(function(l){return c.recordEvent(n?"".concat(c.prefix,".").concat(n):c.generateEventName(r,o),L(L({},u),{},{name:c.generateEventName(r,o),value:null!=u&&u.value?c.computedValue(u.value,e,t,l,i):null,state:null!=u&&u.state?c.computedValue(u.state,e,t,l,i):null,group:null!=u&&u.group?c.computedValue(u.group,e,t,l,i):null,xPath:g(e),targetElement:s,timeSincePageLoad:new Date-c.startTime,index:i,scope:a,areaName:r}),Object.fromEntries(Object.entries(f).map((function(n){var o=C(n,2),a=o[0],r=o[1];return[a,c.computedValue(r,e,t,l,i)]}))))}))}},{key:"computedValue",value:function(e,t,n,o,a){return"function"==typeof e?e.call(this,t,n,o,a):null!=e?e:null}},{key:"recordEvent",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.events.push(L(H({event:e},"".concat(this.prefix,".event"),t),n))}},{key:"getTnaMetaTags",value:function(){return Object.fromEntries(Array.from(document.head.querySelectorAll("meta[name^='".concat(this.prefix,".'][content]"))).map((function(e){return[e.getAttribute("name"),e.getAttribute("content")]})))}}])}(),J=function(e){function t(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(I(this,t),window.TNAFrontendAnalytics)return N(e,window.TNAFrontendAnalytics);var o=n.id,a=void 0===o?"":o,r=n.prefix,i=void 0===r?null:r,c=n.initAll,l=void 0===c||c,u=n.addTrackingCode;return H(e=A(this,t,[{prefix:i,addTrackingCode:void 0===u||u}]),"trackingCodeAdded",!1),H(e,"trackingEnabled",!1),H(e,"gTagId",void 0),window.TNAFrontendAnalytics=e,e.gTagId=a,e.ga4Disable="ga-disable-".concat(e.gTagId),window.dataLayer=window.dataLayer||[],e.cookies.isPolicyAccepted("usage")||(window[e.ga4Disable]=!0,e.cookies.set(e.ga4Disable,"true")),e.start(l),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&S(e,t)}(t,e),M(t,[{key:"destroy",value:function(){window.TNAFrontendAnalytics=null}},{key:"recordEvent",value:function(e,t){var n=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=L(L({event:e},Object.fromEntries(Object.entries(t).map((function(e){var t=C(e,2),o=t[0],a=t[1];return["".concat(n.prefix,".event.").concat(o),a]})))),o);this.pushToDataLayer(a)}},{key:"gtag",value:function(){this.pushToDataLayer(arguments)}},{key:"pushToDataLayer",value:function(e){window.dataLayer.push(e)}},{key:"enableTracking",value:function(){if(!this.trackingEnabled){if(window[this.ga4Disable]=!1,this.cookies.set(this.ga4Disable,"false"),!this.trackingCodeAdded&&this.addTrackingCode){if(!this.gTagId)throw Error("ID was not specified");this.pushToDataLayer({"gtm.start":(new Date).getTime(),event:"gtm.js"});var e=document.getElementsByTagName("script")[0],t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtm.js?id=".concat(this.gTagId,"&l=dataLayer"),e?e.parentNode.insertBefore(t,e):document.head.appendChild(t),this.trackingCodeAdded=!0;var n=this.getTnaMetaTags();Object.keys(n).length&&this.pushToDataLayer(n)}this.trackingEnabled=!0}}},{key:"disableTracking",value:function(){var e=this;this.trackingEnabled&&(window[this.ga4Disable]=!0,this.cookies.set(this.ga4Disable,"true"),this.cookies.all.forEach((function(t){t.startsWith("_ga")&&e.cookies.delete(t)})),this.trackingEnabled=!1,window.location.reload())}}])}(G),$={getXPathTo:g,getClosestHeading:h,valueGetters:m};return t})()));
|
2
2
|
//# sourceMappingURL=analytics.js.map
|