@nationalarchives/frontend 0.20.1 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/nationalarchives/all+analytics.js +1 -1
- package/nationalarchives/all+analytics.js.map +1 -1
- package/nationalarchives/all+analytics.mjs +4 -2
- 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 +14 -5
- package/nationalarchives/analytics.js +1 -1
- package/nationalarchives/analytics.js.map +1 -1
- package/nationalarchives/analytics.mjs +4 -0
- package/nationalarchives/components/_forms.scss +1 -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 -0
- package/nationalarchives/components/checkboxes/macro-options.json +1 -1
- package/nationalarchives/components/date-input/date-input.js +1 -1
- package/nationalarchives/components/date-input/date-input.js.map +1 -1
- package/nationalarchives/components/date-input/date-input.mjs +42 -15
- package/nationalarchives/components/date-input/fixtures.json +15 -3
- package/nationalarchives/components/date-input/macro-options.json +6 -6
- package/nationalarchives/components/date-input/template.njk +4 -4
- package/nationalarchives/components/date-search/macro-options.json +1 -1
- package/nationalarchives/components/error-summary/analytics.js +16 -0
- package/nationalarchives/components/error-summary/fixtures.json +4 -1
- package/nationalarchives/components/error-summary/macro-options.json +1 -1
- package/nationalarchives/components/error-summary/template.njk +4 -0
- package/nationalarchives/components/file-input/_index.scss +1 -0
- package/nationalarchives/components/file-input/analytics.js +59 -0
- package/nationalarchives/components/file-input/file-input.css +1 -0
- package/nationalarchives/components/file-input/file-input.css.map +1 -0
- package/nationalarchives/components/file-input/file-input.js +2 -0
- package/nationalarchives/components/file-input/file-input.js.map +1 -0
- package/nationalarchives/components/file-input/file-input.mjs +99 -0
- package/nationalarchives/components/file-input/file-input.njk +8 -0
- package/nationalarchives/components/file-input/file-input.scss +127 -0
- package/nationalarchives/components/file-input/fixtures.json +131 -0
- package/nationalarchives/components/file-input/macro-options.json +90 -0
- package/nationalarchives/components/file-input/macro.njk +3 -0
- package/nationalarchives/components/file-input/template.njk +27 -0
- package/nationalarchives/components/gallery/gallery.js +1 -1
- package/nationalarchives/components/gallery/gallery.js.map +1 -1
- package/nationalarchives/components/gallery/gallery.mjs +1 -0
- package/nationalarchives/components/radios/macro-options.json +1 -1
- package/nationalarchives/components/search-field/macro-options.json +1 -1
- package/nationalarchives/components/secondary-navigation/secondary-navigation.css +1 -1
- package/nationalarchives/components/secondary-navigation/secondary-navigation.css.map +1 -1
- package/nationalarchives/components/secondary-navigation/secondary-navigation.scss +5 -0
- package/nationalarchives/components/select/macro-options.json +1 -1
- package/nationalarchives/components/text-input/analytics.js +1 -2
- package/nationalarchives/components/text-input/macro-options.json +1 -1
- package/nationalarchives/components/textarea/macro-options.json +1 -1
- package/nationalarchives/prototype-kit.css +1 -1
- package/nationalarchives/prototype-kit.css.map +1 -1
- package/package.json +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"all.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","webpack://TNAFrontend/./src/nationalarchives/components/cookie-banner/cookie-banner.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/./src/nationalarchives/components/skip-link/skip-link.mjs","webpack://TNAFrontend/./src/nationalarchives/components/gallery/gallery.mjs","webpack://TNAFrontend/./src/nationalarchives/components/picture/picture.mjs","webpack://TNAFrontend/./src/nationalarchives/components/header/header.mjs","webpack://TNAFrontend/./src/nationalarchives/components/error-summary/error-summary.mjs","webpack://TNAFrontend/./src/nationalarchives/components/global-header/global-header.mjs","webpack://TNAFrontend/./src/nationalarchives/components/breadcrumbs/breadcrumbs.mjs","webpack://TNAFrontend/./src/nationalarchives/components/date-input/date-input.mjs","webpack://TNAFrontend/./src/nationalarchives/components/text-input/text-input.mjs","webpack://TNAFrontend/./src/nationalarchives/components/footer/footer.mjs","webpack://TNAFrontend/./src/nationalarchives/components/accordion/accordion.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 Cookies from \"../../lib/cookies.mjs\";\n\nexport { Cookies };\n\nexport class CookieBanner {\n constructor($module) {\n this.$module = $module;\n this.$acceptButton = $module && $module.querySelector('[value=\"accept\"]');\n this.$rejectButton = $module && $module.querySelector('[value=\"reject\"]');\n this.$prompt =\n $module && $module.querySelector(\".tna-cookie-banner__message--prompt\");\n this.$acceptedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--accepted\");\n this.$rejectedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--rejected\");\n this.$closeButtons = $module && $module.querySelectorAll('[value=\"close\"]');\n\n if (\n !this.$module ||\n !this.$acceptButton ||\n !this.$rejectButton ||\n !this.$prompt ||\n !this.$acceptedMessage ||\n !this.$rejectedMessage ||\n !this.$closeButtons\n ) {\n return;\n }\n\n this.cookies = new Cookies({ newInstance: true });\n\n this.cookiePreferencesSetKey =\n this.$module.dataset.preferencesKey || \"cookie_preferences_set\";\n\n if (!this.cookies.completePoliciesOnInit) {\n this.cookies.delete(this.cookiePreferencesSetKey);\n }\n\n if (\n !this.cookies.exists(this.cookiePreferencesSetKey) ||\n !this.cookies.hasValue(this.cookiePreferencesSetKey, \"true\")\n ) {\n this.$module.removeAttribute(\"hidden\");\n\n this.$acceptButton.addEventListener(\"click\", () => this.accept());\n this.$rejectButton.addEventListener(\"click\", () => this.reject());\n }\n }\n\n accept() {\n this.$prompt.setAttribute(\"hidden\", \"\");\n this.complete();\n this.$acceptedMessage.removeAttribute(\"hidden\");\n this.$acceptedMessage.focus();\n this.$acceptedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.acceptAllPolicies();\n }\n\n reject() {\n this.$prompt.setAttribute(\"hidden\", \"\");\n this.complete();\n this.$rejectedMessage.removeAttribute(\"hidden\");\n this.$rejectedMessage.focus();\n this.$rejectedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.rejectAllPolicies();\n }\n\n complete() {\n this.cookies.set(this.cookiePreferencesSetKey, true);\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", \"\");\n }\n}\n","export class Tabs {\n constructor($module) {\n this.$module = $module;\n this.$tabList = $module && $module.querySelector(\".tna-tabs__list\");\n this.$tabListItemLinks =\n $module &&\n this.$tabList &&\n this.$tabList.querySelectorAll(\".tna-tabs__button\");\n this.$tabItems = $module && $module.querySelectorAll(\".tna-tabs__item\");\n\n if (\n !this.$module ||\n !this.$tabList ||\n !this.$tabListItemLinks ||\n !this.$tabItems ||\n this.$tabListItemLinks.length !== this.$tabItems.length\n ) {\n return;\n }\n\n this.currentTabIndex = 0;\n this.init();\n }\n\n init() {\n this.$module.classList.add(\"tna-tabs--interactive\");\n this.$tabList.removeAttribute(\"hidden\");\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n const tabPanelID = $tabListItemLink.getAttribute(\"aria-controls\");\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n const $tabPanel = document.getElementById(tabPanelID);\n $tabPanel.setAttribute(\"aria-labelledby\", $tabListItemLink.id);\n $tabPanel.setAttribute(\"role\", \"tabpanel\");\n $tabListItemLink.addEventListener(\n \"click\",\n (e) => this.handleItemLinkClick(e),\n true,\n );\n });\n this.switchTabByIndex(this.currentTabIndex);\n this.$module.addEventListener(\"keydown\", (e) =>\n this.handleItemLinkKeyDown(e),\n );\n }\n\n handleItemLinkClick(itemLinkClickEvent) {\n itemLinkClickEvent.preventDefault();\n const targetItem =\n itemLinkClickEvent.currentTarget.getAttribute(\"aria-controls\");\n this.switchTabByID(targetItem);\n }\n\n handleItemLinkKeyDown(itemLinkKeyDownEvent) {\n let preventDefaultKeyAction = false;\n switch (itemLinkKeyDownEvent.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.previousTab();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.nextTab();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.switchTabByIndex(0, true);\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.switchTabByIndex(this.$tabListItemLinks.length - 1, true);\n preventDefaultKeyAction = true;\n break;\n default:\n break;\n }\n if (preventDefaultKeyAction) {\n itemLinkKeyDownEvent.stopPropagation();\n itemLinkKeyDownEvent.preventDefault();\n }\n }\n\n nextTab() {\n if (this.currentTabIndex < this.$tabListItemLinks.length - 1) {\n this.switchTabByIndex(this.currentTabIndex + 1, true);\n } else {\n this.switchTabByIndex(0, true);\n }\n }\n\n previousTab() {\n if (this.currentTabIndex >= 1) {\n this.switchTabByIndex(this.currentTabIndex - 1, true);\n } else {\n this.switchTabByIndex(this.$tabListItemLinks.length - 1, true);\n }\n }\n\n switchTabByIndex(newIndex, switchFocus = false) {\n this.currentTabIndex = newIndex;\n this.$tabListItemLinks.forEach(($tabListItemLink, index) => {\n if (index === this.currentTabIndex) {\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n if (switchFocus) {\n $tabListItemLink.focus();\n }\n } else {\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n $tabListItemLink.setAttribute(\"tabindex\", \"-1\");\n }\n });\n this.$tabItems.forEach(($tabItem, index) => {\n if (index === this.currentTabIndex) {\n $tabItem.removeAttribute(\"hidden\");\n $tabItem.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabItem.setAttribute(\"hidden\", \"\");\n $tabItem.setAttribute(\"tabindex\", \"-1\");\n }\n });\n }\n\n switchTabByID(targetId) {\n const index = Array.from(this.$tabItems).findIndex(\n ($tabItem) => $tabItem.getAttribute(\"id\") === targetId,\n );\n this.switchTabByIndex(index);\n }\n}\n","window.TNAFrontendCookies = window.TNAFrontendCookies || null;\nwindow.TNAFrontendCookieEvents = window.TNAFrontendCookieEvents || null;\n\nexport class CookieEventHandler {\n events = {};\n oneTimeEvents = {};\n\n constructor() {\n if (window.TNAFrontendCookieEvents) {\n return window.TNAFrontendCookieEvents;\n }\n window.TNAFrontendCookieEvents = this;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n if (!Object.hasOwn(this.events, event)) {\n this.events[event] = [];\n }\n this.events[event] = [...this.events[event], callback];\n }\n\n once(event, callback) {\n if (!Object.hasOwn(this.oneTimeEvents, event)) {\n this.oneTimeEvents[event] = [];\n }\n this.oneTimeEvents[event] = [...this.oneTimeEvents[event], callback];\n }\n\n /** @protected */\n trigger(event, data = {}) {\n if (Object.hasOwn(this.events, event)) {\n this.events[event].forEach((eventToTrigger) =>\n eventToTrigger.call(this, data),\n );\n }\n if (Object.hasOwn(this.oneTimeEvents, event)) {\n for (let i = this.oneTimeEvents[event].length - 1; i >= 0; i--) {\n const eventToTrigger = this.oneTimeEvents[event][i];\n eventToTrigger.call(this, data);\n this.oneTimeEvents[event].splice(i, 1);\n }\n }\n }\n}\n\nconst tnaCookiePolicies = [\"usage\", \"settings\", \"marketing\", \"essential\"];\n\n/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n defaultDomain = \"\";\n /** @protected */\n defaultPath = \"\";\n /** @protected */\n secure = true;\n /** @protected */\n policiesKey = \"\";\n /** @protected */\n events = null;\n /** @protected */\n defaultAge = null;\n /** @protected */\n completePoliciesOnInit = false;\n\n /**\n * Create a cookie handler.\n * @param {String} [options.defaultDomain] - The domain to register the cookie with.\n * @param {String} [options.path] - The domain to register the cookie with.\n * @param {Boolean} [options.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.policiesKey] - The name of the cookie.\n * @param {String} [options.newInstance=false] - Create a fresh instance of the cookie class.\n * @param {Number} [options.defaultAge] - The default age of non-session cookies.\n * @param {Boolean} [options.noInit=false] - Don't initialise a blank cookie policy.\n */\n constructor(options = {}) {\n const {\n defaultDomain,\n defaultPath,\n secure,\n policiesKey,\n newInstance = false,\n defaultAge,\n noInit = false,\n } = options;\n if (!newInstance && window.TNAFrontendCookies) {\n return window.TNAFrontendCookies;\n }\n if (defaultDomain === undefined) {\n this.defaultDomain =\n document.documentElement.dataset.tnaCookiesDomain || \"\";\n } else {\n this.defaultDomain = defaultDomain;\n }\n if (defaultPath === undefined) {\n this.defaultPath = document.documentElement.dataset.tnaCookiesPath || \"/\";\n } else {\n this.defaultPath = defaultPath;\n }\n if (secure === undefined) {\n this.secure =\n document.documentElement.dataset.tnaCookiesInsecure !== \"true\";\n } else {\n this.secure = secure;\n }\n if (policiesKey === undefined) {\n this.policiesKey =\n document.documentElement.dataset.tnaCookiesPoliciesKey ||\n \"cookies_policy\";\n } else {\n this.policiesKey = policiesKey;\n }\n if (defaultAge === undefined) {\n this.defaultAge =\n parseInt(document.documentElement.dataset.tnaCookiesDefaultAge) ||\n 31536000; // 365 days;\n } else {\n this.defaultAge = defaultAge;\n }\n this.events = new CookieEventHandler();\n this.completePoliciesOnInit =\n Object.keys(this.policies).length === tnaCookiePolicies.length &&\n tnaCookiePolicies.every(\n (policy) =>\n Object.keys(this.policies).includes(policy) &&\n typeof this.policies[policy] === \"boolean\",\n );\n if (!this.completePoliciesOnInit && !noInit) {\n this.init();\n }\n window.TNAFrontendCookies = this;\n }\n\n /** @protected */\n init() {\n const existingPolicies = this.policies;\n const filteredExistingPolicies = Object.fromEntries(\n Object.keys(existingPolicies)\n .filter((policy) => tnaCookiePolicies.includes(policy))\n .map((policy) => [policy, existingPolicies[policy]]),\n );\n this.savePolicies({\n usage: false,\n settings: false,\n marketing: false,\n ...filteredExistingPolicies,\n essential: true,\n });\n }\n\n destroyInstance() {\n window.TNAFrontendCookies = null;\n }\n\n /** @protected */\n get all() {\n const deserialised = {};\n document.cookie\n .split(\"; \")\n .filter((x) => x)\n .forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n if (parts[0]) {\n deserialised[parts[0]] = parts[1];\n }\n });\n return deserialised;\n }\n\n /** @protected */\n get policies() {\n try {\n return JSON.parse(this.get(this.policiesKey) || \"{}\");\n } catch (e) {\n return {};\n }\n }\n\n /**\n * Check to see whether a cookie exists or not.\n * @param {String} key - The cookie name.\n * @returns {Boolean}\n */\n exists(key) {\n return Object.hasOwn(this.all, key);\n }\n\n /**\n * Check to see whether a cookie has a particular value.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The value to check against.\n * @returns\n */\n hasValue(key, value) {\n return this.get(key) == value;\n }\n\n /**\n * Get a cookie.\n * @param {String} key - The cookie name.\n * @returns {String|Number|Boolean}\n */\n get(key) {\n return this.exists(key) ? decodeURIComponent(this.all[key]) : null;\n }\n\n /**\n * Set a cookie.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The cookie value.\n * @param {Object} options\n * @param {Number} [options.maxAge=this.defaultAge] - The maximum age of the cookie in seconds.\n * @param {String} [options.path=/] - The path to register the cookie for.\n * @param {String} [options.sameSite=Lax] - The sameSite attribute.\n * @param {String} [options.domain=this.defaultDomain] - The domain to register the cookie with.\n * @param {String} [options.path=this.defaultPath] - The path to register the cookie with.\n * @param {String} [options.secure=this.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.session=false] - Set a session cookie.\n */\n set(key, value, options = {}) {\n const {\n maxAge = this.defaultAge,\n sameSite = \"Lax\",\n domain = this.defaultDomain,\n path = this.defaultPath,\n secure = this.secure,\n session = false,\n } = options;\n if (!key) {\n return;\n }\n const cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)};${\n domain ? ` domain=${domain}; ` : \"\"\n } samesite=${sameSite}; path=${path}${!session ? `; max-age=${maxAge}` : \"\"}${\n secure ? \"; secure\" : \"\"\n }`;\n document.cookie = cookie;\n this.events.trigger(\"setCookie\", {\n key,\n value,\n maxAge,\n path,\n sameSite,\n domain,\n secure,\n session,\n cookie,\n });\n }\n\n /**\n * Delete a cookie.\n * @param {String} key - The cookie name.\n * @param {String} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\", domain = null) {\n const options = { maxAge: -1, path, domain: domain || undefined };\n this.set(key, \"\", options);\n this.events.trigger(\"deleteCookie\", { key, ...options });\n }\n\n /**\n * Delete all cookies.\n */\n deleteAll(path = \"/\", domain = null) {\n Object.keys(this.all).forEach((cookie) => {\n this.delete(cookie, path, domain);\n });\n this.events.trigger(\"deleteAllCookies\", { path, domain });\n }\n\n /**\n * Accept a policy.\n * @param {String} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n this.events.trigger(\"acceptPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: true });\n }\n\n /**\n * Reject a policy.\n * @param {String} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n this.events.trigger(\"rejectPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: false });\n }\n\n /**\n * Set a policy.\n * @param {String} policy - The name of the policy.\n * @param {Boolean} accepted - Whether the policy is accepted or not.\n */\n setPolicy(policy, accepted) {\n if (policy === \"essential\") {\n return;\n }\n this.savePolicies({\n ...this.policies,\n [policy]: accepted,\n essential: true,\n });\n this.events.trigger(\"changePolicy\", { [policy]: accepted });\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n const allPolicies = Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), true]),\n );\n this.savePolicies(allPolicies);\n this.events.trigger(\"acceptAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n const allPolicies = {\n ...Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), false]),\n ),\n essential: true,\n };\n this.savePolicies(allPolicies);\n this.events.trigger(\"rejectAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Commit policy preferences to the browser.\n * @param {object} policies - The policies to commit.\n */\n savePolicies(policies) {\n this.set(this.policiesKey, JSON.stringify(policies));\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {String} policy - The name of the policy.\n * @returns {Boolean}\n */\n isPolicyAccepted(policy) {\n return Object.hasOwn(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n this.events.on(event, callback);\n }\n\n /**\n * Add a one-time event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n once(event, callback) {\n this.events.once(event, callback);\n }\n}\n","const uuidv4 = () =>\n ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n (\n c ^\n (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))\n ).toString(16),\n );\n\nexport default uuidv4;\n","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 Gallery {\n constructor($module) {\n this.$module = $module;\n this.$itemsContainer =\n $module && $module.querySelector(\".tna-gallery__items\");\n this.$items =\n this.$itemsContainer &&\n this.$itemsContainer.querySelectorAll(\".tna-gallery__item\");\n this.$navigation =\n $module && $module.querySelector(\".tna-gallery__navigation\");\n this.$navigationItems =\n this.$navigation &&\n $module.querySelectorAll(\".tna-gallery__navigation-item\");\n this.$options = $module && $module.querySelector(\".tna-gallery__options\");\n this.$navigationButtons =\n $module && $module.querySelector(\".tna-gallery__navigation-buttons\");\n\n if (\n !this.$module ||\n !this.$itemsContainer ||\n !this.$items ||\n !this.$navigation ||\n !this.$navigationItems ||\n !this.$options ||\n !this.$navigationButtons\n ) {\n return;\n }\n\n this.$module.classList.add(\"tna-gallery--interactive\");\n\n this.$showIndex = this.$options.querySelector('button[value=\"show-index\"]');\n this.$enterFullscreen = this.$options.querySelector(\n 'button[value=\"enter-fullscreen\"]',\n );\n this.$exitFullscreen = this.$options.querySelector(\n 'button[value=\"exit-fullscreen\"]',\n );\n\n this.$navigationButtonPrev = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-prev\",\n );\n this.$navigationButtonNext = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-next\",\n );\n\n this.$module.addEventListener(\"fullscreenchange\", () =>\n this.syncFullScreen(),\n );\n\n this.setup();\n this.allowGridIndex = this.$module.dataset[\"showgrid\"] || false;\n if (this.allowGridIndex) {\n this.showIndex();\n } else {\n this.currentId = this.$items[0].id;\n this.showItem(this.currentId);\n }\n }\n\n setup() {\n this.$items.forEach(($item) => {\n $item.setAttribute(\"hidden\", \"\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n $item\n .querySelector(\".tna-gallery__item-header\")\n ?.setAttribute(\"aria-hidden\", \"true\");\n });\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigationItems.forEach(($item) => {\n $item.addEventListener(\"click\", () => {\n this.showItem($item.getAttribute(\"aria-controls\"));\n this.$itemsContainer.setAttribute(\"tabindex\", \"0\");\n this.$itemsContainer.focus();\n });\n });\n this.$module.addEventListener(\"keydown\", (e) => {\n let preventDefaultKeyAction = false;\n switch (e.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.showPreviousItem();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.showNextItem();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.showFirstItem();\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.showLastItem();\n preventDefaultKeyAction = true;\n break;\n }\n if (preventDefaultKeyAction) {\n e.stopPropagation();\n e.preventDefault();\n }\n });\n this.$options.removeAttribute(\"hidden\");\n if (\n document.fullscreenEnabled &&\n this.$enterFullscreen &&\n this.$exitFullscreen\n ) {\n this.$enterFullscreen?.addEventListener(\"click\", () =>\n this.enterFullScreen(),\n );\n this.$exitFullscreen?.addEventListener(\"click\", () =>\n this.exitFullScreen(),\n );\n this.$enterFullscreen?.removeAttribute(\"hidden\");\n }\n this.$showIndex?.addEventListener(\"click\", () => this.showIndex());\n this.$navigationButtons?.removeAttribute(\"hidden\");\n this.$navigationButtonPrev?.addEventListener(\"click\", () => {\n this.showPreviousItem();\n });\n this.$navigationButtonNext?.addEventListener(\"click\", () => {\n this.showNextItem();\n });\n\n this.$liveRegion = document.createElement(\"div\");\n this.$liveRegion.setAttribute(\"aria-live\", \"polite\");\n this.$liveRegion.setAttribute(\"aria-atomic\", \"true\");\n this.$liveRegion.setAttribute(\"class\", \"tna-gallery__item-header\");\n this.$itemsContainer.prepend(this.$liveRegion);\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-item-titles\");\n this.$itemsContainer.addEventListener(\"blur\", () =>\n this.$itemsContainer.removeAttribute(\"tabindex\"),\n );\n }\n\n showIndex() {\n this.showItem(\"\");\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-items\");\n this.$showIndex?.setAttribute(\"hidden\", \"\");\n }\n\n showItem(id) {\n this.$items.forEach(($item) => {\n if (id && $item.id === id) {\n $item.removeAttribute(\"hidden\");\n $item.removeAttribute(\"aria-hidden\");\n } else {\n $item.setAttribute(\"hidden\", \"\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n }\n });\n this.$navigationItems.forEach(($item) => {\n if (id) {\n if ($item.getAttribute(\"aria-controls\") === id) {\n $item.setAttribute(\"aria-current\", \"true\");\n if (this.isFullScreen()) {\n $item.scrollIntoView({ block: \"nearest\" });\n }\n } else {\n $item.setAttribute(\"aria-current\", \"false\");\n }\n } else {\n $item.setAttribute(\"aria-current\", \"false\");\n }\n });\n if (this.allowGridIndex) {\n this.$showIndex?.removeAttribute(\"hidden\");\n }\n this.$itemsContainer.classList.remove(\"tna-gallery__items--hide-items\");\n this.currentId = id;\n this.$liveRegion.textContent = `Image ${this.getCurrentItemIndex() + 1} of ${this.$items.length}`;\n }\n\n getCurrentItemIndex() {\n return Array.from(this.$items).findIndex(\n ($item) => $item.id === this.currentId,\n );\n }\n\n showPreviousItem() {\n let nextIndexToShow = this.getCurrentItemIndex() - 1;\n if (nextIndexToShow < 0) {\n nextIndexToShow = this.$items.length - 1;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showNextItem() {\n let nextIndexToShow = this.getCurrentItemIndex() + 1;\n if (nextIndexToShow >= this.$items.length) {\n nextIndexToShow = 0;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showFirstItem() {\n this.showItem(this.$items[0].id);\n }\n\n showLastItem() {\n this.showItem(this.$items[this.$items.length - 1].id);\n }\n\n isFullScreen() {\n return document.fullscreenElement;\n }\n\n enterFullScreen() {\n this.$module.requestFullscreen();\n this.syncFullScreen();\n this.$module.focus();\n }\n\n exitFullScreen() {\n document.exitFullscreen();\n this.syncFullScreen();\n }\n\n syncFullScreen() {\n if (this.isFullScreen()) {\n this.$enterFullscreen.setAttribute(\"hidden\", \"\");\n this.$exitFullscreen.removeAttribute(\"hidden\");\n } else {\n this.$exitFullscreen.setAttribute(\"hidden\", \"\");\n this.$enterFullscreen.removeAttribute(\"hidden\");\n }\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Picture {\n constructor($module) {\n this.$module = $module;\n this.$imageWrapper =\n $module && $module.querySelector(\".tna-picture__image-wrapper\");\n\n this.$transcriptToggle =\n this.$imageWrapper &&\n this.$imageWrapper.querySelector(\".tna-picture__toggle-transcript\");\n\n this.$transcript =\n $module && $module.querySelector(\".tna-picture__transcript\");\n this.transcriptOpened = false;\n\n if (\n !this.$module ||\n !this.$imageWrapper ||\n !this.$transcriptToggle ||\n !this.$transcript\n ) {\n return;\n }\n\n this.openLabel =\n this.$module.dataset.informationLabelOpen || \"Open transcript\";\n this.closeLabel =\n this.$module.dataset.informationLabelClose || \"Close transcript\";\n\n this.init();\n }\n\n init() {\n const uniqueId = `tna-picture-${uuidv4()}`;\n\n this.$transcriptToggle.removeAttribute(\"hidden\");\n this.$transcriptToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcriptToggle.addEventListener(\"click\", () =>\n this.toggleTranscript(),\n );\n\n this.$transcript.setAttribute(\"id\", uniqueId);\n this.$transcript.setAttribute(\"hidden\", \"\");\n\n this.$transcript.addEventListener(\"keydown\", (e) => {\n switch (e.key) {\n case \"Escape\":\n this.toggleTranscript();\n this.$transcriptToggle.focus();\n break;\n }\n });\n }\n\n toggleTranscript() {\n this.transcriptOpened = !this.transcriptOpened;\n if (this.transcriptOpened) {\n this.$transcriptToggle.setAttribute(\"aria-expanded\", true);\n this.$transcriptToggle.innerText = this.closeLabel;\n this.$transcript.removeAttribute(\"hidden\");\n } else {\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcript.setAttribute(\"hidden\", \"\");\n }\n }\n}\n","export class Header {\n constructor($module) {\n this.$module = $module;\n this.$toggleButton =\n $module && $module.querySelector(\".tna-header__navigation-button\");\n this.$navigation =\n $module && $module.querySelector(\".tna-header__navigation\");\n this.$links =\n $module &&\n this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\");\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 48em)\");\n\n if (!this.$module || !this.$toggleButton || !this.$navigation) {\n return;\n }\n\n this.$toggleButton.removeAttribute(\"hidden\");\n this.syncState();\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n\n this.$module.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\") {\n if (this.menuOpened && this.mql.matches) {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n }\n });\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.show();\n } else {\n this.hide();\n }\n } else {\n this.show();\n }\n }\n\n show() {\n this.$navigation.classList.add(\"tna-header__navigation--open\");\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\"tna-header__navigation-button--opened\");\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n\n hide() {\n this.$navigation.classList.remove(\"tna-header__navigation--open\");\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-header__navigation-button--opened\",\n );\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n}\n","export class ErrorSummary {\n constructor($module) {\n this.$module = $module;\n }\n\n init() {\n if (!this.$module) {\n return;\n }\n\n const disableAutoFocus =\n this.$module.dataset.disableAutofocus === \"true\" || false;\n\n if (!disableAutoFocus) {\n this.setFocus(this.$module);\n }\n\n this.$module.addEventListener(\"click\", (event) => this.handleClick(event));\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 handleClick(event) {\n const $target = event.target;\n if ($target && this.focusTarget($target)) {\n event.preventDefault();\n }\n }\n\n getFragmentFromUrl(url) {\n if (!url.includes(\"#\")) {\n return undefined;\n }\n\n return url.split(\"#\").pop();\n }\n\n focusTarget($target) {\n // If the element that was clicked was not a link, return early\n if (!($target instanceof HTMLAnchorElement)) {\n return false;\n }\n\n const inputId = this.getFragmentFromUrl($target.href);\n if (!inputId) {\n return false;\n }\n\n const $input = document.getElementById(inputId);\n if (!$input) {\n return false;\n }\n\n const $legendOrLabel = this.getAssociatedLegendOrLabel($input);\n if (!$legendOrLabel) {\n return false;\n }\n\n // Scroll the legend or label into view *before* calling focus on the input\n // to avoid extra scrolling in browsers that don't support `preventScroll`\n // (which at time of writing is most of them...)\n $legendOrLabel.scrollIntoView();\n $input.focus({ preventScroll: true });\n\n return true;\n }\n\n /**\n * Get associated legend or label\n *\n * Returns the first element that exists from this list:\n *\n * - The `<legend>` associated with the closest `<fieldset>` ancestor, as long\n * as the top of it is no more than half a viewport height away from the\n * bottom of the input\n * - The first `<label>` that is associated with the input using for=\"inputId\"\n * - The closest parent `<label>`\n *\n * @private\n * @param {Element} $input - The input\n * @returns {Element | null} Associated legend or label, or null if no\n * associated legend or label can be found\n */\n getAssociatedLegendOrLabel($input) {\n const $fieldset = $input.closest(\"fieldset\");\n\n if ($fieldset) {\n const $legends = $fieldset.getElementsByTagName(\"legend\");\n\n if ($legends.length) {\n const $candidateLegend = $legends[0];\n\n // If the input type is radio or checkbox, always use the legend if\n // there is one.\n if (\n $input instanceof HTMLInputElement &&\n ($input.type === \"checkbox\" || $input.type === \"radio\")\n ) {\n return $candidateLegend;\n }\n\n // For other input types, only scroll to the fieldset’s legend (instead\n // of the label associated with the input) if the input would end up in\n // the top half of the screen.\n //\n // This should avoid situations where the input either ends up off the\n // screen, or obscured by a software keyboard.\n const legendTop = $candidateLegend.getBoundingClientRect().top;\n const inputRect = $input.getBoundingClientRect();\n\n // If the browser doesn't support Element.getBoundingClientRect().height\n // or window.innerHeight (like IE8), bail and just link to the label.\n if (inputRect.height && window.innerHeight) {\n const inputBottom = inputRect.top + inputRect.height;\n\n if (inputBottom - legendTop < window.innerHeight / 2) {\n return $candidateLegend;\n }\n }\n }\n }\n\n return (\n document.querySelector(`label[for='${$input.getAttribute(\"id\")}']`) ??\n $input.closest(\"label\")\n );\n }\n}\n","export class GlobalHeader {\n constructor($module) {\n this.$module = $module;\n this.$toggleButton =\n $module && $module.querySelector(\".tna-global-header__navigation-button\");\n this.$navigation =\n $module &&\n $module.querySelector(\".tna-global-header__navigation-wrapper\");\n this.$topNavigation =\n $module &&\n $module.querySelector(\".tna-global-header__top-navigation-wrapper\");\n this.$links =\n $module &&\n ((this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\")) ||\n (this.$topNavigation &&\n this.$topNavigation.querySelectorAll(\"[tabindex='0']\")));\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 48em)\");\n\n if (\n !this.$module ||\n !this.$toggleButton ||\n (!this.$navigation && !this.$topNavigation)\n ) {\n return;\n }\n\n this.$toggleButton.removeAttribute(\"hidden\");\n this.syncState();\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n\n this.$module.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\" && this.mql.matches) {\n if (this.menuOpened) {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n }\n });\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.show();\n } else {\n this.hide();\n }\n } else {\n this.show();\n }\n }\n\n hide() {\n if (this.$navigation) {\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n }\n if (this.$topNavigation) {\n this.$topNavigation.hidden = true;\n this.$topNavigation.setAttribute(\"aria-hidden\", \"true\");\n }\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-global-header__navigation-button--opened\",\n );\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n\n show() {\n if (this.$navigation) {\n this.$navigation.hidden = false;\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n }\n if (this.$topNavigation) {\n this.$topNavigation.hidden = false;\n this.$topNavigation.setAttribute(\"aria-hidden\", \"false\");\n }\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\n \"tna-global-header__navigation-button--opened\",\n );\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n}\n","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(\"type\", \"button\");\n $expandButton.setAttribute(\"aria-expanded\", \"false\");\n $expandButton.setAttribute(\"aria-controls\", uniqueId);\n $expandButton.addEventListener(\"click\", () => {\n this.$module.classList.remove(\"tna-breadcrumbs--collapsed\");\n $expandable.remove();\n this.$module.setAttribute(\"tabindex\", \"0\");\n this.$module.focus();\n this.$module.setAttribute(\"tabindex\", \"-1\");\n });\n\n $expandable.appendChild($expandButton);\n\n this.$breadcrumbsList.setAttribute(\"id\", uniqueId);\n this.$breadcrumbsList.insertBefore(\n $expandable,\n this.$breadcrumbs[this.$breadcrumbs.length - 2].nextSibling,\n );\n\n this.$module.classList.add(\"tna-breadcrumbs--collapsed\");\n }\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport { Cookies };\n\nexport class DateInput {\n constructor($module) {\n this.$module = $module;\n this.$dayWrapper =\n $module && $module.querySelector(\".tna-date-input__item--day\");\n this.$dayInput =\n this.$dayWrapper && this.$dayWrapper.querySelector(\"input\");\n this.$monthWrapper =\n $module && $module.querySelector(\".tna-date-input__item--month\");\n this.$monthInput =\n this.$monthWrapper && this.$monthWrapper.querySelector(\"input\");\n this.$yearWrapper =\n $module && $module.querySelector(\".tna-date-input__item--year\");\n this.$yearInput =\n this.$yearWrapper && this.$yearWrapper.querySelector(\"input\");\n\n if (!this.$module) {\n return;\n }\n\n this.update();\n\n if (this.$yearInput) {\n this.$yearInput.addEventListener(\"keyup\", () => this.update());\n this.$yearInput.addEventListener(\"change\", () => this.update());\n }\n if (this.$monthInput) {\n this.$monthInput.addEventListener(\"keyup\", () => this.update());\n this.$monthInput.addEventListener(\"change\", () => this.update());\n }\n if (this.$dayInput) {\n this.$dayInput.addEventListener(\"keyup\", () => this.update());\n this.$dayInput.addEventListener(\"change\", () => this.update());\n }\n }\n\n update() {\n if (this.isValidYear()) {\n this.showMonth();\n\n if (this.isValidMonth()) {\n this.showDay();\n } else {\n this.hideDay();\n }\n } else {\n this.hideMonth();\n this.hideDay();\n }\n }\n\n isValidYear() {\n if (!this.$yearInput) {\n return true;\n }\n const yearValue = parseInt(this.$yearInput.value.trim());\n return !isNaN(this.$yearInput.value) && !isNaN(yearValue) && yearValue > 0;\n }\n\n isValidMonth() {\n if (!this.$monthInput) {\n return true;\n }\n const monthValue = parseInt(this.$monthInput.value.trim());\n return (\n !isNaN(this.$monthInput.value) &&\n !isNaN(monthValue) &&\n monthValue > 0 &&\n monthValue <= 12\n );\n }\n\n showMonth() {\n if (this.$monthWrapper) {\n this.$monthWrapper.removeAttribute(\"hidden\");\n }\n }\n\n hideMonth() {\n if (this.$monthWrapper) {\n this.$monthWrapper.setAttribute(\"hidden\", \"\");\n }\n }\n\n showDay() {\n if (this.$dayWrapper) {\n this.$dayWrapper.removeAttribute(\"hidden\");\n }\n }\n\n hideDay() {\n if (this.$dayWrapper) {\n this.$dayWrapper.setAttribute(\"hidden\", \"\");\n }\n }\n}\n","export class TextInput {\n constructor($module) {\n this.$module = $module;\n this.$input = $module && $module.querySelector(\".tna-text-input\");\n\n if (!this.$module || !this.$input) {\n return;\n }\n\n if (this.$input.getAttribute(\"type\") === \"password\") {\n this.$textInputWrapper = document.createElement(\"div\");\n this.$textInputWrapper.classList.add(\"tna-text-input-wrapper\");\n\n this.$textInputPasswordToggle = document.createElement(\"button\");\n this.$textInputPasswordToggle.setAttribute(\"type\", \"button\");\n this.$textInputPasswordToggle.classList.add(\n \"tna-button\",\n \"tna-button--small\",\n \"tna-button--icon-only\",\n );\n this.$textInputPasswordToggle.setAttribute(\n \"aria-controls\",\n this.$input.id,\n );\n this.updateTogglePasswordButtonText();\n\n this.$textInputWrapper.appendChild(this.$input);\n this.$textInputWrapper.appendChild(this.$textInputPasswordToggle);\n this.$module.appendChild(this.$textInputWrapper);\n\n this.$textInputPasswordToggle.addEventListener(\"click\", () => {\n this.togglePasswordType();\n this.$input.focus();\n });\n }\n }\n\n togglePasswordType() {\n if (this.$input.getAttribute(\"type\") === \"password\") {\n this.$input.setAttribute(\"type\", \"text\");\n } else {\n this.$input.setAttribute(\"type\", \"password\");\n }\n this.updateTogglePasswordButtonText();\n }\n\n updateTogglePasswordButtonText() {\n if (this.$input.getAttribute(\"type\") === \"password\") {\n this.$textInputPasswordToggle.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\" height=\"16\" aria-hidden=\"true\" focusable=\"false\"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d=\"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z\"/></svg>Show password`;\n this.$textInputPasswordToggle.setAttribute(\"title\", \"Show password\");\n this.$textInputPasswordToggle.setAttribute(\"aria-label\", \"Show password\");\n } else {\n this.$textInputPasswordToggle.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\" height=\"16\" aria-hidden=\"true\" focusable=\"false\"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d=\"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5L373 389.9z\"/></svg></i>Hide password`;\n this.$textInputPasswordToggle.setAttribute(\"title\", \"Hide password\");\n this.$textInputPasswordToggle.setAttribute(\"aria-label\", \"Hide password\");\n }\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport class Footer {\n constructor($module) {\n this.$module = $module;\n this.$themeSelector =\n $module && $module.querySelector(\".tna-footer__theme-selector\");\n this.$tnaTemplate = document.querySelector(\".tna-template\");\n\n if (!this.$module || !this.$themeSelector || !this.$tnaTemplate) {\n return;\n }\n\n this.$themeSelectorButtons = this.$themeSelector.querySelectorAll(\n \"button.tna-footer__theme-selector-button[value]\",\n );\n\n Array.from(this.$themeSelectorButtons).forEach(($themeSelectorButton) => {\n $themeSelectorButton.addEventListener(\"click\", (e) => {\n const $button = e.target;\n this.setTheme($button.value);\n this.selectThemeSelectorButton($button);\n });\n });\n\n this.cookies = new Cookies();\n if (this.cookies.isPolicyAccepted(\"settings\")) {\n this.showThemeSelector();\n }\n this.cookies.on(\"changePolicy\", (data) => {\n if (Object.hasOwn(data, \"settings\")) {\n if (data.settings === true) {\n this.showThemeSelector();\n } else {\n this.cookies.delete(\"theme\");\n this.hideThemeSelector();\n }\n }\n });\n }\n\n showThemeSelector() {\n this.$themeSelector.removeAttribute(\"hidden\");\n if (this.cookies.exists(\"theme\")) {\n const $currentThemeButton = Array.from(this.$themeSelectorButtons).find(\n ($button) => $button.value === this.cookies.get(\"theme\"),\n );\n if ($currentThemeButton) {\n this.selectThemeSelectorButton($currentThemeButton);\n }\n }\n }\n\n hideThemeSelector() {\n this.$themeSelector.setAttribute(\"hidden\", \"\");\n }\n\n setTheme(theme) {\n if (theme === \"light\") {\n this.$tnaTemplate.classList.remove(\n \"tna-template--system-theme\",\n \"tna-template--dark-theme\",\n );\n } else if (theme === \"dark\") {\n this.$tnaTemplate.classList.remove(\"tna-template--system-theme\");\n this.$tnaTemplate.classList.add(`tna-template--dark-theme`);\n } else if (theme === \"system\") {\n this.$tnaTemplate.classList.remove(\"tna-template--dark-theme\");\n this.$tnaTemplate.classList.add(`tna-template--system-theme`);\n } else {\n return;\n }\n this.cookies.set(\"theme\", theme);\n }\n\n selectThemeSelectorButton($selectedButton) {\n Array.from(this.$themeSelectorButtons).forEach(($button) => {\n if ($button.value === $selectedButton.value) {\n $button.classList.remove(\"tna-button--plain\");\n $button.setAttribute(\"aria-current\", true);\n } else {\n $button.classList.add(\"tna-button--plain\");\n $button.removeAttribute(\"aria-current\");\n }\n });\n }\n}\n","export class Accordion {\n constructor($module) {\n this.$module = $module;\n this.$items = $module && $module.querySelectorAll(\".tna-accordion__item\");\n if (!this.$module || !this.$items) {\n return;\n }\n\n this.allowMultipleItemsOpen =\n this.$module.dataset[\"multiselectable\"] === \"true\";\n\n this.$items.forEach(($item) => this.initItem($item));\n this.initState();\n }\n\n initItem($item) {\n const $heading = $item.querySelector(\".tna-accordion__heading\");\n const $content = $item.querySelector(\".tna-accordion__body\");\n\n if (!$heading || !$content) {\n return;\n }\n\n $item.classList.add(\"tna-accordion__details\");\n $item.classList.remove(\"tna-accordion__item\");\n\n $heading.removeAttribute(\"class\");\n\n $content.classList.add(\"tna-accordion__content\");\n $content.classList.remove(\"tna-accordion__body\");\n $content.setAttribute(\"hidden\", \"\");\n\n const $headingButton = document.createElement(\"button\");\n $headingButton.classList.add(\"tna-accordion__summary\");\n $headingButton.setAttribute(\"type\", \"button\");\n $headingButton.setAttribute(\"aria-controls\", $content.id);\n $headingButton.innerText = $heading.innerText;\n $heading.innerText = \"\";\n $heading.appendChild($headingButton);\n\n $headingButton.addEventListener(\"click\", () => {\n const isOpen = $headingButton.getAttribute(\"aria-expanded\") === \"true\";\n if (isOpen) {\n this.closeItem($item);\n } else {\n this.openItem($item);\n }\n });\n }\n\n initState() {\n this.$items.forEach(($item) => {\n if ($item.dataset[\"isopen\"] === \"true\") {\n this.openItem($item);\n } else {\n this.closeItem($item);\n }\n $item.removeAttribute(\"data-isopen\");\n });\n }\n\n openItem($item) {\n if (!this.allowMultipleItemsOpen) {\n this.closeAllItemsExcept($item);\n }\n const $headingButton = $item.querySelector(\".tna-accordion__summary\");\n const $content = $item.querySelector(\".tna-accordion__content\");\n $headingButton.setAttribute(\"aria-expanded\", \"true\");\n $headingButton.setAttribute(\n \"aria-label\",\n `${$headingButton.innerText.trim()}, Hide this section`,\n );\n $content.removeAttribute(\"hidden\");\n // $content.setAttribute(\"tabindex\", \"0\");\n }\n\n closeItem($item) {\n const $headingButton = $item.querySelector(\".tna-accordion__summary\");\n const $content = $item.querySelector(\".tna-accordion__content\");\n $headingButton.setAttribute(\"aria-expanded\", \"false\");\n $headingButton.setAttribute(\n \"aria-label\",\n `${$headingButton.innerText.trim()}, Show this section`,\n );\n $content.setAttribute(\"hidden\", \"\");\n // $content.setAttribute(\"tabindex\", \"-1\");\n }\n\n closeAllItemsExcept($excludeItem) {\n Array.from(this.$items)\n .filter(\n ($item) =>\n $item.querySelector(\".tna-accordion__summary\") !== $excludeItem &&\n $item\n .querySelector(\".tna-accordion__summary\")\n .getAttribute(\"aria-expanded\") === \"true\",\n )\n .forEach(($item) => this.closeItem($item));\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Accordion } from \"./components/accordion/accordion.mjs\";\nimport { Breadcrumbs } from \"./components/breadcrumbs/breadcrumbs.mjs\";\nimport { CookieBanner } from \"./components/cookie-banner/cookie-banner.mjs\";\nimport { DateInput } from \"./components/date-input/date-input.mjs\";\nimport { ErrorSummary } from \"./components/error-summary/error-summary.mjs\";\nimport { Footer } from \"./components/footer/footer.mjs\";\nimport { Gallery } from \"./components/gallery/gallery.mjs\";\nimport { GlobalHeader } from \"./components/global-header/global-header.mjs\";\nimport { Header } from \"./components/header/header.mjs\";\nimport { Picture } from \"./components/picture/picture.mjs\";\nimport { SkipLink } from \"./components/skip-link/skip-link.mjs\";\nimport { Tabs } from \"./components/tabs/tabs.mjs\";\nimport { TextInput } from \"./components/text-input/text-input.mjs\";\nimport Cookies from \"./lib/cookies.mjs\";\n\nconst initAll = (options) => {\n options = typeof options !== \"undefined\" ? options : {};\n const $scope =\n options.scope instanceof HTMLElement ? options.scope : document;\n\n const $body = document.documentElement;\n $body.classList.add(\"tna-template--js-enabled\");\n\n const onFirstTouch = () => {\n window.removeEventListener(\"touchstart\", onFirstTouch);\n $body.classList.add(\"tna-template--touched\");\n };\n\n const onKeyDown = (e) => {\n if (e.key === \"Tab\") {\n $body.classList.add(\"tna-template--tabbed\");\n $body.classList.remove(\"tna-template--clicked\");\n }\n };\n\n const onMouseDown = () => {\n $body.classList.add(\"tna-template--clicked\");\n $body.classList.remove(\"tna-template--tabbed\");\n };\n\n window.addEventListener(\"touchstart\", onFirstTouch);\n window.addEventListener(\"keydown\", onKeyDown);\n window.addEventListener(\"mousedown\", onMouseDown);\n\n const $accordions = $scope.querySelectorAll('[data-module=\"tna-accordion\"]');\n $accordions.forEach(($accordion) => {\n new Accordion($accordion);\n });\n\n const $breadcrumbs = $scope.querySelector('[data-module=\"tna-breadcrumbs\"]');\n if ($breadcrumbs) {\n new Breadcrumbs($breadcrumbs);\n }\n\n const $cookieBanner = $scope.querySelector(\n '[data-module=\"tna-cookie-banner\"]',\n );\n if ($cookieBanner) {\n new CookieBanner($cookieBanner);\n }\n\n const $dateInputs = $scope.querySelectorAll('[data-module=\"date-input\"]');\n $dateInputs.forEach(($dateInput) => {\n new DateInput($dateInput);\n });\n\n const $errorSummary = $scope.querySelector(\n '[data-module=\"tna-error-summary\"]',\n );\n if ($errorSummary) {\n new ErrorSummary($errorSummary).init();\n }\n\n const $footer = $scope.querySelector('[data-module=\"tna-footer\"]');\n if ($footer) {\n new Footer($footer);\n }\n\n const $galleries = $scope.querySelectorAll('[data-module=\"tna-gallery\"]');\n $galleries.forEach(($gallery) => {\n new Gallery($gallery);\n });\n\n const $globalHeader = $scope.querySelector(\n '[data-module=\"tna-global-header\"]',\n );\n if ($globalHeader) {\n new GlobalHeader($globalHeader);\n }\n\n const $header = $scope.querySelector('[data-module=\"tna-header\"]');\n if ($header) {\n new Header($header);\n }\n\n const $pictures = $scope.querySelectorAll('[data-module=\"tna-picture\"]');\n $pictures.forEach(($picture) => {\n new Picture($picture);\n });\n\n const $skipLinks = $scope.querySelectorAll('[data-module=\"tna-skip-link\"]');\n $skipLinks.forEach(($skipLink) => {\n new SkipLink($skipLink);\n });\n\n const $tabs = $scope.querySelectorAll('[data-module=\"tna-tabs\"]');\n $tabs.forEach(($tabModule) => {\n new Tabs($tabModule);\n });\n\n const $textInputs = $scope.querySelectorAll('[data-module=\"tna-text-input\"]');\n $textInputs.forEach(($textInput) => {\n new TextInput($textInput);\n });\n\n const checkTableForScroll = ($tableWrapper) => {\n const scrollable = $tableWrapper.scrollWidth > $tableWrapper.clientWidth;\n const $tableCaption = $tableWrapper.querySelector(\".tna-table__caption\");\n if (scrollable) {\n $tableWrapper.setAttribute(\"tabindex\", \"0\");\n $tableCaption?.classList.add(\"tna-table__caption--scroll\");\n } else {\n $tableWrapper.removeAttribute(\"tabindex\");\n $tableCaption?.classList.remove(\"tna-table__caption--scroll\");\n }\n };\n\n const $tableWrappers = document.querySelectorAll(\n \".tna-table-wrapper:has(.tna-table__caption)\",\n );\n $tableWrappers.forEach(($tableWrapper) => checkTableForScroll($tableWrapper));\n window.addEventListener(\"resize\", () => {\n $tableWrappers.forEach(($tableWrapper) =>\n checkTableForScroll($tableWrapper),\n );\n });\n\n window.matchMedia(\"print\").addEventListener(\"change\", (evt) => {\n if (evt.matches) {\n document\n .querySelectorAll(\".tna-details__details:not([open])\")\n .forEach((e) => {\n e.setAttribute(\"open\", \"\");\n e.dataset.wasClosed = \"\";\n });\n document\n .querySelectorAll(\n \".tna-accordion__content[hidden], .tna-picture__transcript[hidden]\",\n )\n .forEach((e) => {\n e.removeAttribute(\"hidden\");\n e.dataset.wasClosed = \"\";\n });\n } else {\n document\n .querySelectorAll(\".tna-details__details[data-was-closed]\")\n .forEach((e) => {\n e.removeAttribute(\"open\");\n delete e.dataset.wasClosed;\n });\n document\n .querySelectorAll(\n \".tna-accordion__content[data-was-closed], .tna-picture__transcript[data-was-closed]\",\n )\n .forEach((e) => {\n e.setAttribute(\"hidden\", \"\");\n e.dataset.wasClosed = \"\";\n });\n }\n });\n};\n\nexport {\n initAll,\n Cookies,\n Accordion,\n Breadcrumbs,\n CookieBanner,\n DateInput,\n ErrorSummary,\n Footer,\n Gallery,\n GlobalHeader,\n Header,\n Picture,\n SkipLink,\n Tabs,\n TextInput,\n};\n"],"names":["root","factory","exports","module","define","amd","self","CookieBanner","$module","_this","_classCallCheck","this","$acceptButton","querySelector","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","querySelectorAll","cookies","Cookies","newInstance","cookiePreferencesSetKey","dataset","preferencesKey","completePoliciesOnInit","exists","hasValue","removeAttribute","addEventListener","accept","reject","key","value","setAttribute","complete","focus","acceptAllPolicies","rejectAllPolicies","_this2","set","forEach","$closeButton","close","Tabs","$tabList","$tabListItemLinks","$tabItems","length","currentTabIndex","init","classList","add","$tabListItemLink","tabPanelID","getAttribute","$tabPanel","document","getElementById","id","e","handleItemLinkClick","switchTabByIndex","handleItemLinkKeyDown","itemLinkClickEvent","preventDefault","targetItem","currentTarget","switchTabByID","itemLinkKeyDownEvent","preventDefaultKeyAction","previousTab","nextTab","stopPropagation","newIndex","switchFocus","arguments","undefined","index","$tabItem","targetId","Array","from","findIndex","window","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","_createClass","_defineProperty","event","callback","Object","hasOwn","events","concat","_toConsumableArray","oneTimeEvents","data","eventToTrigger","call","i","splice","tnaCookiePolicies","options","defaultDomain","defaultPath","secure","policiesKey","_options$newInstance","defaultAge","_options$noInit","noInit","documentElement","tnaCookiesDomain","tnaCookiesPath","tnaCookiesInsecure","tnaCookiesPoliciesKey","parseInt","tnaCookiesDefaultAge","keys","policies","every","policy","includes","existingPolicies","filteredExistingPolicies","fromEntries","filter","map","savePolicies","_objectSpread","usage","settings","marketing","essential","get","deserialised","cookie","split","x","parts","trim","JSON","parse","all","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain","domain","_options$path","path","_options$secure","_options$session","session","encodeURIComponent","trigger","_this3","setPolicy","accepted","allPolicies","k","toLowerCase","stringify","on","once","replace","c","crypto","getRandomValues","Uint8Array","toString","SkipLink","linkedElementId","pop","$linkedElement","focusLinkedElement","linkedElementListener","removeFocusProperties","remove","Gallery","$itemsContainer","$items","$navigation","$navigationItems","$options","$navigationButtons","$showIndex","$enterFullscreen","$exitFullscreen","$navigationButtonPrev","$navigationButtonNext","syncFullScreen","setup","allowGridIndex","showIndex","currentId","showItem","_this$$showIndex","_this$$navigationButt","_this$$navigationButt2","_this$$navigationButt3","_this$$enterFullscree","_this$$exitFullscreen","_this$$enterFullscree2","$item","_$item$querySelector","showPreviousItem","showNextItem","showFirstItem","showLastItem","fullscreenEnabled","enterFullScreen","exitFullScreen","$liveRegion","createElement","prepend","_this$$showIndex2","_this$$showIndex3","isFullScreen","scrollIntoView","block","textContent","getCurrentItemIndex","_this4","nextIndexToShow","fullscreenElement","requestFullscreen","exitFullscreen","Picture","$imageWrapper","$transcriptToggle","$transcript","transcriptOpened","openLabel","informationLabelOpen","closeLabel","informationLabelClose","uniqueId","uuidv4","innerText","toggleTranscript","Header","$toggleButton","$links","menuOpened","mql","matchMedia","syncState","handleToggleNavigation","addListener","code","matches","show","hide","hidden","ErrorSummary","disableAutofocus","setFocus","handleClick","$element","_options$onBeforeFocu","isFocusable","onBlur","_options$onBlur","onBeforeFocus","$target","target","focusTarget","url","HTMLAnchorElement","inputId","getFragmentFromUrl","href","$input","$legendOrLabel","getAssociatedLegendOrLabel","preventScroll","_document$querySelect","$fieldset","closest","$legends","getElementsByTagName","$candidateLegend","HTMLInputElement","type","legendTop","getBoundingClientRect","top","inputRect","height","innerHeight","GlobalHeader","$topNavigation","Breadcrumbs","$breadcrumbsList","$breadcrumbs","contains","$expandable","style","display","$expandButton","innerHTML","appendChild","insertBefore","nextSibling","DateInput","$dayWrapper","$dayInput","$monthWrapper","$monthInput","$yearWrapper","$yearInput","update","isValidYear","showMonth","isValidMonth","showDay","hideDay","hideMonth","yearValue","isNaN","monthValue","TextInput","$textInputWrapper","$textInputPasswordToggle","updateTogglePasswordButtonText","togglePasswordType","Footer","$themeSelector","$tnaTemplate","$themeSelectorButtons","$themeSelectorButton","$button","setTheme","selectThemeSelectorButton","isPolicyAccepted","showThemeSelector","hideThemeSelector","$currentThemeButton","find","theme","$selectedButton","Accordion","allowMultipleItemsOpen","initItem","initState","$heading","$content","$headingButton","closeItem","openItem","closeAllItemsExcept","$excludeItem","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","r","Symbol","toStringTag","initAll","$scope","scope","HTMLElement","$body","onFirstTouch","removeEventListener","$accordion","$cookieBanner","$dateInput","$errorSummary","$footer","$gallery","$globalHeader","$header","$picture","$skipLink","$tabModule","$textInput","checkTableForScroll","$tableWrapper","scrollable","scrollWidth","clientWidth","$tableCaption","$tableWrappers","evt","wasClosed"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"all.js","mappings":"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","sources":["webpack://TNAFrontend/webpack/universalModuleDefinition","webpack://TNAFrontend/./src/nationalarchives/components/cookie-banner/cookie-banner.mjs","webpack://TNAFrontend/./src/nationalarchives/components/tabs/tabs.mjs","webpack://TNAFrontend/./src/nationalarchives/components/file-input/file-input.mjs","webpack://TNAFrontend/./src/nationalarchives/lib/cookies.mjs","webpack://TNAFrontend/./src/nationalarchives/lib/uuid.mjs","webpack://TNAFrontend/./src/nationalarchives/components/skip-link/skip-link.mjs","webpack://TNAFrontend/./src/nationalarchives/components/gallery/gallery.mjs","webpack://TNAFrontend/./src/nationalarchives/components/picture/picture.mjs","webpack://TNAFrontend/./src/nationalarchives/components/header/header.mjs","webpack://TNAFrontend/./src/nationalarchives/components/error-summary/error-summary.mjs","webpack://TNAFrontend/./src/nationalarchives/components/global-header/global-header.mjs","webpack://TNAFrontend/./src/nationalarchives/components/breadcrumbs/breadcrumbs.mjs","webpack://TNAFrontend/./src/nationalarchives/components/date-input/date-input.mjs","webpack://TNAFrontend/./src/nationalarchives/components/text-input/text-input.mjs","webpack://TNAFrontend/./src/nationalarchives/components/footer/footer.mjs","webpack://TNAFrontend/./src/nationalarchives/components/accordion/accordion.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 Cookies from \"../../lib/cookies.mjs\";\n\nexport { Cookies };\n\nexport class CookieBanner {\n constructor($module) {\n this.$module = $module;\n this.$acceptButton = $module && $module.querySelector('[value=\"accept\"]');\n this.$rejectButton = $module && $module.querySelector('[value=\"reject\"]');\n this.$prompt =\n $module && $module.querySelector(\".tna-cookie-banner__message--prompt\");\n this.$acceptedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--accepted\");\n this.$rejectedMessage =\n $module && $module.querySelector(\".tna-cookie-banner__message--rejected\");\n this.$closeButtons = $module && $module.querySelectorAll('[value=\"close\"]');\n\n if (\n !this.$module ||\n !this.$acceptButton ||\n !this.$rejectButton ||\n !this.$prompt ||\n !this.$acceptedMessage ||\n !this.$rejectedMessage ||\n !this.$closeButtons\n ) {\n return;\n }\n\n this.cookies = new Cookies({ newInstance: true });\n\n this.cookiePreferencesSetKey =\n this.$module.dataset.preferencesKey || \"cookie_preferences_set\";\n\n if (!this.cookies.completePoliciesOnInit) {\n this.cookies.delete(this.cookiePreferencesSetKey);\n }\n\n if (\n !this.cookies.exists(this.cookiePreferencesSetKey) ||\n !this.cookies.hasValue(this.cookiePreferencesSetKey, \"true\")\n ) {\n this.$module.removeAttribute(\"hidden\");\n\n this.$acceptButton.addEventListener(\"click\", () => this.accept());\n this.$rejectButton.addEventListener(\"click\", () => this.reject());\n }\n }\n\n accept() {\n this.$prompt.setAttribute(\"hidden\", \"\");\n this.complete();\n this.$acceptedMessage.removeAttribute(\"hidden\");\n this.$acceptedMessage.focus();\n this.$acceptedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.acceptAllPolicies();\n }\n\n reject() {\n this.$prompt.setAttribute(\"hidden\", \"\");\n this.complete();\n this.$rejectedMessage.removeAttribute(\"hidden\");\n this.$rejectedMessage.focus();\n this.$rejectedMessage.setAttribute(\"tabindex\", \"-1\");\n this.cookies.rejectAllPolicies();\n }\n\n complete() {\n this.cookies.set(this.cookiePreferencesSetKey, true);\n this.$closeButtons.forEach(($closeButton) => {\n $closeButton.addEventListener(\"click\", () => this.close());\n });\n }\n\n close() {\n this.$module.setAttribute(\"hidden\", \"\");\n }\n}\n","export class Tabs {\n constructor($module) {\n this.$module = $module;\n this.$tabList = $module && $module.querySelector(\".tna-tabs__list\");\n this.$tabListItemLinks =\n $module &&\n this.$tabList &&\n this.$tabList.querySelectorAll(\".tna-tabs__button\");\n this.$tabItems = $module && $module.querySelectorAll(\".tna-tabs__item\");\n\n if (\n !this.$module ||\n !this.$tabList ||\n !this.$tabListItemLinks ||\n !this.$tabItems ||\n this.$tabListItemLinks.length !== this.$tabItems.length\n ) {\n return;\n }\n\n this.currentTabIndex = 0;\n this.init();\n }\n\n init() {\n this.$module.classList.add(\"tna-tabs--interactive\");\n this.$tabList.removeAttribute(\"hidden\");\n this.$tabListItemLinks.forEach(($tabListItemLink) => {\n const tabPanelID = $tabListItemLink.getAttribute(\"aria-controls\");\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n const $tabPanel = document.getElementById(tabPanelID);\n $tabPanel.setAttribute(\"aria-labelledby\", $tabListItemLink.id);\n $tabPanel.setAttribute(\"role\", \"tabpanel\");\n $tabListItemLink.addEventListener(\n \"click\",\n (e) => this.handleItemLinkClick(e),\n true,\n );\n });\n this.switchTabByIndex(this.currentTabIndex);\n this.$module.addEventListener(\"keydown\", (e) =>\n this.handleItemLinkKeyDown(e),\n );\n }\n\n handleItemLinkClick(itemLinkClickEvent) {\n itemLinkClickEvent.preventDefault();\n const targetItem =\n itemLinkClickEvent.currentTarget.getAttribute(\"aria-controls\");\n this.switchTabByID(targetItem);\n }\n\n handleItemLinkKeyDown(itemLinkKeyDownEvent) {\n let preventDefaultKeyAction = false;\n switch (itemLinkKeyDownEvent.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.previousTab();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.nextTab();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.switchTabByIndex(0, true);\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.switchTabByIndex(this.$tabListItemLinks.length - 1, true);\n preventDefaultKeyAction = true;\n break;\n default:\n break;\n }\n if (preventDefaultKeyAction) {\n itemLinkKeyDownEvent.stopPropagation();\n itemLinkKeyDownEvent.preventDefault();\n }\n }\n\n nextTab() {\n if (this.currentTabIndex < this.$tabListItemLinks.length - 1) {\n this.switchTabByIndex(this.currentTabIndex + 1, true);\n } else {\n this.switchTabByIndex(0, true);\n }\n }\n\n previousTab() {\n if (this.currentTabIndex >= 1) {\n this.switchTabByIndex(this.currentTabIndex - 1, true);\n } else {\n this.switchTabByIndex(this.$tabListItemLinks.length - 1, true);\n }\n }\n\n switchTabByIndex(newIndex, switchFocus = false) {\n this.currentTabIndex = newIndex;\n this.$tabListItemLinks.forEach(($tabListItemLink, index) => {\n if (index === this.currentTabIndex) {\n $tabListItemLink.setAttribute(\"aria-selected\", true);\n $tabListItemLink.setAttribute(\"tabindex\", \"0\");\n if (switchFocus) {\n $tabListItemLink.focus();\n }\n } else {\n $tabListItemLink.setAttribute(\"aria-selected\", false);\n $tabListItemLink.setAttribute(\"tabindex\", \"-1\");\n }\n });\n this.$tabItems.forEach(($tabItem, index) => {\n if (index === this.currentTabIndex) {\n $tabItem.removeAttribute(\"hidden\");\n $tabItem.setAttribute(\"tabindex\", \"0\");\n } else {\n $tabItem.setAttribute(\"hidden\", \"\");\n $tabItem.setAttribute(\"tabindex\", \"-1\");\n }\n });\n }\n\n switchTabByID(targetId) {\n const index = Array.from(this.$tabItems).findIndex(\n ($tabItem) => $tabItem.getAttribute(\"id\") === targetId,\n );\n this.switchTabByIndex(index);\n }\n}\n","export class FileInputDroppable {\n constructor($module) {\n this.$module = $module;\n this.$input = $module && $module.querySelector(\".tna-file-input\");\n\n if (!this.$module || !this.$input) {\n return;\n }\n\n this.acceptMutltipleFiles = this.$input.hasAttribute(\"multiple\");\n\n this.$droppableArea = document.createElement(\"div\");\n this.$droppableArea.classList.add(\"tna-file-input__droppable\");\n this.$module.insertBefore(this.$droppableArea, this.$input);\n this.$droppableArea.appendChild(this.$input);\n\n this.$pseudoSelectFileText = document.createElement(\"span\");\n this.$pseudoSelectFileText.setAttribute(\"aria-live\", \"polite\");\n this.$pseudoSelectFileText.classList.add(\n \"tna-file-input__droppable-status\",\n );\n this.$pseudoSelectFileText.textContent = `No file${this.acceptMutltipleFiles ? \"s\" : \"\"} chosen`;\n this.$droppableArea.appendChild(this.$pseudoSelectFileText);\n\n const $droppableButtons = document.createElement(\"div\");\n $droppableButtons.classList.add(\n \"tna-button-group\",\n \"tna-button-group--small\",\n \"tna-!--margin-top-xs\",\n \"tna-file-input__droppable-buttons\",\n );\n this.$droppableArea.appendChild($droppableButtons);\n\n const $pseudoSelectFileButton = document.createElement(\"span\");\n $pseudoSelectFileButton.classList.add(\"tna-button\");\n $pseudoSelectFileButton.textContent = `Choose file${this.acceptMutltipleFiles ? \"s\" : \"\"}`;\n $droppableButtons.appendChild($pseudoSelectFileButton);\n\n const $pseudoDropFileButton = document.createElement(\"span\");\n $pseudoDropFileButton.textContent = `or drop file${this.acceptMutltipleFiles ? \"s\" : \"\"}`;\n $droppableButtons.appendChild($pseudoDropFileButton);\n\n this.$droppableAreaAriaLabel = document.createElement(\"span\");\n this.$droppableAreaAriaLabel.classList.add(\"tna-visually-hidden\");\n this.$droppableAreaAriaLabel.setAttribute(\"aria-live\", \"assertive\");\n this.$droppableArea.appendChild(this.$droppableAreaAriaLabel);\n\n this.$input.addEventListener(\"dragenter\", (e) => this.showDropTarget(e));\n this.$input.addEventListener(\"dragleave\", () => this.hideDropTarget());\n this.$input.addEventListener(\"dragend\", () => this.hideDropTarget());\n this.$input.addEventListener(\"change\", () => this.onChange());\n this.$input.addEventListener(\"drop\", () => this.onChange());\n }\n\n isContainingFiles(dataTransfer) {\n const hasNoTypesInfo = dataTransfer.types.length === 0;\n const isDraggingFiles = dataTransfer.types.some((type) => type === \"Files\");\n return hasNoTypesInfo || isDraggingFiles;\n }\n\n showDropTarget(event, updateAriaLabel = true) {\n if (event.dataTransfer && this.isContainingFiles(event.dataTransfer)) {\n this.$droppableArea.classList.add(\n event.dataTransfer.items.length > 1\n ? \"tna-file-input__droppable--over-multiple\"\n : \"tna-file-input__droppable--over\",\n );\n\n if (updateAriaLabel) {\n this.$droppableAreaAriaLabel.textContent = \"Entered drop zone\";\n }\n }\n }\n\n hideDropTarget(updateAriaLabel = true) {\n this.$droppableArea.classList.remove(\n \"tna-file-input__droppable--over\",\n \"tna-file-input__droppable--over-multiple\",\n );\n if (updateAriaLabel) {\n this.$droppableAreaAriaLabel.textContent = \"Left drop zone\";\n }\n }\n\n onChange() {\n const files = this.$input.files;\n if (this.acceptMutltipleFiles) {\n if (files.length === 0) {\n this.$pseudoSelectFileText.textContent = `No files chosen`;\n } else {\n this.$pseudoSelectFileText.textContent = `${files.length} file${files.length > 1 ? \"s\" : \"\"} chosen`;\n }\n } else {\n this.$pseudoSelectFileText.textContent =\n files[0]?.name || `No file chosen`;\n }\n this.hideDropTarget(false);\n }\n}\n","window.TNAFrontendCookies = window.TNAFrontendCookies || null;\nwindow.TNAFrontendCookieEvents = window.TNAFrontendCookieEvents || null;\n\nexport class CookieEventHandler {\n events = {};\n oneTimeEvents = {};\n\n constructor() {\n if (window.TNAFrontendCookieEvents) {\n return window.TNAFrontendCookieEvents;\n }\n window.TNAFrontendCookieEvents = this;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n if (!Object.hasOwn(this.events, event)) {\n this.events[event] = [];\n }\n this.events[event] = [...this.events[event], callback];\n }\n\n once(event, callback) {\n if (!Object.hasOwn(this.oneTimeEvents, event)) {\n this.oneTimeEvents[event] = [];\n }\n this.oneTimeEvents[event] = [...this.oneTimeEvents[event], callback];\n }\n\n /** @protected */\n trigger(event, data = {}) {\n if (Object.hasOwn(this.events, event)) {\n this.events[event].forEach((eventToTrigger) =>\n eventToTrigger.call(this, data),\n );\n }\n if (Object.hasOwn(this.oneTimeEvents, event)) {\n for (let i = this.oneTimeEvents[event].length - 1; i >= 0; i--) {\n const eventToTrigger = this.oneTimeEvents[event][i];\n eventToTrigger.call(this, data);\n this.oneTimeEvents[event].splice(i, 1);\n }\n }\n }\n}\n\nconst tnaCookiePolicies = [\"usage\", \"settings\", \"marketing\", \"essential\"];\n\n/**\n * Class to handle cookies.\n * @class Cookies\n * @constructor\n * @public\n */\nexport default class Cookies {\n /** @protected */\n defaultDomain = \"\";\n /** @protected */\n defaultPath = \"\";\n /** @protected */\n secure = true;\n /** @protected */\n policiesKey = \"\";\n /** @protected */\n events = null;\n /** @protected */\n defaultAge = null;\n /** @protected */\n completePoliciesOnInit = false;\n\n /**\n * Create a cookie handler.\n * @param {String} [options.defaultDomain] - The domain to register the cookie with.\n * @param {String} [options.path] - The domain to register the cookie with.\n * @param {Boolean} [options.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.policiesKey] - The name of the cookie.\n * @param {String} [options.newInstance=false] - Create a fresh instance of the cookie class.\n * @param {Number} [options.defaultAge] - The default age of non-session cookies.\n * @param {Boolean} [options.noInit=false] - Don't initialise a blank cookie policy.\n */\n constructor(options = {}) {\n const {\n defaultDomain,\n defaultPath,\n secure,\n policiesKey,\n newInstance = false,\n defaultAge,\n noInit = false,\n } = options;\n if (!newInstance && window.TNAFrontendCookies) {\n return window.TNAFrontendCookies;\n }\n if (defaultDomain === undefined) {\n this.defaultDomain =\n document.documentElement.dataset.tnaCookiesDomain || \"\";\n } else {\n this.defaultDomain = defaultDomain;\n }\n if (defaultPath === undefined) {\n this.defaultPath = document.documentElement.dataset.tnaCookiesPath || \"/\";\n } else {\n this.defaultPath = defaultPath;\n }\n if (secure === undefined) {\n this.secure =\n document.documentElement.dataset.tnaCookiesInsecure !== \"true\";\n } else {\n this.secure = secure;\n }\n if (policiesKey === undefined) {\n this.policiesKey =\n document.documentElement.dataset.tnaCookiesPoliciesKey ||\n \"cookies_policy\";\n } else {\n this.policiesKey = policiesKey;\n }\n if (defaultAge === undefined) {\n this.defaultAge =\n parseInt(document.documentElement.dataset.tnaCookiesDefaultAge) ||\n 31536000; // 365 days;\n } else {\n this.defaultAge = defaultAge;\n }\n this.events = new CookieEventHandler();\n this.completePoliciesOnInit =\n Object.keys(this.policies).length === tnaCookiePolicies.length &&\n tnaCookiePolicies.every(\n (policy) =>\n Object.keys(this.policies).includes(policy) &&\n typeof this.policies[policy] === \"boolean\",\n );\n if (!this.completePoliciesOnInit && !noInit) {\n this.init();\n }\n window.TNAFrontendCookies = this;\n }\n\n /** @protected */\n init() {\n const existingPolicies = this.policies;\n const filteredExistingPolicies = Object.fromEntries(\n Object.keys(existingPolicies)\n .filter((policy) => tnaCookiePolicies.includes(policy))\n .map((policy) => [policy, existingPolicies[policy]]),\n );\n this.savePolicies({\n usage: false,\n settings: false,\n marketing: false,\n ...filteredExistingPolicies,\n essential: true,\n });\n }\n\n destroyInstance() {\n window.TNAFrontendCookies = null;\n }\n\n /** @protected */\n get all() {\n const deserialised = {};\n document.cookie\n .split(\"; \")\n .filter((x) => x)\n .forEach((cookie) => {\n const parts = cookie.trim().split(\"=\");\n if (parts[0]) {\n deserialised[parts[0]] = parts[1];\n }\n });\n return deserialised;\n }\n\n /** @protected */\n get policies() {\n try {\n return JSON.parse(this.get(this.policiesKey) || \"{}\");\n } catch (e) {\n return {};\n }\n }\n\n /**\n * Check to see whether a cookie exists or not.\n * @param {String} key - The cookie name.\n * @returns {Boolean}\n */\n exists(key) {\n return Object.hasOwn(this.all, key);\n }\n\n /**\n * Check to see whether a cookie has a particular value.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The value to check against.\n * @returns\n */\n hasValue(key, value) {\n return this.get(key) == value;\n }\n\n /**\n * Get a cookie.\n * @param {String} key - The cookie name.\n * @returns {String|Number|Boolean}\n */\n get(key) {\n return this.exists(key) ? decodeURIComponent(this.all[key]) : null;\n }\n\n /**\n * Set a cookie.\n * @param {String} key - The cookie name.\n * @param {String|Number|Boolean} value - The cookie value.\n * @param {Object} options\n * @param {Number} [options.maxAge=this.defaultAge] - The maximum age of the cookie in seconds.\n * @param {String} [options.path=/] - The path to register the cookie for.\n * @param {String} [options.sameSite=Lax] - The sameSite attribute.\n * @param {String} [options.domain=this.defaultDomain] - The domain to register the cookie with.\n * @param {String} [options.path=this.defaultPath] - The path to register the cookie with.\n * @param {String} [options.secure=this.secure] - Only set cookie in HTTPS environments.\n * @param {String} [options.session=false] - Set a session cookie.\n */\n set(key, value, options = {}) {\n const {\n maxAge = this.defaultAge,\n sameSite = \"Lax\",\n domain = this.defaultDomain,\n path = this.defaultPath,\n secure = this.secure,\n session = false,\n } = options;\n if (!key) {\n return;\n }\n const cookie = `${encodeURIComponent(key)}=${encodeURIComponent(value)};${\n domain ? ` domain=${domain}; ` : \"\"\n } samesite=${sameSite}; path=${path}${!session ? `; max-age=${maxAge}` : \"\"}${\n secure ? \"; secure\" : \"\"\n }`;\n document.cookie = cookie;\n this.events.trigger(\"setCookie\", {\n key,\n value,\n maxAge,\n path,\n sameSite,\n domain,\n secure,\n session,\n cookie,\n });\n }\n\n /**\n * Delete a cookie.\n * @param {String} key - The cookie name.\n * @param {String} [path=/] - The path to the cookie is registered on.\n */\n delete(key, path = \"/\", domain = null) {\n const options = { maxAge: -1, path, domain: domain || undefined };\n this.set(key, \"\", options);\n this.events.trigger(\"deleteCookie\", { key, ...options });\n }\n\n /**\n * Delete all cookies.\n */\n deleteAll(path = \"/\", domain = null) {\n Object.keys(this.all).forEach((cookie) => {\n this.delete(cookie, path, domain);\n });\n this.events.trigger(\"deleteAllCookies\", { path, domain });\n }\n\n /**\n * Accept a policy.\n * @param {String} policy - The name of the policy.\n */\n acceptPolicy(policy) {\n this.setPolicy(policy, true);\n this.events.trigger(\"acceptPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: true });\n }\n\n /**\n * Reject a policy.\n * @param {String} policy - The name of the policy.\n */\n rejectPolicy(policy) {\n this.setPolicy(policy, false);\n this.events.trigger(\"rejectPolicy\", policy);\n this.events.trigger(\"changePolicy\", { [policy]: false });\n }\n\n /**\n * Set a policy.\n * @param {String} policy - The name of the policy.\n * @param {Boolean} accepted - Whether the policy is accepted or not.\n */\n setPolicy(policy, accepted) {\n if (policy === \"essential\") {\n return;\n }\n this.savePolicies({\n ...this.policies,\n [policy]: accepted,\n essential: true,\n });\n this.events.trigger(\"changePolicy\", { [policy]: accepted });\n }\n\n /**\n * Accept all the cookie policies.\n */\n acceptAllPolicies() {\n const allPolicies = Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), true]),\n );\n this.savePolicies(allPolicies);\n this.events.trigger(\"acceptAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Reject all the cookie policies.\n */\n rejectAllPolicies() {\n const allPolicies = {\n ...Object.fromEntries(\n Object.keys(this.policies).map((k) => [k.toLowerCase(), false]),\n ),\n essential: true,\n };\n this.savePolicies(allPolicies);\n this.events.trigger(\"rejectAllPolicies\");\n this.events.trigger(\"changePolicy\", allPolicies);\n }\n\n /**\n * Commit policy preferences to the browser.\n * @param {object} policies - The policies to commit.\n */\n savePolicies(policies) {\n this.set(this.policiesKey, JSON.stringify(policies));\n }\n\n /**\n * Get the acceptance status of a policy.\n * @param {String} policy - The name of the policy.\n * @returns {Boolean}\n */\n isPolicyAccepted(policy) {\n return Object.hasOwn(this.policies, policy)\n ? this.policies[policy] === true\n : null;\n }\n\n /**\n * Add an event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n on(event, callback) {\n this.events.on(event, callback);\n }\n\n /**\n * Add a one-time event listener.\n * @param {String} event - The event to add a listener for.\n * @param {Function} callback - The callback function to call when the event is triggered.\n */\n once(event, callback) {\n this.events.once(event, callback);\n }\n}\n","const uuidv4 = () =>\n ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n (\n c ^\n (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (c / 4)))\n ).toString(16),\n );\n\nexport default uuidv4;\n","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 Gallery {\n constructor($module) {\n this.$module = $module;\n this.$itemsContainer =\n $module && $module.querySelector(\".tna-gallery__items\");\n this.$items =\n this.$itemsContainer &&\n this.$itemsContainer.querySelectorAll(\".tna-gallery__item\");\n this.$navigation =\n $module && $module.querySelector(\".tna-gallery__navigation\");\n this.$navigationItems =\n this.$navigation &&\n $module.querySelectorAll(\".tna-gallery__navigation-item\");\n this.$options = $module && $module.querySelector(\".tna-gallery__options\");\n this.$navigationButtons =\n $module && $module.querySelector(\".tna-gallery__navigation-buttons\");\n\n if (\n !this.$module ||\n !this.$itemsContainer ||\n !this.$items ||\n this.$items.length < 2 ||\n !this.$navigation ||\n !this.$navigationItems ||\n !this.$options ||\n !this.$navigationButtons\n ) {\n return;\n }\n\n this.$module.classList.add(\"tna-gallery--interactive\");\n\n this.$showIndex = this.$options.querySelector('button[value=\"show-index\"]');\n this.$enterFullscreen = this.$options.querySelector(\n 'button[value=\"enter-fullscreen\"]',\n );\n this.$exitFullscreen = this.$options.querySelector(\n 'button[value=\"exit-fullscreen\"]',\n );\n\n this.$navigationButtonPrev = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-prev\",\n );\n this.$navigationButtonNext = this.$navigationButtons.querySelector(\n \".tna-gallery__navigation-next\",\n );\n\n this.$module.addEventListener(\"fullscreenchange\", () =>\n this.syncFullScreen(),\n );\n\n this.setup();\n this.allowGridIndex = this.$module.dataset[\"showgrid\"] || false;\n if (this.allowGridIndex) {\n this.showIndex();\n } else {\n this.currentId = this.$items[0].id;\n this.showItem(this.currentId);\n }\n }\n\n setup() {\n this.$items.forEach(($item) => {\n $item.setAttribute(\"hidden\", \"\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n $item\n .querySelector(\".tna-gallery__item-header\")\n ?.setAttribute(\"aria-hidden\", \"true\");\n });\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigationItems.forEach(($item) => {\n $item.addEventListener(\"click\", () => {\n this.showItem($item.getAttribute(\"aria-controls\"));\n this.$itemsContainer.setAttribute(\"tabindex\", \"0\");\n this.$itemsContainer.focus();\n });\n });\n this.$module.addEventListener(\"keydown\", (e) => {\n let preventDefaultKeyAction = false;\n switch (e.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n this.showPreviousItem();\n preventDefaultKeyAction = true;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n this.showNextItem();\n preventDefaultKeyAction = true;\n break;\n case \"Home\":\n this.showFirstItem();\n preventDefaultKeyAction = true;\n break;\n case \"End\":\n this.showLastItem();\n preventDefaultKeyAction = true;\n break;\n }\n if (preventDefaultKeyAction) {\n e.stopPropagation();\n e.preventDefault();\n }\n });\n this.$options.removeAttribute(\"hidden\");\n if (\n document.fullscreenEnabled &&\n this.$enterFullscreen &&\n this.$exitFullscreen\n ) {\n this.$enterFullscreen?.addEventListener(\"click\", () =>\n this.enterFullScreen(),\n );\n this.$exitFullscreen?.addEventListener(\"click\", () =>\n this.exitFullScreen(),\n );\n this.$enterFullscreen?.removeAttribute(\"hidden\");\n }\n this.$showIndex?.addEventListener(\"click\", () => this.showIndex());\n this.$navigationButtons?.removeAttribute(\"hidden\");\n this.$navigationButtonPrev?.addEventListener(\"click\", () => {\n this.showPreviousItem();\n });\n this.$navigationButtonNext?.addEventListener(\"click\", () => {\n this.showNextItem();\n });\n\n this.$liveRegion = document.createElement(\"div\");\n this.$liveRegion.setAttribute(\"aria-live\", \"polite\");\n this.$liveRegion.setAttribute(\"aria-atomic\", \"true\");\n this.$liveRegion.setAttribute(\"class\", \"tna-gallery__item-header\");\n this.$itemsContainer.prepend(this.$liveRegion);\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-item-titles\");\n this.$itemsContainer.addEventListener(\"blur\", () =>\n this.$itemsContainer.removeAttribute(\"tabindex\"),\n );\n }\n\n showIndex() {\n this.showItem(\"\");\n this.$itemsContainer.classList.add(\"tna-gallery__items--hide-items\");\n this.$showIndex?.setAttribute(\"hidden\", \"\");\n }\n\n showItem(id) {\n this.$items.forEach(($item) => {\n if (id && $item.id === id) {\n $item.removeAttribute(\"hidden\");\n $item.removeAttribute(\"aria-hidden\");\n } else {\n $item.setAttribute(\"hidden\", \"\");\n $item.setAttribute(\"aria-hidden\", \"true\");\n }\n });\n this.$navigationItems.forEach(($item) => {\n if (id) {\n if ($item.getAttribute(\"aria-controls\") === id) {\n $item.setAttribute(\"aria-current\", \"true\");\n if (this.isFullScreen()) {\n $item.scrollIntoView({ block: \"nearest\" });\n }\n } else {\n $item.setAttribute(\"aria-current\", \"false\");\n }\n } else {\n $item.setAttribute(\"aria-current\", \"false\");\n }\n });\n if (this.allowGridIndex) {\n this.$showIndex?.removeAttribute(\"hidden\");\n }\n this.$itemsContainer.classList.remove(\"tna-gallery__items--hide-items\");\n this.currentId = id;\n this.$liveRegion.textContent = `Image ${this.getCurrentItemIndex() + 1} of ${this.$items.length}`;\n }\n\n getCurrentItemIndex() {\n return Array.from(this.$items).findIndex(\n ($item) => $item.id === this.currentId,\n );\n }\n\n showPreviousItem() {\n let nextIndexToShow = this.getCurrentItemIndex() - 1;\n if (nextIndexToShow < 0) {\n nextIndexToShow = this.$items.length - 1;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showNextItem() {\n let nextIndexToShow = this.getCurrentItemIndex() + 1;\n if (nextIndexToShow >= this.$items.length) {\n nextIndexToShow = 0;\n }\n this.showItem(this.$items[nextIndexToShow].id);\n }\n\n showFirstItem() {\n this.showItem(this.$items[0].id);\n }\n\n showLastItem() {\n this.showItem(this.$items[this.$items.length - 1].id);\n }\n\n isFullScreen() {\n return document.fullscreenElement;\n }\n\n enterFullScreen() {\n this.$module.requestFullscreen();\n this.syncFullScreen();\n this.$module.focus();\n }\n\n exitFullScreen() {\n document.exitFullscreen();\n this.syncFullScreen();\n }\n\n syncFullScreen() {\n if (this.isFullScreen()) {\n this.$enterFullscreen.setAttribute(\"hidden\", \"\");\n this.$exitFullscreen.removeAttribute(\"hidden\");\n } else {\n this.$exitFullscreen.setAttribute(\"hidden\", \"\");\n this.$enterFullscreen.removeAttribute(\"hidden\");\n }\n }\n}\n","import uuidv4 from \"../../lib/uuid.mjs\";\n\nexport class Picture {\n constructor($module) {\n this.$module = $module;\n this.$imageWrapper =\n $module && $module.querySelector(\".tna-picture__image-wrapper\");\n\n this.$transcriptToggle =\n this.$imageWrapper &&\n this.$imageWrapper.querySelector(\".tna-picture__toggle-transcript\");\n\n this.$transcript =\n $module && $module.querySelector(\".tna-picture__transcript\");\n this.transcriptOpened = false;\n\n if (\n !this.$module ||\n !this.$imageWrapper ||\n !this.$transcriptToggle ||\n !this.$transcript\n ) {\n return;\n }\n\n this.openLabel =\n this.$module.dataset.informationLabelOpen || \"Open transcript\";\n this.closeLabel =\n this.$module.dataset.informationLabelClose || \"Close transcript\";\n\n this.init();\n }\n\n init() {\n const uniqueId = `tna-picture-${uuidv4()}`;\n\n this.$transcriptToggle.removeAttribute(\"hidden\");\n this.$transcriptToggle.setAttribute(\"aria-controls\", uniqueId);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcriptToggle.addEventListener(\"click\", () =>\n this.toggleTranscript(),\n );\n\n this.$transcript.setAttribute(\"id\", uniqueId);\n this.$transcript.setAttribute(\"hidden\", \"\");\n\n this.$transcript.addEventListener(\"keydown\", (e) => {\n switch (e.key) {\n case \"Escape\":\n this.toggleTranscript();\n this.$transcriptToggle.focus();\n break;\n }\n });\n }\n\n toggleTranscript() {\n this.transcriptOpened = !this.transcriptOpened;\n if (this.transcriptOpened) {\n this.$transcriptToggle.setAttribute(\"aria-expanded\", true);\n this.$transcriptToggle.innerText = this.closeLabel;\n this.$transcript.removeAttribute(\"hidden\");\n } else {\n this.$transcriptToggle.setAttribute(\"aria-expanded\", false);\n this.$transcriptToggle.innerText = this.openLabel;\n this.$transcript.setAttribute(\"hidden\", \"\");\n }\n }\n}\n","export class Header {\n constructor($module) {\n this.$module = $module;\n this.$toggleButton =\n $module && $module.querySelector(\".tna-header__navigation-button\");\n this.$navigation =\n $module && $module.querySelector(\".tna-header__navigation\");\n this.$links =\n $module &&\n this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\");\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 48em)\");\n\n if (!this.$module || !this.$toggleButton || !this.$navigation) {\n return;\n }\n\n this.$toggleButton.removeAttribute(\"hidden\");\n this.syncState();\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n\n this.$module.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\") {\n if (this.menuOpened && this.mql.matches) {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n }\n });\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.show();\n } else {\n this.hide();\n }\n } else {\n this.show();\n }\n }\n\n show() {\n this.$navigation.classList.add(\"tna-header__navigation--open\");\n this.$navigation.removeAttribute(\"hidden\");\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\"tna-header__navigation-button--opened\");\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n\n hide() {\n this.$navigation.classList.remove(\"tna-header__navigation--open\");\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-header__navigation-button--opened\",\n );\n\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n}\n","export class ErrorSummary {\n constructor($module) {\n this.$module = $module;\n }\n\n init() {\n if (!this.$module) {\n return;\n }\n\n const disableAutoFocus =\n this.$module.dataset.disableAutofocus === \"true\" || false;\n\n if (!disableAutoFocus) {\n this.setFocus(this.$module);\n }\n\n this.$module.addEventListener(\"click\", (event) => this.handleClick(event));\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 handleClick(event) {\n const $target = event.target;\n if ($target && this.focusTarget($target)) {\n event.preventDefault();\n }\n }\n\n getFragmentFromUrl(url) {\n if (!url.includes(\"#\")) {\n return undefined;\n }\n\n return url.split(\"#\").pop();\n }\n\n focusTarget($target) {\n // If the element that was clicked was not a link, return early\n if (!($target instanceof HTMLAnchorElement)) {\n return false;\n }\n\n const inputId = this.getFragmentFromUrl($target.href);\n if (!inputId) {\n return false;\n }\n\n const $input = document.getElementById(inputId);\n if (!$input) {\n return false;\n }\n\n const $legendOrLabel = this.getAssociatedLegendOrLabel($input);\n if (!$legendOrLabel) {\n return false;\n }\n\n // Scroll the legend or label into view *before* calling focus on the input\n // to avoid extra scrolling in browsers that don't support `preventScroll`\n // (which at time of writing is most of them...)\n $legendOrLabel.scrollIntoView();\n $input.focus({ preventScroll: true });\n\n return true;\n }\n\n /**\n * Get associated legend or label\n *\n * Returns the first element that exists from this list:\n *\n * - The `<legend>` associated with the closest `<fieldset>` ancestor, as long\n * as the top of it is no more than half a viewport height away from the\n * bottom of the input\n * - The first `<label>` that is associated with the input using for=\"inputId\"\n * - The closest parent `<label>`\n *\n * @private\n * @param {Element} $input - The input\n * @returns {Element | null} Associated legend or label, or null if no\n * associated legend or label can be found\n */\n getAssociatedLegendOrLabel($input) {\n const $fieldset = $input.closest(\"fieldset\");\n\n if ($fieldset) {\n const $legends = $fieldset.getElementsByTagName(\"legend\");\n\n if ($legends.length) {\n const $candidateLegend = $legends[0];\n\n // If the input type is radio or checkbox, always use the legend if\n // there is one.\n if (\n $input instanceof HTMLInputElement &&\n ($input.type === \"checkbox\" || $input.type === \"radio\")\n ) {\n return $candidateLegend;\n }\n\n // For other input types, only scroll to the fieldset’s legend (instead\n // of the label associated with the input) if the input would end up in\n // the top half of the screen.\n //\n // This should avoid situations where the input either ends up off the\n // screen, or obscured by a software keyboard.\n const legendTop = $candidateLegend.getBoundingClientRect().top;\n const inputRect = $input.getBoundingClientRect();\n\n // If the browser doesn't support Element.getBoundingClientRect().height\n // or window.innerHeight (like IE8), bail and just link to the label.\n if (inputRect.height && window.innerHeight) {\n const inputBottom = inputRect.top + inputRect.height;\n\n if (inputBottom - legendTop < window.innerHeight / 2) {\n return $candidateLegend;\n }\n }\n }\n }\n\n return (\n document.querySelector(`label[for='${$input.getAttribute(\"id\")}']`) ??\n $input.closest(\"label\")\n );\n }\n}\n","export class GlobalHeader {\n constructor($module) {\n this.$module = $module;\n this.$toggleButton =\n $module && $module.querySelector(\".tna-global-header__navigation-button\");\n this.$navigation =\n $module &&\n $module.querySelector(\".tna-global-header__navigation-wrapper\");\n this.$topNavigation =\n $module &&\n $module.querySelector(\".tna-global-header__top-navigation-wrapper\");\n this.$links =\n $module &&\n ((this.$navigation &&\n this.$navigation.querySelectorAll(\"[tabindex='0']\")) ||\n (this.$topNavigation &&\n this.$topNavigation.querySelectorAll(\"[tabindex='0']\")));\n this.menuOpened = false;\n this.mql = window.matchMedia(\"(max-width: 48em)\");\n\n if (\n !this.$module ||\n !this.$toggleButton ||\n (!this.$navigation && !this.$topNavigation)\n ) {\n return;\n }\n\n this.$toggleButton.removeAttribute(\"hidden\");\n this.syncState();\n this.$toggleButton.addEventListener(\"click\", () =>\n this.handleToggleNavigation(),\n );\n if (\"addEventListener\" in this.mql) {\n this.mql.addEventListener(\"change\", () => this.syncState());\n } else {\n this.mql.addListener(() => this.syncState());\n }\n\n this.$module.addEventListener(\"keyup\", (e) => {\n if (e.code === \"Escape\" && this.mql.matches) {\n if (this.menuOpened) {\n this.menuOpened = false;\n this.syncState();\n this.$toggleButton.focus();\n }\n }\n });\n }\n\n handleToggleNavigation() {\n this.menuOpened = !this.menuOpened;\n this.syncState();\n }\n\n syncState() {\n if (this.mql.matches) {\n if (this.menuOpened) {\n this.show();\n } else {\n this.hide();\n }\n } else {\n this.show();\n }\n }\n\n hide() {\n if (this.$navigation) {\n this.$navigation.hidden = true;\n this.$navigation.setAttribute(\"aria-hidden\", \"true\");\n }\n if (this.$topNavigation) {\n this.$topNavigation.hidden = true;\n this.$topNavigation.setAttribute(\"aria-hidden\", \"true\");\n }\n this.$toggleButton.setAttribute(\"aria-expanded\", \"false\");\n this.$toggleButton.setAttribute(\"title\", \"Open menu\");\n this.$toggleButton.classList.remove(\n \"tna-global-header__navigation-button--opened\",\n );\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"-1\");\n }\n }\n\n show() {\n if (this.$navigation) {\n this.$navigation.hidden = false;\n this.$navigation.setAttribute(\"aria-hidden\", \"false\");\n }\n if (this.$topNavigation) {\n this.$topNavigation.hidden = false;\n this.$topNavigation.setAttribute(\"aria-hidden\", \"false\");\n }\n this.$toggleButton.setAttribute(\"aria-expanded\", \"true\");\n this.$toggleButton.setAttribute(\"title\", \"Close menu\");\n this.$toggleButton.classList.add(\n \"tna-global-header__navigation-button--opened\",\n );\n for (let i = 0; i < this.$links.length; i++) {\n this.$links[i].setAttribute(\"tabindex\", \"0\");\n }\n }\n}\n","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(\"type\", \"button\");\n $expandButton.setAttribute(\"aria-expanded\", \"false\");\n $expandButton.setAttribute(\"aria-controls\", uniqueId);\n $expandButton.addEventListener(\"click\", () => {\n this.$module.classList.remove(\"tna-breadcrumbs--collapsed\");\n $expandable.remove();\n this.$module.setAttribute(\"tabindex\", \"0\");\n this.$module.focus();\n this.$module.setAttribute(\"tabindex\", \"-1\");\n });\n\n $expandable.appendChild($expandButton);\n\n this.$breadcrumbsList.setAttribute(\"id\", uniqueId);\n this.$breadcrumbsList.insertBefore(\n $expandable,\n this.$breadcrumbs[this.$breadcrumbs.length - 2].nextSibling,\n );\n\n this.$module.classList.add(\"tna-breadcrumbs--collapsed\");\n }\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport { Cookies };\n\nexport class DateInputProgressive {\n constructor($module) {\n this.$module = $module;\n this.$yearWrapper =\n $module && $module.querySelector(\".tna-date-input__item--year\");\n this.$yearInput =\n this.$yearWrapper && this.$yearWrapper.querySelector(\"input\");\n this.$monthWrapper =\n $module && $module.querySelector(\".tna-date-input__item--month\");\n this.$monthInput =\n this.$monthWrapper && this.$monthWrapper.querySelector(\"input\");\n this.$dayWrapper =\n $module && $module.querySelector(\".tna-date-input__item--day\");\n this.$dayInput =\n this.$dayWrapper && this.$dayWrapper.querySelector(\"input\");\n\n if (!this.$module) {\n return;\n }\n\n this.update();\n window.addEventListener(\"pageshow\", () => this.update());\n\n if (this.$yearInput) {\n this.$yearInput.addEventListener(\"keyup\", () => this.update());\n this.$yearInput.addEventListener(\"change\", () => this.update());\n }\n if (this.$monthInput) {\n this.$monthInput.addEventListener(\"keyup\", () => this.update());\n this.$monthInput.addEventListener(\"change\", () => this.update());\n }\n if (this.$dayInput) {\n this.$dayInput.addEventListener(\"keyup\", () => this.update());\n this.$dayInput.addEventListener(\"change\", () => this.update());\n }\n }\n\n update() {\n if (this.isValidYear()) {\n this.showMonth();\n if (this.isValidMonth()) {\n this.showDay();\n } else {\n this.hideDay();\n }\n } else {\n this.hideMonth();\n this.hideDay();\n }\n }\n\n isValidYear() {\n if (!this.$yearInput) {\n return true;\n }\n const yearValue = parseInt(this.$yearInput.value.trim());\n return !isNaN(this.$yearInput.value) && !isNaN(yearValue) && yearValue > 0;\n }\n\n isValidMonth() {\n if (!this.$monthInput) {\n return true;\n }\n const monthRawValue = this.$monthInput.value.trim();\n const monthIntValue = parseInt(monthRawValue);\n const validMonthStrings = [\n \"january\",\n \"february\",\n \"march\",\n \"april\",\n \"may\",\n \"june\",\n \"july\",\n \"august\",\n \"september\",\n \"october\",\n \"november\",\n \"december\",\n \"jan\",\n \"feb\",\n \"mar\",\n \"apr\",\n \"jun\",\n \"jul\",\n \"aug\",\n \"sep\",\n \"oct\",\n \"nov\",\n \"dec\",\n ];\n return (\n (!isNaN(this.$monthInput.value) &&\n !isNaN(monthIntValue) &&\n monthIntValue > 0 &&\n monthIntValue <= 12) ||\n validMonthStrings.includes(monthRawValue.toLowerCase())\n );\n }\n\n showMonth() {\n if (this.$monthWrapper) {\n this.$monthWrapper.removeAttribute(\"hidden\");\n }\n }\n\n hideMonth() {\n if (this.$monthWrapper) {\n this.$monthWrapper.setAttribute(\"hidden\", \"\");\n }\n }\n\n showDay() {\n if (this.$dayWrapper) {\n this.$dayWrapper.removeAttribute(\"hidden\");\n }\n }\n\n hideDay() {\n if (this.$dayWrapper) {\n this.$dayWrapper.setAttribute(\"hidden\", \"\");\n }\n }\n}\n","export class TextInput {\n constructor($module) {\n this.$module = $module;\n this.$input = $module && $module.querySelector(\".tna-text-input\");\n\n if (!this.$module || !this.$input) {\n return;\n }\n\n if (this.$input.getAttribute(\"type\") === \"password\") {\n this.$textInputWrapper = document.createElement(\"div\");\n this.$textInputWrapper.classList.add(\"tna-text-input-wrapper\");\n\n this.$textInputPasswordToggle = document.createElement(\"button\");\n this.$textInputPasswordToggle.setAttribute(\"type\", \"button\");\n this.$textInputPasswordToggle.classList.add(\n \"tna-button\",\n \"tna-button--small\",\n \"tna-button--icon-only\",\n );\n this.$textInputPasswordToggle.setAttribute(\n \"aria-controls\",\n this.$input.id,\n );\n this.updateTogglePasswordButtonText();\n\n this.$textInputWrapper.appendChild(this.$input);\n this.$textInputWrapper.appendChild(this.$textInputPasswordToggle);\n this.$module.appendChild(this.$textInputWrapper);\n\n this.$textInputPasswordToggle.addEventListener(\"click\", () => {\n this.togglePasswordType();\n this.$input.focus();\n });\n }\n }\n\n togglePasswordType() {\n if (this.$input.getAttribute(\"type\") === \"password\") {\n this.$input.setAttribute(\"type\", \"text\");\n } else {\n this.$input.setAttribute(\"type\", \"password\");\n }\n this.updateTogglePasswordButtonText();\n }\n\n updateTogglePasswordButtonText() {\n if (this.$input.getAttribute(\"type\") === \"password\") {\n this.$textInputPasswordToggle.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\" height=\"16\" aria-hidden=\"true\" focusable=\"false\"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d=\"M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z\"/></svg>Show password`;\n this.$textInputPasswordToggle.setAttribute(\"title\", \"Show password\");\n this.$textInputPasswordToggle.setAttribute(\"aria-label\", \"Show password\");\n } else {\n this.$textInputPasswordToggle.innerHTML = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\" height=\"16\" aria-hidden=\"true\" focusable=\"false\"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d=\"M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L525.6 386.7c39.6-40.6 66.4-86.1 79.9-118.4c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C465.5 68.8 400.8 32 320 32c-68.2 0-125 26.3-169.3 60.8L38.8 5.1zM223.1 149.5C248.6 126.2 282.7 112 320 112c79.5 0 144 64.5 144 144c0 24.9-6.3 48.3-17.4 68.7L408 294.5c8.4-19.3 10.6-41.4 4.8-63.3c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3c0 10.2-2.4 19.8-6.6 28.3l-90.3-70.8zM373 389.9c-16.4 6.5-34.3 10.1-53 10.1c-79.5 0-144-64.5-144-144c0-6.9 .5-13.6 1.4-20.2L83.1 161.5C60.3 191.2 44 220.8 34.5 243.7c-3.3 7.9-3.3 16.7 0 24.6c14.9 35.7 46.2 87.7 93 131.1C174.5 443.2 239.2 480 320 480c47.8 0 89.9-12.9 126.2-32.5L373 389.9z\"/></svg></i>Hide password`;\n this.$textInputPasswordToggle.setAttribute(\"title\", \"Hide password\");\n this.$textInputPasswordToggle.setAttribute(\"aria-label\", \"Hide password\");\n }\n }\n}\n","import Cookies from \"../../lib/cookies.mjs\";\n\nexport class Footer {\n constructor($module) {\n this.$module = $module;\n this.$themeSelector =\n $module && $module.querySelector(\".tna-footer__theme-selector\");\n this.$tnaTemplate = document.querySelector(\".tna-template\");\n\n if (!this.$module || !this.$themeSelector || !this.$tnaTemplate) {\n return;\n }\n\n this.$themeSelectorButtons = this.$themeSelector.querySelectorAll(\n \"button.tna-footer__theme-selector-button[value]\",\n );\n\n Array.from(this.$themeSelectorButtons).forEach(($themeSelectorButton) => {\n $themeSelectorButton.addEventListener(\"click\", (e) => {\n const $button = e.target;\n this.setTheme($button.value);\n this.selectThemeSelectorButton($button);\n });\n });\n\n this.cookies = new Cookies();\n if (this.cookies.isPolicyAccepted(\"settings\")) {\n this.showThemeSelector();\n }\n this.cookies.on(\"changePolicy\", (data) => {\n if (Object.hasOwn(data, \"settings\")) {\n if (data.settings === true) {\n this.showThemeSelector();\n } else {\n this.cookies.delete(\"theme\");\n this.hideThemeSelector();\n }\n }\n });\n }\n\n showThemeSelector() {\n this.$themeSelector.removeAttribute(\"hidden\");\n if (this.cookies.exists(\"theme\")) {\n const $currentThemeButton = Array.from(this.$themeSelectorButtons).find(\n ($button) => $button.value === this.cookies.get(\"theme\"),\n );\n if ($currentThemeButton) {\n this.selectThemeSelectorButton($currentThemeButton);\n }\n }\n }\n\n hideThemeSelector() {\n this.$themeSelector.setAttribute(\"hidden\", \"\");\n }\n\n setTheme(theme) {\n if (theme === \"light\") {\n this.$tnaTemplate.classList.remove(\n \"tna-template--system-theme\",\n \"tna-template--dark-theme\",\n );\n } else if (theme === \"dark\") {\n this.$tnaTemplate.classList.remove(\"tna-template--system-theme\");\n this.$tnaTemplate.classList.add(`tna-template--dark-theme`);\n } else if (theme === \"system\") {\n this.$tnaTemplate.classList.remove(\"tna-template--dark-theme\");\n this.$tnaTemplate.classList.add(`tna-template--system-theme`);\n } else {\n return;\n }\n this.cookies.set(\"theme\", theme);\n }\n\n selectThemeSelectorButton($selectedButton) {\n Array.from(this.$themeSelectorButtons).forEach(($button) => {\n if ($button.value === $selectedButton.value) {\n $button.classList.remove(\"tna-button--plain\");\n $button.setAttribute(\"aria-current\", true);\n } else {\n $button.classList.add(\"tna-button--plain\");\n $button.removeAttribute(\"aria-current\");\n }\n });\n }\n}\n","export class Accordion {\n constructor($module) {\n this.$module = $module;\n this.$items = $module && $module.querySelectorAll(\".tna-accordion__item\");\n if (!this.$module || !this.$items) {\n return;\n }\n\n this.allowMultipleItemsOpen =\n this.$module.dataset[\"multiselectable\"] === \"true\";\n\n this.$items.forEach(($item) => this.initItem($item));\n this.initState();\n }\n\n initItem($item) {\n const $heading = $item.querySelector(\".tna-accordion__heading\");\n const $content = $item.querySelector(\".tna-accordion__body\");\n\n if (!$heading || !$content) {\n return;\n }\n\n $item.classList.add(\"tna-accordion__details\");\n $item.classList.remove(\"tna-accordion__item\");\n\n $heading.removeAttribute(\"class\");\n\n $content.classList.add(\"tna-accordion__content\");\n $content.classList.remove(\"tna-accordion__body\");\n $content.setAttribute(\"hidden\", \"\");\n\n const $headingButton = document.createElement(\"button\");\n $headingButton.classList.add(\"tna-accordion__summary\");\n $headingButton.setAttribute(\"type\", \"button\");\n $headingButton.setAttribute(\"aria-controls\", $content.id);\n $headingButton.innerText = $heading.innerText;\n $heading.innerText = \"\";\n $heading.appendChild($headingButton);\n\n $headingButton.addEventListener(\"click\", () => {\n const isOpen = $headingButton.getAttribute(\"aria-expanded\") === \"true\";\n if (isOpen) {\n this.closeItem($item);\n } else {\n this.openItem($item);\n }\n });\n }\n\n initState() {\n this.$items.forEach(($item) => {\n if ($item.dataset[\"isopen\"] === \"true\") {\n this.openItem($item);\n } else {\n this.closeItem($item);\n }\n $item.removeAttribute(\"data-isopen\");\n });\n }\n\n openItem($item) {\n if (!this.allowMultipleItemsOpen) {\n this.closeAllItemsExcept($item);\n }\n const $headingButton = $item.querySelector(\".tna-accordion__summary\");\n const $content = $item.querySelector(\".tna-accordion__content\");\n $headingButton.setAttribute(\"aria-expanded\", \"true\");\n $headingButton.setAttribute(\n \"aria-label\",\n `${$headingButton.innerText.trim()}, Hide this section`,\n );\n $content.removeAttribute(\"hidden\");\n // $content.setAttribute(\"tabindex\", \"0\");\n }\n\n closeItem($item) {\n const $headingButton = $item.querySelector(\".tna-accordion__summary\");\n const $content = $item.querySelector(\".tna-accordion__content\");\n $headingButton.setAttribute(\"aria-expanded\", \"false\");\n $headingButton.setAttribute(\n \"aria-label\",\n `${$headingButton.innerText.trim()}, Show this section`,\n );\n $content.setAttribute(\"hidden\", \"\");\n // $content.setAttribute(\"tabindex\", \"-1\");\n }\n\n closeAllItemsExcept($excludeItem) {\n Array.from(this.$items)\n .filter(\n ($item) =>\n $item.querySelector(\".tna-accordion__summary\") !== $excludeItem &&\n $item\n .querySelector(\".tna-accordion__summary\")\n .getAttribute(\"aria-expanded\") === \"true\",\n )\n .forEach(($item) => this.closeItem($item));\n }\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { Accordion } from \"./components/accordion/accordion.mjs\";\nimport { Breadcrumbs } from \"./components/breadcrumbs/breadcrumbs.mjs\";\nimport { CookieBanner } from \"./components/cookie-banner/cookie-banner.mjs\";\nimport { DateInputProgressive } from \"./components/date-input/date-input.mjs\";\nimport { ErrorSummary } from \"./components/error-summary/error-summary.mjs\";\nimport { FileInputDroppable } from \"./components/file-input/file-input.mjs\";\nimport { Footer } from \"./components/footer/footer.mjs\";\nimport { Gallery } from \"./components/gallery/gallery.mjs\";\nimport { GlobalHeader } from \"./components/global-header/global-header.mjs\";\nimport { Header } from \"./components/header/header.mjs\";\nimport { Picture } from \"./components/picture/picture.mjs\";\nimport { SkipLink } from \"./components/skip-link/skip-link.mjs\";\nimport { Tabs } from \"./components/tabs/tabs.mjs\";\nimport { TextInput } from \"./components/text-input/text-input.mjs\";\nimport Cookies from \"./lib/cookies.mjs\";\n\nconst initAll = (options) => {\n options = typeof options !== \"undefined\" ? options : {};\n const $scope =\n options.scope instanceof HTMLElement ? options.scope : document;\n\n const $body = document.documentElement;\n $body.classList.add(\"tna-template--js-enabled\");\n\n const onFirstTouch = () => {\n window.removeEventListener(\"touchstart\", onFirstTouch);\n $body.classList.add(\"tna-template--touched\");\n };\n\n const onKeyDown = (e) => {\n if (e.key === \"Tab\") {\n $body.classList.add(\"tna-template--tabbed\");\n $body.classList.remove(\"tna-template--clicked\");\n }\n };\n\n const onMouseDown = () => {\n $body.classList.add(\"tna-template--clicked\");\n $body.classList.remove(\"tna-template--tabbed\");\n };\n\n window.addEventListener(\"touchstart\", onFirstTouch);\n window.addEventListener(\"keydown\", onKeyDown);\n window.addEventListener(\"mousedown\", onMouseDown);\n\n const $accordions = $scope.querySelectorAll('[data-module=\"tna-accordion\"]');\n $accordions.forEach(($accordion) => {\n new Accordion($accordion);\n });\n\n const $breadcrumbs = $scope.querySelector('[data-module=\"tna-breadcrumbs\"]');\n if ($breadcrumbs) {\n new Breadcrumbs($breadcrumbs);\n }\n\n const $cookieBanner = $scope.querySelector(\n '[data-module=\"tna-cookie-banner\"]',\n );\n if ($cookieBanner) {\n new CookieBanner($cookieBanner);\n }\n\n const $progressiveDateInputs = $scope.querySelectorAll(\n '[data-module=\"date-input-progressive\"]',\n );\n $progressiveDateInputs.forEach(($dateInput) => {\n new DateInputProgressive($dateInput);\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 $fileInputs = $scope.querySelectorAll('[data-module=\"tna-file-input\"]');\n $fileInputs.forEach(($fileInput) => {\n new FileInputDroppable($fileInput);\n });\n\n const $footer = $scope.querySelector('[data-module=\"tna-footer\"]');\n if ($footer) {\n new Footer($footer);\n }\n\n const $galleries = $scope.querySelectorAll('[data-module=\"tna-gallery\"]');\n $galleries.forEach(($gallery) => {\n new Gallery($gallery);\n });\n\n const $globalHeader = $scope.querySelector(\n '[data-module=\"tna-global-header\"]',\n );\n if ($globalHeader) {\n new GlobalHeader($globalHeader);\n }\n\n const $header = $scope.querySelector('[data-module=\"tna-header\"]');\n if ($header) {\n new Header($header);\n }\n\n const $pictures = $scope.querySelectorAll('[data-module=\"tna-picture\"]');\n $pictures.forEach(($picture) => {\n new Picture($picture);\n });\n\n const $skipLinks = $scope.querySelectorAll('[data-module=\"tna-skip-link\"]');\n $skipLinks.forEach(($skipLink) => {\n new SkipLink($skipLink);\n });\n\n const $tabs = $scope.querySelectorAll('[data-module=\"tna-tabs\"]');\n $tabs.forEach(($tabModule) => {\n new Tabs($tabModule);\n });\n\n const $textInputs = $scope.querySelectorAll('[data-module=\"tna-text-input\"]');\n $textInputs.forEach(($textInput) => {\n new TextInput($textInput);\n });\n\n const checkTableForScroll = ($tableWrapper) => {\n const scrollable = $tableWrapper.scrollWidth > $tableWrapper.clientWidth;\n const $tableCaption = $tableWrapper.querySelector(\".tna-table__caption\");\n if (scrollable) {\n $tableWrapper.setAttribute(\"tabindex\", \"0\");\n $tableCaption?.classList.add(\"tna-table__caption--scroll\");\n } else {\n $tableWrapper.removeAttribute(\"tabindex\");\n $tableCaption?.classList.remove(\"tna-table__caption--scroll\");\n }\n };\n\n const $tableWrappers = document.querySelectorAll(\n \".tna-table-wrapper:has(.tna-table__caption)\",\n );\n $tableWrappers.forEach(($tableWrapper) => checkTableForScroll($tableWrapper));\n window.addEventListener(\"resize\", () => {\n $tableWrappers.forEach(($tableWrapper) =>\n checkTableForScroll($tableWrapper),\n );\n });\n\n window.matchMedia(\"print\").addEventListener(\"change\", (evt) => {\n if (evt.matches) {\n document\n .querySelectorAll(\".tna-details__details:not([open])\")\n .forEach((e) => {\n e.setAttribute(\"open\", \"\");\n e.dataset.wasClosed = \"\";\n });\n document\n .querySelectorAll(\n \".tna-accordion__content[hidden], .tna-picture__transcript[hidden]\",\n )\n .forEach((e) => {\n e.removeAttribute(\"hidden\");\n e.dataset.wasClosed = \"\";\n });\n } else {\n document\n .querySelectorAll(\".tna-details__details[data-was-closed]\")\n .forEach((e) => {\n e.removeAttribute(\"open\");\n delete e.dataset.wasClosed;\n });\n document\n .querySelectorAll(\n \".tna-accordion__content[data-was-closed], .tna-picture__transcript[data-was-closed]\",\n )\n .forEach((e) => {\n e.setAttribute(\"hidden\", \"\");\n e.dataset.wasClosed = \"\";\n });\n }\n });\n};\n\nexport {\n initAll,\n Cookies,\n Accordion,\n Breadcrumbs,\n CookieBanner,\n DateInputProgressive,\n ErrorSummary,\n FileInputDroppable,\n Footer,\n Gallery,\n GlobalHeader,\n Header,\n Picture,\n SkipLink,\n Tabs,\n TextInput,\n};\n"],"names":["root","factory","exports","module","define","amd","self","CookieBanner","$module","_this","_classCallCheck","this","$acceptButton","querySelector","$rejectButton","$prompt","$acceptedMessage","$rejectedMessage","$closeButtons","querySelectorAll","cookies","Cookies","newInstance","cookiePreferencesSetKey","dataset","preferencesKey","completePoliciesOnInit","exists","hasValue","removeAttribute","addEventListener","accept","reject","key","value","setAttribute","complete","focus","acceptAllPolicies","rejectAllPolicies","_this2","set","forEach","$closeButton","close","Tabs","$tabList","$tabListItemLinks","$tabItems","length","currentTabIndex","init","classList","add","$tabListItemLink","tabPanelID","getAttribute","$tabPanel","document","getElementById","id","e","handleItemLinkClick","switchTabByIndex","handleItemLinkKeyDown","itemLinkClickEvent","preventDefault","targetItem","currentTarget","switchTabByID","itemLinkKeyDownEvent","preventDefaultKeyAction","previousTab","nextTab","stopPropagation","newIndex","switchFocus","arguments","undefined","index","$tabItem","targetId","Array","from","findIndex","FileInputDroppable","$input","acceptMutltipleFiles","hasAttribute","$droppableArea","createElement","insertBefore","appendChild","$pseudoSelectFileText","textContent","concat","$droppableButtons","$pseudoSelectFileButton","$pseudoDropFileButton","$droppableAreaAriaLabel","showDropTarget","hideDropTarget","onChange","dataTransfer","hasNoTypesInfo","types","isDraggingFiles","some","type","event","updateAriaLabel","isContainingFiles","items","remove","_files$","files","name","window","TNAFrontendCookies","TNAFrontendCookieEvents","CookieEventHandler","_createClass","_defineProperty","callback","Object","hasOwn","events","_toConsumableArray","oneTimeEvents","data","eventToTrigger","call","i","splice","tnaCookiePolicies","options","defaultDomain","defaultPath","secure","policiesKey","_options$newInstance","defaultAge","_options$noInit","noInit","documentElement","tnaCookiesDomain","tnaCookiesPath","tnaCookiesInsecure","tnaCookiesPoliciesKey","parseInt","tnaCookiesDefaultAge","keys","policies","every","policy","includes","existingPolicies","filteredExistingPolicies","fromEntries","filter","map","savePolicies","_objectSpread","usage","settings","marketing","essential","get","deserialised","cookie","split","x","parts","trim","JSON","parse","all","decodeURIComponent","_options$maxAge","maxAge","_options$sameSite","sameSite","_options$domain","domain","_options$path","path","_options$secure","_options$session","session","encodeURIComponent","trigger","_this3","setPolicy","accepted","allPolicies","k","toLowerCase","stringify","on","once","replace","c","crypto","getRandomValues","Uint8Array","toString","SkipLink","linkedElementId","pop","$linkedElement","focusLinkedElement","linkedElementListener","removeFocusProperties","Gallery","$itemsContainer","$items","$navigation","$navigationItems","$options","$navigationButtons","$showIndex","$enterFullscreen","$exitFullscreen","$navigationButtonPrev","$navigationButtonNext","syncFullScreen","setup","allowGridIndex","showIndex","currentId","showItem","_this$$showIndex","_this$$navigationButt","_this$$navigationButt2","_this$$navigationButt3","_this$$enterFullscree","_this$$exitFullscreen","_this$$enterFullscree2","$item","_$item$querySelector","showPreviousItem","showNextItem","showFirstItem","showLastItem","fullscreenEnabled","enterFullScreen","exitFullScreen","$liveRegion","prepend","_this$$showIndex2","_this$$showIndex3","isFullScreen","scrollIntoView","block","getCurrentItemIndex","_this4","nextIndexToShow","fullscreenElement","requestFullscreen","exitFullscreen","Picture","$imageWrapper","$transcriptToggle","$transcript","transcriptOpened","openLabel","informationLabelOpen","closeLabel","informationLabelClose","uniqueId","uuidv4","innerText","toggleTranscript","Header","$toggleButton","$links","menuOpened","mql","matchMedia","syncState","handleToggleNavigation","addListener","code","matches","show","hide","hidden","ErrorSummary","disableAutofocus","setFocus","handleClick","$element","_options$onBeforeFocu","isFocusable","onBlur","_options$onBlur","onBeforeFocus","$target","target","focusTarget","url","HTMLAnchorElement","inputId","getFragmentFromUrl","href","$legendOrLabel","getAssociatedLegendOrLabel","preventScroll","_document$querySelect","$fieldset","closest","$legends","getElementsByTagName","$candidateLegend","HTMLInputElement","legendTop","getBoundingClientRect","top","inputRect","height","innerHeight","GlobalHeader","$topNavigation","Breadcrumbs","$breadcrumbsList","$breadcrumbs","contains","$expandable","style","display","$expandButton","innerHTML","nextSibling","DateInputProgressive","$yearWrapper","$yearInput","$monthWrapper","$monthInput","$dayWrapper","$dayInput","update","isValidYear","showMonth","isValidMonth","showDay","hideDay","hideMonth","yearValue","isNaN","monthRawValue","monthIntValue","TextInput","$textInputWrapper","$textInputPasswordToggle","updateTogglePasswordButtonText","togglePasswordType","Footer","$themeSelector","$tnaTemplate","$themeSelectorButtons","$themeSelectorButton","$button","setTheme","selectThemeSelectorButton","isPolicyAccepted","showThemeSelector","hideThemeSelector","$currentThemeButton","find","theme","$selectedButton","Accordion","allowMultipleItemsOpen","initItem","initState","$heading","$content","$headingButton","closeItem","openItem","closeAllItemsExcept","$excludeItem","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","d","definition","o","defineProperty","enumerable","obj","prop","prototype","hasOwnProperty","r","Symbol","toStringTag","initAll","$scope","scope","HTMLElement","$body","onFirstTouch","removeEventListener","$accordion","$cookieBanner","$dateInput","$errorSummary","$fileInput","$footer","$gallery","$globalHeader","$header","$picture","$skipLink","$tabModule","$textInput","checkTableForScroll","$tableWrapper","scrollable","scrollWidth","clientWidth","$tableCaption","$tableWrappers","evt","wasClosed"],"sourceRoot":""}
|
package/nationalarchives/all.mjs
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
import { Accordion } from "./components/accordion/accordion.mjs";
|
2
2
|
import { Breadcrumbs } from "./components/breadcrumbs/breadcrumbs.mjs";
|
3
3
|
import { CookieBanner } from "./components/cookie-banner/cookie-banner.mjs";
|
4
|
-
import {
|
4
|
+
import { DateInputProgressive } from "./components/date-input/date-input.mjs";
|
5
5
|
import { ErrorSummary } from "./components/error-summary/error-summary.mjs";
|
6
|
+
import { FileInputDroppable } from "./components/file-input/file-input.mjs";
|
6
7
|
import { Footer } from "./components/footer/footer.mjs";
|
7
8
|
import { Gallery } from "./components/gallery/gallery.mjs";
|
8
9
|
import { GlobalHeader } from "./components/global-header/global-header.mjs";
|
@@ -59,9 +60,11 @@ const initAll = (options) => {
|
|
59
60
|
new CookieBanner($cookieBanner);
|
60
61
|
}
|
61
62
|
|
62
|
-
const $
|
63
|
-
|
64
|
-
|
63
|
+
const $progressiveDateInputs = $scope.querySelectorAll(
|
64
|
+
'[data-module="date-input-progressive"]',
|
65
|
+
);
|
66
|
+
$progressiveDateInputs.forEach(($dateInput) => {
|
67
|
+
new DateInputProgressive($dateInput);
|
65
68
|
});
|
66
69
|
|
67
70
|
const $errorSummary = $scope.querySelector(
|
@@ -71,6 +74,11 @@ const initAll = (options) => {
|
|
71
74
|
new ErrorSummary($errorSummary).init();
|
72
75
|
}
|
73
76
|
|
77
|
+
const $fileInputs = $scope.querySelectorAll('[data-module="tna-file-input"]');
|
78
|
+
$fileInputs.forEach(($fileInput) => {
|
79
|
+
new FileInputDroppable($fileInput);
|
80
|
+
});
|
81
|
+
|
74
82
|
const $footer = $scope.querySelector('[data-module="tna-footer"]');
|
75
83
|
if ($footer) {
|
76
84
|
new Footer($footer);
|
@@ -176,8 +184,9 @@ export {
|
|
176
184
|
Accordion,
|
177
185
|
Breadcrumbs,
|
178
186
|
CookieBanner,
|
179
|
-
|
187
|
+
DateInputProgressive,
|
180
188
|
ErrorSummary,
|
189
|
+
FileInputDroppable,
|
181
190
|
Footer,
|
182
191
|
Gallery,
|
183
192
|
GlobalHeader,
|