@nationalarchives/frontend 1.1.0 → 1.2.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 +0 -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 +0 -2
- package/nationalarchives/analytics.js +1 -1
- package/nationalarchives/analytics.js.map +1 -1
- package/nationalarchives/analytics.mjs +4 -3
- package/nationalarchives/assets/fonts/fa-brands-400.woff2 +0 -0
- package/nationalarchives/assets/fonts/fa-solid-900.woff2 +0 -0
- package/nationalarchives/components/accordion/accordion.js +1 -1
- package/nationalarchives/components/accordion/accordion.js.map +1 -1
- package/nationalarchives/components/breadcrumbs/breadcrumbs.js +1 -1
- package/nationalarchives/components/breadcrumbs/breadcrumbs.js.map +1 -1
- package/nationalarchives/components/code-block/code-block.js +1 -1
- package/nationalarchives/components/code-block/code-block.js.map +1 -1
- package/nationalarchives/components/cookie-banner/cookie-banner.js +1 -1
- package/nationalarchives/components/cookie-banner/cookie-banner.js.map +1 -1
- package/nationalarchives/components/cookie-banner/cookie-banner.mjs +5 -5
- 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 +0 -4
- package/nationalarchives/components/error-summary/error-summary.js +1 -1
- package/nationalarchives/components/error-summary/error-summary.js.map +1 -1
- package/nationalarchives/components/file-input/file-input.js +1 -1
- package/nationalarchives/components/file-input/file-input.js.map +1 -1
- package/nationalarchives/components/file-input/file-input.mjs +3 -13
- package/nationalarchives/components/files-list/macro-options.json +1 -1
- package/nationalarchives/components/footer/fixtures.json +2 -2
- package/nationalarchives/components/footer/footer.css +1 -1
- package/nationalarchives/components/footer/footer.css.map +1 -1
- package/nationalarchives/components/footer/footer.js +1 -1
- package/nationalarchives/components/footer/footer.js.map +1 -1
- package/nationalarchives/components/footer/footer.mjs +5 -5
- package/nationalarchives/components/footer/template.njk +1 -1
- package/nationalarchives/components/gallery/gallery.js +1 -1
- package/nationalarchives/components/gallery/gallery.js.map +1 -1
- package/nationalarchives/components/global-header/global-header.css +1 -1
- package/nationalarchives/components/global-header/global-header.css.map +1 -1
- package/nationalarchives/components/global-header/global-header.js +1 -1
- package/nationalarchives/components/global-header/global-header.js.map +1 -1
- package/nationalarchives/components/header/header.css +1 -1
- package/nationalarchives/components/header/header.css.map +1 -1
- package/nationalarchives/components/header/header.js +1 -1
- package/nationalarchives/components/header/header.js.map +1 -1
- package/nationalarchives/components/hero/hero.css +1 -1
- package/nationalarchives/components/hero/hero.css.map +1 -1
- package/nationalarchives/components/hero/hero.scss +1 -1
- package/nationalarchives/components/picture/picture.js +1 -1
- package/nationalarchives/components/picture/picture.js.map +1 -1
- package/nationalarchives/components/sidebar/fixtures.json +14 -6
- package/nationalarchives/components/sidebar/macro-options.json +56 -0
- package/nationalarchives/components/sidebar/sidebar.js +1 -1
- package/nationalarchives/components/sidebar/sidebar.js.map +1 -1
- package/nationalarchives/components/sidebar/template.njk +3 -3
- package/nationalarchives/components/skip-link/skip-link.js +1 -1
- package/nationalarchives/components/skip-link/skip-link.js.map +1 -1
- package/nationalarchives/components/tabs/tabs.js +1 -1
- package/nationalarchives/components/tabs/tabs.js.map +1 -1
- package/nationalarchives/components/text-input/text-input.js +1 -1
- package/nationalarchives/components/text-input/text-input.js.map +1 -1
- package/nationalarchives/components/textarea/textarea.js +1 -1
- package/nationalarchives/components/textarea/textarea.js.map +1 -1
- package/nationalarchives/error-page.css +1 -1
- package/nationalarchives/error-page.css.map +1 -1
- package/nationalarchives/font-awesome.css +5 -5
- package/nationalarchives/font-awesome.css.map +1 -1
- package/nationalarchives/ie.css +1 -1
- package/nationalarchives/ie.css.map +1 -1
- package/nationalarchives/print.css +1 -1
- package/nationalarchives/print.css.map +1 -1
- package/nationalarchives/print.scss +17 -1
- package/nationalarchives/prototype-kit.css +1 -1
- package/nationalarchives/prototype-kit.css.map +1 -1
- package/nationalarchives/utilities/overrides/_index.scss +0 -6
- package/package.json +17 -19
- package/nationalarchives/lib/cookie-events.mjs +0 -70
- package/nationalarchives/lib/cookies.mjs +0 -398
package/nationalarchives/all.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.TNAFrontend=e():t.TNAFrontend=e()}(self,()=>(()=>{"use strict";var t={944(t,e,i){i.d(e,{Accordion:()=>n});var s=i(927);class n{constructor(t){this.$module=t,this.$items=t&&t.querySelectorAll(".tna-accordion__item"),this.$module&&this.$items&&(this.allowMultipleItemsOpen="true"!==this.$module.dataset.singleOpenItem,this.$items.forEach(t=>this.initItem(t)),this.initState(),this.$toggleAllButton=this.$module.querySelector(".tna-accordion__toggle-all"),this.$toggleAllButton&&(this.syncToggleAllButton(),this.$toggleAllButton.removeAttribute("hidden"),this.$toggleAllButton.addEventListener("click",()=>{this.isAllOpen()?this.$items.forEach(t=>this.closeItem(t)):this.$items.forEach(t=>this.openItem(t)),this.syncToggleAllButton()})))}initItem(t){const e=t.querySelector(".tna-accordion__heading"),i=t.querySelector(".tna-accordion__body");if(!e||!i)return;t.classList.add("tna-accordion__details"),t.classList.remove("tna-accordion__item"),e.removeAttribute("class"),i.classList.add("tna-accordion__content"),i.classList.remove("tna-accordion__body"),i.setAttribute("hidden","");const s=document.createElement("button");s.classList.add("tna-accordion__summary"),s.setAttribute("type","button"),s.setAttribute("aria-controls",i.id),s.innerText=e.innerText,e.innerText="",e.appendChild(s),s.addEventListener("click",()=>{"true"===s.getAttribute("aria-expanded")?this.closeItem(t):this.openItem(t)})}initState(){this.$items.forEach(t=>{"true"===t.dataset.isopen?this.openItem(t):this.closeItem(t),t.removeAttribute("data-isopen")})}openItem(t){this.allowMultipleItemsOpen||this.closeAllItemsExcept(t);const e=t.querySelector(".tna-accordion__summary"),i=t.querySelector(".tna-accordion__content");e.setAttribute("aria-expanded","true"),e.setAttribute("aria-label",`${e.innerText.trim()}, Hide this section`),i.removeAttribute("hidden"),this.syncToggleAllButton();const n=i.querySelectorAll(".tna-table-wrapper");n&&n.forEach(t=>{(0,s.DJ)(t)})}closeItem(t){const e=t.querySelector(".tna-accordion__summary"),i=t.querySelector(".tna-accordion__content");e.setAttribute("aria-expanded","false"),e.setAttribute("aria-label",`${e.innerText.trim()}, Show this section`),i.setAttribute("hidden",""),this.syncToggleAllButton()}closeAllItemsExcept(t){Array.from(this.$items).filter(e=>e.querySelector(".tna-accordion__summary")!==t&&"true"===e.querySelector(".tna-accordion__summary").getAttribute("aria-expanded")).forEach(t=>this.closeItem(t))}isAllOpen(){return Array.from(this.$items).every(t=>"true"===t.querySelector(".tna-accordion__summary").getAttribute("aria-expanded"))}syncToggleAllButton(){this.$toggleAllButton&&(this.isAllOpen()?this.$toggleAllButton.innerText=this.$toggleAllButton.dataset.closeAllLabel||"Hide all sections":this.$toggleAllButton.innerText=this.$toggleAllButton.dataset.openAllLabel||"Show all sections")}}},592(t,e,i){i.d(e,{Breadcrumbs:()=>n});var s=i(181);class n{constructor(t){this.$module=t,this.$breadcrumbsList=t&&t.querySelector(".tna-breadcrumbs__list"),this.$breadcrumbs=t&&this.$breadcrumbsList&&t.querySelectorAll(".tna-breadcrumbs__item"),this.$module&&this.$breadcrumbsList&&this.$breadcrumbs&&this.$breadcrumbs.length>2&&!this.$module.classList.contains("tna-breadcrumbs--no-collapse")&&this.init()}init(){const t=`tna-breadcrumbs-${(0,s.A)()}`,e=document.createElement("li");e.classList.add("tna-breadcrumbs__item","tna-breadcrumbs__item--expandable"),e.style.display="none";const i=document.createElement("button");i.classList.add("tna-breadcrumbs__link"),i.innerHTML="<span class='tna-!--visually-hidden'>Expand breadcrumbs</span>…",i.setAttribute("type","button"),i.setAttribute("aria-expanded","false"),i.setAttribute("aria-controls",t),i.addEventListener("click",()=>{this.$module.classList.remove("tna-breadcrumbs--collapsed"),e.remove(),this.$module.setAttribute("tabindex","0"),this.$module.focus(),this.$module.addEventListener("blur",()=>{this.$module.removeAttribute("tabindex")},{once:!0})}),e.appendChild(i),this.$breadcrumbsList.setAttribute("id",t),this.$breadcrumbsList.insertBefore(e,this.$breadcrumbs[this.$breadcrumbs.length-2].nextSibling),this.$module.classList.add("tna-breadcrumbs--collapsed")}}},984(t,e,i){i.d(e,{CodeBlock:()=>s});class s{constructor(t){this.$module=t,this.$code=this.$module.querySelector("pre code"),this.$copyButton=this.$module.querySelector(".tna-code-block__copy"),this.$module&&this.$code&&this.$copyButton&&navigator.clipboard&&(this.$copyButton.removeAttribute("hidden"),this.$module.classList.add("tna-code-block__copyable"),this.$copyButton.addEventListener("click",async()=>{try{await navigator.clipboard.writeText(this.$code.innerText),this.$copyButton.innerText="Code copied"}catch{}}),this.$copyButton.addEventListener("blur",()=>{this.$copyButton.innerText="Copy code"}))}}},24(t,e,i){i.d(e,{CookieBanner:()=>n});var s=i(533);class n{constructor(t){this.$module=t,this.$acceptButton=t&&t.querySelector('[value="accept"]'),this.$rejectButton=t&&t.querySelector('[value="reject"]'),this.$prompt=t&&t.querySelector(".tna-cookie-banner__message--prompt"),this.$acceptedMessage=t&&t.querySelector(".tna-cookie-banner__message--accepted"),this.$rejectedMessage=t&&t.querySelector(".tna-cookie-banner__message--rejected"),this.$closeButtons=t&&t.querySelectorAll('[value="close"]'),this.$module&&this.$acceptButton&&this.$rejectButton&&this.$prompt&&this.$acceptedMessage&&this.$rejectedMessage&&this.$closeButtons&&(this.cookies=new s.A({newInstance:!0}),this.cookiePreferencesSetKey=this.$module.dataset.preferencesKey||"cookie_preferences_set",this.cookies.policiesCorrectOnInit||this.cookies.delete(this.cookiePreferencesSetKey),this.cookies.exists(this.cookiePreferencesSetKey)&&this.cookies.hasValue(this.cookiePreferencesSetKey,"true")||(this.$module.removeAttribute("hidden"),this.$acceptButton.addEventListener("click",()=>this.accept()),this.$rejectButton.addEventListener("click",()=>this.reject())))}accept(){this.$prompt.setAttribute("hidden",""),this.complete(),this.cookies.acceptAllPolicies(),this.$acceptedMessage.removeAttribute("hidden"),this.$acceptedMessage.setAttribute("tabindex","0"),this.$acceptedMessage.focus(),this.$acceptedMessage.addEventListener("blur",()=>{this.$acceptedMessage.removeAttribute("tabindex")})}reject(){this.$prompt.setAttribute("hidden",""),this.complete(),this.cookies.rejectAllPolicies(),this.$rejectedMessage.removeAttribute("hidden"),this.$rejectedMessage.setAttribute("tabindex","0"),this.$rejectedMessage.focus(),this.$rejectedMessage.addEventListener("blur",()=>{this.$rejectedMessage.removeAttribute("tabindex")})}complete(){this.cookies.set(this.cookiePreferencesSetKey,!0),this.$closeButtons.forEach(t=>{t.addEventListener("click",()=>this.close())})}close(){this.$module.setAttribute("hidden","")}}},728(t,e,i){i.d(e,{DateInputProgressive:()=>s}),i(533);class s{constructor(t){this.$module=t,this.$yearWrapper=t&&t.querySelector(".tna-date-input__item--year"),this.$yearInput=this.$yearWrapper&&this.$yearWrapper.querySelector("input"),this.$monthWrapper=t&&t.querySelector(".tna-date-input__item--month"),this.$monthInput=this.$monthWrapper&&this.$monthWrapper.querySelector("input"),this.$dayWrapper=t&&t.querySelector(".tna-date-input__item--day"),this.$dayInput=this.$dayWrapper&&this.$dayWrapper.querySelector("input"),this.$module&&(this.update(),window.addEventListener("pageshow",()=>this.update()),this.$yearInput&&(this.$yearInput.addEventListener("keyup",()=>this.update()),this.$yearInput.addEventListener("change",()=>this.update())),this.$monthInput&&(this.$monthInput.addEventListener("keyup",()=>this.update()),this.$monthInput.addEventListener("change",()=>this.update())),this.$dayInput&&(this.$dayInput.addEventListener("keyup",()=>this.update()),this.$dayInput.addEventListener("change",()=>this.update())))}update(){this.isValidYear()?(this.showMonth(),this.isValidMonth()?this.showDay():this.hideDay()):(this.hideMonth(),this.hideDay())}isValidYear(){if(!this.$yearInput)return!0;const t=parseInt(this.$yearInput.value.trim(),10);return!isNaN(this.$yearInput.value)&&!isNaN(t)&&t>0}isValidMonth(){if(!this.$monthInput)return!0;const t=this.$monthInput.value.trim(),e=parseInt(t,10);return!isNaN(this.$monthInput.value)&&!isNaN(e)&&e>0&&e<=12||["january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","oct","nov","dec"].includes(t.toLowerCase())}showMonth(){this.$monthWrapper&&this.$monthWrapper.removeAttribute("hidden")}hideMonth(){this.$monthWrapper&&this.$monthWrapper.setAttribute("hidden","")}showDay(){this.$dayWrapper&&this.$dayWrapper.removeAttribute("hidden")}hideDay(){this.$dayWrapper&&this.$dayWrapper.setAttribute("hidden","")}}},552(t,e,i){i.d(e,{ErrorSummary:()=>s});class s{constructor(t){this.$module=t}init(){this.$module&&("true"===this.$module.dataset.disableAutofocus||this.setFocus(this.$module),this.$module.addEventListener("click",t=>this.handleClick(t)))}setFocus(t,e={}){const i=t.getAttribute("tabindex");function s(){e.onBlur?.call(t),i||t.removeAttribute("tabindex")}i||t.setAttribute("tabindex","-1"),t.addEventListener("focus",function(){t.addEventListener("blur",s,{once:!0})},{once:!0}),e.onBeforeFocus?.call(t),t.focus()}handleClick(t){const e=t.target;e&&this.focusTarget(e)&&t.preventDefault()}getFragmentFromUrl(t){return t.includes("#")?t.split("#").pop():null}focusTarget(t){if(!(t instanceof HTMLAnchorElement))return!1;const e=this.getFragmentFromUrl(t.href);if(!e)return!1;const i=document.getElementById(e);if(!i)return!1;const s=this.getAssociatedLegendOrLabel(i);return!!s&&(s.scrollIntoView(),i.focus({preventScroll:!0}),!0)}getAssociatedLegendOrLabel(t){const e=t.closest("fieldset");if(e){const i=e.getElementsByTagName("legend");if(i.length){const[e]=i;if(t instanceof HTMLInputElement&&("checkbox"===t.type||"radio"===t.type))return e;const s=e.getBoundingClientRect().top,n=t.getBoundingClientRect();if(n.height&&window.innerHeight&&n.top+n.height-s<window.innerHeight/2)return e}}return document.querySelector(`label[for='${t.getAttribute("id")}']`)??t.closest("label")}}},76(t,e,i){i.d(e,{FileInputDroppable:()=>s});class s{constructor(t){this.$module=t,this.$body=t&&t.querySelector(".tna-form-item__body"),this.$input=this.$body&&this.$body.querySelector(".tna-file-input"),this.$module&&this.$body&&this.$input&&this.init()}init(){this.acceptMutltipleFiles=this.$input.hasAttribute("multiple"),this.$droppableArea=document.createElement("div"),this.$droppableArea.classList.add("tna-file-input__droppable","tna-file-input__droppable--empty"),this.$body.insertBefore(this.$droppableArea,this.$input),this.$droppableArea.appendChild(this.$input),this.$pseudoSelectFileText=document.createElement("span"),this.$pseudoSelectFileText.setAttribute("aria-live","polite"),this.$pseudoSelectFileText.classList.add("tna-file-input__droppable-status");let t="file";this.acceptMutltipleFiles&&(t+="s"),this.$pseudoSelectFileText.textContent=`No ${t} selected`,this.$droppableArea.appendChild(this.$pseudoSelectFileText);const e=document.createElement("div");e.classList.add("tna-button-group","tna-button-group--small","tna-!--margin-top-s","tna-file-input__droppable-buttons"),this.$droppableArea.appendChild(e);const i=document.createElement("span");i.classList.add("tna-button"),i.textContent=`Choose ${t}`,e.appendChild(i);const s=document.createElement("span");s.textContent=`or drop ${t}`,e.appendChild(s),this.$droppableAreaAriaLabel=document.createElement("span"),this.$droppableAreaAriaLabel.classList.add("tna-visually-hidden"),this.$droppableAreaAriaLabel.setAttribute("aria-live","assertive"),this.$droppableArea.appendChild(this.$droppableAreaAriaLabel),this.$input.addEventListener("dragenter",t=>this.showDropTarget(t)),this.$input.addEventListener("dragleave",()=>this.hideDropTarget()),this.$input.addEventListener("dragend",()=>this.hideDropTarget()),this.$input.addEventListener("change",()=>this.onChange()),this.$input.addEventListener("drop",()=>this.onChange())}isContainingFiles(t){const e=!t.types.length,i=t.types.some(t=>"Files"===t);return e||i}showDropTarget(t,e=!0){if(t.dataTransfer&&this.isContainingFiles(t.dataTransfer)){let i="tna-file-input__droppable--over";t.dataTransfer.items.length&&(i="tna-file-input__droppable--over-multiple"),this.$droppableArea.classList.add(i),e&&(this.$droppableAreaAriaLabel.textContent="Entered drop zone")}}hideDropTarget(t=!0){this.$droppableArea.classList.remove("tna-file-input__droppable--over","tna-file-input__droppable--over-multiple"),t&&(this.$droppableAreaAriaLabel.textContent="Left drop zone")}onChange(){const{files:t}=this.$input;if(this.acceptMutltipleFiles)if(t.length){let e="file";t.length>1&&(e+="s");const i=`${t.length} ${e} selected`;this.$pseudoSelectFileText.textContent=i}else this.$pseudoSelectFileText.textContent="No files selected";else this.$pseudoSelectFileText.textContent=t[0]?.name||"No file selected";t.length?this.$droppableArea.classList.remove("tna-file-input__droppable--empty"):this.$droppableArea.classList.add("tna-file-input__droppable--empty"),this.hideDropTarget(!1)}}},876(t,e,i){i.d(e,{Footer:()=>n});var s=i(533);class n{constructor(t,e="theme"){this.$module=t,this.$themeSelector=t&&t.querySelector(".tna-footer__theme-selector"),this.$themeSelectorNotice=t&&t.querySelector(".tna-footer__theme-selector-notice"),this.$themeSelectorEnableSettingsCookiesButton=this.$themeSelectorNotice&&this.$themeSelectorNotice.querySelector(".tna-footer__theme-selector-enable-settings-cookies"),this.$tnaTemplate=document.querySelector(".tna-template"),this.$module&&this.$themeSelector&&this.$themeSelectorNotice&&this.$themeSelectorEnableSettingsCookiesButton&&this.$tnaTemplate&&(this.themeCookieName=e,this.init())}init(){this.currentTheme=this.$themeSelector.dataset.themeOnLoad,this.cookies=new s.A,this.$themeSelectorButtons=this.$themeSelector.querySelectorAll("button.tna-footer__theme-selector-button[value]"),Array.from(this.$themeSelectorButtons).forEach(t=>{t.addEventListener("click",t=>{const e=t.target;this.setTheme(e.value),this.selectThemeSelectorButton(e)})}),this.$themeSelectorEnableSettingsCookiesButton.addEventListener("click",()=>{this.cookies.acceptPolicy("settings")}),this.showThemeSelector(),this.cookies.on("changePolicy",t=>{Object.hasOwn(t,"settings")&&(!0===t.settings?(this.cookies.set(this.themeCookieName,this.currentTheme),this.$themeSelectorNotice.setAttribute("hidden","")):(this.cookies.delete(this.themeCookieName),this.$themeSelectorNotice.removeAttribute("hidden")))})}showThemeSelector(){if(this.$themeSelector.removeAttribute("hidden"),this.cookies.exists(this.themeCookieName)){const t=Array.from(this.$themeSelectorButtons).find(t=>t.value===this.cookies.get(this.themeCookieName));t&&this.selectThemeSelectorButton(t)}this.cookies.isPolicyAccepted("settings")||this.$themeSelectorNotice.removeAttribute("hidden")}setTheme(t){if("light"===t)this.$tnaTemplate.classList.remove("tna-template--system-theme","tna-template--dark-theme");else if("dark"===t)this.$tnaTemplate.classList.remove("tna-template--system-theme"),this.$tnaTemplate.classList.add("tna-template--dark-theme");else{if("system"!==t)return;this.$tnaTemplate.classList.remove("tna-template--dark-theme"),this.$tnaTemplate.classList.add("tna-template--system-theme")}this.currentTheme=t,this.cookies.isPolicyAccepted("settings")?this.cookies.set(this.themeCookieName,this.currentTheme):this.$themeSelectorNotice.removeAttribute("hidden")}selectThemeSelectorButton(t){Array.from(this.$themeSelectorButtons).forEach(e=>{e.value===t.value?(e.classList.remove("tna-button--plain"),e.setAttribute("aria-current",!0)):(e.classList.add("tna-button--plain"),e.removeAttribute("aria-current"))})}}},344(t,e,i){i.d(e,{Gallery:()=>s});class s{constructor(t){this.$module=t,this.$itemsContainer=t&&t.querySelector(".tna-gallery__items"),this.$items=this.$itemsContainer&&this.$itemsContainer.querySelectorAll(".tna-gallery__item"),this.$navigation=t&&t.querySelector(".tna-gallery__navigation"),this.$navigationItems=this.$navigation&&t.querySelectorAll(".tna-gallery__navigation-item"),this.$navigationButtons=t&&t.querySelector(".tna-gallery__navigation-buttons"),this.$module&&this.$itemsContainer&&this.$items&&!(this.$items.length<2)&&this.$navigation&&this.$navigationItems&&this.$navigationButtons&&(this.$module.classList.add("tna-gallery--interactive"),this.$navigationButtonPrev=this.$navigationButtons.querySelector(".tna-gallery__navigation-prev"),this.$navigationButtonNext=this.$navigationButtons.querySelector(".tna-gallery__navigation-next"),this.setup(),this.currentId=this.$items[0].id,this.showItem(this.currentId))}setup(){this.$items.forEach(t=>{t.setAttribute("hidden",""),t.setAttribute("aria-hidden","true"),t.querySelector(".tna-gallery__item-header")?.setAttribute("aria-hidden","true")}),this.$navigation.removeAttribute("hidden"),this.$navigationItems.forEach(t=>{t.addEventListener("click",()=>{this.showItem(t.getAttribute("aria-controls")),this.$itemsContainer.setAttribute("tabindex","0"),this.$itemsContainer.focus()})}),this.$module.addEventListener("keydown",t=>{let e=!1;switch(t.key){case"ArrowLeft":case"ArrowUp":this.showPreviousItem(),e=!0;break;case"ArrowRight":case"ArrowDown":this.showNextItem(),e=!0;break;case"Home":this.showFirstItem(),e=!0;break;case"End":this.showLastItem(),e=!0}e&&(t.stopPropagation(),t.preventDefault())}),this.$navigationButtons?.removeAttribute("hidden"),this.$navigationButtonPrev?.addEventListener("click",()=>{this.showPreviousItem()}),this.$navigationButtonNext?.addEventListener("click",()=>{this.showNextItem()}),this.$liveRegion=document.createElement("div"),this.$liveRegion.setAttribute("aria-live","polite"),this.$liveRegion.setAttribute("aria-atomic","true"),this.$liveRegion.setAttribute("class","tna-gallery__item-header"),this.$itemsContainer.prepend(this.$liveRegion),this.$itemsContainer.classList.add("tna-gallery__items--hide-item-titles"),this.$itemsContainer.addEventListener("blur",()=>this.$itemsContainer.removeAttribute("tabindex"))}showItem(t){this.$items.forEach(e=>{t&&e.id===t?(e.removeAttribute("hidden"),e.removeAttribute("aria-hidden")):(e.setAttribute("hidden",""),e.setAttribute("aria-hidden","true"))}),this.$navigationItems.forEach(e=>{t&&e.getAttribute("aria-controls")===t?e.setAttribute("aria-current","true"):e.setAttribute("aria-current","false")}),this.currentId=t,this.$liveRegion.textContent=`Image ${this.getCurrentItemIndex()+1} of ${this.$items.length}`}getCurrentItemIndex(){return Array.from(this.$items).findIndex(t=>t.id===this.currentId)}showPreviousItem(){let t=this.getCurrentItemIndex()-1;t<0&&(t=this.$items.length-1),this.showItem(this.$items[t].id)}showNextItem(){let t=this.getCurrentItemIndex()+1;t>=this.$items.length&&(t=0),this.showItem(this.$items[t].id)}showFirstItem(){this.showItem(this.$items[0].id)}showLastItem(){this.showItem(this.$items[this.$items.length-1].id)}}},576(t,e,i){i.d(e,{GlobalHeader:()=>s});class s{constructor(t){this.$module=t,this.$toggleButton=t&&t.querySelector(".tna-global-header__navigation-button"),this.$navigation=t&&t.querySelector(".tna-global-header__navigation-wrapper"),this.$topNavigation=t&&t.querySelector(".tna-global-header__top-navigation-wrapper"),this.$links=t&&(this.$navigation&&this.$navigation.querySelectorAll("[tabindex='0']")||this.$topNavigation&&this.$topNavigation.querySelectorAll("[tabindex='0']")),this.menuOpened=!1,this.mql=window.matchMedia("(max-width: 48em)"),this.$module&&this.$toggleButton&&(this.$navigation||this.$topNavigation)&&(this.$toggleButton.removeAttribute("hidden"),this.syncState(),this.$toggleButton.addEventListener("click",()=>this.handleToggleNavigation()),"addEventListener"in this.mql?this.mql.addEventListener("change",()=>this.syncState()):this.mql.addListener(()=>this.syncState()),this.$module.addEventListener("keyup",t=>{"Escape"===t.code&&this.mql.matches&&this.menuOpened&&(this.menuOpened=!1,this.syncState(),this.$toggleButton.focus())}))}handleToggleNavigation(){this.menuOpened=!this.menuOpened,this.syncState()}syncState(){this.mql.matches?this.menuOpened?this.show():this.hide():this.show()}hide(){this.$navigation&&(this.$navigation.hidden=!0,this.$navigation.setAttribute("aria-hidden","true")),this.$topNavigation&&(this.$topNavigation.hidden=!0,this.$topNavigation.setAttribute("aria-hidden","true")),this.$toggleButton.setAttribute("aria-expanded","false"),this.$toggleButton.setAttribute("title","Open menu"),this.$toggleButton.classList.remove("tna-global-header__navigation-button--opened");for(let t=0;t<this.$links.length;t+=1)this.$links[t].setAttribute("tabindex","-1")}show(){this.$navigation&&(this.$navigation.hidden=!1,this.$navigation.setAttribute("aria-hidden","false")),this.$topNavigation&&(this.$topNavigation.hidden=!1,this.$topNavigation.setAttribute("aria-hidden","false")),this.$toggleButton.setAttribute("aria-expanded","true"),this.$toggleButton.setAttribute("title","Close menu"),this.$toggleButton.classList.add("tna-global-header__navigation-button--opened");for(let t=0;t<this.$links.length;t+=1)this.$links[t].setAttribute("tabindex","0")}}},432(t,e,i){i.d(e,{Header:()=>s});class s{constructor(t){this.$module=t,this.$toggleButton=t&&t.querySelector(".tna-header__navigation-button"),this.$navigation=t&&t.querySelector(".tna-header__navigation"),this.$links=t&&this.$navigation&&this.$navigation.querySelectorAll("[tabindex='0']"),this.menuOpened=!1,this.mql=window.matchMedia("(max-width: 48em)"),this.$module&&this.$toggleButton&&this.$navigation&&(this.$toggleButton.removeAttribute("hidden"),this.syncState(),this.$toggleButton.addEventListener("click",()=>this.handleToggleNavigation()),"addEventListener"in this.mql?this.mql.addEventListener("change",()=>this.syncState()):this.mql.addListener(()=>this.syncState()),this.$module.addEventListener("keyup",t=>{"Escape"===t.code&&this.menuOpened&&this.mql.matches&&(this.menuOpened=!1,this.syncState(),this.$toggleButton.focus())}))}handleToggleNavigation(){this.menuOpened=!this.menuOpened,this.syncState()}syncState(){this.mql.matches?this.menuOpened?this.show():this.hide():this.show()}show(){this.$navigation.classList.add("tna-header__navigation--open"),this.$navigation.removeAttribute("hidden"),this.$navigation.setAttribute("aria-hidden","false"),this.$toggleButton.setAttribute("aria-expanded","true"),this.$toggleButton.setAttribute("title","Close menu"),this.$toggleButton.classList.add("tna-header__navigation-button--opened");for(let t=0;t<this.$links.length;t+=1)this.$links[t].setAttribute("tabindex","0")}hide(){this.$navigation.classList.remove("tna-header__navigation--open"),this.$navigation.hidden=!0,this.$navigation.setAttribute("aria-hidden","true"),this.$toggleButton.setAttribute("aria-expanded","false"),this.$toggleButton.setAttribute("title","Open menu"),this.$toggleButton.classList.remove("tna-header__navigation-button--opened");for(let t=0;t<this.$links.length;t+=1)this.$links[t].setAttribute("tabindex","-1")}}},384(t,e,i){i.d(e,{Picture:()=>n});var s=i(181);class n{constructor(t){this.$module=t,this.$imageWrapper=t&&t.querySelector(".tna-picture__image-wrapper"),this.$transcriptToggle=this.$imageWrapper&&this.$imageWrapper.querySelector(".tna-picture__toggle-transcript"),this.$transcript=t&&t.querySelector(".tna-picture__transcript"),this.transcriptOpened=!1,this.$module&&this.$imageWrapper&&this.$transcriptToggle&&this.$transcript&&(this.openLabel=this.$module.dataset.informationLabelOpen||"Open transcript",this.closeLabel=this.$module.dataset.informationLabelClose||"Close transcript",this.init())}init(){const t=`tna-picture-${(0,s.A)()}`;this.$transcriptToggle.removeAttribute("hidden"),this.$transcriptToggle.setAttribute("aria-controls",t),this.$transcriptToggle.innerText=this.openLabel,this.$transcriptToggle.addEventListener("click",()=>this.toggleTranscript()),this.$transcript.setAttribute("id",t),this.$transcript.setAttribute("hidden",""),this.$transcript.addEventListener("keydown",t=>{"Escape"===t.key&&(this.toggleTranscript(),this.$transcriptToggle.focus())})}toggleTranscript(){this.transcriptOpened=!this.transcriptOpened,this.transcriptOpened?(this.$transcriptToggle.setAttribute("aria-expanded",!0),this.$transcriptToggle.innerText=this.closeLabel,this.$transcript.removeAttribute("hidden")):(this.$transcriptToggle.setAttribute("aria-expanded",!1),this.$transcriptToggle.innerText=this.openLabel,this.$transcript.setAttribute("hidden",""))}}},612(t,e,i){i.d(e,{Sidebar:()=>s});class s{constructor(t,e={}){if(this.$module=t,this.items=t&&Array.from(t.querySelectorAll(".tna-sidebar__item")).map(t=>{const e=t.querySelector(".tna-sidebar__link[href^='#']").getAttribute("href").substring(1);return{$item:t,id:e,target:document.getElementById(e)}}).filter(t=>t.target),!this.$module||!this.items)return;const{scrollTopThreshold:i=0,disableHighlightSize:s="small"}=e;this.scrollTopThreshold=i,this.disableHighlightSize=s,this.init()}init(){if(this.breakpoints={tiny:getComputedStyle(document.documentElement).getPropertyValue("--media-breakpoint-tiny")||"480px",small:getComputedStyle(document.documentElement).getPropertyValue("--media-breakpoint-small")||"768px",medium:getComputedStyle(document.documentElement).getPropertyValue("--media-breakpoint-medium")||"1024px"},this.disableHighlightSize){if(!Object.keys(this.breakpoints).includes(this.disableHighlightSize))throw new Error(`Invalid value for disableHighlightSize: ${this.disableHighlightSize}. Expected one of: ${Object.keys(this.breakpoints).join(", ")}`);this.hideOnDevice=window.matchMedia(`(max-width: ${this.breakpoints[this.disableHighlightSize]})`)}else this.hideOnDevice=null;this.currentItem=null,window.addEventListener("scroll",()=>this.highlightCurrentSection()),window.addEventListener("resize",()=>this.highlightCurrentSection()),this.highlightCurrentSection()}highlightCurrentSection(){if(this.hideOnDevice&&this.hideOnDevice.matches)return this.items.forEach(t=>{t.$item.classList.remove("tna-sidebar__item--current")}),void(this.currentItem=null);const t=this.items.findLast(t=>Math.floor(t.target.getBoundingClientRect().top)<=this.scrollTopThreshold);t!==this.currentItem&&this.items.forEach(e=>{t&&e===t?(this.currentItem=e,this.currentItem.$item.classList.add("tna-sidebar__item--current")):e.$item.classList.remove("tna-sidebar__item--current")}),this.currentItem=t||null}}},292(t,e,i){i.d(e,{SkipLink:()=>s});class s{linkedElementListener=!1;constructor(t){this.$module=t,this.linkedElementId=t.getAttribute("href")?.split("#").pop(),this.$linkedElement=t&&this.linkedElementId&&document.getElementById(this.linkedElementId),this.$module&&this.$linkedElement&&this.$module.addEventListener("click",()=>this.focusLinkedElement())}focusLinkedElement(){this.$linkedElement.getAttribute("tabindex")||(this.$linkedElement.setAttribute("tabindex","-1"),this.$linkedElement.classList.add("tna-!--no-focus-style"),this.linkedElementListener||(this.$linkedElement.addEventListener("blur",()=>this.removeFocusProperties()),this.linkedElementListener=!0)),this.$linkedElement.focus()}removeFocusProperties(){this.$linkedElement.removeAttribute("tabindex"),this.$linkedElement.classList.remove("tna-!--no-focus-style")}}},42(t,e,i){i.d(e,{Tabs:()=>s});class s{constructor(t){this.$module=t,this.$tabList=t&&t.querySelector(".tna-tabs__list"),this.$tabListItemLinks=t&&this.$tabList&&this.$tabList.querySelectorAll(".tna-tabs__button"),this.$tabItems=t&&t.querySelectorAll(".tna-tabs__item"),this.$module&&this.$tabList&&this.$tabListItemLinks&&this.$tabItems&&this.$tabListItemLinks.length===this.$tabItems.length&&(this.currentTabIndex=0,this.init())}init(){this.$module.classList.add("tna-tabs--interactive"),this.$tabList.removeAttribute("hidden"),this.$tabListItemLinks.forEach(t=>{const e=t.getAttribute("aria-controls");t.setAttribute("aria-selected",!1);const i=document.getElementById(e);i.setAttribute("aria-labelledby",t.id),i.setAttribute("role","tabpanel"),t.addEventListener("click",t=>this.handleItemLinkClick(t),!0)}),this.switchTabByIndex(this.currentTabIndex),this.$module.addEventListener("keydown",t=>this.handleItemLinkKeyDown(t))}handleItemLinkClick(t){t.preventDefault();const e=t.currentTarget.getAttribute("aria-controls");this.switchTabByID(e)}handleItemLinkKeyDown(t){let e=!1;switch(t.key){case"ArrowLeft":case"ArrowUp":this.previousTab(),e=!0;break;case"ArrowRight":case"ArrowDown":this.nextTab(),e=!0;break;case"Home":this.switchTabByIndex(0,!0),e=!0;break;case"End":this.switchTabByIndex(this.$tabListItemLinks.length-1,!0),e=!0}e&&(t.stopPropagation(),t.preventDefault())}nextTab(){this.currentTabIndex<this.$tabListItemLinks.length-1?this.switchTabByIndex(this.currentTabIndex+1,!0):this.switchTabByIndex(0,!0)}previousTab(){this.currentTabIndex>=1?this.switchTabByIndex(this.currentTabIndex-1,!0):this.switchTabByIndex(this.$tabListItemLinks.length-1,!0)}switchTabByIndex(t,e=!1){this.currentTabIndex=t,this.$tabListItemLinks.forEach((t,i)=>{i===this.currentTabIndex?(t.setAttribute("aria-selected",!0),t.setAttribute("tabindex","0"),e&&t.focus()):(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"))}),this.$tabItems.forEach((t,e)=>{e===this.currentTabIndex?(t.removeAttribute("hidden"),t.setAttribute("tabindex","0")):(t.setAttribute("hidden",""),t.setAttribute("tabindex","-1"))})}switchTabByID(t){const e=Array.from(this.$tabItems).findIndex(e=>e.getAttribute("id")===t);this.switchTabByIndex(e)}}},866(t,e,i){i.d(e,{TextInputPassword:()=>s});class s{constructor(t){this.$module=t,this.$input=t&&t.querySelector(".tna-text-input"),this.$module&&this.$input&&"password"===this.$input.getAttribute("type")&&(this.$textInputWrapper=document.createElement("div"),this.$textInputWrapper.classList.add("tna-text-input-wrapper"),this.$textInputPasswordToggle=document.createElement("button"),this.$textInputPasswordToggle.setAttribute("type","button"),this.$textInputPasswordToggle.classList.add("tna-button","tna-button--small","tna-button--icon-only"),this.$textInputPasswordToggle.setAttribute("aria-controls",this.$input.id),this.updateTogglePasswordButtonText(),this.$textInputWrapper.appendChild(this.$input),this.$textInputWrapper.appendChild(this.$textInputPasswordToggle),this.$module.appendChild(this.$textInputWrapper),this.$textInputPasswordToggle.addEventListener("click",()=>{this.togglePasswordType(),this.$input.focus()}))}togglePasswordType(){"password"===this.$input.getAttribute("type")?this.$input.setAttribute("type","text"):this.$input.setAttribute("type","password"),this.updateTogglePasswordButtonText()}updateTogglePasswordButtonText(){"password"===this.$input.getAttribute("type")?(this.$textInputPasswordToggle.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" height="24" aria-hidden="true" focusable="false">\x3c!--!Font Awesome Free v7.0.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--\x3e<path d="M320 96C239.2 96 174.5 132.8 127.4 176.6C80.6 220.1 49.3 272 34.4 307.7C31.1 315.6 31.1 324.4 34.4 332.3C49.3 368 80.6 420 127.4 463.4C174.5 507.1 239.2 544 320 544C400.8 544 465.5 507.2 512.6 463.4C559.4 419.9 590.7 368 605.6 332.3C608.9 324.4 608.9 315.6 605.6 307.7C590.7 272 559.4 220 512.6 176.6C465.5 132.9 400.8 96 320 96zM176 320C176 240.5 240.5 176 320 176C399.5 176 464 240.5 464 320C464 399.5 399.5 464 320 464C240.5 464 176 399.5 176 320zM320 256C320 291.3 291.3 320 256 320C244.5 320 233.7 317 224.3 311.6C223.3 322.5 224.2 333.7 227.2 344.8C240.9 396 293.6 426.4 344.8 412.7C396 399 426.4 346.3 412.7 295.1C400.5 249.4 357.2 220.3 311.6 224.3C316.9 233.6 320 244.4 320 256z" /></svg>Show password',this.$textInputPasswordToggle.setAttribute("title","Show password"),this.$textInputPasswordToggle.setAttribute("aria-label","Show password")):(this.$textInputPasswordToggle.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" height="24" aria-hidden="true" focusable="false">\x3c!--!Font Awesome Free v7.0.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--\x3e<path d="M73 39.1C63.6 29.7 48.4 29.7 39.1 39.1C29.8 48.5 29.7 63.7 39 73.1L567 601.1C576.4 610.5 591.6 610.5 600.9 601.1C610.2 591.7 610.3 576.5 600.9 567.2L504.5 470.8C507.2 468.4 509.9 466 512.5 463.6C559.3 420.1 590.6 368.2 605.5 332.5C608.8 324.6 608.8 315.8 605.5 307.9C590.6 272.2 559.3 220.2 512.5 176.8C465.4 133.1 400.7 96.2 319.9 96.2C263.1 96.2 214.3 114.4 173.9 140.4L73 39.1zM236.5 202.7C260 185.9 288.9 176 320 176C399.5 176 464 240.5 464 320C464 351.1 454.1 379.9 437.3 403.5L402.6 368.8C415.3 347.4 419.6 321.1 412.7 295.1C399 243.9 346.3 213.5 295.1 227.2C286.5 229.5 278.4 232.9 271.1 237.2L236.4 202.5zM357.3 459.1C345.4 462.3 332.9 464 320 464C240.5 464 176 399.5 176 320C176 307.1 177.7 294.6 180.9 282.7L101.4 203.2C68.8 240 46.4 279 34.5 307.7C31.2 315.6 31.2 324.4 34.5 332.3C49.4 368 80.7 420 127.5 463.4C174.6 507.1 239.3 544 320.1 544C357.4 544 391.3 536.1 421.6 523.4L357.4 459.2z" /></svg>Hide password',this.$textInputPasswordToggle.setAttribute("title","Hide password"),this.$textInputPasswordToggle.setAttribute("aria-label","Hide password"))}}},494(t,e,i){i.d(e,{TextAreaItemisedRows:()=>s});class s{constructor(t,e={}){if(this.$module=t,this.$formFieldInput=this.$module&&this.$module.querySelector(".tna-textarea"),this.$formFieldInputHint=this.$module&&this.$module.querySelector(".tna-form-item__hint"),this.$formFieldBody=this.$module&&this.$module.querySelector(".tna-form-item__body"),!this.$module||!this.$formFieldInput||!this.$formFieldBody||null!==this.$formFieldInput.getAttribute("hidden"))return;const{enhancedHint:i}=e;this.enhancedHint=i||"Enter an item and press enter",this.init()}init(){this.values=this.$formFieldInput.value.split("\n").map(t=>t.trim()).filter(t=>t),this.id=this.$formFieldInput.id,this.$formFieldNewInput=document.createElement("input"),this.$formFieldNewInput.classList.add("tna-text-input"),["id","aria-describedby"].forEach(t=>{this.$formFieldNewInput.setAttribute(t,this.$formFieldInput.getAttribute(t)),this.$formFieldInput.removeAttribute(t)}),this.$formFieldBody.appendChild(this.$formFieldNewInput),this.$formFieldInput.setAttribute("hidden",""),this.$formFieldInput.addEventListener("keyup",()=>this.updateList()),this.$formFieldNewInput.addEventListener("keypress",t=>{"Enter"===t.key&&this.appendValue(t.target.value)}),this.$formFieldNewInputAddButton=document.createElement("button"),this.$formFieldNewInputAddButton.setAttribute("type","button"),this.$formFieldNewInputAddButton.classList.add("tna-button","tna-button--small"),this.$formFieldNewInputAddButtonInner=document.createElement("span"),this.$formFieldNewInputAddButtonInner.innerText="Add",this.$formFieldNewInputAddButtonInnerExtra=document.createElement("span"),this.$formFieldNewInputAddButtonInnerExtra.classList.add("tna-visually-hidden"),this.$formFieldNewInputAddButtonInnerExtra.innerText=" to list",this.$formFieldNewInputAddButtonInner.appendChild(this.$formFieldNewInputAddButtonInnerExtra),this.$formFieldNewInputAddButton.appendChild(this.$formFieldNewInputAddButtonInner),this.$formFieldBody.appendChild(this.$formFieldNewInputAddButton),this.$formFieldNewInputAddButton.addEventListener("click",()=>{this.appendValue(this.$formFieldNewInput.value)}),this.$formFieldLiveAria=document.createElement("div"),this.$formFieldLiveAria.setAttribute("aria-live","assertive"),this.$formFieldLiveAria.classList.add("tna-visually-hidden"),this.$module.appendChild(this.$formFieldLiveAria),this.$formFieldCounter=document.createElement("p"),this.$formFieldCounter.id=`${this.id}-list-helper`,this.$formFieldCounter.classList.add("tna-!--margin-top-xs"),this.$module.appendChild(this.$formFieldCounter),this.$formFieldNewInput.setAttribute("aria-describedby",`${this.$formFieldNewInput.getAttribute("aria-describedby")} ${this.$formFieldCounter.id}`),this.$valuesList=document.createElement("ul"),this.$valuesList.classList.add("tna-compound-filters","tna-!--margin-top-xs"),this.$valuesList.addEventListener("blur",()=>{this.$valuesList.removeAttribute("tabindex"),this.updateAriaText("")}),this.$module.appendChild(this.$valuesList),this.$formFieldInputHint||(this.$formFieldInputHint=document.createElement("p"),this.$formFieldInputHint.classList.add("tna-form-item__hint"),this.$formFieldBody.parentNode.insertBefore(this.$formFieldInputHint,this.$formFieldBody)),this.$formFieldInputHint.innerText=this.enhancedHint,this.updateList()}updateAriaText(t){this.$formFieldLiveAria.innerText=t}normaliseValue(t){return t.replace(/\s{2,}/u," ").trim()}isValueInList(t){return this.values.map(t=>this.normaliseValue(t).toLowerCase()).includes(t.toLowerCase().trim())}appendValue(t){const e=this.normaliseValue(t);e?this.isValueInList(e)?this.updateAriaText(`'${e}' already added`):(this.values.push(e),this.$formFieldInput.value=this.values.join("\n"),this.updateList(),this.updateAriaText(`'${e}' added`)):this.updateAriaText("Enter an item to add"),this.$formFieldNewInput.value="",this.$formFieldNewInput.focus()}removeValue(t){const e=this.normaliseValue(t);e&&this.isValueInList(e)&&(this.values=this.values.filter(t=>t!==e),this.$formFieldInput.value=this.values.join("\n"),this.updateList(),this.updateAriaText(`'${e}' removed`)),this.values.length?(this.$valuesList.setAttribute("tabindex","0"),this.$valuesList.focus()):this.$formFieldNewInput.focus()}updateList(){this.$valuesList.innerHTML="",this.values.map(t=>{const e=document.createElement("li");e.classList.add("tna-compound-filters__item");const i=document.createElement("span");i.innerText=t,e.appendChild(i);const s=document.createElement("button");return s.innerText=`Remove '${t}'`,s.setAttribute("type","button"),s.classList.add("tna-compound-filters__link"),s.addEventListener("click",()=>{this.removeValue(t)}),e.appendChild(s),e}).forEach(t=>this.$valuesList.appendChild(t));let t="item";1!==this.values.length&&(t+="s");const e=`${this.values.length} ${t} added`;this.$formFieldCounter.innerText=e}}},533(t,e,i){i.d(e,{A:()=>o}),window.TNAFrontendCookieEvents||=null;class s{events={};oneTimeEvents={};debug=!1;constructor(t=!1){if(this.debug=t,window.TNAFrontendCookieEvents)return this.log("Using existing TNAFrontendCookieEvents instance"),window.TNAFrontendCookieEvents;window.TNAFrontendCookieEvents=this}log(...t){this.debug&&console.log("[TNA Frontend Cookie Events]",...t)}on(t,e){Object.hasOwn(this.events,t)||(this.events[t]=[]),this.events[t]=[...this.events[t],e]}once(t,e){Object.hasOwn(this.oneTimeEvents,t)||(this.oneTimeEvents[t]=[]),this.oneTimeEvents[t]=[...this.oneTimeEvents[t],e]}trigger(t,e={}){if(Object.hasOwn(this.events,t)&&(this.log(`Triggering event: ${t}`,e),this.events[t].forEach(t=>t.call(this,e))),Object.hasOwn(this.oneTimeEvents,t)){this.log(`Triggering one-time event: ${t}`,e);for(let i=this.oneTimeEvents[t].length-1;i>=0;i-=1)this.oneTimeEvents[t][i].call(this,e),this.oneTimeEvents[t].splice(i,1)}}}window.TNAFrontendCookies||=null;const n=["usage","settings","marketing","essential"];class o{defaultDomain="";defaultPath="";secure=!0;policiesKey="";events=null;defaultAge=null;policiesCorrectOnInit=!1;debug="true"===document.documentElement.dataset.tnaFrontendDebug;constructor(t={}){const{defaultDomain:e,defaultPath:i,secure:o,policiesKey:a,defaultAge:r,newInstance:l=!1,noInit:d=!1}=t;if(!l&&window.TNAFrontendCookies)return window.TNAFrontendCookies;if(this.defaultDomain=e||document.documentElement.dataset.tnaCookiesDomain||window.location.hostname,this.defaultPath=i||document.documentElement.dataset.tnaCookiesPath||"/",this.secure=o||"true"!==document.documentElement.dataset.tnaCookiesInsecure,this.policiesKey=a||document.documentElement.dataset.tnaCookiesPoliciesKey||"cookies_policy",r)this.defaultAge=r;else{const t=31536e3;this.defaultAge=parseInt(document.documentElement.dataset.tnaCookiesDefaultAge,10)||t}this.events=new s(this.debug),this.policiesCorrectOnInit=Object.keys(this.policies).length===n.length&&n.every(t=>Object.keys(this.policies).includes(t)&&"boolean"==typeof this.policies[t]),this.policiesCorrectOnInit||d||this.init(),this.log({defaultDomain:this.defaultDomain,defaultPath:this.defaultPath,secure:this.secure,policiesKey:this.policiesKey,defaultAge:this.defaultAge,policiesCorrectOnInit:this.policiesCorrectOnInit}),l||window.TNAFrontendCookies||(window.TNAFrontendCookies=this)}init(){const t=this.policies;this.log("Existing policies on init:",t);const e=Object.fromEntries(Object.keys(t).filter(t=>n.includes(t)).map(e=>[e,t[e]]));Object.keys(e).length&&this.log("Filtered existing policies:",e),this.savePolicies({usage:!1,settings:!1,marketing:!1,...e,essential:!0})}log(...t){this.debug&&console.log("[TNA Frontend Cookies]",...t,this.all)}destroyInstance(){this.log("Destroying TNAFrontendCookies instance"),window.TNAFrontendCookies=null}get all(){const t={};return document.cookie.split("; ").filter(t=>""!==t.trim()).forEach(e=>{const i=e.trim().split("="),[s,n]=i;s&&(t[s]=decodeURIComponent(n||""))}),t}get policies(){try{return JSON.parse(this.get(this.policiesKey)||"{}")}catch(t){return{}}}exists(t){return Object.hasOwn(this.all,t)}hasValue(t,e){return this.get(t)===e}get(t){return this.exists(t)?decodeURIComponent(this.all[t]):null}set(t,e,i={}){const{maxAge:s=this.defaultAge,sameSite:n="Lax",domain:o=this.defaultDomain,path:a=this.defaultPath,secure:r=this.secure,session:l=!1}=i;if(!t)return;let d="";r&&(d="; secure");let h="";l||(h=`; max-age=${s}`);const c=`${encodeURIComponent(t)}=${encodeURIComponent(e)}; domain=${o}; samesite=${n}; path=${a}${h}${d}`;document.cookie=c,this.log("Set cookie:",{key:t,value:e,maxAge:s,path:a,sameSite:n,domain:o,secure:r,session:l,cookie:c}),this.events.trigger("setCookie",{key:t,value:e,maxAge:s,path:a,sameSite:n,domain:o,secure:r,session:l,cookie:c})}delete(t,e="/",i=this.defaultDomain){const s={maxAge:-1,path:e,domain:i||this.defaultDomain};this.set(t,"",s),this.log("Deleted cookie:",{key:t,path:e,domain:i,...s}),this.events.trigger("deleteCookie",{key:t,...s})}deleteAll(t="/",e=this.defaultDomain){Object.keys(this.all).forEach(i=>{this.delete(i,t,e)}),this.log("Deleted all cookies",{path:t,domain:e}),this.events.trigger("deleteAllCookies",{path:t,domain:e})}acceptPolicy(t){this.log("Accepting policy:",t),this.setPolicy(t,!0),this.events.trigger("acceptPolicy",t),this.events.trigger("changePolicy",{[t]:!0})}rejectPolicy(t){this.log("Rejecting policy:",t),this.setPolicy(t,!1),this.events.trigger("rejectPolicy",t),this.events.trigger("changePolicy",{[t]:!1})}setPolicy(t,e){"essential"!==t?(this.log(`Setting policy ${t} to ${e}`),this.savePolicies({...this.policies,[t]:e,essential:!0}),this.events.trigger("changePolicy",{[t]:e})):this.log("Cannot change essential policy, it is always accepted.")}acceptAllPolicies(){this.log("Accepting all policies");const t=Object.fromEntries(Object.keys(this.policies).map(t=>[t.toLowerCase(),!0]));this.savePolicies(t),this.events.trigger("acceptAllPolicies"),this.events.trigger("changePolicy",t)}rejectAllPolicies(){this.log("Rejecting all policies");const t={...Object.fromEntries(Object.keys(this.policies).map(t=>[t.toLowerCase(),!1])),essential:!0};this.savePolicies(t),this.events.trigger("rejectAllPolicies"),this.events.trigger("changePolicy",t)}savePolicies(t){this.log("Saving policies:",t),this.set(this.policiesKey,JSON.stringify(t))}isPolicyAccepted(t){return Object.hasOwn(this.policies,t)?!0===this.policies[t]:null}on(t,e){this.log(`Adding event listener for: ${t}`),this.events.on(t,e)}once(t,e){this.log(`Adding one-time event listener for: ${t}`),this.events.once(t,e)}}},927(t,e,i){i.d(e,{DJ:()=>o,FH:()=>n});var s=i(181);const n=t=>{const e=t.getAttribute("datetime");try{const i=(t=>{const e=t;if(!e)throw new Error("No datetime provided");const i=/^\d{4}(?:-\d{2}){2}(?:T| )\d{2}(?::\d{2}){1,2}(?:\.\d+)?(?:Z|(?:[+-]\d{2}:\d{2}))?$/u.test(e),s=/^\d{4}(?:-\d{2}){2}$/u.test(e);if(!i&&!s)throw new Error("Invalid datetime provided");const n=new Date(e);if(!(n instanceof Date)||isNaN(n))throw new Error("Invalid datetime provided");const o=n.toLocaleDateString("en-GB",{weekday:"long"}),a=n.toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric"});if(i&&(n.getHours()||n.getMinutes())){let t=n.toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit"});return n.getSeconds()&&(t=n.toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit",second:"2-digit"})),`${o} ${a}, ${t}`}return`${o} ${a}`})(e);i.includes(t.textContent)||(t.setAttribute("title",t.textContent),t.textContent=i)}catch(t){}},o=t=>{const e=t.querySelector("caption");"true"!==t.dataset.tableScrollInitialised&&(e&&!e.id&&(e.id=`table-caption-${(0,s.A)()}`),t.dataset.tableScrollInitialised="true"),t.scrollWidth>t.clientWidth?(t.setAttribute("tabindex","0"),t.setAttribute("role","region"),t.setAttribute("aria-labelledby",e?.id||""),t.classList.add("tna-table-wrapper--scroll")):(t.removeAttribute("tabindex"),t.removeAttribute("role"),t.removeAttribute("aria-labelledby"),t.classList.remove("tna-table-wrapper--scroll"))}},181(t,e,i){i.d(e,{A:()=>s});const s=()=>([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/gu,t=>(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16))}},e={};function i(s){var n=e[s];if(void 0!==n)return n.exports;var o=e[s]={exports:{}};return t[s](o,o.exports,i),o.exports}i.d=(t,e)=>{for(var s in e)i.o(e,s)&&!i.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),i.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var s={};i.r(s),i.d(s,{Accordion:()=>n.Accordion,Breadcrumbs:()=>o.Breadcrumbs,CodeBlock:()=>a.CodeBlock,CookieBanner:()=>r.CookieBanner,Cookies:()=>f.A,DateInputProgressive:()=>l.DateInputProgressive,ErrorSummary:()=>d.ErrorSummary,FileInputDroppable:()=>h.FileInputDroppable,Footer:()=>c.Footer,Gallery:()=>u.Gallery,GlobalHeader:()=>m.GlobalHeader,Header:()=>p.Header,Picture:()=>g.Picture,Sidebar:()=>$.Sidebar,SkipLink:()=>b.SkipLink,Tabs:()=>v.Tabs,TextAreaItemisedRows:()=>A.TextAreaItemisedRows,TextInputPassword:()=>y.TextInputPassword,checkTableForScroll:()=>w.DJ,initAll:()=>L,updateTimeElement:()=>w.FH});var n=i(944),o=i(592),a=i(984),r=i(24),l=i(728),d=i(552),h=i(76),c=i(876),u=i(344),m=i(576),p=i(432),g=i(384),$=i(612),b=i(292),v=i(42),y=i(866),A=i(494),f=i(533),w=i(927);const L=(t={})=>{const{scope:e}=t;let i=document;if(e){if(!(e instanceof HTMLElement))throw new Error("Scope must be an HTMLElement");i=e}const s=document.documentElement;s.classList.add("tna-template--js-enabled");const f=()=>{window.removeEventListener("touchstart",f),s.classList.add("tna-template--touched")};window.addEventListener("touchstart",f),window.addEventListener("keydown",t=>{"Tab"===t.key&&(s.classList.add("tna-template--tabbed"),s.classList.remove("tna-template--clicked"))}),window.addEventListener("mousedown",()=>{s.classList.add("tna-template--clicked"),s.classList.remove("tna-template--tabbed")});const L=i.querySelectorAll(".tna-table-wrapper");L.forEach(t=>(0,w.DJ)(t)),window.addEventListener("resize",()=>{L.forEach(t=>(0,w.DJ)(t))}),s.classList.contains("tna-template--enhance-time-elements")&&document.querySelectorAll("time[datetime]").forEach(w.FH),i.querySelectorAll('[data-module="tna-accordion"]').forEach(t=>{new n.Accordion(t)});const I=i.querySelector('[data-module="tna-breadcrumbs"]');I&&new o.Breadcrumbs(I),i.querySelectorAll('[data-module="tna-code-block"]').forEach(t=>{new a.CodeBlock(t)});const k=i.querySelector('[data-module="tna-cookie-banner"]');k&&new r.CookieBanner(k),i.querySelectorAll('[data-module="tna-date-input-progressive"]').forEach(t=>{new l.DateInputProgressive(t)});const E=i.querySelector('[data-module="tna-error-summary"]');E&&new d.ErrorSummary(E).init(),i.querySelectorAll('[data-module="tna-file-input"]').forEach(t=>{new h.FileInputDroppable(t)});const x=i.querySelector('[data-module="tna-footer"]');x&&new c.Footer(x),i.querySelectorAll('[data-module="tna-gallery"]').forEach(t=>{new u.Gallery(t)});const S=i.querySelector('[data-module="tna-global-header"]');S&&new m.GlobalHeader(S);const T=i.querySelector('[data-module="tna-header"]');T&&new p.Header(T),i.querySelectorAll('[data-module="tna-picture"]').forEach(t=>{new g.Picture(t)});const C=i.querySelector('[data-module="tna-sidebar-sections"]');if(C){const{scrollTopThreshold:t,disableHighlightSize:e}=C.dataset;new $.Sidebar(C,{scrollTopThreshold:t,disableHighlightSize:e})}i.querySelectorAll('[data-module="tna-skip-link"]').forEach(t=>{new b.SkipLink(t)}),i.querySelectorAll('[data-module="tna-tabs"]').forEach(t=>{new v.Tabs(t)}),i.querySelectorAll('[data-module="tna-textarea-itemised-rows"]').forEach(t=>{const{enhancedHint:e}=t.dataset;new A.TextAreaItemisedRows(t,{enhancedHint:e})}),i.querySelectorAll('[data-module="tna-text-input-password"]').forEach(t=>{new y.TextInputPassword(t)}),window.matchMedia("print").addEventListener("change",t=>{t.matches?(i.querySelectorAll(".tna-details__details:not([open])").forEach(t=>{t.setAttribute("open",""),t.dataset.wasClosed=""}),i.querySelectorAll(".tna-accordion__content[hidden], .tna-picture__transcript[hidden]").forEach(t=>{t.removeAttribute("hidden"),t.dataset.wasClosed=""})):(i.querySelectorAll(".tna-details__details[data-was-closed]").forEach(t=>{t.removeAttribute("open"),delete t.dataset.wasClosed}),i.querySelectorAll(".tna-accordion__content[data-was-closed], .tna-picture__transcript[data-was-closed]").forEach(t=>{t.setAttribute("hidden",""),t.dataset.wasClosed=""}))})};return s})());
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.TNAFrontend=t():e.TNAFrontend=t()}(self,()=>(()=>{"use strict";var e={404(e,t,i){i.d(t,{A:()=>n});class s{events={};oneTimeEvents={};constructor(){if(window.TNAFrontendCookieEvents&&window.TNAFrontendCookieEvents instanceof s)return window.TNAFrontendCookieEvents;window.TNAFrontendCookieEvents=this}clearAll(){this.events={},this.oneTimeEvents={}}on(e,t){Object.hasOwn(this.events,e)||(this.events[e]=[]),this.events[e]=[...this.events[e],t]}once(e,t){Object.hasOwn(this.oneTimeEvents,e)||(this.oneTimeEvents[e]=[]),this.oneTimeEvents[e]=[...this.oneTimeEvents[e],t]}trigger(e,t={}){Object.hasOwn(this.events,e)&&this.events[e].forEach(e=>e.call(this,t)),Object.hasOwn(this.oneTimeEvents,e)&&(this.oneTimeEvents[e].forEach(e=>e.call(this,t)),this.oneTimeEvents[e]=[])}}class n{defaultDomain="";defaultPath="";secure=!0;preferencesKey="";events=null;defaultAge=null;preferencesCorrectOnInit=!1;tnaCookiePreferences=["usage","settings","marketing","essential"];constructor(e={}){const{defaultDomain:t,defaultPath:i,secure:n,preferencesKey:r,defaultAge:a,noInit:o=!1}=e,l=document.documentElement.dataset;this.defaultDomain=t||l.tnaCookiesDomain||window.location.hostname,this.defaultPath=i||l.tnaCookiesPath||"/",this.secure=n||"true"!==l.tnaCookiesInsecure,this.preferencesKey=r||l.tnaCookiesPreferencesKey||"cookie_preferences",this.defaultAge=a||parseInt(l.tnaCookiesDefaultAge,10)||31536e3,this.events=new s,this.preferencesCorrectOnInit=Object.keys(this.preferences).length===this.tnaCookiePreferences.length&&this.tnaCookiePreferences.every(e=>Object.keys(this.preferences).includes(e)&&"boolean"==typeof this.preferences[e]),this.preferencesCorrectOnInit||o||this.init()}init(){const e=this.preferences,t=Object.fromEntries(Object.keys(e).filter(e=>this.tnaCookiePreferences.includes(e)).map(t=>[t,e[t]]));this.savePreferences({usage:!1,settings:!1,marketing:!1,...t,essential:!0})}get all(){const e={};return document.cookie.split("; ").filter(e=>""!==e.trim()).forEach(t=>{const i=t.trim().split("="),[s,n]=i;s&&(e[s]=decodeURIComponent(n||""))}),e}get preferences(){try{return JSON.parse(this.get(this.preferencesKey)||"{}")}catch(e){return{}}}exists(e){return Object.hasOwn(this.all,e)}hasValue(e,t){return this.get(e)===t}get(e){if(this.exists(e))return decodeURIComponent(this.all[e])}set(e,t,i={}){const{maxAge:s=this.defaultAge,sameSite:n="Lax",domain:r=this.defaultDomain,path:a=this.defaultPath,secure:o=this.secure,session:l=!1}=i;if(!e)return;const d=o?"; secure":"",h=l?"":`; max-age=${s}`,c=`${encodeURIComponent(e)}=${encodeURIComponent(t)}; domain=${r}; samesite=${n}; path=${a}${h}${d}`;document.cookie=c;const u={key:e,value:t,maxAge:s,path:a,sameSite:n,domain:r,secure:o,session:l,cookie:c};this.events.trigger("setCookie",u)}delete(e,t="/",i=this.defaultDomain){const s={maxAge:-1,path:t,domain:i||this.defaultDomain};this.set(e,"",s),this.events.trigger("deleteCookie",{key:e,...s})}deleteAll(e="/",t=this.defaultDomain){Object.keys(this.all).forEach(i=>{this.delete(i,e,t)});const i={path:e,domain:t};this.events.trigger("deleteAllCookies",i)}enablePreference(e){if(!Object.hasOwn(this.preferences,e))throw new Error(`Preference '${e}' does not exist`);this.setPreference(e,!0),this.events.trigger("enablePreference",e),this.events.trigger("changePreference",{[e]:!0})}disablePreference(e){if(!Object.hasOwn(this.preferences,e))throw new Error(`Preference '${e}' does not exist`);this.setPreference(e,!1),this.events.trigger("disablePreference",e),this.events.trigger("changePreference",{[e]:!1})}setPreference(e,t){if(!Object.hasOwn(this.preferences,e))throw new Error(`Preference '${e}' does not exist`);"essential"!==e&&(this.savePreferences({...this.preferences,[e]:t,essential:!0}),this.events.trigger("changePreference",{[e]:t}))}enableAllPreferences(){const e=Object.fromEntries(Object.keys(this.preferences).map(e=>[e.toLowerCase(),!0]));this.savePreferences(e),this.events.trigger("enableAllPreferences"),this.events.trigger("changePreference",e)}disableAllPreferences(){const e={...Object.fromEntries(Object.keys(this.preferences).map(e=>[e.toLowerCase(),!1])),essential:!0};this.savePreferences(e),this.events.trigger("disableAllPreferences"),this.events.trigger("changePreference",e)}savePreferences(e){this.set(this.preferencesKey,JSON.stringify(e))}preference(e){if(Object.hasOwn(this.preferences,e))return!0===this.preferences[e];throw new Error(`Preference '${e}' does not exist`)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}}},944(e,t,i){i.d(t,{Accordion:()=>n});var s=i(927);class n{constructor(e){this.$module=e,this.$items=e&&e.querySelectorAll(".tna-accordion__item"),this.$module&&this.$items&&(this.allowMultipleItemsOpen="true"!==this.$module.dataset.singleOpenItem,this.$items.forEach(e=>this.initItem(e)),this.initState(),this.$toggleAllButton=this.$module.querySelector(".tna-accordion__toggle-all"),this.$toggleAllButton&&(this.syncToggleAllButton(),this.$toggleAllButton.removeAttribute("hidden"),this.$toggleAllButton.addEventListener("click",()=>{this.isAllOpen()?this.$items.forEach(e=>this.closeItem(e)):this.$items.forEach(e=>this.openItem(e)),this.syncToggleAllButton()})))}initItem(e){const t=e.querySelector(".tna-accordion__heading"),i=e.querySelector(".tna-accordion__body");if(!t||!i)return;e.classList.add("tna-accordion__details"),e.classList.remove("tna-accordion__item"),t.removeAttribute("class"),i.classList.add("tna-accordion__content"),i.classList.remove("tna-accordion__body"),i.setAttribute("hidden","");const s=document.createElement("button");s.classList.add("tna-accordion__summary"),s.setAttribute("type","button"),s.setAttribute("aria-controls",i.id),s.innerText=t.innerText,t.innerText="",t.appendChild(s),s.addEventListener("click",()=>{"true"===s.getAttribute("aria-expanded")?this.closeItem(e):this.openItem(e)})}initState(){this.$items.forEach(e=>{"true"===e.dataset.isopen?this.openItem(e):this.closeItem(e),e.removeAttribute("data-isopen")})}openItem(e){this.allowMultipleItemsOpen||this.closeAllItemsExcept(e);const t=e.querySelector(".tna-accordion__summary"),i=e.querySelector(".tna-accordion__content");t.setAttribute("aria-expanded","true"),t.setAttribute("aria-label",`${t.innerText.trim()}, Hide this section`),i.removeAttribute("hidden"),this.syncToggleAllButton();const n=i.querySelectorAll(".tna-table-wrapper");n&&n.forEach(e=>{(0,s.DJ)(e)})}closeItem(e){const t=e.querySelector(".tna-accordion__summary"),i=e.querySelector(".tna-accordion__content");t.setAttribute("aria-expanded","false"),t.setAttribute("aria-label",`${t.innerText.trim()}, Show this section`),i.setAttribute("hidden",""),this.syncToggleAllButton()}closeAllItemsExcept(e){Array.from(this.$items).filter(t=>t.querySelector(".tna-accordion__summary")!==e&&"true"===t.querySelector(".tna-accordion__summary").getAttribute("aria-expanded")).forEach(e=>this.closeItem(e))}isAllOpen(){return Array.from(this.$items).every(e=>"true"===e.querySelector(".tna-accordion__summary").getAttribute("aria-expanded"))}syncToggleAllButton(){this.$toggleAllButton&&(this.isAllOpen()?this.$toggleAllButton.innerText=this.$toggleAllButton.dataset.closeAllLabel||"Hide all sections":this.$toggleAllButton.innerText=this.$toggleAllButton.dataset.openAllLabel||"Show all sections")}}},592(e,t,i){i.d(t,{Breadcrumbs:()=>n});var s=i(181);class n{constructor(e){this.$module=e,this.$breadcrumbsList=e&&e.querySelector(".tna-breadcrumbs__list"),this.$breadcrumbs=e&&this.$breadcrumbsList&&e.querySelectorAll(".tna-breadcrumbs__item"),this.$module&&this.$breadcrumbsList&&this.$breadcrumbs&&this.$breadcrumbs.length>2&&!this.$module.classList.contains("tna-breadcrumbs--no-collapse")&&this.init()}init(){const e=`tna-breadcrumbs-${(0,s.A)()}`,t=document.createElement("li");t.classList.add("tna-breadcrumbs__item","tna-breadcrumbs__item--expandable"),t.style.display="none";const i=document.createElement("button");i.classList.add("tna-breadcrumbs__link"),i.innerHTML="<span class='tna-!--visually-hidden'>Expand breadcrumbs</span>…",i.setAttribute("type","button"),i.setAttribute("aria-expanded","false"),i.setAttribute("aria-controls",e),i.addEventListener("click",()=>{this.$module.classList.remove("tna-breadcrumbs--collapsed"),t.remove(),this.$module.setAttribute("tabindex","0"),this.$module.focus(),this.$module.addEventListener("blur",()=>{this.$module.removeAttribute("tabindex")},{once:!0})}),t.appendChild(i),this.$breadcrumbsList.setAttribute("id",e),this.$breadcrumbsList.insertBefore(t,this.$breadcrumbs[this.$breadcrumbs.length-2].nextSibling),this.$module.classList.add("tna-breadcrumbs--collapsed")}}},984(e,t,i){i.d(t,{CodeBlock:()=>s});class s{constructor(e){this.$module=e,this.$code=this.$module.querySelector("pre code"),this.$copyButton=this.$module.querySelector(".tna-code-block__copy"),this.$module&&this.$code&&this.$copyButton&&navigator.clipboard&&(this.$copyButton.removeAttribute("hidden"),this.$module.classList.add("tna-code-block__copyable"),this.$copyButton.addEventListener("click",async()=>{try{await navigator.clipboard.writeText(this.$code.innerText),this.$copyButton.innerText="Code copied"}catch{}}),this.$copyButton.addEventListener("blur",()=>{this.$copyButton.innerText="Copy code"}))}}},24(e,t,i){i.d(t,{CookieBanner:()=>n});var s=i(404);class n{constructor(e){this.$module=e,this.$acceptButton=e&&e.querySelector('[value="accept"]'),this.$rejectButton=e&&e.querySelector('[value="reject"]'),this.$prompt=e&&e.querySelector(".tna-cookie-banner__message--prompt"),this.$acceptedMessage=e&&e.querySelector(".tna-cookie-banner__message--accepted"),this.$rejectedMessage=e&&e.querySelector(".tna-cookie-banner__message--rejected"),this.$closeButtons=e&&e.querySelectorAll('[value="close"]'),this.$module&&this.$acceptButton&&this.$rejectButton&&this.$prompt&&this.$acceptedMessage&&this.$rejectedMessage&&this.$closeButtons&&(this.cookies=new s.A,this.cookiePreferencesSetKey=this.$module.dataset.preferencesKey||"cookie_preferences_set",this.cookies.preferencesCorrectOnInit||this.cookies.delete(this.cookiePreferencesSetKey),this.cookies.exists(this.cookiePreferencesSetKey)&&this.cookies.hasValue(this.cookiePreferencesSetKey,"true")||(this.$module.removeAttribute("hidden"),this.$acceptButton.addEventListener("click",()=>this.accept()),this.$rejectButton.addEventListener("click",()=>this.reject())))}accept(){this.$prompt.setAttribute("hidden",""),this.complete(),this.cookies.enableAllPreferences(),this.$acceptedMessage.removeAttribute("hidden"),this.$acceptedMessage.setAttribute("tabindex","0"),this.$acceptedMessage.focus(),this.$acceptedMessage.addEventListener("blur",()=>{this.$acceptedMessage.removeAttribute("tabindex")})}reject(){this.$prompt.setAttribute("hidden",""),this.complete(),this.cookies.disableAllPreferences(),this.$rejectedMessage.removeAttribute("hidden"),this.$rejectedMessage.setAttribute("tabindex","0"),this.$rejectedMessage.focus(),this.$rejectedMessage.addEventListener("blur",()=>{this.$rejectedMessage.removeAttribute("tabindex")})}complete(){this.cookies.set(this.cookiePreferencesSetKey,!0),this.$closeButtons.forEach(e=>{e.addEventListener("click",()=>this.close())})}close(){this.$module.setAttribute("hidden","")}}},728(e,t,i){i.d(t,{DateInputProgressive:()=>s});class s{constructor(e){this.$module=e,this.$yearWrapper=e&&e.querySelector(".tna-date-input__item--year"),this.$yearInput=this.$yearWrapper&&this.$yearWrapper.querySelector("input"),this.$monthWrapper=e&&e.querySelector(".tna-date-input__item--month"),this.$monthInput=this.$monthWrapper&&this.$monthWrapper.querySelector("input"),this.$dayWrapper=e&&e.querySelector(".tna-date-input__item--day"),this.$dayInput=this.$dayWrapper&&this.$dayWrapper.querySelector("input"),this.$module&&(this.update(),window.addEventListener("pageshow",()=>this.update()),this.$yearInput&&(this.$yearInput.addEventListener("keyup",()=>this.update()),this.$yearInput.addEventListener("change",()=>this.update())),this.$monthInput&&(this.$monthInput.addEventListener("keyup",()=>this.update()),this.$monthInput.addEventListener("change",()=>this.update())),this.$dayInput&&(this.$dayInput.addEventListener("keyup",()=>this.update()),this.$dayInput.addEventListener("change",()=>this.update())))}update(){this.isValidYear()?(this.showMonth(),this.isValidMonth()?this.showDay():this.hideDay()):(this.hideMonth(),this.hideDay())}isValidYear(){if(!this.$yearInput)return!0;const e=parseInt(this.$yearInput.value.trim(),10);return!isNaN(this.$yearInput.value)&&!isNaN(e)&&e>0}isValidMonth(){if(!this.$monthInput)return!0;const e=this.$monthInput.value.trim(),t=parseInt(e,10);return!isNaN(this.$monthInput.value)&&!isNaN(t)&&t>0&&t<=12||["january","february","march","april","may","june","july","august","september","october","november","december","jan","feb","mar","apr","jun","jul","aug","sep","oct","nov","dec"].includes(e.toLowerCase())}showMonth(){this.$monthWrapper&&this.$monthWrapper.removeAttribute("hidden")}hideMonth(){this.$monthWrapper&&this.$monthWrapper.setAttribute("hidden","")}showDay(){this.$dayWrapper&&this.$dayWrapper.removeAttribute("hidden")}hideDay(){this.$dayWrapper&&this.$dayWrapper.setAttribute("hidden","")}}},552(e,t,i){i.d(t,{ErrorSummary:()=>s});class s{constructor(e){this.$module=e}init(){this.$module&&("true"===this.$module.dataset.disableAutofocus||this.setFocus(this.$module),this.$module.addEventListener("click",e=>this.handleClick(e)))}setFocus(e,t={}){const i=e.getAttribute("tabindex");function s(){t.onBlur?.call(e),i||e.removeAttribute("tabindex")}i||e.setAttribute("tabindex","-1"),e.addEventListener("focus",function(){e.addEventListener("blur",s,{once:!0})},{once:!0}),t.onBeforeFocus?.call(e),e.focus()}handleClick(e){const t=e.target;t&&this.focusTarget(t)&&e.preventDefault()}getFragmentFromUrl(e){return e.includes("#")?e.split("#").pop():null}focusTarget(e){if(!(e instanceof HTMLAnchorElement))return!1;const t=this.getFragmentFromUrl(e.href);if(!t)return!1;const i=document.getElementById(t);if(!i)return!1;const s=this.getAssociatedLegendOrLabel(i);return!!s&&(s.scrollIntoView(),i.focus({preventScroll:!0}),!0)}getAssociatedLegendOrLabel(e){const t=e.closest("fieldset");if(t){const i=t.getElementsByTagName("legend");if(i.length){const[t]=i;if(e instanceof HTMLInputElement&&("checkbox"===e.type||"radio"===e.type))return t;const s=t.getBoundingClientRect().top,n=e.getBoundingClientRect();if(n.height&&window.innerHeight&&n.top+n.height-s<window.innerHeight/2)return t}}return document.querySelector(`label[for='${e.getAttribute("id")}']`)??e.closest("label")}}},76(e,t,i){i.d(t,{FileInputDroppable:()=>s});class s{constructor(e){this.$module=e,this.$body=e&&e.querySelector(".tna-form-item__body"),this.$input=this.$body&&this.$body.querySelector(".tna-file-input"),this.$module&&this.$body&&this.$input&&(this.acceptMutltipleFiles=this.$input.hasAttribute("multiple"),this.init())}init(){this.$droppableArea=document.createElement("div"),this.$droppableArea.classList.add("tna-file-input__droppable","tna-file-input__droppable--empty"),this.$body.insertBefore(this.$droppableArea,this.$input),this.$droppableArea.appendChild(this.$input),this.$pseudoSelectFileText=document.createElement("span"),this.$pseudoSelectFileText.setAttribute("aria-live","polite"),this.$pseudoSelectFileText.classList.add("tna-file-input__droppable-status");const e=this.acceptMutltipleFiles?"files":"file";this.$pseudoSelectFileText.textContent=`No ${e} selected`,this.$droppableArea.appendChild(this.$pseudoSelectFileText);const t=document.createElement("div");t.classList.add("tna-button-group","tna-button-group--small","tna-!--margin-top-s","tna-file-input__droppable-buttons"),this.$droppableArea.appendChild(t);const i=document.createElement("span");i.classList.add("tna-button"),i.textContent=`Choose ${e}`,t.appendChild(i);const s=document.createElement("span");s.textContent=`or drop ${e}`,t.appendChild(s),this.$droppableAreaAriaLabel=document.createElement("span"),this.$droppableAreaAriaLabel.classList.add("tna-visually-hidden"),this.$droppableAreaAriaLabel.setAttribute("aria-live","assertive"),this.$droppableArea.appendChild(this.$droppableAreaAriaLabel),this.$input.addEventListener("dragenter",e=>this.showDropTarget(e)),this.$input.addEventListener("dragleave",()=>this.hideDropTarget()),this.$input.addEventListener("dragend",()=>this.hideDropTarget()),this.$input.addEventListener("change",()=>this.onChange()),this.$input.addEventListener("drop",()=>this.onChange())}isContainingFiles(e){const t=!e.types.length,i=e.types.some(e=>"Files"===e);return t||i}showDropTarget(e,t=!0){if(e.dataTransfer&&this.isContainingFiles(e.dataTransfer)){let i="tna-file-input__droppable--over";e.dataTransfer.items.length&&(i="tna-file-input__droppable--over-multiple"),this.$droppableArea.classList.add(i),t&&(this.$droppableAreaAriaLabel.textContent="Entered drop zone")}}hideDropTarget(e=!0){this.$droppableArea.classList.remove("tna-file-input__droppable--over","tna-file-input__droppable--over-multiple"),e&&(this.$droppableAreaAriaLabel.textContent="Left drop zone")}onChange(){const{files:e}=this.$input;if(this.acceptMutltipleFiles)if(e.length){let t="file";e.length>1&&(t+="s");const i=`${e.length} ${t} selected`;this.$pseudoSelectFileText.textContent=i}else this.$pseudoSelectFileText.textContent="No files selected";else this.$pseudoSelectFileText.textContent=e[0]?.name||"No file selected";e.length?this.$droppableArea.classList.remove("tna-file-input__droppable--empty"):this.$droppableArea.classList.add("tna-file-input__droppable--empty"),this.hideDropTarget(!1)}}},876(e,t,i){i.d(t,{Footer:()=>n});var s=i(404);class n{constructor(e,t="theme"){this.$module=e,this.$themeSelector=e&&e.querySelector(".tna-footer__theme-selector"),this.$themeSelectorNotice=e&&e.querySelector(".tna-footer__theme-selector-notice"),this.$themeSelectorEnableSettingsCookiesButton=this.$themeSelectorNotice&&this.$themeSelectorNotice.querySelector(".tna-footer__theme-selector-enable-settings-cookies"),this.$tnaTemplate=document.querySelector(".tna-template"),this.$module&&this.$themeSelector&&this.$themeSelectorNotice&&this.$themeSelectorEnableSettingsCookiesButton&&this.$tnaTemplate&&(this.themeCookieName=t,this.init())}init(){this.currentTheme=this.$themeSelector.dataset.themeOnLoad,this.cookies=new s.A,this.$themeSelectorButtons=this.$themeSelector.querySelectorAll("button.tna-footer__theme-selector-button[value]"),Array.from(this.$themeSelectorButtons).forEach(e=>{e.addEventListener("click",e=>{const t=e.target;this.setTheme(t.value),this.selectThemeSelectorButton(t)})}),this.$themeSelectorEnableSettingsCookiesButton.addEventListener("click",()=>{this.cookies.enablePreference("settings")}),this.showThemeSelector(),this.cookies.on("changePreference",e=>{Object.hasOwn(e,"settings")&&(!0===e.settings?(this.cookies.set(this.themeCookieName,this.currentTheme),this.$themeSelectorNotice.setAttribute("hidden","")):(this.cookies.delete(this.themeCookieName),this.$themeSelectorNotice.removeAttribute("hidden")))})}showThemeSelector(){if(this.$themeSelector.removeAttribute("hidden"),this.cookies.exists(this.themeCookieName)){const e=Array.from(this.$themeSelectorButtons).find(e=>e.value===this.cookies.get(this.themeCookieName));e&&this.selectThemeSelectorButton(e)}this.cookies.preference("settings")||this.$themeSelectorNotice.removeAttribute("hidden")}setTheme(e){if("light"===e)this.$tnaTemplate.classList.remove("tna-template--system-theme","tna-template--dark-theme");else if("dark"===e)this.$tnaTemplate.classList.remove("tna-template--system-theme"),this.$tnaTemplate.classList.add("tna-template--dark-theme");else{if("system"!==e)return;this.$tnaTemplate.classList.remove("tna-template--dark-theme"),this.$tnaTemplate.classList.add("tna-template--system-theme")}this.currentTheme=e,this.cookies.preference("settings")?this.cookies.set(this.themeCookieName,this.currentTheme):this.$themeSelectorNotice.removeAttribute("hidden")}selectThemeSelectorButton(e){Array.from(this.$themeSelectorButtons).forEach(t=>{t.value===e.value?(t.classList.remove("tna-button--plain"),t.setAttribute("aria-current",!0)):(t.classList.add("tna-button--plain"),t.removeAttribute("aria-current"))})}}},344(e,t,i){i.d(t,{Gallery:()=>s});class s{constructor(e){this.$module=e,this.$itemsContainer=e&&e.querySelector(".tna-gallery__items"),this.$items=this.$itemsContainer&&this.$itemsContainer.querySelectorAll(".tna-gallery__item"),this.$navigation=e&&e.querySelector(".tna-gallery__navigation"),this.$navigationItems=this.$navigation&&e.querySelectorAll(".tna-gallery__navigation-item"),this.$navigationButtons=e&&e.querySelector(".tna-gallery__navigation-buttons"),this.$module&&this.$itemsContainer&&this.$items&&!(this.$items.length<2)&&this.$navigation&&this.$navigationItems&&this.$navigationButtons&&(this.$module.classList.add("tna-gallery--interactive"),this.$navigationButtonPrev=this.$navigationButtons.querySelector(".tna-gallery__navigation-prev"),this.$navigationButtonNext=this.$navigationButtons.querySelector(".tna-gallery__navigation-next"),this.setup(),this.currentId=this.$items[0].id,this.showItem(this.currentId))}setup(){this.$items.forEach(e=>{e.setAttribute("hidden",""),e.setAttribute("aria-hidden","true"),e.querySelector(".tna-gallery__item-header")?.setAttribute("aria-hidden","true")}),this.$navigation.removeAttribute("hidden"),this.$navigationItems.forEach(e=>{e.addEventListener("click",()=>{this.showItem(e.getAttribute("aria-controls")),this.$itemsContainer.setAttribute("tabindex","0"),this.$itemsContainer.focus()})}),this.$module.addEventListener("keydown",e=>{let t=!1;switch(e.key){case"ArrowLeft":case"ArrowUp":this.showPreviousItem(),t=!0;break;case"ArrowRight":case"ArrowDown":this.showNextItem(),t=!0;break;case"Home":this.showFirstItem(),t=!0;break;case"End":this.showLastItem(),t=!0}t&&(e.stopPropagation(),e.preventDefault())}),this.$navigationButtons?.removeAttribute("hidden"),this.$navigationButtonPrev?.addEventListener("click",()=>{this.showPreviousItem()}),this.$navigationButtonNext?.addEventListener("click",()=>{this.showNextItem()}),this.$liveRegion=document.createElement("div"),this.$liveRegion.setAttribute("aria-live","polite"),this.$liveRegion.setAttribute("aria-atomic","true"),this.$liveRegion.setAttribute("class","tna-gallery__item-header"),this.$itemsContainer.prepend(this.$liveRegion),this.$itemsContainer.classList.add("tna-gallery__items--hide-item-titles"),this.$itemsContainer.addEventListener("blur",()=>this.$itemsContainer.removeAttribute("tabindex"))}showItem(e){this.$items.forEach(t=>{e&&t.id===e?(t.removeAttribute("hidden"),t.removeAttribute("aria-hidden")):(t.setAttribute("hidden",""),t.setAttribute("aria-hidden","true"))}),this.$navigationItems.forEach(t=>{e&&t.getAttribute("aria-controls")===e?t.setAttribute("aria-current","true"):t.setAttribute("aria-current","false")}),this.currentId=e,this.$liveRegion.textContent=`Image ${this.getCurrentItemIndex()+1} of ${this.$items.length}`}getCurrentItemIndex(){return Array.from(this.$items).findIndex(e=>e.id===this.currentId)}showPreviousItem(){let e=this.getCurrentItemIndex()-1;e<0&&(e=this.$items.length-1),this.showItem(this.$items[e].id)}showNextItem(){let e=this.getCurrentItemIndex()+1;e>=this.$items.length&&(e=0),this.showItem(this.$items[e].id)}showFirstItem(){this.showItem(this.$items[0].id)}showLastItem(){this.showItem(this.$items[this.$items.length-1].id)}}},576(e,t,i){i.d(t,{GlobalHeader:()=>s});class s{constructor(e){this.$module=e,this.$toggleButton=e&&e.querySelector(".tna-global-header__navigation-button"),this.$navigation=e&&e.querySelector(".tna-global-header__navigation-wrapper"),this.$topNavigation=e&&e.querySelector(".tna-global-header__top-navigation-wrapper"),this.$links=e&&(this.$navigation&&this.$navigation.querySelectorAll("[tabindex='0']")||this.$topNavigation&&this.$topNavigation.querySelectorAll("[tabindex='0']")),this.menuOpened=!1,this.mql=window.matchMedia("(max-width: 48em)"),this.$module&&this.$toggleButton&&(this.$navigation||this.$topNavigation)&&(this.$toggleButton.removeAttribute("hidden"),this.syncState(),this.$toggleButton.addEventListener("click",()=>this.handleToggleNavigation()),"addEventListener"in this.mql?this.mql.addEventListener("change",()=>this.syncState()):this.mql.addListener(()=>this.syncState()),this.$module.addEventListener("keyup",e=>{"Escape"===e.code&&this.mql.matches&&this.menuOpened&&(this.menuOpened=!1,this.syncState(),this.$toggleButton.focus())}))}handleToggleNavigation(){this.menuOpened=!this.menuOpened,this.syncState()}syncState(){this.mql.matches?this.menuOpened?this.show():this.hide():this.show()}hide(){this.$navigation&&(this.$navigation.hidden=!0,this.$navigation.setAttribute("aria-hidden","true")),this.$topNavigation&&(this.$topNavigation.hidden=!0,this.$topNavigation.setAttribute("aria-hidden","true")),this.$toggleButton.setAttribute("aria-expanded","false"),this.$toggleButton.setAttribute("title","Open menu"),this.$toggleButton.classList.remove("tna-global-header__navigation-button--opened");for(let e=0;e<this.$links.length;e+=1)this.$links[e].setAttribute("tabindex","-1")}show(){this.$navigation&&(this.$navigation.hidden=!1,this.$navigation.setAttribute("aria-hidden","false")),this.$topNavigation&&(this.$topNavigation.hidden=!1,this.$topNavigation.setAttribute("aria-hidden","false")),this.$toggleButton.setAttribute("aria-expanded","true"),this.$toggleButton.setAttribute("title","Close menu"),this.$toggleButton.classList.add("tna-global-header__navigation-button--opened");for(let e=0;e<this.$links.length;e+=1)this.$links[e].setAttribute("tabindex","0")}}},432(e,t,i){i.d(t,{Header:()=>s});class s{constructor(e){this.$module=e,this.$toggleButton=e&&e.querySelector(".tna-header__navigation-button"),this.$navigation=e&&e.querySelector(".tna-header__navigation"),this.$links=e&&this.$navigation&&this.$navigation.querySelectorAll("[tabindex='0']"),this.menuOpened=!1,this.mql=window.matchMedia("(max-width: 48em)"),this.$module&&this.$toggleButton&&this.$navigation&&(this.$toggleButton.removeAttribute("hidden"),this.syncState(),this.$toggleButton.addEventListener("click",()=>this.handleToggleNavigation()),"addEventListener"in this.mql?this.mql.addEventListener("change",()=>this.syncState()):this.mql.addListener(()=>this.syncState()),this.$module.addEventListener("keyup",e=>{"Escape"===e.code&&this.menuOpened&&this.mql.matches&&(this.menuOpened=!1,this.syncState(),this.$toggleButton.focus())}))}handleToggleNavigation(){this.menuOpened=!this.menuOpened,this.syncState()}syncState(){this.mql.matches?this.menuOpened?this.show():this.hide():this.show()}show(){this.$navigation.classList.add("tna-header__navigation--open"),this.$navigation.removeAttribute("hidden"),this.$navigation.setAttribute("aria-hidden","false"),this.$toggleButton.setAttribute("aria-expanded","true"),this.$toggleButton.setAttribute("title","Close menu"),this.$toggleButton.classList.add("tna-header__navigation-button--opened");for(let e=0;e<this.$links.length;e+=1)this.$links[e].setAttribute("tabindex","0")}hide(){this.$navigation.classList.remove("tna-header__navigation--open"),this.$navigation.hidden=!0,this.$navigation.setAttribute("aria-hidden","true"),this.$toggleButton.setAttribute("aria-expanded","false"),this.$toggleButton.setAttribute("title","Open menu"),this.$toggleButton.classList.remove("tna-header__navigation-button--opened");for(let e=0;e<this.$links.length;e+=1)this.$links[e].setAttribute("tabindex","-1")}}},384(e,t,i){i.d(t,{Picture:()=>n});var s=i(181);class n{constructor(e){this.$module=e,this.$imageWrapper=e&&e.querySelector(".tna-picture__image-wrapper"),this.$transcriptToggle=this.$imageWrapper&&this.$imageWrapper.querySelector(".tna-picture__toggle-transcript"),this.$transcript=e&&e.querySelector(".tna-picture__transcript"),this.transcriptOpened=!1,this.$module&&this.$imageWrapper&&this.$transcriptToggle&&this.$transcript&&(this.openLabel=this.$module.dataset.informationLabelOpen||"Open transcript",this.closeLabel=this.$module.dataset.informationLabelClose||"Close transcript",this.init())}init(){const e=`tna-picture-${(0,s.A)()}`;this.$transcriptToggle.removeAttribute("hidden"),this.$transcriptToggle.setAttribute("aria-controls",e),this.$transcriptToggle.innerText=this.openLabel,this.$transcriptToggle.addEventListener("click",()=>this.toggleTranscript()),this.$transcript.setAttribute("id",e),this.$transcript.setAttribute("hidden",""),this.$transcript.addEventListener("keydown",e=>{"Escape"===e.key&&(this.toggleTranscript(),this.$transcriptToggle.focus())})}toggleTranscript(){this.transcriptOpened=!this.transcriptOpened,this.transcriptOpened?(this.$transcriptToggle.setAttribute("aria-expanded",!0),this.$transcriptToggle.innerText=this.closeLabel,this.$transcript.removeAttribute("hidden")):(this.$transcriptToggle.setAttribute("aria-expanded",!1),this.$transcriptToggle.innerText=this.openLabel,this.$transcript.setAttribute("hidden",""))}}},612(e,t,i){i.d(t,{Sidebar:()=>s});class s{constructor(e,t={}){if(this.$module=e,this.items=e&&Array.from(e.querySelectorAll(".tna-sidebar__item")).map(e=>{const t=e.querySelector(".tna-sidebar__link[href^='#']").getAttribute("href").substring(1);return{$item:e,id:t,target:document.getElementById(t)}}).filter(e=>e.target),!this.$module||!this.items)return;const{scrollTopThreshold:i=0,disableHighlightSize:s="small"}=t;this.scrollTopThreshold=i,this.disableHighlightSize=s,this.init()}init(){if(this.breakpoints={tiny:getComputedStyle(document.documentElement).getPropertyValue("--media-breakpoint-tiny")||"480px",small:getComputedStyle(document.documentElement).getPropertyValue("--media-breakpoint-small")||"768px",medium:getComputedStyle(document.documentElement).getPropertyValue("--media-breakpoint-medium")||"1024px"},this.disableHighlightSize){if(!Object.keys(this.breakpoints).includes(this.disableHighlightSize))throw new Error(`Invalid value for disableHighlightSize: ${this.disableHighlightSize}. Expected one of: ${Object.keys(this.breakpoints).join(", ")}`);this.hideOnDevice=window.matchMedia(`(max-width: ${this.breakpoints[this.disableHighlightSize]})`)}else this.hideOnDevice=null;this.currentItem=null,window.addEventListener("scroll",()=>this.highlightCurrentSection()),window.addEventListener("resize",()=>this.highlightCurrentSection()),this.highlightCurrentSection()}highlightCurrentSection(){if(this.hideOnDevice&&this.hideOnDevice.matches)return this.items.forEach(e=>{e.$item.classList.remove("tna-sidebar__item--current")}),void(this.currentItem=null);const e=this.items.findLast(e=>Math.floor(e.target.getBoundingClientRect().top)<=this.scrollTopThreshold);e!==this.currentItem&&this.items.forEach(t=>{e&&t===e?(this.currentItem=t,this.currentItem.$item.classList.add("tna-sidebar__item--current")):t.$item.classList.remove("tna-sidebar__item--current")}),this.currentItem=e||null}}},292(e,t,i){i.d(t,{SkipLink:()=>s});class s{linkedElementListener=!1;constructor(e){this.$module=e,this.linkedElementId=e.getAttribute("href")?.split("#").pop(),this.$linkedElement=e&&this.linkedElementId&&document.getElementById(this.linkedElementId),this.$module&&this.$linkedElement&&this.$module.addEventListener("click",()=>this.focusLinkedElement())}focusLinkedElement(){this.$linkedElement.getAttribute("tabindex")||(this.$linkedElement.setAttribute("tabindex","-1"),this.$linkedElement.classList.add("tna-!--no-focus-style"),this.linkedElementListener||(this.$linkedElement.addEventListener("blur",()=>this.removeFocusProperties()),this.linkedElementListener=!0)),this.$linkedElement.focus()}removeFocusProperties(){this.$linkedElement.removeAttribute("tabindex"),this.$linkedElement.classList.remove("tna-!--no-focus-style")}}},42(e,t,i){i.d(t,{Tabs:()=>s});class s{constructor(e){this.$module=e,this.$tabList=e&&e.querySelector(".tna-tabs__list"),this.$tabListItemLinks=e&&this.$tabList&&this.$tabList.querySelectorAll(".tna-tabs__button"),this.$tabItems=e&&e.querySelectorAll(".tna-tabs__item"),this.$module&&this.$tabList&&this.$tabListItemLinks&&this.$tabItems&&this.$tabListItemLinks.length===this.$tabItems.length&&(this.currentTabIndex=0,this.init())}init(){this.$module.classList.add("tna-tabs--interactive"),this.$tabList.removeAttribute("hidden"),this.$tabListItemLinks.forEach(e=>{const t=e.getAttribute("aria-controls");e.setAttribute("aria-selected",!1);const i=document.getElementById(t);i.setAttribute("aria-labelledby",e.id),i.setAttribute("role","tabpanel"),e.addEventListener("click",e=>this.handleItemLinkClick(e),!0)}),this.switchTabByIndex(this.currentTabIndex),this.$module.addEventListener("keydown",e=>this.handleItemLinkKeyDown(e))}handleItemLinkClick(e){e.preventDefault();const t=e.currentTarget.getAttribute("aria-controls");this.switchTabByID(t)}handleItemLinkKeyDown(e){let t=!1;switch(e.key){case"ArrowLeft":case"ArrowUp":this.previousTab(),t=!0;break;case"ArrowRight":case"ArrowDown":this.nextTab(),t=!0;break;case"Home":this.switchTabByIndex(0,!0),t=!0;break;case"End":this.switchTabByIndex(this.$tabListItemLinks.length-1,!0),t=!0}t&&(e.stopPropagation(),e.preventDefault())}nextTab(){this.currentTabIndex<this.$tabListItemLinks.length-1?this.switchTabByIndex(this.currentTabIndex+1,!0):this.switchTabByIndex(0,!0)}previousTab(){this.currentTabIndex>=1?this.switchTabByIndex(this.currentTabIndex-1,!0):this.switchTabByIndex(this.$tabListItemLinks.length-1,!0)}switchTabByIndex(e,t=!1){this.currentTabIndex=e,this.$tabListItemLinks.forEach((e,i)=>{i===this.currentTabIndex?(e.setAttribute("aria-selected",!0),e.setAttribute("tabindex","0"),t&&e.focus()):(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"))}),this.$tabItems.forEach((e,t)=>{t===this.currentTabIndex?(e.removeAttribute("hidden"),e.setAttribute("tabindex","0")):(e.setAttribute("hidden",""),e.setAttribute("tabindex","-1"))})}switchTabByID(e){const t=Array.from(this.$tabItems).findIndex(t=>t.getAttribute("id")===e);this.switchTabByIndex(t)}}},866(e,t,i){i.d(t,{TextInputPassword:()=>s});class s{constructor(e){this.$module=e,this.$input=e&&e.querySelector(".tna-text-input"),this.$module&&this.$input&&"password"===this.$input.getAttribute("type")&&(this.$textInputWrapper=document.createElement("div"),this.$textInputWrapper.classList.add("tna-text-input-wrapper"),this.$textInputPasswordToggle=document.createElement("button"),this.$textInputPasswordToggle.setAttribute("type","button"),this.$textInputPasswordToggle.classList.add("tna-button","tna-button--small","tna-button--icon-only"),this.$textInputPasswordToggle.setAttribute("aria-controls",this.$input.id),this.updateTogglePasswordButtonText(),this.$textInputWrapper.appendChild(this.$input),this.$textInputWrapper.appendChild(this.$textInputPasswordToggle),this.$module.appendChild(this.$textInputWrapper),this.$textInputPasswordToggle.addEventListener("click",()=>{this.togglePasswordType(),this.$input.focus()}))}togglePasswordType(){"password"===this.$input.getAttribute("type")?this.$input.setAttribute("type","text"):this.$input.setAttribute("type","password"),this.updateTogglePasswordButtonText()}updateTogglePasswordButtonText(){"password"===this.$input.getAttribute("type")?(this.$textInputPasswordToggle.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" height="24" aria-hidden="true" focusable="false">\x3c!--!Font Awesome Free v7.0.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--\x3e<path d="M320 96C239.2 96 174.5 132.8 127.4 176.6C80.6 220.1 49.3 272 34.4 307.7C31.1 315.6 31.1 324.4 34.4 332.3C49.3 368 80.6 420 127.4 463.4C174.5 507.1 239.2 544 320 544C400.8 544 465.5 507.2 512.6 463.4C559.4 419.9 590.7 368 605.6 332.3C608.9 324.4 608.9 315.6 605.6 307.7C590.7 272 559.4 220 512.6 176.6C465.5 132.9 400.8 96 320 96zM176 320C176 240.5 240.5 176 320 176C399.5 176 464 240.5 464 320C464 399.5 399.5 464 320 464C240.5 464 176 399.5 176 320zM320 256C320 291.3 291.3 320 256 320C244.5 320 233.7 317 224.3 311.6C223.3 322.5 224.2 333.7 227.2 344.8C240.9 396 293.6 426.4 344.8 412.7C396 399 426.4 346.3 412.7 295.1C400.5 249.4 357.2 220.3 311.6 224.3C316.9 233.6 320 244.4 320 256z" /></svg>Show password',this.$textInputPasswordToggle.setAttribute("title","Show password"),this.$textInputPasswordToggle.setAttribute("aria-label","Show password")):(this.$textInputPasswordToggle.innerHTML='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" height="24" aria-hidden="true" focusable="false">\x3c!--!Font Awesome Free v7.0.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--\x3e<path d="M73 39.1C63.6 29.7 48.4 29.7 39.1 39.1C29.8 48.5 29.7 63.7 39 73.1L567 601.1C576.4 610.5 591.6 610.5 600.9 601.1C610.2 591.7 610.3 576.5 600.9 567.2L504.5 470.8C507.2 468.4 509.9 466 512.5 463.6C559.3 420.1 590.6 368.2 605.5 332.5C608.8 324.6 608.8 315.8 605.5 307.9C590.6 272.2 559.3 220.2 512.5 176.8C465.4 133.1 400.7 96.2 319.9 96.2C263.1 96.2 214.3 114.4 173.9 140.4L73 39.1zM236.5 202.7C260 185.9 288.9 176 320 176C399.5 176 464 240.5 464 320C464 351.1 454.1 379.9 437.3 403.5L402.6 368.8C415.3 347.4 419.6 321.1 412.7 295.1C399 243.9 346.3 213.5 295.1 227.2C286.5 229.5 278.4 232.9 271.1 237.2L236.4 202.5zM357.3 459.1C345.4 462.3 332.9 464 320 464C240.5 464 176 399.5 176 320C176 307.1 177.7 294.6 180.9 282.7L101.4 203.2C68.8 240 46.4 279 34.5 307.7C31.2 315.6 31.2 324.4 34.5 332.3C49.4 368 80.7 420 127.5 463.4C174.6 507.1 239.3 544 320.1 544C357.4 544 391.3 536.1 421.6 523.4L357.4 459.2z" /></svg>Hide password',this.$textInputPasswordToggle.setAttribute("title","Hide password"),this.$textInputPasswordToggle.setAttribute("aria-label","Hide password"))}}},494(e,t,i){i.d(t,{TextAreaItemisedRows:()=>s});class s{constructor(e,t={}){if(this.$module=e,this.$formFieldInput=this.$module&&this.$module.querySelector(".tna-textarea"),this.$formFieldInputHint=this.$module&&this.$module.querySelector(".tna-form-item__hint"),this.$formFieldBody=this.$module&&this.$module.querySelector(".tna-form-item__body"),!this.$module||!this.$formFieldInput||!this.$formFieldBody||null!==this.$formFieldInput.getAttribute("hidden"))return;const{enhancedHint:i}=t;this.enhancedHint=i||"Enter an item and press enter",this.init()}init(){this.values=this.$formFieldInput.value.split("\n").map(e=>e.trim()).filter(e=>e),this.id=this.$formFieldInput.id,this.$formFieldNewInput=document.createElement("input"),this.$formFieldNewInput.classList.add("tna-text-input"),["id","aria-describedby"].forEach(e=>{this.$formFieldNewInput.setAttribute(e,this.$formFieldInput.getAttribute(e)),this.$formFieldInput.removeAttribute(e)}),this.$formFieldBody.appendChild(this.$formFieldNewInput),this.$formFieldInput.setAttribute("hidden",""),this.$formFieldInput.addEventListener("keyup",()=>this.updateList()),this.$formFieldNewInput.addEventListener("keypress",e=>{"Enter"===e.key&&this.appendValue(e.target.value)}),this.$formFieldNewInputAddButton=document.createElement("button"),this.$formFieldNewInputAddButton.setAttribute("type","button"),this.$formFieldNewInputAddButton.classList.add("tna-button","tna-button--small"),this.$formFieldNewInputAddButtonInner=document.createElement("span"),this.$formFieldNewInputAddButtonInner.innerText="Add",this.$formFieldNewInputAddButtonInnerExtra=document.createElement("span"),this.$formFieldNewInputAddButtonInnerExtra.classList.add("tna-visually-hidden"),this.$formFieldNewInputAddButtonInnerExtra.innerText=" to list",this.$formFieldNewInputAddButtonInner.appendChild(this.$formFieldNewInputAddButtonInnerExtra),this.$formFieldNewInputAddButton.appendChild(this.$formFieldNewInputAddButtonInner),this.$formFieldBody.appendChild(this.$formFieldNewInputAddButton),this.$formFieldNewInputAddButton.addEventListener("click",()=>{this.appendValue(this.$formFieldNewInput.value)}),this.$formFieldLiveAria=document.createElement("div"),this.$formFieldLiveAria.setAttribute("aria-live","assertive"),this.$formFieldLiveAria.classList.add("tna-visually-hidden"),this.$module.appendChild(this.$formFieldLiveAria),this.$formFieldCounter=document.createElement("p"),this.$formFieldCounter.id=`${this.id}-list-helper`,this.$formFieldCounter.classList.add("tna-!--margin-top-xs"),this.$module.appendChild(this.$formFieldCounter),this.$formFieldNewInput.setAttribute("aria-describedby",`${this.$formFieldNewInput.getAttribute("aria-describedby")} ${this.$formFieldCounter.id}`),this.$valuesList=document.createElement("ul"),this.$valuesList.classList.add("tna-compound-filters","tna-!--margin-top-xs"),this.$valuesList.addEventListener("blur",()=>{this.$valuesList.removeAttribute("tabindex"),this.updateAriaText("")}),this.$module.appendChild(this.$valuesList),this.$formFieldInputHint||(this.$formFieldInputHint=document.createElement("p"),this.$formFieldInputHint.classList.add("tna-form-item__hint"),this.$formFieldBody.parentNode.insertBefore(this.$formFieldInputHint,this.$formFieldBody)),this.$formFieldInputHint.innerText=this.enhancedHint,this.updateList()}updateAriaText(e){this.$formFieldLiveAria.innerText=e}normaliseValue(e){return e.replace(/\s{2,}/u," ").trim()}isValueInList(e){return this.values.map(e=>this.normaliseValue(e).toLowerCase()).includes(e.toLowerCase().trim())}appendValue(e){const t=this.normaliseValue(e);t?this.isValueInList(t)?this.updateAriaText(`'${t}' already added`):(this.values.push(t),this.$formFieldInput.value=this.values.join("\n"),this.updateList(),this.updateAriaText(`'${t}' added`)):this.updateAriaText("Enter an item to add"),this.$formFieldNewInput.value="",this.$formFieldNewInput.focus()}removeValue(e){const t=this.normaliseValue(e);t&&this.isValueInList(t)&&(this.values=this.values.filter(e=>e!==t),this.$formFieldInput.value=this.values.join("\n"),this.updateList(),this.updateAriaText(`'${t}' removed`)),this.values.length?(this.$valuesList.setAttribute("tabindex","0"),this.$valuesList.focus()):this.$formFieldNewInput.focus()}updateList(){this.$valuesList.innerHTML="",this.values.map(e=>{const t=document.createElement("li");t.classList.add("tna-compound-filters__item");const i=document.createElement("span");i.innerText=e,t.appendChild(i);const s=document.createElement("button");return s.innerText=`Remove '${e}'`,s.setAttribute("type","button"),s.classList.add("tna-compound-filters__link"),s.addEventListener("click",()=>{this.removeValue(e)}),t.appendChild(s),t}).forEach(e=>this.$valuesList.appendChild(e));let e="item";1!==this.values.length&&(e+="s");const t=`${this.values.length} ${e} added`;this.$formFieldCounter.innerText=t}}},927(e,t,i){var s=i(181);i.d(t,["DJ",0,e=>{const t=e.querySelector("caption");"true"!==e.dataset.tableScrollInitialised&&(t&&!t.id&&(t.id=`table-caption-${(0,s.A)()}`),e.dataset.tableScrollInitialised="true"),e.scrollWidth>e.clientWidth?(e.setAttribute("tabindex","0"),e.setAttribute("role","region"),e.setAttribute("aria-labelledby",t?.id||""),e.classList.add("tna-table-wrapper--scroll")):(e.removeAttribute("tabindex"),e.removeAttribute("role"),e.removeAttribute("aria-labelledby"),e.classList.remove("tna-table-wrapper--scroll"))},"FH",0,e=>{const t=e.getAttribute("datetime");try{const i=(e=>{const t=e;if(!t)throw new Error("No datetime provided");const i=/^\d{4}(?:-\d{2}){2}(?:T| )\d{2}(?::\d{2}){1,2}(?:\.\d+)?(?:Z|(?:[+-]\d{2}:\d{2}))?$/u.test(t),s=/^\d{4}(?:-\d{2}){2}$/u.test(t);if(!i&&!s)throw new Error("Invalid datetime provided");const n=new Date(t);if(!(n instanceof Date)||isNaN(n))throw new Error("Invalid datetime provided");const r=n.toLocaleDateString("en-GB",{weekday:"long"}),a=n.toLocaleDateString("en-GB",{day:"numeric",month:"long",year:"numeric"});if(i&&(n.getHours()||n.getMinutes())){let e=n.toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit"});return n.getSeconds()&&(e=n.toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit",second:"2-digit"})),`${r} ${a}, ${e}`}return`${r} ${a}`})(t);i.includes(e.textContent)||(e.setAttribute("title",e.textContent),e.textContent=i)}catch(e){}}])},181(e,t,i){i.d(t,["A",0,()=>([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/gu,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16))])}};const t={};function i(s){const n=t[s];if(void 0!==n)return n.exports;const r=t[s]={exports:{}};return e[s](r,r.exports,i),r.exports}i.d=(e,t)=>{if(Array.isArray(t))for(var s=0;s<t.length;){var n=t[s++],r=t[s++];i.o(e,n)?0===r&&s++:0===r?Object.defineProperty(e,n,{enumerable:!0,value:t[s++]}):Object.defineProperty(e,n,{enumerable:!0,get:r})}else for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};let s={};i.r(s),i.d(s,{Accordion:()=>n.Accordion,Breadcrumbs:()=>r.Breadcrumbs,CodeBlock:()=>a.CodeBlock,CookieBanner:()=>o.CookieBanner,DateInputProgressive:()=>l.DateInputProgressive,ErrorSummary:()=>d.ErrorSummary,FileInputDroppable:()=>h.FileInputDroppable,Footer:()=>c.Footer,Gallery:()=>u.Gallery,GlobalHeader:()=>m.GlobalHeader,Header:()=>p.Header,Picture:()=>$.Picture,Sidebar:()=>b.Sidebar,SkipLink:()=>g.SkipLink,Tabs:()=>f.Tabs,TextAreaItemisedRows:()=>y.TextAreaItemisedRows,TextInputPassword:()=>v.TextInputPassword,checkTableForScroll:()=>A.DJ,updateTimeElement:()=>A.FH});var n=i(944),r=i(592),a=i(984),o=i(24),l=i(728),d=i(552),h=i(76),c=i(876),u=i(344),m=i(576),p=i(432),$=i(384),b=i(612),g=i(292),f=i(42),v=i(866),y=i(494),A=i(927);return i.d(s,["initAll",0,(e={})=>{const{scope:t}=e;let i=document;if(t){if(!(t instanceof HTMLElement))throw new Error("Scope must be an HTMLElement");i=t}const s=document.documentElement;s.classList.add("tna-template--js-enabled");const w=()=>{window.removeEventListener("touchstart",w),s.classList.add("tna-template--touched")};window.addEventListener("touchstart",w),window.addEventListener("keydown",e=>{"Tab"===e.key&&(s.classList.add("tna-template--tabbed"),s.classList.remove("tna-template--clicked"))}),window.addEventListener("mousedown",()=>{s.classList.add("tna-template--clicked"),s.classList.remove("tna-template--tabbed")});const L=i.querySelectorAll(".tna-table-wrapper");L.forEach(e=>(0,A.DJ)(e)),window.addEventListener("resize",()=>{L.forEach(e=>(0,A.DJ)(e))}),s.classList.contains("tna-template--enhance-time-elements")&&document.querySelectorAll("time[datetime]").forEach(A.FH),i.querySelectorAll('[data-module="tna-accordion"]').forEach(e=>{new n.Accordion(e)});const I=i.querySelector('[data-module="tna-breadcrumbs"]');I&&new r.Breadcrumbs(I),i.querySelectorAll('[data-module="tna-code-block"]').forEach(e=>{new a.CodeBlock(e)});const E=i.querySelector('[data-module="tna-cookie-banner"]');E&&new o.CookieBanner(E),i.querySelectorAll('[data-module="tna-date-input-progressive"]').forEach(e=>{new l.DateInputProgressive(e)});const x=i.querySelector('[data-module="tna-error-summary"]');x&&new d.ErrorSummary(x).init(),i.querySelectorAll('[data-module="tna-file-input"]').forEach(e=>{new h.FileInputDroppable(e)});const k=i.querySelector('[data-module="tna-footer"]');k&&new c.Footer(k),i.querySelectorAll('[data-module="tna-gallery"]').forEach(e=>{new u.Gallery(e)});const S=i.querySelector('[data-module="tna-global-header"]');S&&new m.GlobalHeader(S);const T=i.querySelector('[data-module="tna-header"]');T&&new p.Header(T),i.querySelectorAll('[data-module="tna-picture"]').forEach(e=>{new $.Picture(e)});const _=i.querySelector('[data-module="tna-sidebar-sections"]');if(_){const{scrollTopThreshold:e,disableHighlightSize:t}=_.dataset;new b.Sidebar(_,{scrollTopThreshold:e,disableHighlightSize:t})}i.querySelectorAll('[data-module="tna-skip-link"]').forEach(e=>{new g.SkipLink(e)}),i.querySelectorAll('[data-module="tna-tabs"]').forEach(e=>{new f.Tabs(e)}),i.querySelectorAll('[data-module="tna-textarea-itemised-rows"]').forEach(e=>{const{enhancedHint:t}=e.dataset;new y.TextAreaItemisedRows(e,{enhancedHint:t})}),i.querySelectorAll('[data-module="tna-text-input-password"]').forEach(e=>{new v.TextInputPassword(e)}),window.matchMedia("print").addEventListener("change",e=>{e.matches?(i.querySelectorAll(".tna-details__details:not([open])").forEach(e=>{e.setAttribute("open",""),e.dataset.wasClosed=""}),i.querySelectorAll(".tna-accordion__content[hidden], .tna-picture__transcript[hidden]").forEach(e=>{e.removeAttribute("hidden"),e.dataset.wasClosed=""})):(i.querySelectorAll(".tna-details__details[data-was-closed]").forEach(e=>{e.removeAttribute("open"),delete e.dataset.wasClosed}),i.querySelectorAll(".tna-accordion__content[data-was-closed], .tna-picture__transcript[data-was-closed]").forEach(e=>{e.setAttribute("hidden",""),e.dataset.wasClosed=""}))})}]),s})());
|
|
2
2
|
//# sourceMappingURL=all.js.map
|