1/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */ 2!function(){"use strict";class e{constructor(e){this.uri=e.dataset.uri,this.el=e,this.init()}init(){fetch(this.uri).then((e=>e.json())).then((t=>{this.el.innerHTML="",e.filter(t.sitewideAlerts).forEach((e=>{const t=document.createElement("div");if(t.innerHTML=e.renderedAlert,e.dismissible){const r=t.querySelector(".uq-alert__close");r&&r.addEventListener("click",(r=>{window.localStorage.setItem("alert-dismissed-".concat(e.uuid),String(Math.round((new Date).getTime()/1e3))),t.remove()}))}this.el.appendChild(t)}))}))}static filter(e){return e.filter((e=>{if(Number(window.localStorage.getItem("alert-dismissed-".concat(e.uuid)))>e.dismissalIgnoreBefore)return!1;if(!e.showOnPages.length)return!0;const t=window.location.href.replace(/\/+$/,""),r=e=>{const r="".concat(e).replace(/\/+$/,"").replace(new RegExp("[.\\\\+?\\[^\\]$(){}=!<>|:\\-]","g"),"\\$&").concat("$");return t.match(new RegExp(r.replaceAll("*",".*")))};return e.negateShowOnPages?0===e.showOnPages.filter(r).length:void 0!==e.showOnPages.find(r)}))}}(t=>{let{behaviors:r}=t;r.uqAlerts={attach(t){const r=t.querySelector(".uq-alerts-global-container[data-uri]:not(.processed)");r&&(new e(r),r.classList.add("processed"))}}})(Drupal)}(); 3; 4var globalSearch=function(){"use strict";class e{constructor(e){this.toggle=e,this.search=document.querySelector(".header__search")}init(){this.toggle.addEventListener("click",(()=>{this.handleToggle(),this.toggle.blur()}))}handleToggle(){this.toggle.classList.toggle("icon--standard--search"),this.toggle.classList.toggle("icon--standard--close"),this.search.classList.toggle("header__search--open")}}return(s=>{let{behaviors:t}=s;t.globalSearch={attach(s){const t=s.querySelectorAll(".js-global-search-toggle:not(.processed)");t&&t.forEach((s=>{new e(s).init(),s.classList.add("processed")}))}}})(Drupal),{GlobalSearch:e}}(); 5; 6var validation=function(){"use strict";class e{constructor(e){this.field=e,this.container=e.closest(".form__item"),this.form=e.closest("form"),this.requiredMessage=e.getAttribute("data-webform-required-error"),this.checkboxesMessage="Please select at least one.",this.isCheckable=["checkbox","radio"].includes(e.type),this.fieldset=this.isCheckable?e.closest("fieldset.form__checkboxes, fieldset.form__radios"):null}init(){this.setupErrorBox(),this.isCheckable||this.field.setAttribute("placeholder",this.field.getAttribute("placeholder")||" "),"checkbox"===this.field.type&&this.fieldset&&this.fieldset.classList.contains("required")&&(this.group=this.fieldset.querySelectorAll("input[type='checkbox']"),this.field.addEventListener("change",this.validateCheckboxGroup.bind(this))),this.clear(),this.field.addEventListener("invalid",(e=>{e.preventDefault(),this.invalidate()})),this.field.addEventListener("blur",this.revalidate.bind(this)),this.field.addEventListener("change",this.revalidate.bind(this))}invalidate(){this.container&&this.container.classList.add("error"),this.field.setAttribute("aria-invalid","true"),this.errorBox.textContent=this.getMessage()}revalidate(){this.clear(),this.field.reportValidity()}clear(){this.container&&this.container.classList.remove("error"),this.field.removeAttribute("aria-invalid"),this.errorBox.textContent=""}getMessage(){const{validity:e}=this.field;return e.valueMissing&&this.requiredMessage?"".concat(this.requiredMessage):e.typeMismatch?"Please enter a valid ".concat(this.field.type):"checkbox"===this.field.type&&!this.requiredMessage&&this.fieldset&&this.fieldset.classList.contains("required")?"".concat(this.checkboxesMessage):this.field.validationMessage}validateCheckboxGroup(){const e=Array.from(this.group),t=e.filter((e=>e.hasAttribute("aria-invalid")&&!e.checked));return t.length>0&&t.forEach((e=>{e.removeAttribute("aria-invalid"),e.setCustomValidity("")})),e.some((e=>e.checked))?this.field.setCustomValidity(""):this.field.setCustomValidity(this.requiredMessage||"".concat(this.checkboxesMessage))}setupErrorBox(){let e="".concat(this.field.id,"__error"),t=this.field;if(this.isCheckable&&this.fieldset&&(e="".concat(this.fieldset.id,"__error"),this.container=this.fieldset,this.fieldset.querySelector("#".concat(e))&&(this.errorBox=this.fieldset.querySelector("#".concat(e)))),!this.errorBox){this.errorBox=document.createElement("div"),this.errorBox.setAttribute("id",e),this.errorBox.classList.add("form__error-message","uq-icon","uq-icon--standard--exclamation-triangle");const i=[this.field.getAttribute("aria-describedby"),e];this.field.setAttribute("aria-describedby",i.join(" ").trim()),this.container?this.container.appendChild(this.errorBox):t.insertAdjacentElement("afterend",this.errorBox)}}}class t{constructor(e){this.form=e,this.fields=Array.from(e.elements)}init(){this.form.setAttribute("novalidate",""),this.fields.forEach((async i=>{["hidden","fieldset","button","object","submit"].includes(i.type)||("tel"===i.type&&(i.classList.contains("mobile-number")&&await t.waitForField(i,"mobile-processed"),i.classList.contains("landline-number")&&await t.waitForField(i,"landline-processed")),"text"===i.type&&i.classList.contains("datepicker__input")&&await t.waitForField(i,"date-processed"),new e(i).init())})),this.form.addEventListener("submit",this.validate.bind(this))}validate(e){return!!this.form.checkValidity()||(e.preventDefault(),this.fields.find((e=>!1===e.checkValidity())).focus(),!1)}static waitForField(e,t){return new Promise((i=>{e.classList.contains(t)&&i(e);const s=new MutationObserver((()=>{e.classList.contains(t)&&(i(e),s.disconnect())}
6));s.observe(e,{attributes:!0})}))}}return(e=>{let{behaviors:i}=e;i.validate={attach(e){const i=e.querySelectorAll("form[class*='webform']:not(.form-processed)");i&&i.forEach((e=>{new t(e).init(),e.classList.add("form-processed")}))}}})(Drupal),t}(); 7;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.