hmrc-frontend 7.34.0 → 7.35.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.
@@ -1,3 +1,3 @@
1
- !function(){"use strict";function t(t){const e=`--govuk-breakpoint-${t}`;return{property:e,value:window.getComputedStyle(document.documentElement).getPropertyValue(e)||void 0}}function e(t,e={}){var n;const i=t.getAttribute("tabindex");function o(){var n;null==(n=e.onBlur)||n.call(t),i||t.removeAttribute("tabindex")}i||t.setAttribute("tabindex","-1"),t.addEventListener("focus",(function(){t.addEventListener("blur",o,{once:!0})}),{once:!0}),null==(n=e.onBeforeFocus)||n.call(t),t.focus()}function n(t=document.body){return!!t&&t.classList.contains("govuk-frontend-supported")}function i(t){return!!t&&"object"==typeof t&&!function(t){return Array.isArray(t)}(t)}function o(t){return!!t&&(t instanceof Element||t instanceof Document)}function s(t,e){return`${t.moduleName}: ${e}`}class r extends Error{constructor(...t){super(...t),this.name="GOVUKFrontendError"}}class a extends r{constructor(t=document.body){const e="noModule"in HTMLScriptElement.prototype?'GOV.UK Frontend initialised without `<body class="govuk-frontend-supported">` from template `<script>` snippet':"GOV.UK Frontend is not supported in this browser";super(t?e:'GOV.UK Frontend initialised without `<script type="module">`'),this.name="SupportError"}}class c extends r{constructor(...t){super(...t),this.name="ConfigError"}}class u extends r{constructor(t){let e="string"==typeof t?t:"";if(i(t)){const{component:n,identifier:i,element:o,expectedType:r}=t;e=i,e+=o?` is not of type ${null!=r?r:"HTMLElement"}`:" not found",n&&(e=s(n,e))}super(e),this.name="ElementError"}}class l extends r{constructor(t){super("string"==typeof t?t:s(t,"Root element (`$root`) already initialised")),this.name="InitError"}}class d{get $root(){return this._$root}constructor(t){this._$root=void 0;const e=this.constructor;if("string"!=typeof e.moduleName)throw new l("`moduleName` not defined in component");if(!(t instanceof e.elementType))throw new u({element:t,component:e,identifier:"Root element (`$root`)",expectedType:e.elementType.name});this._$root=t,e.checkSupport(),this.checkInitialised();const n=e.moduleName;this.$root.setAttribute(`data-${n}-init`,"")}checkInitialised(){const t=this.constructor,e=t.moduleName;if(e&&function(t,e){return t instanceof HTMLElement&&t.hasAttribute(`data-${e}-init`)}(this.$root,e))throw new l(t)}static checkSupport(){if(!n())throw new a}}d.elementType=HTMLElement;const h=Symbol.for("configOverride");class p extends d{[h](t){return{}}get config(){return this._config}constructor(t,e){super(t),this._config=void 0;const n=this.constructor;if(!i(n.defaults))throw new c(s(n,"Config passed as parameter into constructor but no defaults defined"));const o=function(t,e){if(!i(t.schema))throw new c(s(t,"Config passed as parameter into constructor but no schema defined"));const n={},o=Object.entries(t.schema.properties);for(const i of o){const[o,s]=i,r=o.toString();r in e&&(n[r]=m(e[r],s)),"object"===(null==s?void 0:s.type)&&(n[r]=v(t.schema,e,o))}return n}(n,this._$root.dataset);this._config=f(n.defaults,null!=e?e:{},this[h](o),o)}}function m(t,e){const n=t?t.trim():"";let i,o=null==e?void 0:e.type;switch(o||(["true","false"].includes(n)&&(o="boolean"),n.length>0&&isFinite(Number(n))&&(o="number")),o){case"boolean":i="true"===n;break;case"number":i=Number(n);break;default:i=t}return i}function g(t){let e,n=document;if(i(t)){const i=t;(o(i.scope)||null===i.scope)&&(n=i.scope),"function"==typeof i.onError&&(e=i.onError)}return o(t)?n=t:null===t?n=null:"function"==typeof t&&(e=t),{scope:n,onError:e}}function f(...t){const e={};for(const n of t)for(const t of Object.keys(n)){const o=e[t],s=n[t];i(o)&&i(s)?e[t]=f(o,s):e[t]=s}return e}function v(t,e,n){const o=t.properties[n];if("object"!==(null==o?void 0:o.type))return;const s={[n]:{}};for(const[t,o]of Object.entries(e)){let e=s;const r=t.split(".");for(const[s,a]of r.entries())i(e)&&(s<r.length-1?(i(e[a])||(e[a]={}),e=e[a]):t!==n&&(e[a]=m(o)))}return s[n]}class b{constructor(t={},e={}){var n;this.translations=void 0,this.locale=void 0,this.translations=t,this.locale=null!=(n=e.locale)?n:document.documentElement.lang||"en"}t(t,e){if(!t)throw new Error("i18n: lookup key missing");let n=this.translations[t];if("number"==typeof(null==e?void 0:e.count)&&i(n)){const i=n[this.getPluralSuffix(t,e.count)];i&&(n=i)}if("string"==typeof n){if(n.match(/%{(.\S+)}/)){if(!e)throw new Error("i18n: cannot replace placeholders in string if no option data provided");return this.replacePlaceholders(n,e)}return n}return t}replacePlaceholders(t,e){const n=Intl.NumberFormat.supportedLocalesOf(this.locale).length?new Intl.NumberFormat(this.locale):void 0;return t.replace(/%{(.\S+)}/g,(function(t,i){if(Object.prototype.hasOwnProperty.call(e,i)){const t=e[i];return!1===t||"number"!=typeof t&&"string"!=typeof t?"":"number"==typeof t?n?n.format(t):`${t}`:t}throw new Error(`i18n: no data found to replace ${t} placeholder in string`)}))}hasIntlPluralRulesSupport(){return Boolean("PluralRules"in window.Intl&&Intl.PluralRules.supportedLocalesOf(this.locale).length)}getPluralSuffix(t,e){if(e=Number(e),!isFinite(e))return"other";const n=this.translations[t],o=this.hasIntlPluralRulesSupport()?new Intl.PluralRules(this.locale).select(e):"other";if(i(n)){if(o in n)return o;if("other"in n)return console.warn(`i18n: Missing plural form ".${o}" for "${this.locale}" locale. Falling back to ".other".`),"other"}throw new Error(`i18n: Plural form ".other" is required for "${this.locale}" locale`)}}class w extends p{constructor(t,e={}){super(t,e),this.i18n=void 0,this.controlsClass="govuk-accordion__controls",this.showAllClass="govuk-accordion__show-all",this.showAllTextClass="govuk-accordion__show-all-text",this.sectionClass="govuk-accordion__section",this.sectionExpandedClass="govuk-accordion__section--expanded",this.sectionButtonClass="govuk-accordion__section-button",this.sectionHeaderClass="govuk-accordion__section-header",this.sectionHeadingClass="govuk-accordion__section-heading",this.sectionHeadingDividerClass="govuk-accordion__section-heading-divider",this.sectionHeadingTextClass="govuk-accordion__section-heading-text",this.sectionHeadingTextFocusClass="govuk-accordion__section-heading-text-focus",this.sectionShowHideToggleClass="govuk-accordion__section-toggle",this.sectionShowHideToggleFocusClass="govuk-accordion__section-toggle-focus",this.sectionShowHideTextClass="govuk-accordion__section-toggle-text",this.upChevronIconClass="govuk-accordion-nav__chevron",this.downChevronIconClass="govuk-accordion-nav__chevron--down",this.sectionSummaryClass="govuk-accordion__section-summary",this.sectionSummaryFocusClass="govuk-accordion__section-summary-focus",this.sectionContentClass="govuk-accordion__section-content",this.$sections=void 0,this.$showAllButton=null,this.$showAllIcon=null,this.$showAllText=null,this.i18n=new b(this.config.i18n);const n=this.$root.querySelectorAll(`.${this.sectionClass}`);if(!n.length)throw new u({component:w,identifier:`Sections (\`<div class="${this.sectionClass}">\`)`});this.$sections=n,this.initControls(),this.initSectionHeaders(),this.updateShowAllButton(this.areAllSectionsOpen())}initControls(){this.$showAllButton=document.createElement("button"),this.$showAllButton.setAttribute("type","button"),this.$showAllButton.setAttribute("class",this.showAllClass),this.$showAllButton.setAttribute("aria-expanded","false"),this.$showAllIcon=document.createElement("span"),this.$showAllIcon.classList.add(this.upChevronIconClass),this.$showAllButton.appendChild(this.$showAllIcon);const t=document.createElement("div");t.setAttribute("class",this.controlsClass),t.appendChild(this.$showAllButton),this.$root.insertBefore(t,this.$root.firstChild),this.$showAllText=document.createElement("span"),this.$showAllText.classList.add(this.showAllTextClass),this.$showAllButton.appendChild(this.$showAllText),this.$showAllButton.addEventListener("click",(()=>this.onShowOrHideAllToggle())),"onbeforematch"in document&&document.addEventListener("beforematch",(t=>this.onBeforeMatch(t)))}initSectionHeaders(){this.$sections.forEach(((t,e)=>{const n=t.querySelector(`.${this.sectionHeaderClass}`);if(!n)throw new u({component:w,identifier:`Section headers (\`<div class="${this.sectionHeaderClass}">\`)`});this.constructHeaderMarkup(n,e),this.setExpanded(this.isExpanded(t),t),n.addEventListener("click",(()=>this.onSectionToggle(t))),this.setInitialState(t)}))}constructHeaderMarkup(t,e){const n=t.querySelector(`.${this.sectionButtonClass}`),i=t.querySelector(`.${this.sectionHeadingClass}`),o=t.querySelector(`.${this.sectionSummaryClass}`);if(!i)throw new u({component:w,identifier:`Section heading (\`.${this.sectionHeadingClass}\`)`});if(!n)throw new u({component:w,identifier:`Section button placeholder (\`<span class="${this.sectionButtonClass}">\`)`});const s=document.createElement("button");s.setAttribute("type","button"),s.setAttribute("aria-controls",`${this.$root.id}-content-${e+1}`);for(const t of Array.from(n.attributes))"id"!==t.name&&s.setAttribute(t.name,t.value);const r=document.createElement("span");r.classList.add(this.sectionHeadingTextClass),r.id=n.id;const a=document.createElement("span");a.classList.add(this.sectionHeadingTextFocusClass),r.appendChild(a),Array.from(n.childNodes).forEach((t=>a.appendChild(t)));const c=document.createElement("span");c.classList.add(this.sectionShowHideToggleClass),c.setAttribute("data-nosnippet","");const l=document.createElement("span");l.classList.add(this.sectionShowHideToggleFocusClass),c.appendChild(l);const d=document.createElement("span"),h=document.createElement("span");if(h.classList.add(this.upChevronIconClass),l.appendChild(h),d.classList.add(this.sectionShowHideTextClass),l.appendChild(d),s.appendChild(r),s.appendChild(this.getButtonPunctuationEl()),o){const t=document.createElement("span"),e=document.createElement("span");e.classList.add(this.sectionSummaryFocusClass),t.appendChild(e);for(const e of Array.from(o.attributes))t.setAttribute(e.name,e.value);Array.from(o.childNodes).forEach((t=>e.appendChild(t))),o.remove(),s.appendChild(t),s.appendChild(this.getButtonPunctuationEl())}s.appendChild(c),i.removeChild(n),i.appendChild(s)}onBeforeMatch(t){const e=t.target;if(!(e instanceof Element))return;const n=e.closest(`.${this.sectionClass}`);n&&this.setExpanded(!0,n)}onSectionToggle(t){const e=!this.isExpanded(t);this.setExpanded(e,t),this.storeState(t,e)}onShowOrHideAllToggle(){const t=!this.areAllSectionsOpen();this.$sections.forEach((e=>{this.setExpanded(t,e),this.storeState(e,t)})),this.updateShowAllButton(t)}setExpanded(t,e){const n=e.querySelector(`.${this.upChevronIconClass}`),i=e.querySelector(`.${this.sectionShowHideTextClass}`),o=e.querySelector(`.${this.sectionButtonClass}`),s=e.querySelector(`.${this.sectionContentClass}`);if(!s)throw new u({component:w,identifier:`Section content (\`<div class="${this.sectionContentClass}">\`)`});if(!n||!i||!o)return;const r=t?this.i18n.t("hideSection"):this.i18n.t("showSection");i.textContent=r,o.setAttribute("aria-expanded",`${t}`);const a=[],c=e.querySelector(`.${this.sectionHeadingTextClass}`);c&&a.push(c.textContent.trim());const l=e.querySelector(`.${this.sectionSummaryClass}`);l&&a.push(l.textContent.trim());const d=t?this.i18n.t("hideSectionAriaLabel"):this.i18n.t("showSectionAriaLabel");a.push(d),o.setAttribute("aria-label",a.join(" , ")),t?(s.removeAttribute("hidden"),e.classList.add(this.sectionExpandedClass),n.classList.remove(this.downChevronIconClass)):(s.setAttribute("hidden","until-found"),e.classList.remove(this.sectionExpandedClass),n.classList.add(this.downChevronIconClass)),this.updateShowAllButton(this.areAllSectionsOpen())}isExpanded(t){return t.classList.contains(this.sectionExpandedClass)}areAllSectionsOpen(){return Array.from(this.$sections).every((t=>this.isExpanded(t)))}updateShowAllButton(t){this.$showAllButton&&this.$showAllText&&this.$showAllIcon&&(this.$showAllButton.setAttribute("aria-expanded",t.toString()),this.$showAllText.textContent=t?this.i18n.t("hideAllSections"):this.i18n.t("showAllSections"),this.$showAllIcon.classList.toggle(this.downChevronIconClass,!t))}getIdentifier(t){const e=t.querySelector(`.${this.sectionButtonClass}`);return null==e?void 0:e.getAttribute("aria-controls")}storeState(t,e){if(!this.config.rememberExpanded)return;const n=this.getIdentifier(t);if(n)try{window.sessionStorage.setItem(n,e.toString())}catch(t){}}setInitialState(t){if(!this.config.rememberExpanded)return;const e=this.getIdentifier(t);if(e)try{const n=window.sessionStorage.getItem(e);null!==n&&this.setExpanded("true"===n,t)}catch(t){}}getButtonPunctuationEl(){const t=document.createElement("span");return t.classList.add("govuk-visually-hidden",this.sectionHeadingDividerClass),t.textContent=", ",t}}w.moduleName="govuk-accordion",w.defaults=Object.freeze({i18n:{hideAllSections:"Hide all sections",hideSection:"Hide",hideSectionAriaLabel:"Hide this section",showAllSections:"Show all sections",showSection:"Show",showSectionAriaLabel:"Show this section"},rememberExpanded:!0}),w.schema=Object.freeze({properties:{i18n:{type:"object"},rememberExpanded:{type:"boolean"}}});class y extends p{constructor(t,e={}){super(t,e),this.debounceFormSubmitTimer=null,this.$root.addEventListener("keydown",(t=>this.handleKeyDown(t))),this.$root.addEventListener("click",(t=>this.debounce(t)))}handleKeyDown(t){const e=t.target;" "===t.key&&e instanceof HTMLElement&&"button"===e.getAttribute("role")&&(t.preventDefault(),e.click())}debounce(t){if(this.config.preventDoubleClick)return this.debounceFormSubmitTimer?(t.preventDefault(),!1):void(this.debounceFormSubmitTimer=window.setTimeout((()=>{this.debounceFormSubmitTimer=null}),1e3))}}function $(t,e){const n=t.closest(`[${e}]`);return n?n.getAttribute(e):null}y.moduleName="govuk-button",y.defaults=Object.freeze({preventDoubleClick:!1}),y.schema=Object.freeze({properties:{preventDoubleClick:{type:"boolean"}}});class k extends p{[h](t){let e={};return("maxwords"in t||"maxlength"in t)&&(e={maxlength:void 0,maxwords:void 0}),e}constructor(t,e={}){var n,i;super(t,e),this.$textarea=void 0,this.count=0,this.$visibleCountMessage=void 0,this.$screenReaderCountMessage=void 0,this.lastInputTimestamp=null,this.lastInputValue="",this.valueChecker=null,this.i18n=void 0,this.maxLength=void 0;const o=this.$root.querySelector(".govuk-js-character-count");if(!(o instanceof HTMLTextAreaElement||o instanceof HTMLInputElement))throw new u({component:k,element:o,expectedType:"HTMLTextareaElement or HTMLInputElement",identifier:"Form field (`.govuk-js-character-count`)"});const r=function(t,e){const n=[];for(const[i,o]of Object.entries(t)){const t=[];if(Array.isArray(o)){for(const{required:n,errorMessage:i}of o)n.every((t=>!!e[t]))||t.push(i);"anyOf"!==i||o.length-t.length>=1||n.push(...t)}}return n}(k.schema,this.config);if(r[0])throw new c(s(k,r[0]));this.i18n=new b(this.config.i18n,{locale:$(this.$root,"lang")}),this.maxLength=null!=(n=null!=(i=this.config.maxwords)?i:this.config.maxlength)?n:1/0,this.$textarea=o;const a=`${this.$textarea.id}-info`,l=document.getElementById(a);if(!l)throw new u({component:k,element:l,identifier:`Count message (\`id="${a}"\`)`});this.$errorMessage=this.$root.querySelector(".govuk-error-message"),l.textContent.match(/^\s*$/)&&(l.textContent=this.i18n.t("textareaDescription",{count:this.maxLength})),this.$textarea.insertAdjacentElement("afterend",l);const d=document.createElement("div");d.className="govuk-character-count__sr-status govuk-visually-hidden",d.setAttribute("aria-live","polite"),this.$screenReaderCountMessage=d,l.insertAdjacentElement("afterend",d);const h=document.createElement("div");h.className=l.className,h.classList.add("govuk-character-count__status"),h.setAttribute("aria-hidden","true"),this.$visibleCountMessage=h,l.insertAdjacentElement("afterend",h),l.classList.add("govuk-visually-hidden"),this.$textarea.removeAttribute("maxlength"),this.bindChangeEvents(),window.addEventListener("pageshow",(()=>{this.$textarea.value!==this.$textarea.textContent&&(this.updateCount(),this.updateCountMessage())})),this.updateCount(),this.updateCountMessage()}bindChangeEvents(){this.$textarea.addEventListener("input",(()=>this.handleInput())),this.$textarea.addEventListener("focus",(()=>this.handleFocus())),this.$textarea.addEventListener("blur",(()=>this.handleBlur()))}handleInput(){this.updateCount(),this.updateVisibleCountMessage(),this.lastInputTimestamp=Date.now()}handleFocus(){this.valueChecker=window.setInterval((()=>{(!this.lastInputTimestamp||Date.now()-500>=this.lastInputTimestamp)&&this.updateIfValueChanged()}),1e3)}handleBlur(){this.valueChecker&&window.clearInterval(this.valueChecker)}updateIfValueChanged(){this.$textarea.value!==this.lastInputValue&&(this.lastInputValue=this.$textarea.value,this.updateCountMessage())}updateCountMessage(){this.updateVisibleCountMessage(),this.updateScreenReaderCountMessage()}updateVisibleCountMessage(){const t=this.maxLength-this.count<0;this.$visibleCountMessage.classList.toggle("govuk-character-count__message--disabled",!this.isOverThreshold()),this.$errorMessage||this.$textarea.classList.toggle("govuk-textarea--error",t),this.$visibleCountMessage.classList.toggle("govuk-error-message",t),this.$visibleCountMessage.classList.toggle("govuk-hint",!t),this.$visibleCountMessage.textContent=this.getCountMessage()}updateScreenReaderCountMessage(){this.isOverThreshold()?this.$screenReaderCountMessage.removeAttribute("aria-hidden"):this.$screenReaderCountMessage.setAttribute("aria-hidden","true"),this.$screenReaderCountMessage.textContent=this.getCountMessage()}updateCount(){const t=this.$textarea.value;if(this.config.maxwords){var e;const n=null!=(e=t.match(/\S+/g))?e:[];this.count=n.length}else this.count=t.length}getCountMessage(){const t=this.maxLength-this.count,e=this.config.maxwords?"words":"characters";return this.formatCountMessage(t,e)}formatCountMessage(t,e){if(0===t)return this.i18n.t(`${e}AtLimit`);const n=t<0?"OverLimit":"UnderLimit";return this.i18n.t(`${e}${n}`,{count:Math.abs(t)})}isOverThreshold(){if(!this.config.threshold)return!0;const t=this.count;return this.maxLength*this.config.threshold/100<=t}}k.moduleName="govuk-character-count",k.defaults=Object.freeze({threshold:0,i18n:{charactersUnderLimit:{one:"You have %{count} character remaining",other:"You have %{count} characters remaining"},charactersAtLimit:"You have 0 characters remaining",charactersOverLimit:{one:"You have %{count} character too many",other:"You have %{count} characters too many"},wordsUnderLimit:{one:"You have %{count} word remaining",other:"You have %{count} words remaining"},wordsAtLimit:"You have 0 words remaining",wordsOverLimit:{one:"You have %{count} word too many",other:"You have %{count} words too many"},textareaDescription:{other:""}}}),k.schema=Object.freeze({properties:{i18n:{type:"object"},maxwords:{type:"number"},maxlength:{type:"number"},threshold:{type:"number"}},anyOf:[{required:["maxwords"],errorMessage:'Either "maxlength" or "maxwords" must be provided'},{required:["maxlength"],errorMessage:'Either "maxlength" or "maxwords" must be provided'}]});class C extends d{constructor(t){super(t),this.$inputs=void 0;const e=this.$root.querySelectorAll('input[type="checkbox"]');if(!e.length)throw new u({component:C,identifier:'Form inputs (`<input type="checkbox">`)'});this.$inputs=e,this.$inputs.forEach((t=>{const e=t.getAttribute("data-aria-controls");if(e){if(!document.getElementById(e))throw new u({component:C,identifier:`Conditional reveal (\`id="${e}"\`)`});t.setAttribute("aria-controls",e),t.removeAttribute("data-aria-controls")}})),window.addEventListener("pageshow",(()=>this.syncAllConditionalReveals())),this.syncAllConditionalReveals(),this.$root.addEventListener("click",(t=>this.handleClick(t)))}syncAllConditionalReveals(){this.$inputs.forEach((t=>this.syncConditionalRevealWithInputState(t)))}syncConditionalRevealWithInputState(t){const e=t.getAttribute("aria-controls");if(!e)return;const n=document.getElementById(e);if(null!=n&&n.classList.contains("govuk-checkboxes__conditional")){const e=t.checked;t.setAttribute("aria-expanded",e.toString()),n.classList.toggle("govuk-checkboxes__conditional--hidden",!e)}}unCheckAllInputsExcept(t){document.querySelectorAll(`input[type="checkbox"][name="${t.name}"]`).forEach((e=>{t.form===e.form&&e!==t&&(e.checked=!1,this.syncConditionalRevealWithInputState(e))}))}unCheckExclusiveInputs(t){document.querySelectorAll(`input[data-behaviour="exclusive"][type="checkbox"][name="${t.name}"]`).forEach((e=>{t.form===e.form&&(e.checked=!1,this.syncConditionalRevealWithInputState(e))}))}handleClick(t){const e=t.target;e instanceof HTMLInputElement&&"checkbox"===e.type&&(e.getAttribute("aria-controls")&&this.syncConditionalRevealWithInputState(e),e.checked&&("exclusive"===e.getAttribute("data-behaviour")?this.unCheckAllInputsExcept(e):this.unCheckExclusiveInputs(e)))}}C.moduleName="govuk-checkboxes";class E extends p{constructor(t,n={}){super(t,n),this.config.disableAutoFocus||e(this.$root),this.$root.addEventListener("click",(t=>this.handleClick(t)))}handleClick(t){const e=t.target;e&&this.focusTarget(e)&&t.preventDefault()}focusTarget(t){if(!(t instanceof HTMLAnchorElement))return!1;const e=t.hash.replace("#","");if(!e)return!1;const n=document.getElementById(e);if(!n)return!1;const i=this.getAssociatedLegendOrLabel(n);return!!i&&(i.scrollIntoView(),n.focus({preventScroll:!0}),!0)}getAssociatedLegendOrLabel(t){var e;const n=t.closest("fieldset");if(n){const e=n.getElementsByTagName("legend");if(e.length){const n=e[0];if(t instanceof HTMLInputElement&&("checkbox"===t.type||"radio"===t.type))return n;const i=n.getBoundingClientRect().top,o=t.getBoundingClientRect();if(o.height&&window.innerHeight&&o.top+o.height-i<window.innerHeight/2)return n}}return null!=(e=document.querySelector(`label[for='${t.getAttribute("id")}']`))?e:t.closest("label")}}E.moduleName="govuk-error-summary",E.defaults=Object.freeze({disableAutoFocus:!1}),E.schema=Object.freeze({properties:{disableAutoFocus:{type:"boolean"}}});class A extends p{constructor(t,e={}){super(t,e),this.i18n=void 0,this.$button=void 0,this.$skiplinkButton=null,this.$updateSpan=null,this.$indicatorContainer=null,this.$overlay=null,this.keypressCounter=0,this.lastKeyWasModified=!1,this.timeoutTime=5e3,this.keypressTimeoutId=null,this.timeoutMessageId=null;const n=this.$root.querySelector(".govuk-exit-this-page__button");if(!(n instanceof HTMLAnchorElement))throw new u({component:A,element:n,expectedType:"HTMLAnchorElement",identifier:"Button (`.govuk-exit-this-page__button`)"});this.i18n=new b(this.config.i18n),this.$button=n;const i=document.querySelector(".govuk-js-exit-this-page-skiplink");i instanceof HTMLAnchorElement&&(this.$skiplinkButton=i),this.buildIndicator(),this.initUpdateSpan(),this.initButtonClickHandler(),"govukFrontendExitThisPageKeypress"in document.body.dataset||(document.addEventListener("keyup",this.handleKeypress.bind(this),!0),document.body.dataset.govukFrontendExitThisPageKeypress="true"),window.addEventListener("pageshow",this.resetPage.bind(this))}initUpdateSpan(){this.$updateSpan=document.createElement("span"),this.$updateSpan.setAttribute("role","status"),this.$updateSpan.className="govuk-visually-hidden",this.$root.appendChild(this.$updateSpan)}initButtonClickHandler(){this.$button.addEventListener("click",this.handleClick.bind(this)),this.$skiplinkButton&&this.$skiplinkButton.addEventListener("click",this.handleClick.bind(this))}buildIndicator(){this.$indicatorContainer=document.createElement("div"),this.$indicatorContainer.className="govuk-exit-this-page__indicator",this.$indicatorContainer.setAttribute("aria-hidden","true");for(let t=0;t<3;t++){const t=document.createElement("div");t.className="govuk-exit-this-page__indicator-light",this.$indicatorContainer.appendChild(t)}this.$button.appendChild(this.$indicatorContainer)}updateIndicator(){this.$indicatorContainer&&(this.$indicatorContainer.classList.toggle("govuk-exit-this-page__indicator--visible",this.keypressCounter>0),this.$indicatorContainer.querySelectorAll(".govuk-exit-this-page__indicator-light").forEach(((t,e)=>{t.classList.toggle("govuk-exit-this-page__indicator-light--on",e<this.keypressCounter)})))}exitPage(){this.$updateSpan&&(this.$updateSpan.textContent="",document.body.classList.add("govuk-exit-this-page-hide-content"),this.$overlay=document.createElement("div"),this.$overlay.className="govuk-exit-this-page-overlay",this.$overlay.setAttribute("role","alert"),document.body.appendChild(this.$overlay),this.$overlay.textContent=this.i18n.t("activated"),window.location.href=this.$button.href)}handleClick(t){t.preventDefault(),this.exitPage()}handleKeypress(t){this.$updateSpan&&("Shift"!==t.key||this.lastKeyWasModified?this.keypressTimeoutId&&this.resetKeypressTimer():(this.keypressCounter+=1,this.updateIndicator(),this.timeoutMessageId&&(window.clearTimeout(this.timeoutMessageId),this.timeoutMessageId=null),this.keypressCounter>=3?(this.keypressCounter=0,this.keypressTimeoutId&&(window.clearTimeout(this.keypressTimeoutId),this.keypressTimeoutId=null),this.exitPage()):1===this.keypressCounter?this.$updateSpan.textContent=this.i18n.t("pressTwoMoreTimes"):this.$updateSpan.textContent=this.i18n.t("pressOneMoreTime"),this.setKeypressTimer()),this.lastKeyWasModified=t.shiftKey)}setKeypressTimer(){this.keypressTimeoutId&&window.clearTimeout(this.keypressTimeoutId),this.keypressTimeoutId=window.setTimeout(this.resetKeypressTimer.bind(this),this.timeoutTime)}resetKeypressTimer(){if(!this.$updateSpan)return;this.keypressTimeoutId&&(window.clearTimeout(this.keypressTimeoutId),this.keypressTimeoutId=null);const t=this.$updateSpan;this.keypressCounter=0,t.textContent=this.i18n.t("timedOut"),this.timeoutMessageId=window.setTimeout((()=>{t.textContent=""}),this.timeoutTime),this.updateIndicator()}resetPage(){document.body.classList.remove("govuk-exit-this-page-hide-content"),this.$overlay&&(this.$overlay.remove(),this.$overlay=null),this.$updateSpan&&(this.$updateSpan.setAttribute("role","status"),this.$updateSpan.textContent=""),this.updateIndicator(),this.keypressTimeoutId&&window.clearTimeout(this.keypressTimeoutId),this.timeoutMessageId&&window.clearTimeout(this.timeoutMessageId)}}A.moduleName="govuk-exit-this-page",A.defaults=Object.freeze({i18n:{activated:"Loading.",timedOut:"Exit this page expired.",pressTwoMoreTimes:"Shift, press 2 more times to exit.",pressOneMoreTime:"Shift, press 1 more time to exit."}}),A.schema=Object.freeze({properties:{i18n:{type:"object"}}});class x extends p{constructor(t,e={}){super(t,e),this.$input=void 0,this.$button=void 0,this.$status=void 0,this.$label=void 0,this.i18n=void 0,this.id=void 0,this.$announcements=void 0,this.enteredAnotherElement=void 0;const n=this.$root.querySelector('input[type="file"]');if(null===n)throw new u({component:x,identifier:'File inputs (`<input type="file">`)'});if(this.$input=n,!this.$input.id)throw new u({component:x,identifier:'File input (`<input type="file">`) attribute (`id`)'});this.id=this.$input.id,this.i18n=new b(this.config.i18n,{locale:$(this.$root,"lang")});const i=this.findLabel();i.id||(i.id=`${this.id}-label`),this.$label=i,this.$input.id=`${this.id}-input`,this.$input.setAttribute("hidden","hidden"),this.$status=this.createStatus(),this.$button=this.createButton(),this.$root.insertAdjacentElement("afterbegin",this.$button),this.$input.addEventListener("change",this.onChange.bind(this)),this.updateDisabledState(),this.observeDisabledState(),this.$announcements=document.createElement("span"),this.$announcements.classList.add("govuk-file-upload-announcements"),this.$announcements.classList.add("govuk-visually-hidden"),this.$announcements.setAttribute("aria-live","assertive"),this.$root.insertAdjacentElement("afterend",this.$announcements),this.bindDraggingEvents()}createStatus(){const t=document.createElement("span");return t.className="govuk-body govuk-file-upload-button__status",t.setAttribute("aria-live","polite"),t.innerText=this.i18n.t("noFileChosen"),t}createButton(){const t=document.createElement("button");t.classList.add("govuk-file-upload-button"),t.type="button",t.id=this.id,t.classList.add("govuk-file-upload-button--empty");const e=this.$input.getAttribute("aria-describedby");e&&t.setAttribute("aria-describedby",e),t.appendChild(this.$status);const n=document.createElement("span");n.className="govuk-visually-hidden",n.innerText=", ",n.id=`${this.id}-comma`,t.appendChild(n);const i=document.createElement("span");i.className="govuk-file-upload-button__pseudo-button-container";const o=document.createElement("span");o.className="govuk-button govuk-button--secondary govuk-file-upload-button__pseudo-button",o.innerText=this.i18n.t("chooseFilesButton"),i.appendChild(o),i.insertAdjacentText("beforeend"," ");const s=document.createElement("span");return s.className="govuk-body govuk-file-upload-button__instruction",s.innerText=this.i18n.t("dropInstruction"),i.appendChild(s),t.appendChild(i),t.setAttribute("aria-labelledby",`${this.$label.id} ${n.id} ${t.id}`),t.addEventListener("click",this.onClick.bind(this)),t.addEventListener("dragover",(t=>{t.preventDefault()})),t}bindDraggingEvents(){this.$button.addEventListener("drop",this.onDrop.bind(this)),document.addEventListener("dragenter",this.updateDropzoneVisibility.bind(this)),document.addEventListener("dragenter",(()=>{this.enteredAnotherElement=!0})),document.addEventListener("dragleave",(()=>{this.enteredAnotherElement||this.$button.disabled||(this.hideDraggingState(),this.$announcements.innerText=this.i18n.t("leftDropZone")),this.enteredAnotherElement=!1}))}updateDropzoneVisibility(t){this.$button.disabled||t.target instanceof Node&&(this.$root.contains(t.target)?t.dataTransfer&&this.canDrop(t.dataTransfer)&&(this.$button.classList.contains("govuk-file-upload-button--dragging")||(this.showDraggingState(),this.$announcements.innerText=this.i18n.t("enteredDropZone"))):this.$button.classList.contains("govuk-file-upload-button--dragging")&&(this.hideDraggingState(),this.$announcements.innerText=this.i18n.t("leftDropZone")))}showDraggingState(){this.$button.classList.add("govuk-file-upload-button--dragging")}hideDraggingState(){this.$button.classList.remove("govuk-file-upload-button--dragging")}onDrop(t){t.preventDefault(),t.dataTransfer&&this.canFillInput(t.dataTransfer)&&(this.$input.files=t.dataTransfer.files,this.$input.dispatchEvent(new CustomEvent("change")),this.hideDraggingState())}canFillInput(t){return this.matchesInputCapacity(t.files.length)}canDrop(t){return t.items.length?this.matchesInputCapacity(function(t){let e=0;for(let n=0;n<t.length;n++)"file"===t[n].kind&&e++;return e}(t.items)):!t.types.length||t.types.includes("Files")}matchesInputCapacity(t){return this.$input.multiple?t>0:1===t}onChange(){const t=this.$input.files.length;0===t?(this.$status.innerText=this.i18n.t("noFileChosen"),this.$button.classList.add("govuk-file-upload-button--empty")):(this.$status.innerText=1===t?this.$input.files[0].name:this.i18n.t("multipleFilesChosen",{count:t}),this.$button.classList.remove("govuk-file-upload-button--empty"))}findLabel(){const t=document.querySelector(`label[for="${this.$input.id}"]`);if(!t)throw new u({component:x,identifier:`Field label (\`<label for=${this.$input.id}>\`)`});return t}onClick(){this.$input.click()}observeDisabledState(){new MutationObserver((t=>{for(const e of t)"attributes"===e.type&&"disabled"===e.attributeName&&this.updateDisabledState()})).observe(this.$input,{attributes:!0})}updateDisabledState(){this.$button.disabled=this.$input.disabled,this.$root.classList.toggle("govuk-file-upload-wrapper--disabled",this.$button.disabled)}}x.moduleName="govuk-file-upload",x.defaults=Object.freeze({i18n:{chooseFilesButton:"Choose file",dropInstruction:"or drop file",noFileChosen:"No file chosen",multipleFilesChosen:{one:"%{count} file chosen",other:"%{count} files chosen"},enteredDropZone:"Entered drop zone",leftDropZone:"Left drop zone"}}),x.schema=Object.freeze({properties:{i18n:{type:"object"}}});class S extends p{constructor(t,n={}){super(t,n),"alert"!==this.$root.getAttribute("role")||this.config.disableAutoFocus||e(this.$root)}}S.moduleName="govuk-notification-banner",S.defaults=Object.freeze({disableAutoFocus:!1}),S.schema=Object.freeze({properties:{disableAutoFocus:{type:"boolean"}}});class T extends p{constructor(t,e={}){super(t,e),this.i18n=void 0,this.$input=void 0,this.$showHideButton=void 0,this.$screenReaderStatusMessage=void 0;const n=this.$root.querySelector(".govuk-js-password-input-input");if(!(n instanceof HTMLInputElement))throw new u({component:T,element:n,expectedType:"HTMLInputElement",identifier:"Form field (`.govuk-js-password-input-input`)"});if("password"!==n.type)throw new u("Password input: Form field (`.govuk-js-password-input-input`) must be of type `password`.");const i=this.$root.querySelector(".govuk-js-password-input-toggle");if(!(i instanceof HTMLButtonElement))throw new u({component:T,element:i,expectedType:"HTMLButtonElement",identifier:"Button (`.govuk-js-password-input-toggle`)"});if("button"!==i.type)throw new u("Password input: Button (`.govuk-js-password-input-toggle`) must be of type `button`.");this.$input=n,this.$showHideButton=i,this.i18n=new b(this.config.i18n,{locale:$(this.$root,"lang")}),this.$showHideButton.removeAttribute("hidden");const o=document.createElement("div");o.className="govuk-password-input__sr-status govuk-visually-hidden",o.setAttribute("aria-live","polite"),this.$screenReaderStatusMessage=o,this.$input.insertAdjacentElement("afterend",o),this.$showHideButton.addEventListener("click",this.toggle.bind(this)),this.$input.form&&this.$input.form.addEventListener("submit",(()=>this.hide())),window.addEventListener("pageshow",(t=>{t.persisted&&"password"!==this.$input.type&&this.hide()})),this.hide()}toggle(t){t.preventDefault(),"password"!==this.$input.type?this.hide():this.show()}show(){this.setType("text")}hide(){this.setType("password")}setType(t){if(t===this.$input.type)return;this.$input.setAttribute("type",t);const e="password"===t,n=e?"show":"hide",i=e?"passwordHidden":"passwordShown";this.$showHideButton.innerText=this.i18n.t(`${n}Password`),this.$showHideButton.setAttribute("aria-label",this.i18n.t(`${n}PasswordAriaLabel`)),this.$screenReaderStatusMessage.innerText=this.i18n.t(`${i}Announcement`)}}T.moduleName="govuk-password-input",T.defaults=Object.freeze({i18n:{showPassword:"Show",hidePassword:"Hide",showPasswordAriaLabel:"Show password",hidePasswordAriaLabel:"Hide password",passwordShownAnnouncement:"Your password is visible",passwordHiddenAnnouncement:"Your password is hidden"}}),T.schema=Object.freeze({properties:{i18n:{type:"object"}}});class L extends d{constructor(t){super(t),this.$inputs=void 0;const e=this.$root.querySelectorAll('input[type="radio"]');if(!e.length)throw new u({component:L,identifier:'Form inputs (`<input type="radio">`)'});this.$inputs=e,this.$inputs.forEach((t=>{const e=t.getAttribute("data-aria-controls");if(e){if(!document.getElementById(e))throw new u({component:L,identifier:`Conditional reveal (\`id="${e}"\`)`});t.setAttribute("aria-controls",e),t.removeAttribute("data-aria-controls")}})),window.addEventListener("pageshow",(()=>this.syncAllConditionalReveals())),this.syncAllConditionalReveals(),this.$root.addEventListener("click",(t=>this.handleClick(t)))}syncAllConditionalReveals(){this.$inputs.forEach((t=>this.syncConditionalRevealWithInputState(t)))}syncConditionalRevealWithInputState(t){const e=t.getAttribute("aria-controls");if(!e)return;const n=document.getElementById(e);if(null!=n&&n.classList.contains("govuk-radios__conditional")){const e=t.checked;t.setAttribute("aria-expanded",e.toString()),n.classList.toggle("govuk-radios__conditional--hidden",!e)}}handleClick(t){const e=t.target;if(!(e instanceof HTMLInputElement)||"radio"!==e.type)return;const n=document.querySelectorAll('input[type="radio"][aria-controls]'),i=e.form,o=e.name;n.forEach((t=>{const e=t.form===i;t.name===o&&e&&this.syncConditionalRevealWithInputState(t)}))}}L.moduleName="govuk-radios";class _ extends d{constructor(t){super(t),this.$menuButton=void 0,this.$menu=void 0,this.menuIsOpen=!1,this.mql=null;const e=this.$root.querySelector(".govuk-js-service-navigation-toggle");if(!e)return this;const n=e.getAttribute("aria-controls");if(!n)throw new u({component:_,identifier:'Navigation button (`<button class="govuk-js-service-navigation-toggle">`) attribute (`aria-controls`)'});const i=document.getElementById(n);if(!i)throw new u({component:_,element:i,identifier:`Navigation (\`<ul id="${n}">\`)`});this.$menu=i,this.$menuButton=e,this.setupResponsiveChecks(),this.$menuButton.addEventListener("click",(()=>this.handleMenuButtonClick()))}setupResponsiveChecks(){const e=t("tablet");if(!e.value)throw new u({component:_,identifier:`CSS custom property (\`${e.property}\`) on pseudo-class \`:root\``});this.mql=window.matchMedia(`(min-width: ${e.value})`),"addEventListener"in this.mql?this.mql.addEventListener("change",(()=>this.checkMode())):this.mql.addListener((()=>this.checkMode())),this.checkMode()}checkMode(){this.mql&&this.$menu&&this.$menuButton&&(this.mql.matches?(this.$menu.removeAttribute("hidden"),function(t,e){for(const n in e)t.setAttribute(n,e[n])}(this.$menuButton,I)):(function(t,e){for(const n of e)t.removeAttribute(n)}(this.$menuButton,Object.keys(I)),this.$menuButton.setAttribute("aria-expanded",this.menuIsOpen.toString()),this.menuIsOpen?this.$menu.removeAttribute("hidden"):this.$menu.setAttribute("hidden","")))}handleMenuButtonClick(){this.menuIsOpen=!this.menuIsOpen,this.checkMode()}}_.moduleName="govuk-service-navigation";const I={hidden:"","aria-hidden":"true"};class M extends d{constructor(t){var n;super(t);const i=this.$root.hash,o=null!=(n=this.$root.getAttribute("href"))?n:"";if(this.$root.origin!==window.location.origin||this.$root.pathname!==window.location.pathname)return;const s=i.replace("#","");if(!s)throw new u(`Skip link: Target link (\`href="${o}"\`) has no hash fragment`);const r=document.getElementById(s);if(!r)throw new u({component:M,element:r,identifier:`Target content (\`id="${s}"\`)`});this.$root.addEventListener("click",(()=>e(r,{onBeforeFocus(){r.classList.add("govuk-skip-link-focused-element")},onBlur(){r.classList.remove("govuk-skip-link-focused-element")}})))}}M.elementType=HTMLAnchorElement,M.moduleName="govuk-skip-link";class H extends d{constructor(t){super(t),this.$tabs=void 0,this.$tabList=void 0,this.$tabListItems=void 0,this.jsHiddenClass="govuk-tabs__panel--hidden",this.changingHash=!1,this.boundTabClick=void 0,this.boundTabKeydown=void 0,this.boundOnHashChange=void 0,this.mql=null;const e=this.$root.querySelectorAll("a.govuk-tabs__tab");if(!e.length)throw new u({component:H,identifier:'Links (`<a class="govuk-tabs__tab">`)'});this.$tabs=e,this.boundTabClick=this.onTabClick.bind(this),this.boundTabKeydown=this.onTabKeydown.bind(this),this.boundOnHashChange=this.onHashChange.bind(this);const n=this.$root.querySelector(".govuk-tabs__list"),i=this.$root.querySelectorAll("li.govuk-tabs__list-item");if(!n)throw new u({component:H,identifier:'List (`<ul class="govuk-tabs__list">`)'});if(!i.length)throw new u({component:H,identifier:'List items (`<li class="govuk-tabs__list-item">`)'});this.$tabList=n,this.$tabListItems=i,this.setupResponsiveChecks()}setupResponsiveChecks(){const e=t("tablet");if(!e.value)throw new u({component:H,identifier:`CSS custom property (\`${e.property}\`) on pseudo-class \`:root\``});this.mql=window.matchMedia(`(min-width: ${e.value})`),"addEventListener"in this.mql?this.mql.addEventListener("change",(()=>this.checkMode())):this.mql.addListener((()=>this.checkMode())),this.checkMode()}checkMode(){var t;null!=(t=this.mql)&&t.matches?this.setup():this.teardown()}setup(){var t;this.$tabList.setAttribute("role","tablist"),this.$tabListItems.forEach((t=>{t.setAttribute("role","presentation")})),this.$tabs.forEach((t=>{this.setAttributes(t),t.addEventListener("click",this.boundTabClick,!0),t.addEventListener("keydown",this.boundTabKeydown,!0),this.hideTab(t)}));const e=null!=(t=this.getTab(window.location.hash))?t:this.$tabs[0];this.showTab(e),window.addEventListener("hashchange",this.boundOnHashChange,!0)}teardown(){this.$tabList.removeAttribute("role"),this.$tabListItems.forEach((t=>{t.removeAttribute("role")})),this.$tabs.forEach((t=>{t.removeEventListener("click",this.boundTabClick,!0),t.removeEventListener("keydown",this.boundTabKeydown,!0),this.unsetAttributes(t)})),window.removeEventListener("hashchange",this.boundOnHashChange,!0)}onHashChange(){const t=window.location.hash,e=this.getTab(t);if(!e)return;if(this.changingHash)return void(this.changingHash=!1);const n=this.getCurrentTab();n&&(this.hideTab(n),this.showTab(e),e.focus())}hideTab(t){this.unhighlightTab(t),this.hidePanel(t)}showTab(t){this.highlightTab(t),this.showPanel(t)}getTab(t){return this.$root.querySelector(`a.govuk-tabs__tab[href="${t}"]`)}setAttributes(t){const e=t.hash.replace("#","");if(!e)return;t.setAttribute("id",`tab_${e}`),t.setAttribute("role","tab"),t.setAttribute("aria-controls",e),t.setAttribute("aria-selected","false"),t.setAttribute("tabindex","-1");const n=this.getPanel(t);n&&(n.setAttribute("role","tabpanel"),n.setAttribute("aria-labelledby",t.id),n.classList.add(this.jsHiddenClass))}unsetAttributes(t){t.removeAttribute("id"),t.removeAttribute("role"),t.removeAttribute("aria-controls"),t.removeAttribute("aria-selected"),t.removeAttribute("tabindex");const e=this.getPanel(t);e&&(e.removeAttribute("role"),e.removeAttribute("aria-labelledby"),e.classList.remove(this.jsHiddenClass))}onTabClick(t){const e=this.getCurrentTab(),n=t.currentTarget;e&&n instanceof HTMLAnchorElement&&(t.preventDefault(),this.hideTab(e),this.showTab(n),this.createHistoryEntry(n))}createHistoryEntry(t){const e=this.getPanel(t);if(!e)return;const n=e.id;e.id="",this.changingHash=!0,window.location.hash=n,e.id=n}onTabKeydown(t){switch(t.key){case"ArrowLeft":case"Left":this.activatePreviousTab(),t.preventDefault();break;case"ArrowRight":case"Right":this.activateNextTab(),t.preventDefault()}}activateNextTab(){const t=this.getCurrentTab();if(null==t||!t.parentElement)return;const e=t.parentElement.nextElementSibling;if(!e)return;const n=e.querySelector("a.govuk-tabs__tab");n&&(this.hideTab(t),this.showTab(n),n.focus(),this.createHistoryEntry(n))}activatePreviousTab(){const t=this.getCurrentTab();if(null==t||!t.parentElement)return;const e=t.parentElement.previousElementSibling;if(!e)return;const n=e.querySelector("a.govuk-tabs__tab");n&&(this.hideTab(t),this.showTab(n),n.focus(),this.createHistoryEntry(n))}getPanel(t){const e=t.hash.replace("#","");return e?this.$root.querySelector(`#${e}`):null}showPanel(t){const e=this.getPanel(t);e&&e.classList.remove(this.jsHiddenClass)}hidePanel(t){const e=this.getPanel(t);e&&e.classList.add(this.jsHiddenClass)}unhighlightTab(t){t.parentElement&&(t.setAttribute("aria-selected","false"),t.parentElement.classList.remove("govuk-tabs__list-item--selected"),t.setAttribute("tabindex","-1"))}highlightTab(t){t.parentElement&&(t.setAttribute("aria-selected","true"),t.parentElement.classList.add("govuk-tabs__list-item--selected"),t.setAttribute("tabindex","0"))}getCurrentTab(){return this.$root.querySelector(".govuk-tabs__list-item--selected a.govuk-tabs__tab")}}function O(t,e,n){this.$module=t,this.window=e,this.document=n}function B(t,e,n){return e&&function(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,q(i.key),i)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function j(t,e,n){return(e=q(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function D(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function q(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t,"string");return"symbol"==typeof e?e:e+""}function F(t){return F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},F(t)}H.moduleName="govuk-tabs",O.prototype.init=function(){var t=this;this.window.history&&(this.window.history.replaceState&&"function"==typeof this.window.history.replaceState&&this.window.history.replaceState(null,null,this.window.location.href),this.$module.addEventListener("click",(function(e){e.preventDefault(),t.window.history.back&&"function"==typeof t.window.history.back&&t.window.history.back()})))};var N=console.warn,P={generateDomElementFromString:function(t){var e=document.createElement("div");return e.innerHTML=t,e.firstChild},generateDomElementFromStringAndAppendText:function(t,e){var n=P.generateDomElementFromString(t);return n.innerText=e,n},hasClass:function(t,e){return document.querySelector(t).classList.contains(e)},addClass:function(t,e){document.querySelectorAll(t).forEach((function(t){t.classList.add(e)}))},removeClass:function(t,e){document.querySelectorAll(t).forEach((function(t){t.classList.remove(e)}))},removeElement:function(t){var e=t.parentNode;e?e.removeChild(t):N("couldn't find parent for elem",t)},ajaxGet:function(t,e){var n=new XMLHttpRequest;return n.open("GET",t),n.onreadystatechange=function(){n.readyState>3&&200===n.status&&e(n.responseText)},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.send(),n}};var R={displayDialog:function(t){var e=P.generateDomElementFromString('<div id="hmrc-timeout-dialog" tabindex="-1" role="dialog" aria-modal="true" class="hmrc-timeout-dialog">'),n=P.generateDomElementFromString('<div id="hmrc-timeout-overlay" class="hmrc-timeout-overlay">'),i="string"==typeof t?P.generateDomElementFromString(t):t,o=[],s=[];e.appendChild(i),P.hasClass("html","noScroll")||(P.addClass("html","noScroll"),o.push((function(){P.removeClass("html","noScroll")}))),document.body.appendChild(e),document.body.appendChild(n),o.push((function(){P.removeElement(e),P.removeElement(n)}));var r,a=document.querySelectorAll(["#skiplink-container","body > header","#global-cookie-message","main","body > footer","body > .govuk-skip-link",".cbanner-govuk-cookie-banner","body > .govuk-width-container"].join(", ")),c=function(){for(;o.length>0;){o.shift()()}};return a.forEach((function(t){var e=t.getAttribute("aria-hidden");t.setAttribute("aria-hidden","true"),o.push((function(){e?t.setAttribute("aria-hidden",e):t.removeAttribute("aria-hidden")}))})),function(){function t(t){var e=document.getElementById("hmrc-timeout-dialog");e&&(t.target===e||e.contains(t.target)||(t.stopPropagation(),e.focus()))}var n=document.activeElement;e.focus(),document.addEventListener("focus",t,!0),o.push((function(){document.removeEventListener("focus",t),n.focus()}))}(),function(){function t(t){27===t.keyCode&&(s.forEach((function(t){t()})),c())}document.addEventListener("keydown",t),o.push((function(){document.removeEventListener("keydown",t)}))}(),r=function(t){1===(t.touches||t.changedTouches||[]).length&&t.preventDefault()},document.addEventListener("touchmove",r,!0),o.push((function(){document.removeEventListener("touchmove",r,!0)})),{closeDialog:function(){c()},setAriaLabelledBy:function(t){t?e.setAttribute("aria-labelledby",t):e.removeAttribute("aria-labelledby")},addCloseHandler:function(t){s.push(t)}}}};function U(){}function K(){}function z(t,e){var n,i={},o={},s=[],r=e;var a=function(){o.synchroniseTabs&&r.onActivity((function(t){var e=t.timestamp;f(),l(e)}))},c=function(t){var e=[];if(["timeout","countdown","keepAliveUrl","signOutUrl"].forEach((function(n){t[n]||e.push("data-".concat(n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()))})),e.length>0)throw new Error("Missing config item(s): [".concat(e.join(", "),"]"))},u=function t(e,n){var i=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?D(Object(n),!0).forEach((function(e){j(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):D(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({},e);return Object.keys(n).forEach((function(o){"object"===F(i[o])&&(i[o]=t(e[o],n[o])),void 0!==i[o]&&""!==i[o]||(i[o]=n[o])})),i},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p(),e=t+1e3*o.timeout,i=p()-t,r=o.timeout-o.countdown,a=window.setTimeout((function(){d(e)}),1e3*r-i);s.push((function(){window.clearTimeout(a),n&&window.clearTimeout(n)}))},d=function(t){var e=P.generateDomElementFromString("<div>");if(o.title){var i=P.generateDomElementFromStringAndAppendText('<h1 id="hmrc-timeout-heading" class="govuk-heading-m push--top">',o.title);e.appendChild(i)}var r=P.generateDomElementFromString('<span id="hmrc-timeout-countdown" class="hmrc-timeout-dialog__countdown">'),a=P.generateDomElementFromString('<p id="hmrc-timeout-message" class="govuk-visually-hidden screenreader-content" aria-live="assertive">'),c=P.generateDomElementFromStringAndAppendText('<p class="govuk-body hmrc-timeout-dialog__message" aria-hidden="true">',o.message);c.appendChild(document.createTextNode(" ")),c.appendChild(r),o.messageSuffix&&c.appendChild(document.createTextNode(" ".concat(o.messageSuffix)));var u=P.generateDomElementFromStringAndAppendText('<button id="hmrc-timeout-keep-signin-btn" class="govuk-button">',o.keepAliveButtonText),l=document.createElement("div");if(l.classList.add("govuk-button-group"),l.appendChild(u),e.appendChild(c),e.appendChild(a),u.addEventListener("click",h),e.appendChild(document.createTextNode(" ")),!o.hideSignOutButton){var d=P.generateDomElementFromStringAndAppendText('<a id="hmrc-timeout-sign-out-link" class="govuk-link hmrc-timeout-dialog__link">',o.signOutButtonText);d.addEventListener("click",m),d.setAttribute("href",o.signOutUrl),l.appendChild(d)}e.appendChild(l);var f=R.displayDialog(e);s.push((function(){f.closeDialog()})),f.addCloseHandler(h),f.setAriaLabelledBy("hmrc-timeout-heading hmrc-timeout-message");var v=function(){return t-p()},b=function(t){var e,n;return t<60?n="".concat(t," ").concat(o.properties[1!==t?"seconds":"second"],"."):(e=Math.ceil(t/60),n="".concat(e," ").concat(o.properties[1===e?"minute":"minutes"],".")),n},w=function(t){return t>60?t:t<20?20:20*Math.ceil(t/20)},y=function(t,e){t.innerText!==e&&(t.innerText=e)},$=function(t){var e=b(t),n=function(t){var e=b(w(t)),n=[o.message," ",e];return o.messageSuffix&&(n.push(" "),n.push(o.messageSuffix)),n.join("")}(t);y(r,e),y(a,n)};!function t(){var e,i,o=Math.max(Math.round(v()/1e3),0);$(o),0===o?g():n=window.setTimeout(t,(e=v(),(i=1e3*Math.floor(v()/1e3))<=6e4?e-i||1e3:e-(i-(i%6e4||6e4))))}()},h=function(){f(),l(),P.ajaxGet(o.keepAliveUrl,(function(){})),r.logActivity()},p=function(){return Date.now()},m=function(){K.redirectToUrl(o.signOutUrl)},g=function(){K.redirectToUrl(o.timeoutUrl)},f=function(){for(;s.length>0;){s.shift()()}};return{init:function(){var e=U;function n(e){return(t.attributes.getNamedItem(e)||{}).value}var s="cy"===e.string(n("data-language"))?{title:"Rydych ar fin cael eich allgofnodi",message:"Er eich diogelwch, byddwn yn eich allgofnodi cyn pen",keepAliveButtonText:"Parhau i fod wedi’ch mewngofnodi",signOutButtonText:"Allgofnodi",properties:{minutes:"funud",minute:"funud",seconds:"eiliad",second:"eiliad"}}:{title:"You’re about to be signed out",message:"For your security, we will sign you out in",keepAliveButtonText:"Stay signed in",signOutButtonText:"Sign out",properties:{minutes:"minutes",minute:"minute",seconds:"seconds",second:"second"}};(i={timeout:e.int(n("data-timeout")),countdown:e.int(n("data-countdown")),keepAliveUrl:e.string(n("data-keep-alive-url")),signOutUrl:e.string(n("data-sign-out-url")),timeoutUrl:e.string(n("data-timeout-url")),title:e.string(n("data-title")),message:e.string(n("data-message")),messageSuffix:e.string(n("data-message-suffix")),keepAliveButtonText:e.string(n("data-keep-alive-button-text")),signOutButtonText:e.string(n("data-sign-out-button-text")),synchroniseTabs:e.boolean(n("data-synchronise-tabs")||!1),hideSignOutButton:e.boolean(n("data-hide-sign-out-button")||!1)}).timeoutUrl=i.timeoutUrl||i.signOutUrl,c(i),o=u(i,s),l(),a()},cleanup:f}}U.int=function(t){var e=parseInt(t,10);return Number.isNaN(e)?void 0:e},U.string=function(t){return"string"==typeof t?t:void 0},U.boolean=function(t){return"true"===String(t).toLowerCase()},K.redirectToUrl=function(t){window.location.href=t},z.dialog=R,z.redirectHelper=K,z.utils=P;function V(t){this.$module=t,this.$closeLink=this.$module.querySelector(".hmrc-user-research-banner__close"),this.cookieName="mdtpurr",this.cookieExpiryDays=28}V.prototype.init=function(){null==function(t){for(var e="".concat(t,"="),n=document.cookie.split(";"),i=0,o=n.length;i<o;i+=1){for(var s=n[i];" "===s.charAt(0);)s=s.substring(1,s.length);if(0===s.indexOf(e))return decodeURIComponent(s.substring(e.length))}return null}(this.cookieName)&&(this.$module.classList.add("hmrc-user-research-banner--show"),this.$closeLink&&this.$closeLink.addEventListener("click",this.eventHandlers.noThanksClick.bind(this)))},V.prototype.eventHandlers={noThanksClick:function(t){t.preventDefault(),function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i="".concat(t,"=").concat(e,"; path=/");if(n.days){var o=new Date;o.setTime(o.getTime()+24*n.days*60*60*1e3),i="".concat(i,"; expires=").concat(o.toGMTString())}"https:"===window.location.protocol&&(i+="; Secure"),document.cookie=i}(this.cookieName,"suppress_for_all_services",{days:this.cookieExpiryDays}),this.$module.classList.remove("hmrc-user-research-banner--show")}};var Y=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.activityChannel=e&&new e("session-activity")}return B(t,[{key:"logActivity",value:function(){if(this.activityChannel){var t={timestamp:Date.now()};this.activityChannel.postMessage(t)}}},{key:"onActivity",value:function(t){this.activityChannel&&(this.activityChannel.onmessage=function(e){t(e.data)})}}]),t}();function W(t,e){this.$module=t,this.window=e}W.prototype.init=function(){var t=this;this.$module.addEventListener("click",(function(e){e.preventDefault(),t.window.print()}))};var G={initAll:function(){function t(t){try{t()}catch(t){console.error("hmrc-frontend component initialisation failed",t)}}document.querySelectorAll('a[data-module="hmrc-print-link"]').forEach((function(e){t((function(){new W(e,window).init()}))}));var e=new Y(window.BroadcastChannel);e.logActivity();var n=document.querySelector('meta[name="hmrc-timeout-dialog"]');n&&t((function(){new z(n,e).init()}));var i=document.querySelector('[data-module="hmrc-user-research-banner"]');i&&t((function(){new V(i).init()})),document.querySelectorAll('[data-module="hmrc-back-link"]').forEach((function(e){t((function(){new O(e,window,document).init()}))}))},TimeoutDialog:z,UserResearchBanner:V,BackLinkHelper:O};!function(t={}){const e=i(t)?t:{},o=g(t);try{if(!n())throw new a;if(null===o.scope)throw new u({element:o.scope,identifier:"GOV.UK Frontend scope element (`$scope`)"})}catch(t){return void(o.onError?o.onError(t,{config:e}):console.log(t))}[[w,e.accordion],[y,e.button],[k,e.characterCount],[C],[E,e.errorSummary],[A,e.exitThisPage],[x,e.fileUpload],[S,e.notificationBanner],[T,e.passwordInput],[L],[_],[M],[H]].forEach((([t,e])=>{!function(t,e,i){let o;const s=g(i);try{var r;if(!n())throw new a;if(null===s.scope)throw new u({element:s.scope,component:t,identifier:"Scope element (`$scope`)"});o=null==(r=s.scope)?void 0:r.querySelectorAll(`[data-module="${t.moduleName}"]`)}catch(n){return s.onError?s.onError(n,{component:t,config:e}):console.log(n),[]}Array.from(null!=o?o:[]).map((n=>{try{return void 0!==e?new t(n,e):new t(n)}catch(i){return s.onError?s.onError(i,{element:n,component:t,config:e}):console.log(i),null}})).filter(Boolean)}(t,e,o)}))}(),G.initAll()}();
1
+ !function(){"use strict";function t(t){const e=`--govuk-breakpoint-${t}`;return{property:e,value:window.getComputedStyle(document.documentElement).getPropertyValue(e)||void 0}}function e(t,e={}){var n;const i=t.getAttribute("tabindex");function o(){var n;null==(n=e.onBlur)||n.call(t),i||t.removeAttribute("tabindex")}i||t.setAttribute("tabindex","-1"),t.addEventListener("focus",(function(){t.addEventListener("blur",o,{once:!0})}),{once:!0}),null==(n=e.onBeforeFocus)||n.call(t),t.focus()}function n(t=document.body){return!!t&&t.classList.contains("govuk-frontend-supported")}function i(t){return!!t&&"object"==typeof t&&!function(t){return Array.isArray(t)}(t)}function o(t){return!!t&&(t instanceof Element||t instanceof Document)}function s(t,e){return`${t.moduleName}: ${e}`}class r extends Error{constructor(...t){super(...t),this.name="GOVUKFrontendError"}}class a extends r{constructor(t=document.body){const e="noModule"in HTMLScriptElement.prototype?'GOV.UK Frontend initialised without `<body class="govuk-frontend-supported">` from template `<script>` snippet':"GOV.UK Frontend is not supported in this browser";super(t?e:'GOV.UK Frontend initialised without `<script type="module">`'),this.name="SupportError"}}class c extends r{constructor(...t){super(...t),this.name="ConfigError"}}class u extends r{constructor(t){let e="string"==typeof t?t:"";if(i(t)){const{component:n,identifier:i,element:o,expectedType:r}=t;e=i,e+=o?` is not of type ${null!=r?r:"HTMLElement"}`:" not found",n&&(e=s(n,e))}super(e),this.name="ElementError"}}class l extends r{constructor(t){super("string"==typeof t?t:s(t,"Root element (`$root`) already initialised")),this.name="InitError"}}class d{get $root(){return this._$root}constructor(t){this._$root=void 0;const e=this.constructor;if("string"!=typeof e.moduleName)throw new l("`moduleName` not defined in component");if(!(t instanceof e.elementType))throw new u({element:t,component:e,identifier:"Root element (`$root`)",expectedType:e.elementType.name});this._$root=t,e.checkSupport(),this.checkInitialised();const n=e.moduleName;this.$root.setAttribute(`data-${n}-init`,"")}checkInitialised(){const t=this.constructor,e=t.moduleName;if(e&&function(t,e){return t instanceof HTMLElement&&t.hasAttribute(`data-${e}-init`)}(this.$root,e))throw new l(t)}static checkSupport(){if(!n())throw new a}}d.elementType=HTMLElement;const h=Symbol.for("configOverride");class p extends d{[h](t){return{}}get config(){return this._config}constructor(t,e){super(t),this._config=void 0;const n=this.constructor;if(!i(n.defaults))throw new c(s(n,"Config passed as parameter into constructor but no defaults defined"));const o=function(t,e){if(!i(t.schema))throw new c(s(t,"Config passed as parameter into constructor but no schema defined"));const n={},o=Object.entries(t.schema.properties);for(const i of o){const[o,s]=i,r=o.toString();r in e&&(n[r]=m(e[r],s)),"object"===(null==s?void 0:s.type)&&(n[r]=v(t.schema,e,o))}return n}(n,this._$root.dataset);this._config=f(n.defaults,null!=e?e:{},this[h](o),o)}}function m(t,e){const n=t?t.trim():"";let i,o=null==e?void 0:e.type;switch(o||(["true","false"].includes(n)&&(o="boolean"),n.length>0&&isFinite(Number(n))&&(o="number")),o){case"boolean":i="true"===n;break;case"number":i=Number(n);break;default:i=t}return i}function g(t){let e,n=document;if(i(t)){const i=t;(o(i.scope)||null===i.scope)&&(n=i.scope),"function"==typeof i.onError&&(e=i.onError)}return o(t)?n=t:null===t?n=null:"function"==typeof t&&(e=t),{scope:n,onError:e}}function f(...t){const e={};for(const n of t)for(const t of Object.keys(n)){const o=e[t],s=n[t];i(o)&&i(s)?e[t]=f(o,s):e[t]=s}return e}function v(t,e,n){const o=t.properties[n];if("object"!==(null==o?void 0:o.type))return;const s={[n]:{}};for(const[t,o]of Object.entries(e)){let e=s;const r=t.split(".");for(const[s,a]of r.entries())i(e)&&(s<r.length-1?(i(e[a])||(e[a]={}),e=e[a]):t!==n&&(e[a]=m(o)))}return s[n]}class b{constructor(t={},e={}){var n;this.translations=void 0,this.locale=void 0,this.translations=t,this.locale=null!=(n=e.locale)?n:document.documentElement.lang||"en"}t(t,e){if(!t)throw new Error("i18n: lookup key missing");let n=this.translations[t];if("number"==typeof(null==e?void 0:e.count)&&i(n)){const i=n[this.getPluralSuffix(t,e.count)];i&&(n=i)}if("string"==typeof n){if(n.match(/%{(.\S+)}/)){if(!e)throw new Error("i18n: cannot replace placeholders in string if no option data provided");return this.replacePlaceholders(n,e)}return n}return t}replacePlaceholders(t,e){const n=Intl.NumberFormat.supportedLocalesOf(this.locale).length?new Intl.NumberFormat(this.locale):void 0;return t.replace(/%{(.\S+)}/g,(function(t,i){if(Object.prototype.hasOwnProperty.call(e,i)){const t=e[i];return!1===t||"number"!=typeof t&&"string"!=typeof t?"":"number"==typeof t?n?n.format(t):`${t}`:t}throw new Error(`i18n: no data found to replace ${t} placeholder in string`)}))}hasIntlPluralRulesSupport(){return Boolean("PluralRules"in window.Intl&&Intl.PluralRules.supportedLocalesOf(this.locale).length)}getPluralSuffix(t,e){if(e=Number(e),!isFinite(e))return"other";const n=this.translations[t],o=this.hasIntlPluralRulesSupport()?new Intl.PluralRules(this.locale).select(e):"other";if(i(n)){if(o in n)return o;if("other"in n)return console.warn(`i18n: Missing plural form ".${o}" for "${this.locale}" locale. Falling back to ".other".`),"other"}throw new Error(`i18n: Plural form ".other" is required for "${this.locale}" locale`)}}class w extends p{constructor(t,e={}){super(t,e),this.i18n=void 0,this.controlsClass="govuk-accordion__controls",this.showAllClass="govuk-accordion__show-all",this.showAllTextClass="govuk-accordion__show-all-text",this.sectionClass="govuk-accordion__section",this.sectionExpandedClass="govuk-accordion__section--expanded",this.sectionButtonClass="govuk-accordion__section-button",this.sectionHeaderClass="govuk-accordion__section-header",this.sectionHeadingClass="govuk-accordion__section-heading",this.sectionHeadingDividerClass="govuk-accordion__section-heading-divider",this.sectionHeadingTextClass="govuk-accordion__section-heading-text",this.sectionHeadingTextFocusClass="govuk-accordion__section-heading-text-focus",this.sectionShowHideToggleClass="govuk-accordion__section-toggle",this.sectionShowHideToggleFocusClass="govuk-accordion__section-toggle-focus",this.sectionShowHideTextClass="govuk-accordion__section-toggle-text",this.upChevronIconClass="govuk-accordion-nav__chevron",this.downChevronIconClass="govuk-accordion-nav__chevron--down",this.sectionSummaryClass="govuk-accordion__section-summary",this.sectionSummaryFocusClass="govuk-accordion__section-summary-focus",this.sectionContentClass="govuk-accordion__section-content",this.$sections=void 0,this.$showAllButton=null,this.$showAllIcon=null,this.$showAllText=null,this.i18n=new b(this.config.i18n);const n=this.$root.querySelectorAll(`.${this.sectionClass}`);if(!n.length)throw new u({component:w,identifier:`Sections (\`<div class="${this.sectionClass}">\`)`});this.$sections=n,this.initControls(),this.initSectionHeaders(),this.updateShowAllButton(this.areAllSectionsOpen())}initControls(){this.$showAllButton=document.createElement("button"),this.$showAllButton.setAttribute("type","button"),this.$showAllButton.setAttribute("class",this.showAllClass),this.$showAllButton.setAttribute("aria-expanded","false"),this.$showAllIcon=document.createElement("span"),this.$showAllIcon.classList.add(this.upChevronIconClass),this.$showAllButton.appendChild(this.$showAllIcon);const t=document.createElement("div");t.setAttribute("class",this.controlsClass),t.appendChild(this.$showAllButton),this.$root.insertBefore(t,this.$root.firstChild),this.$showAllText=document.createElement("span"),this.$showAllText.classList.add(this.showAllTextClass),this.$showAllButton.appendChild(this.$showAllText),this.$showAllButton.addEventListener("click",(()=>this.onShowOrHideAllToggle())),"onbeforematch"in document&&document.addEventListener("beforematch",(t=>this.onBeforeMatch(t)))}initSectionHeaders(){this.$sections.forEach(((t,e)=>{const n=t.querySelector(`.${this.sectionHeaderClass}`);if(!n)throw new u({component:w,identifier:`Section headers (\`<div class="${this.sectionHeaderClass}">\`)`});this.constructHeaderMarkup(n,e),this.setExpanded(this.isExpanded(t),t),n.addEventListener("click",(()=>this.onSectionToggle(t))),this.setInitialState(t)}))}constructHeaderMarkup(t,e){const n=t.querySelector(`.${this.sectionButtonClass}`),i=t.querySelector(`.${this.sectionHeadingClass}`),o=t.querySelector(`.${this.sectionSummaryClass}`);if(!i)throw new u({component:w,identifier:`Section heading (\`.${this.sectionHeadingClass}\`)`});if(!n)throw new u({component:w,identifier:`Section button placeholder (\`<span class="${this.sectionButtonClass}">\`)`});const s=document.createElement("button");s.setAttribute("type","button"),s.setAttribute("aria-controls",`${this.$root.id}-content-${e+1}`);for(const t of Array.from(n.attributes))"id"!==t.name&&s.setAttribute(t.name,t.value);const r=document.createElement("span");r.classList.add(this.sectionHeadingTextClass),r.id=n.id;const a=document.createElement("span");a.classList.add(this.sectionHeadingTextFocusClass),r.appendChild(a),Array.from(n.childNodes).forEach((t=>a.appendChild(t)));const c=document.createElement("span");c.classList.add(this.sectionShowHideToggleClass),c.setAttribute("data-nosnippet","");const l=document.createElement("span");l.classList.add(this.sectionShowHideToggleFocusClass),c.appendChild(l);const d=document.createElement("span"),h=document.createElement("span");if(h.classList.add(this.upChevronIconClass),l.appendChild(h),d.classList.add(this.sectionShowHideTextClass),l.appendChild(d),s.appendChild(r),s.appendChild(this.getButtonPunctuationEl()),o){const t=document.createElement("span"),e=document.createElement("span");e.classList.add(this.sectionSummaryFocusClass),t.appendChild(e);for(const e of Array.from(o.attributes))t.setAttribute(e.name,e.value);Array.from(o.childNodes).forEach((t=>e.appendChild(t))),o.remove(),s.appendChild(t),s.appendChild(this.getButtonPunctuationEl())}s.appendChild(c),i.removeChild(n),i.appendChild(s)}onBeforeMatch(t){const e=t.target;if(!(e instanceof Element))return;const n=e.closest(`.${this.sectionClass}`);n&&this.setExpanded(!0,n)}onSectionToggle(t){const e=!this.isExpanded(t);this.setExpanded(e,t),this.storeState(t,e)}onShowOrHideAllToggle(){const t=!this.areAllSectionsOpen();this.$sections.forEach((e=>{this.setExpanded(t,e),this.storeState(e,t)})),this.updateShowAllButton(t)}setExpanded(t,e){const n=e.querySelector(`.${this.upChevronIconClass}`),i=e.querySelector(`.${this.sectionShowHideTextClass}`),o=e.querySelector(`.${this.sectionButtonClass}`),s=e.querySelector(`.${this.sectionContentClass}`);if(!s)throw new u({component:w,identifier:`Section content (\`<div class="${this.sectionContentClass}">\`)`});if(!n||!i||!o)return;const r=t?this.i18n.t("hideSection"):this.i18n.t("showSection");i.textContent=r,o.setAttribute("aria-expanded",`${t}`);const a=[],c=e.querySelector(`.${this.sectionHeadingTextClass}`);c&&a.push(c.textContent.trim());const l=e.querySelector(`.${this.sectionSummaryClass}`);l&&a.push(l.textContent.trim());const d=t?this.i18n.t("hideSectionAriaLabel"):this.i18n.t("showSectionAriaLabel");a.push(d),o.setAttribute("aria-label",a.join(" , ")),t?(s.removeAttribute("hidden"),e.classList.add(this.sectionExpandedClass),n.classList.remove(this.downChevronIconClass)):(s.setAttribute("hidden","until-found"),e.classList.remove(this.sectionExpandedClass),n.classList.add(this.downChevronIconClass)),this.updateShowAllButton(this.areAllSectionsOpen())}isExpanded(t){return t.classList.contains(this.sectionExpandedClass)}areAllSectionsOpen(){return Array.from(this.$sections).every((t=>this.isExpanded(t)))}updateShowAllButton(t){this.$showAllButton&&this.$showAllText&&this.$showAllIcon&&(this.$showAllButton.setAttribute("aria-expanded",t.toString()),this.$showAllText.textContent=t?this.i18n.t("hideAllSections"):this.i18n.t("showAllSections"),this.$showAllIcon.classList.toggle(this.downChevronIconClass,!t))}getIdentifier(t){const e=t.querySelector(`.${this.sectionButtonClass}`);return null==e?void 0:e.getAttribute("aria-controls")}storeState(t,e){if(!this.config.rememberExpanded)return;const n=this.getIdentifier(t);if(n)try{window.sessionStorage.setItem(n,e.toString())}catch(t){}}setInitialState(t){if(!this.config.rememberExpanded)return;const e=this.getIdentifier(t);if(e)try{const n=window.sessionStorage.getItem(e);null!==n&&this.setExpanded("true"===n,t)}catch(t){}}getButtonPunctuationEl(){const t=document.createElement("span");return t.classList.add("govuk-visually-hidden",this.sectionHeadingDividerClass),t.textContent=", ",t}}w.moduleName="govuk-accordion",w.defaults=Object.freeze({i18n:{hideAllSections:"Hide all sections",hideSection:"Hide",hideSectionAriaLabel:"Hide this section",showAllSections:"Show all sections",showSection:"Show",showSectionAriaLabel:"Show this section"},rememberExpanded:!0}),w.schema=Object.freeze({properties:{i18n:{type:"object"},rememberExpanded:{type:"boolean"}}});class y extends p{constructor(t,e={}){super(t,e),this.debounceFormSubmitTimer=null,this.$root.addEventListener("keydown",(t=>this.handleKeyDown(t))),this.$root.addEventListener("click",(t=>this.debounce(t)))}handleKeyDown(t){const e=t.target;" "===t.key&&e instanceof HTMLElement&&"button"===e.getAttribute("role")&&(t.preventDefault(),e.click())}debounce(t){if(this.config.preventDoubleClick)return this.debounceFormSubmitTimer?(t.preventDefault(),!1):void(this.debounceFormSubmitTimer=window.setTimeout((()=>{this.debounceFormSubmitTimer=null}),1e3))}}function $(t,e){const n=t.closest(`[${e}]`);return n?n.getAttribute(e):null}y.moduleName="govuk-button",y.defaults=Object.freeze({preventDoubleClick:!1}),y.schema=Object.freeze({properties:{preventDoubleClick:{type:"boolean"}}});class k extends p{[h](t){let e={};return("maxwords"in t||"maxlength"in t)&&(e={maxlength:void 0,maxwords:void 0}),e}constructor(t,e={}){var n,i;super(t,e),this.$textarea=void 0,this.count=0,this.$visibleCountMessage=void 0,this.$screenReaderCountMessage=void 0,this.lastInputTimestamp=null,this.lastInputValue="",this.valueChecker=null,this.i18n=void 0,this.maxLength=void 0;const o=this.$root.querySelector(".govuk-js-character-count");if(!(o instanceof HTMLTextAreaElement||o instanceof HTMLInputElement))throw new u({component:k,element:o,expectedType:"HTMLTextareaElement or HTMLInputElement",identifier:"Form field (`.govuk-js-character-count`)"});const r=function(t,e){const n=[];for(const[i,o]of Object.entries(t)){const t=[];if(Array.isArray(o)){for(const{required:n,errorMessage:i}of o)n.every((t=>!!e[t]))||t.push(i);"anyOf"!==i||o.length-t.length>=1||n.push(...t)}}return n}(k.schema,this.config);if(r[0])throw new c(s(k,r[0]));this.i18n=new b(this.config.i18n,{locale:$(this.$root,"lang")}),this.maxLength=null!=(n=null!=(i=this.config.maxwords)?i:this.config.maxlength)?n:1/0,this.$textarea=o;const a=`${this.$textarea.id}-info`,l=document.getElementById(a);if(!l)throw new u({component:k,element:l,identifier:`Count message (\`id="${a}"\`)`});this.$errorMessage=this.$root.querySelector(".govuk-error-message"),l.textContent.match(/^\s*$/)&&(l.textContent=this.i18n.t("textareaDescription",{count:this.maxLength})),this.$textarea.insertAdjacentElement("afterend",l);const d=document.createElement("div");d.className="govuk-character-count__sr-status govuk-visually-hidden",d.setAttribute("aria-live","polite"),this.$screenReaderCountMessage=d,l.insertAdjacentElement("afterend",d);const h=document.createElement("div");h.className=l.className,h.classList.add("govuk-character-count__status"),h.setAttribute("aria-hidden","true"),this.$visibleCountMessage=h,l.insertAdjacentElement("afterend",h),l.classList.add("govuk-visually-hidden"),this.$textarea.removeAttribute("maxlength"),this.bindChangeEvents(),window.addEventListener("pageshow",(()=>{this.$textarea.value!==this.$textarea.textContent&&(this.updateCount(),this.updateCountMessage())})),this.updateCount(),this.updateCountMessage()}bindChangeEvents(){this.$textarea.addEventListener("input",(()=>this.handleInput())),this.$textarea.addEventListener("focus",(()=>this.handleFocus())),this.$textarea.addEventListener("blur",(()=>this.handleBlur()))}handleInput(){this.updateCount(),this.updateVisibleCountMessage(),this.lastInputTimestamp=Date.now()}handleFocus(){this.valueChecker=window.setInterval((()=>{(!this.lastInputTimestamp||Date.now()-500>=this.lastInputTimestamp)&&this.updateIfValueChanged()}),1e3)}handleBlur(){this.valueChecker&&window.clearInterval(this.valueChecker)}updateIfValueChanged(){this.$textarea.value!==this.lastInputValue&&(this.lastInputValue=this.$textarea.value,this.updateCountMessage())}updateCountMessage(){this.updateVisibleCountMessage(),this.updateScreenReaderCountMessage()}updateVisibleCountMessage(){const t=this.maxLength-this.count<0;this.$visibleCountMessage.classList.toggle("govuk-character-count__message--disabled",!this.isOverThreshold()),this.$errorMessage||this.$textarea.classList.toggle("govuk-textarea--error",t),this.$visibleCountMessage.classList.toggle("govuk-error-message",t),this.$visibleCountMessage.classList.toggle("govuk-hint",!t),this.$visibleCountMessage.textContent=this.getCountMessage()}updateScreenReaderCountMessage(){this.isOverThreshold()?this.$screenReaderCountMessage.removeAttribute("aria-hidden"):this.$screenReaderCountMessage.setAttribute("aria-hidden","true"),this.$screenReaderCountMessage.textContent=this.getCountMessage()}updateCount(){const t=this.$textarea.value;if(this.config.maxwords){var e;const n=null!=(e=t.match(/\S+/g))?e:[];this.count=n.length}else this.count=t.length}getCountMessage(){const t=this.maxLength-this.count,e=this.config.maxwords?"words":"characters";return this.formatCountMessage(t,e)}formatCountMessage(t,e){if(0===t)return this.i18n.t(`${e}AtLimit`);const n=t<0?"OverLimit":"UnderLimit";return this.i18n.t(`${e}${n}`,{count:Math.abs(t)})}isOverThreshold(){if(!this.config.threshold)return!0;const t=this.count;return this.maxLength*this.config.threshold/100<=t}}k.moduleName="govuk-character-count",k.defaults=Object.freeze({threshold:0,i18n:{charactersUnderLimit:{one:"You have %{count} character remaining",other:"You have %{count} characters remaining"},charactersAtLimit:"You have 0 characters remaining",charactersOverLimit:{one:"You have %{count} character too many",other:"You have %{count} characters too many"},wordsUnderLimit:{one:"You have %{count} word remaining",other:"You have %{count} words remaining"},wordsAtLimit:"You have 0 words remaining",wordsOverLimit:{one:"You have %{count} word too many",other:"You have %{count} words too many"},textareaDescription:{other:""}}}),k.schema=Object.freeze({properties:{i18n:{type:"object"},maxwords:{type:"number"},maxlength:{type:"number"},threshold:{type:"number"}},anyOf:[{required:["maxwords"],errorMessage:'Either "maxlength" or "maxwords" must be provided'},{required:["maxlength"],errorMessage:'Either "maxlength" or "maxwords" must be provided'}]});class C extends d{constructor(t){super(t),this.$inputs=void 0;const e=this.$root.querySelectorAll('input[type="checkbox"]');if(!e.length)throw new u({component:C,identifier:'Form inputs (`<input type="checkbox">`)'});this.$inputs=e,this.$inputs.forEach((t=>{const e=t.getAttribute("data-aria-controls");if(e){if(!document.getElementById(e))throw new u({component:C,identifier:`Conditional reveal (\`id="${e}"\`)`});t.setAttribute("aria-controls",e),t.removeAttribute("data-aria-controls")}})),window.addEventListener("pageshow",(()=>this.syncAllConditionalReveals())),this.syncAllConditionalReveals(),this.$root.addEventListener("click",(t=>this.handleClick(t)))}syncAllConditionalReveals(){this.$inputs.forEach((t=>this.syncConditionalRevealWithInputState(t)))}syncConditionalRevealWithInputState(t){const e=t.getAttribute("aria-controls");if(!e)return;const n=document.getElementById(e);if(null!=n&&n.classList.contains("govuk-checkboxes__conditional")){const e=t.checked;t.setAttribute("aria-expanded",e.toString()),n.classList.toggle("govuk-checkboxes__conditional--hidden",!e)}}unCheckAllInputsExcept(t){document.querySelectorAll(`input[type="checkbox"][name="${t.name}"]`).forEach((e=>{t.form===e.form&&e!==t&&(e.checked=!1,this.syncConditionalRevealWithInputState(e))}))}unCheckExclusiveInputs(t){document.querySelectorAll(`input[data-behaviour="exclusive"][type="checkbox"][name="${t.name}"]`).forEach((e=>{t.form===e.form&&(e.checked=!1,this.syncConditionalRevealWithInputState(e))}))}handleClick(t){const e=t.target;e instanceof HTMLInputElement&&"checkbox"===e.type&&(e.getAttribute("aria-controls")&&this.syncConditionalRevealWithInputState(e),e.checked&&("exclusive"===e.getAttribute("data-behaviour")?this.unCheckAllInputsExcept(e):this.unCheckExclusiveInputs(e)))}}C.moduleName="govuk-checkboxes";class E extends p{constructor(t,n={}){super(t,n),this.config.disableAutoFocus||e(this.$root),this.$root.addEventListener("click",(t=>this.handleClick(t)))}handleClick(t){const e=t.target;e&&this.focusTarget(e)&&t.preventDefault()}focusTarget(t){if(!(t instanceof HTMLAnchorElement))return!1;const e=t.hash.replace("#","");if(!e)return!1;const n=document.getElementById(e);if(!n)return!1;const i=this.getAssociatedLegendOrLabel(n);return!!i&&(i.scrollIntoView(),n.focus({preventScroll:!0}),!0)}getAssociatedLegendOrLabel(t){var e;const n=t.closest("fieldset");if(n){const e=n.getElementsByTagName("legend");if(e.length){const n=e[0];if(t instanceof HTMLInputElement&&("checkbox"===t.type||"radio"===t.type))return n;const i=n.getBoundingClientRect().top,o=t.getBoundingClientRect();if(o.height&&window.innerHeight&&o.top+o.height-i<window.innerHeight/2)return n}}return null!=(e=document.querySelector(`label[for='${t.getAttribute("id")}']`))?e:t.closest("label")}}E.moduleName="govuk-error-summary",E.defaults=Object.freeze({disableAutoFocus:!1}),E.schema=Object.freeze({properties:{disableAutoFocus:{type:"boolean"}}});class A extends p{constructor(t,e={}){super(t,e),this.i18n=void 0,this.$button=void 0,this.$skiplinkButton=null,this.$updateSpan=null,this.$indicatorContainer=null,this.$overlay=null,this.keypressCounter=0,this.lastKeyWasModified=!1,this.timeoutTime=5e3,this.keypressTimeoutId=null,this.timeoutMessageId=null;const n=this.$root.querySelector(".govuk-exit-this-page__button");if(!(n instanceof HTMLAnchorElement))throw new u({component:A,element:n,expectedType:"HTMLAnchorElement",identifier:"Button (`.govuk-exit-this-page__button`)"});this.i18n=new b(this.config.i18n),this.$button=n;const i=document.querySelector(".govuk-js-exit-this-page-skiplink");i instanceof HTMLAnchorElement&&(this.$skiplinkButton=i),this.buildIndicator(),this.initUpdateSpan(),this.initButtonClickHandler(),"govukFrontendExitThisPageKeypress"in document.body.dataset||(document.addEventListener("keyup",this.handleKeypress.bind(this),!0),document.body.dataset.govukFrontendExitThisPageKeypress="true"),window.addEventListener("pageshow",this.resetPage.bind(this))}initUpdateSpan(){this.$updateSpan=document.createElement("span"),this.$updateSpan.setAttribute("role","status"),this.$updateSpan.className="govuk-visually-hidden",this.$root.appendChild(this.$updateSpan)}initButtonClickHandler(){this.$button.addEventListener("click",this.handleClick.bind(this)),this.$skiplinkButton&&this.$skiplinkButton.addEventListener("click",this.handleClick.bind(this))}buildIndicator(){this.$indicatorContainer=document.createElement("div"),this.$indicatorContainer.className="govuk-exit-this-page__indicator",this.$indicatorContainer.setAttribute("aria-hidden","true");for(let t=0;t<3;t++){const t=document.createElement("div");t.className="govuk-exit-this-page__indicator-light",this.$indicatorContainer.appendChild(t)}this.$button.appendChild(this.$indicatorContainer)}updateIndicator(){this.$indicatorContainer&&(this.$indicatorContainer.classList.toggle("govuk-exit-this-page__indicator--visible",this.keypressCounter>0),this.$indicatorContainer.querySelectorAll(".govuk-exit-this-page__indicator-light").forEach(((t,e)=>{t.classList.toggle("govuk-exit-this-page__indicator-light--on",e<this.keypressCounter)})))}exitPage(){this.$updateSpan&&(this.$updateSpan.textContent="",document.body.classList.add("govuk-exit-this-page-hide-content"),this.$overlay=document.createElement("div"),this.$overlay.className="govuk-exit-this-page-overlay",this.$overlay.setAttribute("role","alert"),document.body.appendChild(this.$overlay),this.$overlay.textContent=this.i18n.t("activated"),window.location.href=this.$button.href)}handleClick(t){t.preventDefault(),this.exitPage()}handleKeypress(t){this.$updateSpan&&("Shift"!==t.key||this.lastKeyWasModified?this.keypressTimeoutId&&this.resetKeypressTimer():(this.keypressCounter+=1,this.updateIndicator(),this.timeoutMessageId&&(window.clearTimeout(this.timeoutMessageId),this.timeoutMessageId=null),this.keypressCounter>=3?(this.keypressCounter=0,this.keypressTimeoutId&&(window.clearTimeout(this.keypressTimeoutId),this.keypressTimeoutId=null),this.exitPage()):1===this.keypressCounter?this.$updateSpan.textContent=this.i18n.t("pressTwoMoreTimes"):this.$updateSpan.textContent=this.i18n.t("pressOneMoreTime"),this.setKeypressTimer()),this.lastKeyWasModified=t.shiftKey)}setKeypressTimer(){this.keypressTimeoutId&&window.clearTimeout(this.keypressTimeoutId),this.keypressTimeoutId=window.setTimeout(this.resetKeypressTimer.bind(this),this.timeoutTime)}resetKeypressTimer(){if(!this.$updateSpan)return;this.keypressTimeoutId&&(window.clearTimeout(this.keypressTimeoutId),this.keypressTimeoutId=null);const t=this.$updateSpan;this.keypressCounter=0,t.textContent=this.i18n.t("timedOut"),this.timeoutMessageId=window.setTimeout((()=>{t.textContent=""}),this.timeoutTime),this.updateIndicator()}resetPage(){document.body.classList.remove("govuk-exit-this-page-hide-content"),this.$overlay&&(this.$overlay.remove(),this.$overlay=null),this.$updateSpan&&(this.$updateSpan.setAttribute("role","status"),this.$updateSpan.textContent=""),this.updateIndicator(),this.keypressTimeoutId&&window.clearTimeout(this.keypressTimeoutId),this.timeoutMessageId&&window.clearTimeout(this.timeoutMessageId)}}A.moduleName="govuk-exit-this-page",A.defaults=Object.freeze({i18n:{activated:"Loading.",timedOut:"Exit this page expired.",pressTwoMoreTimes:"Shift, press 2 more times to exit.",pressOneMoreTime:"Shift, press 1 more time to exit."}}),A.schema=Object.freeze({properties:{i18n:{type:"object"}}});class x extends p{constructor(t,e={}){super(t,e),this.$input=void 0,this.$button=void 0,this.$status=void 0,this.$label=void 0,this.i18n=void 0,this.id=void 0,this.$announcements=void 0,this.enteredAnotherElement=void 0;const n=this.$root.querySelector('input[type="file"]');if(null===n)throw new u({component:x,identifier:'File inputs (`<input type="file">`)'});if(this.$input=n,!this.$input.id)throw new u({component:x,identifier:'File input (`<input type="file">`) attribute (`id`)'});this.id=this.$input.id,this.i18n=new b(this.config.i18n,{locale:$(this.$root,"lang")});const i=this.findLabel();i.id||(i.id=`${this.id}-label`),this.$label=i,this.$input.id=`${this.id}-input`,this.$input.setAttribute("hidden","hidden"),this.$status=this.createStatus(),this.$button=this.createButton(),this.$root.insertAdjacentElement("afterbegin",this.$button),this.$input.addEventListener("change",this.onChange.bind(this)),this.updateDisabledState(),this.observeDisabledState(),this.$announcements=document.createElement("span"),this.$announcements.classList.add("govuk-file-upload-announcements"),this.$announcements.classList.add("govuk-visually-hidden"),this.$announcements.setAttribute("aria-live","assertive"),this.$root.insertAdjacentElement("afterend",this.$announcements),this.bindDraggingEvents()}createStatus(){const t=document.createElement("span");return t.className="govuk-body govuk-file-upload-button__status",t.setAttribute("aria-live","polite"),t.innerText=this.i18n.t("noFileChosen"),t}createButton(){const t=document.createElement("button");t.classList.add("govuk-file-upload-button"),t.type="button",t.id=this.id,t.classList.add("govuk-file-upload-button--empty");const e=this.$input.getAttribute("aria-describedby");e&&t.setAttribute("aria-describedby",e),t.appendChild(this.$status);const n=document.createElement("span");n.className="govuk-visually-hidden",n.innerText=", ",n.id=`${this.id}-comma`,t.appendChild(n);const i=document.createElement("span");i.className="govuk-file-upload-button__pseudo-button-container";const o=document.createElement("span");o.className="govuk-button govuk-button--secondary govuk-file-upload-button__pseudo-button",o.innerText=this.i18n.t("chooseFilesButton"),i.appendChild(o),i.insertAdjacentText("beforeend"," ");const s=document.createElement("span");return s.className="govuk-body govuk-file-upload-button__instruction",s.innerText=this.i18n.t("dropInstruction"),i.appendChild(s),t.appendChild(i),t.setAttribute("aria-labelledby",`${this.$label.id} ${n.id} ${t.id}`),t.addEventListener("click",this.onClick.bind(this)),t.addEventListener("dragover",(t=>{t.preventDefault()})),t}bindDraggingEvents(){this.$button.addEventListener("drop",this.onDrop.bind(this)),document.addEventListener("dragenter",this.updateDropzoneVisibility.bind(this)),document.addEventListener("dragenter",(()=>{this.enteredAnotherElement=!0})),document.addEventListener("dragleave",(()=>{this.enteredAnotherElement||this.$button.disabled||(this.hideDraggingState(),this.$announcements.innerText=this.i18n.t("leftDropZone")),this.enteredAnotherElement=!1}))}updateDropzoneVisibility(t){this.$button.disabled||t.target instanceof Node&&(this.$root.contains(t.target)?t.dataTransfer&&this.canDrop(t.dataTransfer)&&(this.$button.classList.contains("govuk-file-upload-button--dragging")||(this.showDraggingState(),this.$announcements.innerText=this.i18n.t("enteredDropZone"))):this.$button.classList.contains("govuk-file-upload-button--dragging")&&(this.hideDraggingState(),this.$announcements.innerText=this.i18n.t("leftDropZone")))}showDraggingState(){this.$button.classList.add("govuk-file-upload-button--dragging")}hideDraggingState(){this.$button.classList.remove("govuk-file-upload-button--dragging")}onDrop(t){t.preventDefault(),t.dataTransfer&&this.canFillInput(t.dataTransfer)&&(this.$input.files=t.dataTransfer.files,this.$input.dispatchEvent(new CustomEvent("change")),this.hideDraggingState())}canFillInput(t){return this.matchesInputCapacity(t.files.length)}canDrop(t){return t.items.length?this.matchesInputCapacity(function(t){let e=0;for(let n=0;n<t.length;n++)"file"===t[n].kind&&e++;return e}(t.items)):!t.types.length||t.types.includes("Files")}matchesInputCapacity(t){return this.$input.multiple?t>0:1===t}onChange(){const t=this.$input.files.length;0===t?(this.$status.innerText=this.i18n.t("noFileChosen"),this.$button.classList.add("govuk-file-upload-button--empty")):(this.$status.innerText=1===t?this.$input.files[0].name:this.i18n.t("multipleFilesChosen",{count:t}),this.$button.classList.remove("govuk-file-upload-button--empty"))}findLabel(){const t=document.querySelector(`label[for="${this.$input.id}"]`);if(!t)throw new u({component:x,identifier:`Field label (\`<label for=${this.$input.id}>\`)`});return t}onClick(){this.$input.click()}observeDisabledState(){new MutationObserver((t=>{for(const e of t)"attributes"===e.type&&"disabled"===e.attributeName&&this.updateDisabledState()})).observe(this.$input,{attributes:!0})}updateDisabledState(){this.$button.disabled=this.$input.disabled,this.$root.classList.toggle("govuk-file-upload-wrapper--disabled",this.$button.disabled)}}x.moduleName="govuk-file-upload",x.defaults=Object.freeze({i18n:{chooseFilesButton:"Choose file",dropInstruction:"or drop file",noFileChosen:"No file chosen",multipleFilesChosen:{one:"%{count} file chosen",other:"%{count} files chosen"},enteredDropZone:"Entered drop zone",leftDropZone:"Left drop zone"}}),x.schema=Object.freeze({properties:{i18n:{type:"object"}}});class S extends p{constructor(t,n={}){super(t,n),"alert"!==this.$root.getAttribute("role")||this.config.disableAutoFocus||e(this.$root)}}S.moduleName="govuk-notification-banner",S.defaults=Object.freeze({disableAutoFocus:!1}),S.schema=Object.freeze({properties:{disableAutoFocus:{type:"boolean"}}});class T extends p{constructor(t,e={}){super(t,e),this.i18n=void 0,this.$input=void 0,this.$showHideButton=void 0,this.$screenReaderStatusMessage=void 0;const n=this.$root.querySelector(".govuk-js-password-input-input");if(!(n instanceof HTMLInputElement))throw new u({component:T,element:n,expectedType:"HTMLInputElement",identifier:"Form field (`.govuk-js-password-input-input`)"});if("password"!==n.type)throw new u("Password input: Form field (`.govuk-js-password-input-input`) must be of type `password`.");const i=this.$root.querySelector(".govuk-js-password-input-toggle");if(!(i instanceof HTMLButtonElement))throw new u({component:T,element:i,expectedType:"HTMLButtonElement",identifier:"Button (`.govuk-js-password-input-toggle`)"});if("button"!==i.type)throw new u("Password input: Button (`.govuk-js-password-input-toggle`) must be of type `button`.");this.$input=n,this.$showHideButton=i,this.i18n=new b(this.config.i18n,{locale:$(this.$root,"lang")}),this.$showHideButton.removeAttribute("hidden");const o=document.createElement("div");o.className="govuk-password-input__sr-status govuk-visually-hidden",o.setAttribute("aria-live","polite"),this.$screenReaderStatusMessage=o,this.$input.insertAdjacentElement("afterend",o),this.$showHideButton.addEventListener("click",this.toggle.bind(this)),this.$input.form&&this.$input.form.addEventListener("submit",(()=>this.hide())),window.addEventListener("pageshow",(t=>{t.persisted&&"password"!==this.$input.type&&this.hide()})),this.hide()}toggle(t){t.preventDefault(),"password"!==this.$input.type?this.hide():this.show()}show(){this.setType("text")}hide(){this.setType("password")}setType(t){if(t===this.$input.type)return;this.$input.setAttribute("type",t);const e="password"===t,n=e?"show":"hide",i=e?"passwordHidden":"passwordShown";this.$showHideButton.innerText=this.i18n.t(`${n}Password`),this.$showHideButton.setAttribute("aria-label",this.i18n.t(`${n}PasswordAriaLabel`)),this.$screenReaderStatusMessage.innerText=this.i18n.t(`${i}Announcement`)}}T.moduleName="govuk-password-input",T.defaults=Object.freeze({i18n:{showPassword:"Show",hidePassword:"Hide",showPasswordAriaLabel:"Show password",hidePasswordAriaLabel:"Hide password",passwordShownAnnouncement:"Your password is visible",passwordHiddenAnnouncement:"Your password is hidden"}}),T.schema=Object.freeze({properties:{i18n:{type:"object"}}});class L extends d{constructor(t){super(t),this.$inputs=void 0;const e=this.$root.querySelectorAll('input[type="radio"]');if(!e.length)throw new u({component:L,identifier:'Form inputs (`<input type="radio">`)'});this.$inputs=e,this.$inputs.forEach((t=>{const e=t.getAttribute("data-aria-controls");if(e){if(!document.getElementById(e))throw new u({component:L,identifier:`Conditional reveal (\`id="${e}"\`)`});t.setAttribute("aria-controls",e),t.removeAttribute("data-aria-controls")}})),window.addEventListener("pageshow",(()=>this.syncAllConditionalReveals())),this.syncAllConditionalReveals(),this.$root.addEventListener("click",(t=>this.handleClick(t)))}syncAllConditionalReveals(){this.$inputs.forEach((t=>this.syncConditionalRevealWithInputState(t)))}syncConditionalRevealWithInputState(t){const e=t.getAttribute("aria-controls");if(!e)return;const n=document.getElementById(e);if(null!=n&&n.classList.contains("govuk-radios__conditional")){const e=t.checked;t.setAttribute("aria-expanded",e.toString()),n.classList.toggle("govuk-radios__conditional--hidden",!e)}}handleClick(t){const e=t.target;if(!(e instanceof HTMLInputElement)||"radio"!==e.type)return;const n=document.querySelectorAll('input[type="radio"][aria-controls]'),i=e.form,o=e.name;n.forEach((t=>{const e=t.form===i;t.name===o&&e&&this.syncConditionalRevealWithInputState(t)}))}}L.moduleName="govuk-radios";class _ extends d{constructor(t){super(t),this.$menuButton=void 0,this.$menu=void 0,this.menuIsOpen=!1,this.mql=null;const e=this.$root.querySelector(".govuk-js-service-navigation-toggle");if(!e)return this;const n=e.getAttribute("aria-controls");if(!n)throw new u({component:_,identifier:'Navigation button (`<button class="govuk-js-service-navigation-toggle">`) attribute (`aria-controls`)'});const i=document.getElementById(n);if(!i)throw new u({component:_,element:i,identifier:`Navigation (\`<ul id="${n}">\`)`});this.$menu=i,this.$menuButton=e,this.setupResponsiveChecks(),this.$menuButton.addEventListener("click",(()=>this.handleMenuButtonClick()))}setupResponsiveChecks(){const e=t("tablet");if(!e.value)throw new u({component:_,identifier:`CSS custom property (\`${e.property}\`) on pseudo-class \`:root\``});this.mql=window.matchMedia(`(min-width: ${e.value})`),"addEventListener"in this.mql?this.mql.addEventListener("change",(()=>this.checkMode())):this.mql.addListener((()=>this.checkMode())),this.checkMode()}checkMode(){this.mql&&this.$menu&&this.$menuButton&&(this.mql.matches?(this.$menu.removeAttribute("hidden"),function(t,e){for(const n in e)t.setAttribute(n,e[n])}(this.$menuButton,I)):(function(t,e){for(const n of e)t.removeAttribute(n)}(this.$menuButton,Object.keys(I)),this.$menuButton.setAttribute("aria-expanded",this.menuIsOpen.toString()),this.menuIsOpen?this.$menu.removeAttribute("hidden"):this.$menu.setAttribute("hidden","")))}handleMenuButtonClick(){this.menuIsOpen=!this.menuIsOpen,this.checkMode()}}_.moduleName="govuk-service-navigation";const I={hidden:"","aria-hidden":"true"};class M extends d{constructor(t){var n;super(t);const i=this.$root.hash,o=null!=(n=this.$root.getAttribute("href"))?n:"";if(this.$root.origin!==window.location.origin||this.$root.pathname!==window.location.pathname)return;const s=i.replace("#","");if(!s)throw new u(`Skip link: Target link (\`href="${o}"\`) has no hash fragment`);const r=document.getElementById(s);if(!r)throw new u({component:M,element:r,identifier:`Target content (\`id="${s}"\`)`});this.$root.addEventListener("click",(()=>e(r,{onBeforeFocus(){r.classList.add("govuk-skip-link-focused-element")},onBlur(){r.classList.remove("govuk-skip-link-focused-element")}})))}}M.elementType=HTMLAnchorElement,M.moduleName="govuk-skip-link";class H extends d{constructor(t){super(t),this.$tabs=void 0,this.$tabList=void 0,this.$tabListItems=void 0,this.jsHiddenClass="govuk-tabs__panel--hidden",this.changingHash=!1,this.boundTabClick=void 0,this.boundTabKeydown=void 0,this.boundOnHashChange=void 0,this.mql=null;const e=this.$root.querySelectorAll("a.govuk-tabs__tab");if(!e.length)throw new u({component:H,identifier:'Links (`<a class="govuk-tabs__tab">`)'});this.$tabs=e,this.boundTabClick=this.onTabClick.bind(this),this.boundTabKeydown=this.onTabKeydown.bind(this),this.boundOnHashChange=this.onHashChange.bind(this);const n=this.$root.querySelector(".govuk-tabs__list"),i=this.$root.querySelectorAll("li.govuk-tabs__list-item");if(!n)throw new u({component:H,identifier:'List (`<ul class="govuk-tabs__list">`)'});if(!i.length)throw new u({component:H,identifier:'List items (`<li class="govuk-tabs__list-item">`)'});this.$tabList=n,this.$tabListItems=i,this.setupResponsiveChecks()}setupResponsiveChecks(){const e=t("tablet");if(!e.value)throw new u({component:H,identifier:`CSS custom property (\`${e.property}\`) on pseudo-class \`:root\``});this.mql=window.matchMedia(`(min-width: ${e.value})`),"addEventListener"in this.mql?this.mql.addEventListener("change",(()=>this.checkMode())):this.mql.addListener((()=>this.checkMode())),this.checkMode()}checkMode(){var t;null!=(t=this.mql)&&t.matches?this.setup():this.teardown()}setup(){var t;this.$tabList.setAttribute("role","tablist"),this.$tabListItems.forEach((t=>{t.setAttribute("role","presentation")})),this.$tabs.forEach((t=>{this.setAttributes(t),t.addEventListener("click",this.boundTabClick,!0),t.addEventListener("keydown",this.boundTabKeydown,!0),this.hideTab(t)}));const e=null!=(t=this.getTab(window.location.hash))?t:this.$tabs[0];this.showTab(e),window.addEventListener("hashchange",this.boundOnHashChange,!0)}teardown(){this.$tabList.removeAttribute("role"),this.$tabListItems.forEach((t=>{t.removeAttribute("role")})),this.$tabs.forEach((t=>{t.removeEventListener("click",this.boundTabClick,!0),t.removeEventListener("keydown",this.boundTabKeydown,!0),this.unsetAttributes(t)})),window.removeEventListener("hashchange",this.boundOnHashChange,!0)}onHashChange(){const t=window.location.hash,e=this.getTab(t);if(!e)return;if(this.changingHash)return void(this.changingHash=!1);const n=this.getCurrentTab();n&&(this.hideTab(n),this.showTab(e),e.focus())}hideTab(t){this.unhighlightTab(t),this.hidePanel(t)}showTab(t){this.highlightTab(t),this.showPanel(t)}getTab(t){return this.$root.querySelector(`a.govuk-tabs__tab[href="${t}"]`)}setAttributes(t){const e=t.hash.replace("#","");if(!e)return;t.setAttribute("id",`tab_${e}`),t.setAttribute("role","tab"),t.setAttribute("aria-controls",e),t.setAttribute("aria-selected","false"),t.setAttribute("tabindex","-1");const n=this.getPanel(t);n&&(n.setAttribute("role","tabpanel"),n.setAttribute("aria-labelledby",t.id),n.classList.add(this.jsHiddenClass))}unsetAttributes(t){t.removeAttribute("id"),t.removeAttribute("role"),t.removeAttribute("aria-controls"),t.removeAttribute("aria-selected"),t.removeAttribute("tabindex");const e=this.getPanel(t);e&&(e.removeAttribute("role"),e.removeAttribute("aria-labelledby"),e.classList.remove(this.jsHiddenClass))}onTabClick(t){const e=this.getCurrentTab(),n=t.currentTarget;e&&n instanceof HTMLAnchorElement&&(t.preventDefault(),this.hideTab(e),this.showTab(n),this.createHistoryEntry(n))}createHistoryEntry(t){const e=this.getPanel(t);if(!e)return;const n=e.id;e.id="",this.changingHash=!0,window.location.hash=n,e.id=n}onTabKeydown(t){switch(t.key){case"ArrowLeft":case"Left":this.activatePreviousTab(),t.preventDefault();break;case"ArrowRight":case"Right":this.activateNextTab(),t.preventDefault()}}activateNextTab(){const t=this.getCurrentTab();if(null==t||!t.parentElement)return;const e=t.parentElement.nextElementSibling;if(!e)return;const n=e.querySelector("a.govuk-tabs__tab");n&&(this.hideTab(t),this.showTab(n),n.focus(),this.createHistoryEntry(n))}activatePreviousTab(){const t=this.getCurrentTab();if(null==t||!t.parentElement)return;const e=t.parentElement.previousElementSibling;if(!e)return;const n=e.querySelector("a.govuk-tabs__tab");n&&(this.hideTab(t),this.showTab(n),n.focus(),this.createHistoryEntry(n))}getPanel(t){const e=t.hash.replace("#","");return e?this.$root.querySelector(`#${e}`):null}showPanel(t){const e=this.getPanel(t);e&&e.classList.remove(this.jsHiddenClass)}hidePanel(t){const e=this.getPanel(t);e&&e.classList.add(this.jsHiddenClass)}unhighlightTab(t){t.parentElement&&(t.setAttribute("aria-selected","false"),t.parentElement.classList.remove("govuk-tabs__list-item--selected"),t.setAttribute("tabindex","-1"))}highlightTab(t){t.parentElement&&(t.setAttribute("aria-selected","true"),t.parentElement.classList.add("govuk-tabs__list-item--selected"),t.setAttribute("tabindex","0"))}getCurrentTab(){return this.$root.querySelector(".govuk-tabs__list-item--selected a.govuk-tabs__tab")}}function O(t,e,n){this.$module=t,this.window=e,this.document=n}function B(t,e,n){return e&&function(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,q(i.key),i)}}(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function j(t,e,n){return(e=q(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function D(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function q(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e);if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t,"string");return"symbol"==typeof e?e:e+""}function F(t){return F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},F(t)}H.moduleName="govuk-tabs",O.prototype.init=function(){var t=this;this.window.history&&(this.window.history.replaceState&&"function"==typeof this.window.history.replaceState&&this.window.history.replaceState(null,null,this.window.location.href),this.$module.addEventListener("click",(function(e){e.preventDefault(),t.window.history.back&&"function"==typeof t.window.history.back&&t.window.history.back()})))};var N=console.warn,P={generateDomElementFromString:function(t){var e=document.createElement("div");return e.innerHTML=t,e.firstChild},generateDomElementFromStringAndAppendText:function(t,e){var n=P.generateDomElementFromString(t);return n.innerText=e,n},hasClass:function(t,e){return document.querySelector(t).classList.contains(e)},addClass:function(t,e){document.querySelectorAll(t).forEach((function(t){t.classList.add(e)}))},removeClass:function(t,e){document.querySelectorAll(t).forEach((function(t){t.classList.remove(e)}))},removeElement:function(t){var e=t.parentNode;e?e.removeChild(t):N("couldn't find parent for elem",t)},ajaxGet:function(t,e){var n=new XMLHttpRequest;return n.open("GET",t),n.onreadystatechange=function(){n.readyState>3&&200===n.status&&e(n.responseText)},n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.send(),n}};var R={displayDialog:function(t){var e=P.generateDomElementFromString('<div id="hmrc-timeout-dialog" tabindex="-1" role="dialog" aria-modal="true" class="hmrc-timeout-dialog">'),n=P.generateDomElementFromString('<div id="hmrc-timeout-overlay" class="hmrc-timeout-overlay">'),i="string"==typeof t?P.generateDomElementFromString(t):t,o=[],s=[];e.appendChild(i),P.hasClass("html","noScroll")||(P.addClass("html","noScroll"),o.push((function(){P.removeClass("html","noScroll")}))),document.body.appendChild(e),document.body.appendChild(n),o.push((function(){P.removeElement(e),P.removeElement(n)}));var r,a=document.querySelectorAll(["#skiplink-container","body > header","#global-cookie-message","main","body > footer","body > .govuk-skip-link",".cbanner-govuk-cookie-banner","body > .govuk-width-container"].join(", ")),c=function(){for(;o.length>0;){o.shift()()}};return a.forEach((function(t){var e=t.getAttribute("aria-hidden");t.setAttribute("aria-hidden","true"),o.push((function(){e?t.setAttribute("aria-hidden",e):t.removeAttribute("aria-hidden")}))})),function(){function t(t){var e=document.getElementById("hmrc-timeout-dialog");e&&(t.target===e||e.contains(t.target)||(t.stopPropagation(),e.focus()))}var n=document.activeElement;e.focus(),document.addEventListener("focus",t,!0),o.push((function(){document.removeEventListener("focus",t),n.focus()}))}(),function(){function t(t){27===t.keyCode&&(s.forEach((function(t){t()})),c())}document.addEventListener("keydown",t),o.push((function(){document.removeEventListener("keydown",t)}))}(),r=function(t){1===(t.touches||t.changedTouches||[]).length&&t.preventDefault()},document.addEventListener("touchmove",r,!0),o.push((function(){document.removeEventListener("touchmove",r,!0)})),{closeDialog:function(){c()},setAriaLabelledBy:function(t){t?e.setAttribute("aria-labelledby",t):e.removeAttribute("aria-labelledby")},addCloseHandler:function(t){s.push(t)}}}};function U(){}function K(){}function z(t,e){var n,i={},o={},s=[],r=e;var a=function(){o.synchroniseTabs&&r.onActivity((function(t){var e=t.timestamp;f(),l(e)}))},c=function(t){var e=[];if(["timeout","countdown","keepAliveUrl","signOutUrl"].forEach((function(n){t[n]||e.push("data-".concat(n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()))})),e.length>0)throw new Error("Missing config item(s): [".concat(e.join(", "),"]"))},u=function(t,e){var n=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?D(Object(n),!0).forEach((function(e){j(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):D(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({},t);return Object.keys(e).forEach((function(i){"object"===F(n[i])&&(n[i]=u(t[i],e[i])),void 0!==n[i]&&""!==n[i]||(n[i]=e[i])})),n},l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:p(),e=t+1e3*o.timeout,i=p()-t,r=o.timeout-o.countdown,a=window.setTimeout((function(){d(e)}),1e3*r-i);s.push((function(){window.clearTimeout(a),n&&window.clearTimeout(n)}))},d=function(t){var e=P.generateDomElementFromString("<div>");if(o.title){var i=P.generateDomElementFromStringAndAppendText('<h1 id="hmrc-timeout-heading" class="govuk-heading-m push--top">',o.title);e.appendChild(i)}var r=P.generateDomElementFromString('<span id="hmrc-timeout-countdown" class="hmrc-timeout-dialog__countdown">'),a=P.generateDomElementFromString('<p id="hmrc-timeout-message" class="govuk-visually-hidden screenreader-content" aria-live="assertive">'),c=P.generateDomElementFromStringAndAppendText('<p class="govuk-body hmrc-timeout-dialog__message" aria-hidden="true">',o.message);c.appendChild(document.createTextNode(" ")),c.appendChild(r),o.messageSuffix&&c.appendChild(document.createTextNode(" ".concat(o.messageSuffix)));var u=P.generateDomElementFromStringAndAppendText('<button id="hmrc-timeout-keep-signin-btn" class="govuk-button">',o.keepAliveButtonText),l=document.createElement("div");if(l.classList.add("govuk-button-group"),l.appendChild(u),e.appendChild(c),e.appendChild(a),u.addEventListener("click",h),e.appendChild(document.createTextNode(" ")),!o.hideSignOutButton){var d=P.generateDomElementFromStringAndAppendText('<a id="hmrc-timeout-sign-out-link" class="govuk-link hmrc-timeout-dialog__link">',o.signOutButtonText);d.addEventListener("click",m),d.setAttribute("href",o.signOutUrl),l.appendChild(d)}e.appendChild(l);var f=R.displayDialog(e);s.push((function(){f.closeDialog()})),f.addCloseHandler(h),f.setAriaLabelledBy("hmrc-timeout-heading hmrc-timeout-message");var v=function(){return t-p()},b=function(t){var e,n;return t<60?n="".concat(t," ").concat(o.properties[1!==t?"seconds":"second"],"."):(e=Math.ceil(t/60),n="".concat(e," ").concat(o.properties[1===e?"minute":"minutes"],".")),n},w=function(t){return t>60?t:t<20?20:20*Math.ceil(t/20)},y=function(t,e){t.innerText!==e&&(t.innerText=e)},$=function(t){var e=b(t),n=function(t){var e=b(w(t)),n=[o.message," ",e];return o.messageSuffix&&(n.push(" "),n.push(o.messageSuffix)),n.join("")}(t);y(r,e),y(a,n)},k=function(){var t,e,i=Math.max(Math.round(v()/1e3),0);$(i),0===i?g():n=window.setTimeout(k,(t=v(),(e=1e3*Math.floor(v()/1e3))<=6e4?t-e||1e3:t-(e-(e%6e4||6e4))))};k()},h=function(){f(),l(),P.ajaxGet(o.keepAliveUrl,(function(){})),r.logActivity()},p=function(){return Date.now()},m=function(){K.redirectToUrl(o.signOutUrl)},g=function(){K.redirectToUrl(o.timeoutUrl)},f=function(){for(;s.length>0;){s.shift()()}};return{init:function(){var e=U;function n(e){return(t.attributes.getNamedItem(e)||{}).value}var s="cy"===e.string(n("data-language"))?{title:"Rydych ar fin cael eich allgofnodi",message:"Er eich diogelwch, byddwn yn eich allgofnodi cyn pen",keepAliveButtonText:"Parhau i fod wedi’ch mewngofnodi",signOutButtonText:"Allgofnodi",properties:{minutes:"funud",minute:"funud",seconds:"eiliad",second:"eiliad"}}:{title:"You’re about to be signed out",message:"For your security, we will sign you out in",keepAliveButtonText:"Stay signed in",signOutButtonText:"Sign out",properties:{minutes:"minutes",minute:"minute",seconds:"seconds",second:"second"}};(i={timeout:e.int(n("data-timeout")),countdown:e.int(n("data-countdown")),keepAliveUrl:e.string(n("data-keep-alive-url")),signOutUrl:e.string(n("data-sign-out-url")),timeoutUrl:e.string(n("data-timeout-url")),title:e.string(n("data-title")),message:e.string(n("data-message")),messageSuffix:e.string(n("data-message-suffix")),keepAliveButtonText:e.string(n("data-keep-alive-button-text")),signOutButtonText:e.string(n("data-sign-out-button-text")),synchroniseTabs:e.boolean(n("data-synchronise-tabs")||!1),hideSignOutButton:e.boolean(n("data-hide-sign-out-button")||!1)}).timeoutUrl=i.timeoutUrl||i.signOutUrl,c(i),o=u(i,s),l(),a()},cleanup:f}}U.int=function(t){var e=parseInt(t,10);return Number.isNaN(e)?void 0:e},U.string=function(t){return"string"==typeof t?t:void 0},U.boolean=function(t){return"true"===String(t).toLowerCase()},K.redirectToUrl=function(t){window.location.href=t},z.dialog=R,z.redirectHelper=K,z.utils=P;function V(t){this.$module=t,this.$closeLink=this.$module.querySelector(".hmrc-user-research-banner__close"),this.cookieName="mdtpurr",this.cookieExpiryDays=28}V.prototype.init=function(){null==function(t){for(var e="".concat(t,"="),n=document.cookie.split(";"),i=0,o=n.length;i<o;i+=1){for(var s=n[i];" "===s.charAt(0);)s=s.substring(1,s.length);if(0===s.indexOf(e))return decodeURIComponent(s.substring(e.length))}return null}(this.cookieName)&&(this.$module.classList.add("hmrc-user-research-banner--show"),this.$closeLink&&this.$closeLink.addEventListener("click",this.eventHandlers.noThanksClick.bind(this)))},V.prototype.eventHandlers={noThanksClick:function(t){t.preventDefault(),function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i="".concat(t,"=").concat(e,"; path=/");if(n.days){var o=new Date;o.setTime(o.getTime()+24*n.days*60*60*1e3),i="".concat(i,"; expires=").concat(o.toGMTString())}"https:"===window.location.protocol&&(i+="; Secure"),document.cookie=i}(this.cookieName,"suppress_for_all_services",{days:this.cookieExpiryDays}),this.$module.classList.remove("hmrc-user-research-banner--show")}};var Y=function(){return B((function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.activityChannel=e&&new e("session-activity")}),[{key:"logActivity",value:function(){if(this.activityChannel){var t={timestamp:Date.now()};this.activityChannel.postMessage(t)}}},{key:"onActivity",value:function(t){this.activityChannel&&(this.activityChannel.onmessage=function(e){t(e.data)})}}])}();function W(t,e){this.$module=t,this.window=e}W.prototype.init=function(){var t=this;this.$module.addEventListener("click",(function(e){e.preventDefault(),t.window.print()}))};var G={initAll:function(){function t(t){try{t()}catch(t){console.error("hmrc-frontend component initialisation failed",t)}}document.querySelectorAll('a[data-module="hmrc-print-link"]').forEach((function(e){t((function(){new W(e,window).init()}))}));var e=new Y(window.BroadcastChannel);e.logActivity();var n=document.querySelector('meta[name="hmrc-timeout-dialog"]');n&&t((function(){new z(n,e).init()}));var i=document.querySelector('[data-module="hmrc-user-research-banner"]');i&&t((function(){new V(i).init()})),document.querySelectorAll('[data-module="hmrc-back-link"]').forEach((function(e){t((function(){new O(e,window,document).init()}))}))},TimeoutDialog:z,UserResearchBanner:V,BackLinkHelper:O};!function(t={}){const e=i(t)?t:{},o=g(t);try{if(!n())throw new a;if(null===o.scope)throw new u({element:o.scope,identifier:"GOV.UK Frontend scope element (`$scope`)"})}catch(t){return void(o.onError?o.onError(t,{config:e}):console.log(t))}[[w,e.accordion],[y,e.button],[k,e.characterCount],[C],[E,e.errorSummary],[A,e.exitThisPage],[x,e.fileUpload],[S,e.notificationBanner],[T,e.passwordInput],[L],[_],[M],[H]].forEach((([t,e])=>{!function(t,e,i){let o;const s=g(i);try{var r;if(!n())throw new a;if(null===s.scope)throw new u({element:s.scope,component:t,identifier:"Scope element (`$scope`)"});o=null==(r=s.scope)?void 0:r.querySelectorAll(`[data-module="${t.moduleName}"]`)}catch(n){return s.onError?s.onError(n,{component:t,config:e}):console.log(n),[]}Array.from(null!=o?o:[]).map((n=>{try{return void 0!==e?new t(n,e):new t(n)}catch(i){return s.onError?s.onError(i,{element:n,component:t,config:e}):console.log(i),null}})).filter(Boolean)}(t,e,o)}))}(),G.initAll()}();
2
2
 
3
- //# sourceMappingURL=maps/hmrc-frontend-7.34.0.min.js.map
3
+ //# sourceMappingURL=maps/hmrc-frontend-7.35.0.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["home/jenkins/workspace/PlatUI/Libraries/hmrc-frontend/node_modules/accessible-autocomplete/dist/accessible-autocomplete.min.css","accessible-autocomplete.css","accessible-autocomplete.scss","home/jenkins/workspace/PlatUI/Libraries/hmrc-frontend/node_modules/govuk-frontend/dist/govuk/helpers/_typography.scss","home/jenkins/workspace/PlatUI/Libraries/hmrc-frontend/node_modules/govuk-frontend/dist/govuk/settings/_typography-font.scss"],"names":[],"mappings":"AAAA,uBAAuB,iBCEvB,CDFyC,yCAAyC,uBAAA,CAAwB,oBAAA,CAAA,eAAA,CAAgB,wBAAA,CAAyB,eAAA,CAAgB,6BAAA,CAAA,qBAAA,CAAsB,aAAA,CAAc,gBAAA,CAAiB,eAAA,CAAgB,UCcxO,CDdmP,qBAAqB,4BAAA,CAA6B,iBCmBrS,CDnBuT,oBAAoB,aAAA,CAAc,iBCwBzV,CDxB2W,8BAA8B,WC4BzY,CD5BqZ,8BAA8B,kCAAA,CAAA,0BAAA,CAA2B,sBAAA,CAAuB,gBCkCre,CDlCsf,sCAAsC,cAAA,CAAe,wBCuC3iB,CDvCokB,mCAAmC,oBAAA,CAAqB,WAAA,CAAY,iBAAA,CAAkB,SAAA,CAAU,QAAA,CAAS,UAAA,CAAW,UCiDxrB,CDjDmsB,oBAAoB,qBAAA,CAAsB,wBAAA,CAAyB,YAAA,CAAa,aAAA,CAAc,QAAA,CAAS,gBAAA,CAAiB,iBAAA,CAAkB,SAAA,CAAU,UAAA,CAAW,sBC8Dl2B,CD9Dy3B,6BAA6B,aCkEt5B,CDlEo6B,4BAA4B,YCsEh8B,CDtE68B,6BAA6B,6CAAA,CAAA,qCAAA,CAAsC,MAAA,CAAO,iBAAA,CAAkB,QAAA,CAAS,WC8EljC,CD9E8jC,4BAA4B,iBCkF1lC,CDlF4mC,sBAAsB,+BAAA,CAAgC,mBAAA,CAAoB,oBAAA,CAAqB,oBAAA,CAAqB,cAAA,CAAe,aAAA,CAAc,iBC4F7vC,CD5F+wC,wBAAwB,mBCgGvyC,CDhG2zC,oCAAoC,kBCoG/1C,CDpGk3C,mCAAmC,qBCwGr5C,CDxG26C,2BAA2B,wBC4Gt8C,CD5G+9C,2DAA2D,wBAAA,CAAyB,oBAAA,CAAqB,UAAA,CAAW,YCmHnlD,CDnHgmD,yDAAyD,oBAAoB,sBCwH3qD,CDxHksD,sBAAsB,sBAAA,CAAuB,eC4H/uD,CD5H+vD,2DAA2D,0BAAA,CAA2B,6BAAA,CAA8B,yBAAA,CAA0B,mBAAA,CAAoB,sBAAA,CAAuB,wBAAA,CAAyB,8BCqIj9D,CACF,CDtIm/D,kCAAkC,wBAAA,CAAyB,aAAA,CAAc,kBC2I5jE,CD3I+kE,+DAA+D,cAAA,CAAe,eCgJ7pE,CDhJ6qE,0CAA0C,WCoJvtE,CDpJmuE,yBAAyB,+DAA+D,mBAAA,CAAoB,wBC0J70E,CACF,CCpJA,sFCuBE,0CCfkB,CDgBlB,kCAAA,CACA,iCAAA,CA6LI,mBAJc,CArJlB,eAAA,CA0JI,wBFvDN,CE/HE,aDjCF,sFCkCI,sBChBsB,CDwMlB,cATQ,CAUR,gBFpDN,CACF,CC9JA,8IACE,oBD0KF,CCrKA,mCAEE,mBAAA,CADA,SDyKF,CCrKA,4BAEE,gDAAA,CAAA,wCDuKF","file":"../accessible-autocomplete-7.35.0.css","sourcesContent":[".autocomplete__wrapper{position:relative}.autocomplete__hint,.autocomplete__input{-webkit-appearance:none;appearance:none;border:2px solid #0b0c0c;border-radius:0;box-sizing:border-box;height:2.5rem;line-height:1.25;margin-bottom:0;width:100%}.autocomplete__input{background-color:transparent;position:relative}.autocomplete__hint{color:#505a5f;position:absolute}.autocomplete__input--default{padding:5px}.autocomplete__input--focused{box-shadow:inset 0 0 0 2px;outline:3px solid #fd0;outline-offset:0}.autocomplete__input--show-all-values{cursor:pointer;padding:5px 35px 5px 5px}.autocomplete__dropdown-arrow-down{display:inline-block;height:24px;position:absolute;right:8px;top:10px;width:24px;z-index:-1}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.257);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:1px solid #b1b4b6;border-left-width:0;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#f3f2f1}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:none}@media (-ms-high-contrast:active),(forced-colors:active){.autocomplete__menu{border-color:FieldText}.autocomplete__option{background-color:Field;color:FieldText}.autocomplete__option--focused,.autocomplete__option:hover{background-color:Highlight;background-color:SelectedItem;border-color:SelectedItem;color:HighlightText;color:SelectedItemText;forced-color-adjust:none;outline-color:SelectedItemText}}.autocomplete__option--no-results{background-color:#f3f2f1;color:#505a5f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:1rem;font-weight:400}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:1.1875rem;line-height:1.3157894737}}\n\n/*# sourceMappingURL=accessible-autocomplete.min.css.map*/",".autocomplete__wrapper {\n position: relative;\n}\n\n.autocomplete__hint, .autocomplete__input {\n -webkit-appearance: none;\n appearance: none;\n border: 2px solid #0b0c0c;\n border-radius: 0;\n box-sizing: border-box;\n height: 2.5rem;\n line-height: 1.25;\n margin-bottom: 0;\n width: 100%;\n}\n\n.autocomplete__input {\n background-color: transparent;\n position: relative;\n}\n\n.autocomplete__hint {\n color: #505a5f;\n position: absolute;\n}\n\n.autocomplete__input--default {\n padding: 5px;\n}\n\n.autocomplete__input--focused {\n box-shadow: inset 0 0 0 2px;\n outline: 3px solid #fd0;\n outline-offset: 0;\n}\n\n.autocomplete__input--show-all-values {\n cursor: pointer;\n padding: 5px 35px 5px 5px;\n}\n\n.autocomplete__dropdown-arrow-down {\n display: inline-block;\n height: 24px;\n position: absolute;\n right: 8px;\n top: 10px;\n width: 24px;\n z-index: -1;\n}\n\n.autocomplete__menu {\n background-color: #fff;\n border: 2px solid #0b0c0c;\n border-top: 0;\n color: #0b0c0c;\n margin: 0;\n max-height: 342px;\n overflow-x: hidden;\n padding: 0;\n width: 100%;\n width: calc(100% - 4px);\n}\n\n.autocomplete__menu--visible {\n display: block;\n}\n\n.autocomplete__menu--hidden {\n display: none;\n}\n\n.autocomplete__menu--overlay {\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.257);\n left: 0;\n position: absolute;\n top: 100%;\n z-index: 100;\n}\n\n.autocomplete__menu--inline {\n position: relative;\n}\n\n.autocomplete__option {\n border-bottom: 1px solid #b1b4b6;\n border-left-width: 0;\n border-right-width: 0;\n border-top-width: 1px;\n cursor: pointer;\n display: block;\n position: relative;\n}\n\n.autocomplete__option > * {\n pointer-events: none;\n}\n\n.autocomplete__option:first-of-type {\n border-top-width: 0;\n}\n\n.autocomplete__option:last-of-type {\n border-bottom-width: 0;\n}\n\n.autocomplete__option--odd {\n background-color: #f3f2f1;\n}\n\n.autocomplete__option--focused, .autocomplete__option:hover {\n background-color: #1d70b8;\n border-color: #1d70b8;\n color: #fff;\n outline: none;\n}\n\n@media (-ms-high-contrast: active), (forced-colors: active) {\n .autocomplete__menu {\n border-color: FieldText;\n }\n .autocomplete__option {\n background-color: Field;\n color: FieldText;\n }\n .autocomplete__option--focused, .autocomplete__option:hover {\n background-color: Highlight;\n background-color: SelectedItem;\n border-color: SelectedItem;\n color: HighlightText;\n color: SelectedItemText;\n forced-color-adjust: none;\n outline-color: SelectedItemText;\n }\n}\n.autocomplete__option--no-results {\n background-color: #f3f2f1;\n color: #505a5f;\n cursor: not-allowed;\n}\n\n.autocomplete__hint, .autocomplete__input, .autocomplete__option {\n font-size: 1rem;\n font-weight: 400;\n}\n\n.autocomplete__hint, .autocomplete__option {\n padding: 5px;\n}\n\n@media (min-width: 641px) {\n .autocomplete__hint, .autocomplete__input, .autocomplete__option {\n font-size: 1.1875rem;\n line-height: 1.3157894737;\n }\n}\n\n.autocomplete__wrapper,\n.autocomplete__input,\n.autocomplete__option,\n.autocomplete__hint {\n font-family: \"GDS Transport\", arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-weight: 400;\n font-size: 1.1875rem;\n line-height: 1.3157894737;\n}\n@media print {\n .autocomplete__wrapper,\n .autocomplete__input,\n .autocomplete__option,\n .autocomplete__hint {\n font-family: sans-serif;\n }\n}\n@media print {\n .autocomplete__wrapper,\n .autocomplete__input,\n .autocomplete__option,\n .autocomplete__hint {\n font-size: 14pt;\n line-height: 1.15;\n }\n}\n\n.govuk-form-group--error div:has(+ .govuk-select--error[data-module=hmrc-accessible-autocomplete]) > .autocomplete__wrapper .autocomplete__input {\n border-color: #d4351c;\n}\n\n.autocomplete__dropdown-arrow-down {\n z-index: 0;\n pointer-events: none;\n}\n\n.autocomplete__menu--hidden {\n transition: display 0s 200ms allow-discrete;\n}","$govuk-include-default-font-face: false;\n\n@import \"../../govuk-frontend/dist/govuk/settings/index\";\n@import \"../../govuk-frontend/dist/govuk/tools/index\";\n@import \"../../govuk-frontend/dist/govuk/helpers/index\";\n@import \"../../accessible-autocomplete/dist/accessible-autocomplete.min\";\n\n.autocomplete__wrapper,\n.autocomplete__input,\n.autocomplete__option,\n.autocomplete__hint {\n @include govuk-font($size: 19);\n}\n\n// the following makes the autocomplete inherit error styles\n// it won't work in IE11 but selects won't be enhanced into autocompletes in IE11\n\n.govuk-form-group--error div:has(+ .govuk-select--error[data-module='hmrc-accessible-autocomplete']) > .autocomplete__wrapper .autocomplete__input {\n border-color: #d4351c;\n}\n\n// the following makes the dropdown arrow appear when showing all values\n\n.autocomplete__dropdown-arrow-down {\n z-index: 0;\n pointer-events: none;\n}\n\n.autocomplete__menu--hidden {\n // stylelint-disable-next-line declaration-property-value-disallowed-list\n transition: display 0s 200ms allow-discrete;\n}\n","////\n/// @group helpers/typography\n////\n@use \"sass:map\";\n@use \"sass:string\";\n\n@use \"../settings/warnings--internal\";\n\n@use \"../settings/assets\" as *;\n@use \"../settings/colours-functional\" as *;\n@use \"../settings/spacing\" as *;\n@use \"../settings/typography-font\" as *;\n@use \"../settings/typography-responsive\" as *;\n@use \"../tools/font-url\" as *;\n@use \"../tools/px-to-rem\" as *;\n@use \"../tools/if\" as *;\n@use \"colour\" as *;\n@use \"font-faces--internal\";\n@use \"typography--internal\";\n@use \"media-queries\" as *;\n\n/// 'Common typography' helper\n///\n/// Sets the font family and associated properties, such as font smoothing. Also\n/// overrides the font for print.\n///\n/// @param {List} $font-family [$govuk-font-family] Font family to use\n/// @access public\n\n@mixin govuk-typography-common($font-family: $govuk-font-family) {\n font-family: $font-family;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n\n // If the user is using the default GDS Transport font we need to include\n // the font-face declarations.\n @if $govuk-include-default-font-face {\n @include font-faces--internal.gds-transport;\n }\n\n @media print {\n font-family: $govuk-font-family-print;\n }\n}\n\n/// Text colour helper\n///\n/// Sets the text colour, including a suitable override for print.\n///\n/// @deprecated\n/// @access public\n\n@mixin govuk-text-colour {\n @include warnings--internal.warning(\n \"govuk-text-colour\",\n \"The `govuk-text-colour` mixin is deprecated. Use `color: govuk-functional-colour(text)` instead.\"\n );\n\n color: govuk-functional-colour(text);\n}\n\n/// Regular font weight helper\n///\n/// @param {Boolean} $important [false] - Whether to mark declarations as\n/// `!important`. Generally Used to create override classes.\n/// @access public\n\n@mixin govuk-typography-weight-regular($important: false) {\n font-weight: $govuk-font-weight-regular govuk-if($important, !important);\n}\n\n/// Bold font weight helper\n///\n/// @param {Boolean} $important [false] - Whether to mark declarations as\n/// `!important`. Generally Used to create override classes.\n/// @access public\n\n@mixin govuk-typography-weight-bold($important: false) {\n font-weight: $govuk-font-weight-bold govuk-if($important, !important);\n}\n\n/// Tabular number helper\n///\n/// Switches numerical glyphs (0–9) to use alternative forms with a\n/// monospaced bounding box. This ensures that columns of numbers, such\n/// as those in tables, remain horizontally aligned with one another.\n/// This also has the useful side effect of making numbers more legible\n/// in some situations, such as reference codes, as the numbers are more\n/// distinct and visually separated from one another.\n///\n/// @param {Boolean} $important [false] - Whether to mark declarations as\n/// `!important`. Generally Used to create override classes.\n/// @access public\n\n@mixin govuk-font-tabular-numbers($important: false) {\n font-variant-numeric: tabular-nums govuk-if($important, !important);\n}\n\n/// Word break helper\n///\n/// Forcibly breaks long words that lack spaces, such as email addresses,\n/// across multiple lines when they wouldn't otherwise fit.\n///\n/// @param {Boolean} $important [false] - Whether to mark declarations as\n/// `!important`. Generally used to create override classes.\n/// @access public\n\n@mixin govuk-text-break-word($important: false) {\n // IE 11 and Edge 16–17 only support the non-standard `word-wrap` property\n word-wrap: break-word govuk-if($important, !important);\n\n // All other browsers support `overflow-wrap`\n overflow-wrap: break-word govuk-if($important, !important);\n}\n\n/// Font size and line height helper\n///\n/// Takes a point from the responsive 'font map' as an argument (the size as it\n/// would appear on tablet and above), and uses it to create font-size and\n/// line-height declarations for different breakpoints, and print.\n///\n/// Example font map:\n///\n/// ```scss\n/// 19: (\n/// null: (\n/// font-size: 16px,\n/// line-height: 20px\n/// ),\n/// tablet: (\n/// font-size: 19px,\n/// line-height: 25px\n/// ),\n/// print: (\n/// font-size: 14pt,\n/// line-height: 1.15\n/// )\n/// );\n/// ```\n///\n/// @param {Number | String} $size - Point from the type scale (the size as\n/// it would appear on tablet and above)\n/// @param {Number} $line-height [false] - Non responsive custom line\n/// height. Omit to use the line height from the font map.\n/// @param {Boolean} $important [false] - Whether to mark declarations as\n/// `!important`.\n///\n/// @throw if `$size` is not a valid point from the type scale\n///\n/// @access public\n\n@mixin govuk-font-size($size, $line-height: false, $important: false) {\n // Flag font sizes that start with underscores so we can suppress warnings on\n // deprecated sizes used internally, for example `govuk-font($size: \"_14\")`\n $size-internal-use-only: string.slice(#{$size}, 1, 1) == \"_\";\n\n // Remove underscore from font sizes flagged for internal use\n @if $size-internal-use-only {\n $size: string.slice(#{$size}, 2);\n }\n\n // Check for a font map exactly matching the given size\n $font-map: map.get($govuk-typography-scale, $size);\n\n // No match? Try with string type (e.g. $size: \"16\" not 16)\n @if not $font-map {\n @each $font-size in map.keys($govuk-typography-scale) {\n @if not $font-map and \"#{$font-size}\" == \"#{$size}\" {\n $font-map: map.get($govuk-typography-scale, $font-size);\n }\n }\n }\n\n // Still no match? Throw error\n @if not $font-map {\n @error \"Unknown font size `#{$size}` - expected a point from the type scale.\";\n }\n\n // Check for a deprecation within the type scale\n $deprecation: map.get($font-map, \"deprecation\");\n\n @if $deprecation {\n // Warn on deprecated font sizes unless flagged for internal use\n @if not $size-internal-use-only {\n @include warnings--internal.warning(map.get($deprecation, \"key\"), map.get($deprecation, \"message\"));\n }\n\n // remove the deprecation map keys so they do not break the breakpoint loop\n $font-map: map.remove($font-map, \"deprecation\");\n }\n\n @each $breakpoint, $breakpoint-map in $font-map {\n $font-size: map.get($breakpoint-map, \"font-size\");\n $font-size-rem: govuk-px-to-rem($font-size);\n\n // $calculated-line-height is a separate variable from $line-height,\n // as otherwise the value would get redefined with each loop and\n // eventually break typography--internal.line-height.\n // 1. See if the function was called with a specific line-height\n $calculated-line-height: $line-height;\n // 2. Default to the breakpoint-map if no specific value was given\n @if not $calculated-line-height {\n $calculated-line-height: map.get($breakpoint-map, \"line-height\");\n }\n\n // 3. Turn the value into a unitless line-height if possible\n // We continue to call the param $line-height to stay consistent with the\n // naming with govuk-font.\n $calculated-line-height: typography--internal.line-height(\n $line-height: $calculated-line-height,\n $font-size: $font-size\n );\n\n // Mark rules as !important if $important is true - this will result in\n // these variables becoming strings, so this needs to happen *after* they\n // are used in calculations\n $font-size: $font-size govuk-if($important, !important);\n $font-size-rem: $font-size-rem govuk-if($important, !important);\n $calculated-line-height: $calculated-line-height govuk-if($important, !important);\n\n @if not $breakpoint {\n font-size: $font-size-rem;\n line-height: $calculated-line-height;\n } @else if $breakpoint == \"print\" {\n @media print {\n font-size: $font-size;\n line-height: $calculated-line-height;\n }\n } @else {\n @media #{govuk-from-breakpoint($breakpoint)} {\n font-size: $font-size-rem;\n line-height: $calculated-line-height;\n }\n }\n }\n}\n\n/// Font helper\n///\n/// @param {Number | Boolean | String} $size Point from the type scale (the\n/// size as it would appear on tablet and above). Use `false` to avoid setting\n/// a size.\n/// @param {String} $weight [regular] - Weight: `bold` or `regular`\n/// @param {Boolean} $tabular [false] - Whether to use tabular numbers or not\n/// @param {Number} $line-height [false] - Line-height, if overriding the\n/// default\n///\n/// @throw if `$size` is not a valid point from the type scale (or false)\n///\n/// @access public\n\n@mixin govuk-font($size, $weight: regular, $tabular: false, $line-height: false) {\n @include govuk-typography-common;\n\n @if $tabular {\n @include govuk-font-tabular-numbers;\n }\n\n @if $weight == regular {\n @include govuk-typography-weight-regular;\n } @else if $weight == bold {\n @include govuk-typography-weight-bold;\n }\n\n @if $size {\n @include govuk-font-size($size, $line-height);\n }\n}\n\n","////\n/// @group settings/typography\n////\n@use \"sass:list\";\n@use \"sass:meta\";\n\n// =========================================================\n// Font families\n// =========================================================\n\n/// Font families to use for all typography on screen media\n///\n/// @type List\n/// @access public\n\n$govuk-font-family: \"GDS Transport\", arial, sans-serif !default;\n\n/// Font families to use for print media\n///\n/// We recommend that you use system fonts when printing. This will avoid issues\n/// with some printer drivers and operating systems.\n///\n/// @type List\n/// @access public\n\n$govuk-font-family-print: sans-serif !default;\n\n/// Include the default @font-face declarations\n///\n/// Defaults to true if \"GDS Transport\" appears in the $govuk-font-family\n/// setting.\n///\n/// @type Boolean\n/// @access public\n\n$govuk-include-default-font-face: (list.index($govuk-font-family, \"GDS Transport\") != null) !default;\n\n// =========================================================\n// Font weights\n// =========================================================\n\n/// Font weight for regular typography\n///\n/// @type Number\n/// @access public\n$govuk-font-weight-regular: 400 !default;\n\n/// Font weight for bold typography\n///\n/// @type Number\n/// @access public\n$govuk-font-weight-bold: 700 !default;\n\n"]}